Tải bản đầy đủ (.pdf) (15 trang)

Tài liệu Giao tiếp giữa KIT vi xử lý 8086 và máy tính Nguồn, chương 9 pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (78.84 KB, 15 trang )

CHƯƠNG 9
GIAO TIẾP NỐI TIẾP DÙNG VI MẠCH 8251
I. TRUYỀN THÔNG TIN NỐI TIẾP:
Việc truyền thông tin giữa các bộ phận nằm gần nhau trong
hệ vi xử lý có thể được thực hiện thông qua bus song song mở
rộng hoặc các mạch phối ghép song song. Trong đó các byte
hoặc các từ được chuyển từ bộ phận này sang bộ phận khác trên
một tập các đường mạch in hoặc dây cáp. Trong trường hợp cần
phải truyền thông tin ở các thiết bò cách xa nhau làm sao tiết
kiệm được số đường dây dẫn cần thiết cho việc truyền. Từ yêu
cầu trên đã ra đời phương pháp truyền thông tin nối tiếp. Ở đầu
phát dữ liệu song song đầu tiên được chuyển thành dữ liêu dạng
nối tiếp sau đó được truyền đi liên tiếp trên một đường dây. Ở
đầu thu, tín hiệu nối tiếp sẽ được biến đổi ngược lại để tái tạo
lại dạng tín hiệu dạng song song thích hợp cho việc xử lý tiếp
theo.

Trong thực tế có 2 phương pháp truyền thông tin kiểu nối
tiếp: truyền đồng bộ và truyền không đồng bộ.
Trong phương pháp truyền đồng bộ, dữ liệu dữ liệu được
truyền theo từng mảng với tốc độ xác đònh. Mảng dữ liệu trước
khi được truyền đi sẽ được gắn thêm ở đầu và ở cuối mảng các
byte hoặc một nhóm bit đònh dấu đặc biệt.
Ở hình 6.1 biểu diễn một bản tin để truyền đồng bộ theo
giao thức BISYNC (giao thức truyền thông tin hệ 2 dồng bộ,
binary synchronous communication protocal) đây thực chất là
giao thức điều khiển theo byte, vì các byte (ký tự) đặc biệt được
dùng để đáng dấu các phần khác nhau của bản tin.

Trong cách truyền không đồng bộ, dữ liệu được truyền đi
theo từng ký tự. Ký tự cần truyền đi được gắn thêm một bit đánh


dấu ở đầu để báo bắt đấu ký tự (start) và 1 hoặc 2 bit đánh dấu
cuối để báo kết thúc ký tự (stop)ï. Vì cuối ký tự được nhận dạng
riêng biệt nên nó có thể dược truyền đi theo phương pháp không
đồng bộ, được thể hiện trên hình 6.1
SYN
SYN
SOH
STX TEXT ETX hay ETB BCC
HEADER
SYN : Ký tự đồng bộ
SOH : Ký tự bắt đầu phần màu đầu
HEADER : Phần mào đầu
STX : Ký tự bắt đầu văn bản
TEXT :Thân văn băn
ETX : Ký tự kết thúc văn bản
ETB : Ký tự kết thúc văn bản
BCC : Ký tự kiểm tra khối


HÌNH 5.1
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ộ

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ó 1bit 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à 110, 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ình5.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 để chọn 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ý.
- Reset nối với đường dây reset của vi xử lý.
- D0 … D7 nố 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ố lliệu truyền
- TxRDy báo số liệu truyền đã sẵn sàng.
- RxRDy dáo số liệu nhận đã sẵn sàng.
- Syn det/Break : chi đồ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.

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
/DSR /DTR /CTS /RTS
Syn/BRK
TxC
Thanh ghi truye
à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
tnh 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
khi63n 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
rigister empty
Syn/BRK- Breack deteat
2. Các thanh ghi
Ởû hình 6.4a và hình 6.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 dùng để
ghi (/WR) 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:
/C
E
C/D /W
R
/R
D
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).
I. Cấu trúc phần mềm
- Thanh ghi điều khiển
- Thanh ghi trạng thái
Hai thanh ghi trên có cùng đòa chỉ với A
0
=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ũng có một đòa chỉ A
0
=0)
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 bảng sau:
a. Thanh ghi điều khiển:
- dùng để ghi:
+ lời điều khiển chế độ.
+ lời lệnh:
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
Đ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ẵ lẻ
01 kiểm tra lẻ
10 kiểm tra chẵn
b. Thanh ghi chế độ.
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 phé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

c. thanh ghi trạng thái.
Dùng để đọc lời trạng thái:
Chỉ modem
đã
Sẵn sàng để
Chỉ chữ
đồng bộ đã
được 8251
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 để
Bít báo sai chẳn lẻ
Pe= 1khi có sai xoá
bằng ER của lệnh
Chỉ sẵn sang 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
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
* Với lời điều khiển chế độ: hình 4.3a
- 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 =X0 (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 D7D0 = 01 – một bít dừng
D7D6 = 10 – một bít rưỡi dừng
D7D6 = 11 – hai bit dừng
 Với lời lệnh (hình 43b) ta có thể ghi lệnh để:
- Điều khiển modem: DTR(D1=1), RTS(D%=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 tín hiệu
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 43c): 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.

×