Trường ĐH SPKT Luận văn tốt nghiệp
GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng
Tuỳ theo loại mã được chọn dùng trong khi truyền (Baudot, Ascii,… ) độ dài cho mã
ký tự có thể là 5 , 6 , 7, 8 bit. Tuỳ theo hệ thống truyền tin, bên cạnh các bit dữ liệu còn có
thể tuỳ chọn có hay không có 1 bit parity để kiểm tra lỗi khi truyền có thể tuỳ chọn 1 hoăc
2 bit stop, nhưng bắt buộc phải có một bit start. Như vậy để truyền một ký tự theo phương
pháp không đồng bộ, ngoài ký tự mang tin ta buộc phải truyền thêm ít nhất 2 và nhiều
nhất là 4 bit phụ để tạo ra khung cho ký tự đó, vì thế phương pháp nầy tuy đơn giản nhưng
có hiệu suất không cao.
Tốc độ truyền dữ liệu theo phương pháp nối tiếp được đo bằng bit/s. Ngoài ra người
ta cũng hay dùng đơn vò baud, đó là giá trò ngòch đảo của thời gian giữa các lần thay đổi
mức tín hiệu, với dữ liệu chỉ có hai mức (0 và 1)ø và mỗi thay đổi mức tín hiệu chỉ mã hóa
một bit thì có thể hiểu baud = bit/s, các tốc độ truyền thường gặp trong thực tế là 11, 300,
600, 1200, 2400, 4800, 9600, 19200 baud.
Để tạo điều kiện dể dàng cho việc phối ghép đường truyền nối tiếp với hệ vi xử lý
và để giảm tối đa các mạch phụ thêm ở bên ngoài người ta đã chế tạo ra các vi mạch tổ
hợp cỡ lớn lập trình được có khả năng hoàn thành phần lớn các công việc cần thiết trong
khi phối ghép. Đó là các mạch thu phát di bộ vạn năng IN8250/16450 của National và
mạch thu phát đồng bộ – dò bộ vạn năng 8251 của Intel.
II. VI MẠCH USART 8251:
Trong phần này ta sẽ giới thiệu mạch 8251A đó là vi mạch USART có thể dùng
cho cả hai kiểu truyền thông tin nối tiếp đồng bộ, dò bộ. Sơ đồ chân và sơ đồ thanh ghi
được trình bày ở hình 5.3
1. Sơ đồ chân và sơ đồ khối
a. nhóm tín hiệu ghép nối với vi xử lý gồm:
- /CS nối với bộ giải mã đòa chỉ A1 An để chọn 2 thanh ghi.
(A0 = 1điều khiển trạng thái, A0 = 0 đệm số liệu).
- C/D nối với đường dây đòa chỉ A0 để một trong 2 cặp thanh ghi trên.
- /WR nối với chân /WR của vi xử lý.
- /RD nối với chân /RD của vi xử lý.
- CLK nối với đường dây CLK của vi xử lý.
Chiều của dòng ký tự
Luôn ở mức cao
Luôn ở mức thấp
Start D0 D1 D2 D3 D4 D5 D6 Parity Stop Stop
Mã của ký tự cần truyền
HÌNH 5.2 : Khung của một ký tự để truyền không đồng bộ
.
.
Trường ĐH SPKT Luận văn tốt nghiệp
GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng
- Reset nối với đường dây reset của vi xử lý.
- D0 … D7 nối với các đường dẫn D0…D7 của VXL.
b. Nhóm tín hiệu ghép nối vối Modem
- /DTR
- /DSR
- /RTS
- /CTS
c. Nhóm tín hiệu gép nối với đường dây truyền – nhận và KGN:
- TxEMTY thanh ghi đệm truyền rỗng.
- TxR cho số liệu truyền.
- TxRDy báo số liệu truyền đã sẵn sàng.
- RxRDy báo số liệu nhận đã sẵn sàng.
- Syn det/Break : chỉ đồng bộ/đứt dòng tin.
d. Nhóm tín hiệu ghép nối với máy phát xung nhòp.
- TxD : nhòp truyền.
- RxC : nhòp nhận.
.
.
Trường ĐH SPKT Luận văn tốt nghiệp
GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng
1
2
3
4
5
6
7
8
9
10
11
12
13
14
28
27
26
25
24
23
22
21
20
19
18
17
16
15
8251A
D1
D0
Vcc
/RxC
/DTR
/RTS
/DSR
Reset
CLK
TxD
TxEMPTY
/CTS
Syndet/BR
TxRDY
D2
D3
RxD
GND
D4
D5
D6
D7
/TxC
/WR
/CS
C/D
/RD
RxRDY
/CS
/RD
/WR
C/D
D0
D1
D2
D3
D4
D5
D6
D7
CLK
RST
RxRDY
TxRDY
TxEMTy
Vcc
GND
/DS
R /DTR /CTS /RTS
Syn/BRK
TxC RxC
Thanh ghi truyền
Thanh ghi đệm truyền
Thanh ghi nhận
Thanh ghi đệm nhận
Thanh ghi chế độ
Thanh ghi lệnh
Thanh ghi trạng thái
TxD
RxD
Hình 5.3 : Sơ đồ
chân (a) và các
thanh ghi (b) của
8251A
(a)
(b)
/CS chíp chọn vi mạch
/RD read – đọc
/WR write – viết
C/D control/data - điều
khiển số liệu
CLK – clock – nhòp
D0 D7 data O/I – bus
dữ liệu vào ra
/TxC – transmit clock -
nhòp truyền
RxC – receiver clock
RST – reset
/DTR dada terminal
ready
/DSR – data set ready
/RTS request to send
/CTS clear to send
TxD – transmit data
RxD – receiver data
TxRDy – transmit ready
RxRDy – receiver ready
TxEMTY – transmist
register empty
Syn/BRK- Break detect
.
.
Trường ĐH SPKT Luận văn tốt nghiệp
GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng
2. Các thanh ghi:
Ở hình 5.4a và hình 5.4b mô tả bộ thanh ghi của 8251, gồm: thanh ghi trạng thái và
thanh ghi điều khiển.
Hai thanh ghi trên có cùng một đòa chỉ với A0 = 1, một dùng để ghi (/WR) lệnh
điều khiển và một để đọc (/RD) trạng thái. Hai thanh ghi đệm số liệu ghi và đọc có cùng
một đòa chỉ (A0 = 0) và dùng để ghi và đọc số liệu cần truyền và nhận của KGN. Các lệnh
cho các thanh ghi trên như bảng sau:
/CE C/D /WR
/RD LỆNH
0
0
0
0
1
1
1
0
0
x
0
1
0
1
x
1
0
1
0
x
Ghi vào thanh ghi điều khiển (chế độ, lệnh).
Đọc thanh ghi trạng thái.
Ghi số liệu vào thanh ghi đệm truyền.
Đọc số liệu từ thanh ghi đệm nhận.
Trở kháng cao (không dùng).
- Thanh ghi điều khiển
- Thanh ghi trạng thái
.
.
Trường ĐH SPKT Luận văn tốt nghiệp
GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng
a. Thanh ghi điều khiển:
- dùng để ghi:
+ lời điều khiển chế độ.
Hình 5.4a
D7 D6 D5
D4 D3 D2 D1 D0
Tốc độ truyền
00 đồng bộ
01 không đồng bộ x1
10 không đồng bộ x 16
11 không đồng bộ x64
Độ dài ký tự
00 5 bit
01 6bit
10 7bit
11 8 bit
Điều khiển khung.
00 không giá trò
01 một bit dừng
10 1.5 bit dừng
11 2 bit dừng
Bit chẵn lẻ
X0 không kiểm tra
chẳn lẻ
01 kiểm tra lẻ
10 kiểm tra chẵn
.
.
Trường ĐH SPKT Luận văn tốt nghiệp
GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng
b. Lời lệnh:
D7 D6 D5 D4 D3 D2
Cho phép phát
1= cho phép
Chế độ bất đồng bộ
1= tìm ký tự đồng bộ
Ngắt mềm
1= xoá các thanh ghi
Yêu cầu phát
1= đưa tín hiệu
Xoá cờ báo lỗi
1= xoá cờ
Gửi tín hiệu cắt
1= đưa TxD = 0
Cho p
hép thu
1= cho phép RxRDy
Số liệu đầu cuối
Sẵn sàng, DTR
\
=1
EH IR RTS ER SBRK RxEN DTR TxEN
HÌNH 5.4b
.
.
Trường ĐH SPKT Luận văn tốt nghiệp
GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng
c. thanh ghi trạng thái.
Dùng để đọc lời trạng thái:
Chỉ modem
đã Sẵn sàng
để truyền số
liẹäu
Chỉ chữ
đồng bộ đã
được 8251
nhận
Chỉ thanh ghi
biến đổi song
song - nối
tiếp rỗng
Chỉ 8251 sẵn sàng
nhận 1 chữ hay lệnh
để truyền
Bit báo sai chẳn lẻ
Pe= 1 khi có sai xóa
bằng ER của lệnh
Chỉ sẵn sàng nhận số
liệu để truyền cho
VXL
Bit chỉ lỗi tràn
Khi VXL chưa đọc lời
trước, lời sau đã tới thì
OE =1 xoá bằng ER
của lệnh
Bit chỉ sai khung
(không đồng bộ)
khi số bit dừng bò sai
FE= 1 xoá bằng ER =1
Hình 5.4c
D7 D6 D5 D4 D3 D2 D1 D0
DSR SYNDET FE OE PE TxEM RxRDy TxRDy
.
.
Trường ĐH SPKT Luận văn tốt nghiệp
GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng
* Vớùi lời điều khiển chế độ: hình 5.4a
- Chế độ đồng bộ: (trong, ngoài hai hay một ký tự đồng bộ SYNC) bởi nội dung ghi
vào D7, D6.
- Tốc độ truyền với giá trò:
+ D1D0 = 00: Dùng cho chế độ đồng bộ, tốc độ nơi thu bằng tốc độ nơi phát, không
có sự thay đổi tần số xung nhòp.
+ D1D0=01 : dùng cho chế độ không đồng bộ, tốc độ giữa nơi thu và nơi phát không
đổi.
+ D1D0=01: tốc độ thu = tốc độ truyền X1, tức tốc độ thu = tốc độ truyền.
+D1D0=10: tốc độ thu =16x tốc độ truyền.
+ D1D0=11: tốc độ thu =64x tốc độ truyền.
- Độ dài ký tự, tức độ dài một đơn vò tin SDU với các giá trò D3d2 = 00 (5bit), 01(6bit),
10(7bit) và 11(8bit)
- Kiển tra chẵn lẻ D5D4 =00 (không kiểm tra), 01 (kiểm tra lẻ), 11 (kiểm tra chẵn)
- Điều khiển khung, xác đònh số bit dừng.
Với D7D6 = 01 – một bit dừng
D7D6 = 10 – một bit rưỡi dừng
D7D6 = 11 – hai bit dừng
Với lời lệnh (hình5.4b) ta có thể ghi lệnh để:
- Điều khiển modem: DTR(D1=1), RTS(D5=1)
- Xoá mềm( bằng chương trình có IR (D6=1) để xoá về 0 các thanh ghi nội
- Xóa cờ báo lỗi ER (D4=1)
- Ghi cho phép truyền TxEN (D0=1) cho phép nhận RxE(D2=1)
- Gửi tín hiệu cắt ( các bit bằng 0-Break) để cắt dòng tin liên tục đang truyền.
- Tìm ký tự đồng bộ EH(D7=1) trong chế độ đồng bộ
Thanh ghi trạng thái (hình 5.4c): dùng để đọc.
- Sẵn sàng truyền TxRDY (D0=1), sẵn sàng nhận RXRDY( D1=1)
- Thanh ghi đệm số liệu rỗng TxE (D2=1)
- Tuy chỉ có một đòa chỉ (CS\=0, A1=1) nhưng ta có thể ghi được 2 lời điều khiển chế
độ và lời lệnh ở 2 thanh ghi điều khiển khác nhau vì còn có chung một flip flop nội
điều khiển lần lượt vào hai thanh ghi trên
.
.
Trường ĐH SPKT Luận văn tốt nghiệp
GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng
III. ỨNG DỤNG 8251A ĐỂ TRUYỀN THÔNG TIN NỐI TIẾP:
1. Truyền thông tin nối tiếp giữa 2 kit VXL:
a. Khởi phát 8251A:
Muốn 8251 hoạt động đúng chế độ (không đồng bộ), tgác độ (300, 600, 1200, 2400,
4800, 9600bps hoặc lớn hơn), số bit tin (5, 6, 7, 8) có kiểm tra chẵn hoặc lẻ và xác đinh số
bit dừng (1; 1,5; 2 bit) ta phải ghi lời điều khiển chế độ vào thanh ghi điều khiển cuả 8251.
Ví dụ:
Một 8251 có điạ chỉ gốc CS\ với 0FFF0h, cần trao đổi thông tin 8 bit, tốc độ x16 không
có kiểm tra Parity chẵn lẻ, 2bit stop.
Lời điều khiển là: 1 1 0 0 1 1 1 0
TxD
RxD
DTR\
8251
DSR\
RTS\
CTS\
TxD
RxD
DTR\
8251
DSR\
RTS\
CTS\
VXL2
VXL1
HÌNH 5.5
.
.
Trường ĐH SPKT Luận văn tốt nghiệp
GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng
Lưu đồ khởi tạo 8251A
00h thanh ghi điều khiển
Begin
03h AH
AH
-
1
AH = 0 ?
Delay
Nạp từ chế độ cào thanh ghi
chế độ
Delay
End
sai
Đúng
HÌNH 5.5
.
.
Trường ĐH SPKT Luận văn tốt nghiệp
GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng
chương trình khởi phát:
MOV DX, 0FFF2h
MOV AL,00h
OUT DX,AL
MOV CX 2h
D0 : LOOP D0
OUT DX, AL
D1: MOV CX,2h
LOOP D1
OUT DX, AL
MOV CX,2h
D2: LOOP D2
MOV AL, 40h
OUT DX, AL
MOV CX, 2h
D3: LOOP D3
MOV AL, 11001110B
OUT DX, AL
MOV CX, 2h
D4: LOOP D4
END
.
.
Trường ĐH SPKT Luận văn tốt nghiệp
GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng
2. Truyền thông tin nối tiếp giữa kit VXL và máy tính:
1 5
6 9
O O O O O
O O
O O
A 1 – A 11
D 0 –D 7
Reset
CLK
A 0
RD \
WR \
INTR
INTA \
CS \ GND
D 0 – D7
TxD
Rest
RxD
CLK
DTR
C/D\
RD \
DSR\
WR\
RTS \
TxD
CTS\
RxRDy
Giải mã
điạ chỉ
Xử lý
ngắt (8259A
hai mức)
8251
VXL
Cổng COM
của máy tính
HÌNH
5.6
.
.