Như đã biết, trong các hệ thống truyền dữ liệu có hai cách đưa tín hiệu lên đường
truyền: nối tiếp và song song.
Cách truyền song song thường được truyền trên một khoảng cách ngắn, ví dụ giữa các
thiết bị trong cùng một phòng như từ máy tính sang máy in.
Cách truyền nối tiếp thường được thực hiện khi khoảng cách truyền khá xa.
Ngoài ra, trong cách truyền nối tiếp, dựa vào cách thực hiện sự đồng bộ giữa nơi phát
và thu ta có hai chế độ hoạt động: đồng bộ và bất đồng bộ.
Trong chế độ bất đồng bộ, xung đồng hồ được tạo ra một cách riêng rẻ ở máy phát và
máy thu dựa vào tần số danh định tương ứng với vận tốc truyền (bit rate hoặc baud rate).
Trong chế độ đồng bộ, nơi phát có thể gửi xung đồng hồ tới nơi thu theo một kênh
truyền song song với kênh truyền dữ liệu hoặc nơi thu tự tạo ra xung đồng hồ bằng cách tách
tín hiệu thời gian từ dòng dữ liệu.
Chương này bàn đến chế độ truyền nối tiếp bất đồng bộ. Chúng ta sẽ lần lượt giới
thiệu tính chất chung của hệ thống truyền dữ liệu, các giao thức của hệ thống truyền bất đồng
bộ. Chúng ta cũng sẽ khảo sát vài IC thực hiện chức năng biến đổi song song ↔ nối tiếp trong
các thiết bị thu phát .
17 trang |
Chia sẻ: phuongt97 | Lượt xem: 537 | Lượt tải: 0
Nội dung tài liệu Truyền nối tiếp bất đồng bộ, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
ích TTL.
- Chức năng các khối và ý nghĩa các chân IC :
- Data Bus Buffer :
Là bộ đệm 8 bit, hai chiều, 3 trạng thái được dùng để giao tiếp 8251A với Bus dữ liệu
của hệ thống. Dữ liệu được phát hay thu tùy thuộc lệnh Input hay Output của CPU. Từ điều
khiển, từ lệnh và thông tin trạng thái cũng được truyền qua Data Bus.
Khối chức năng này nhận tín hiệu từ Bus điều khiển của hệ thống và phát tín hiệu điều
khiển hoạt động của cả IC, nó chứa thanh ghi từ điều khiển chế độ hoạt động (control word),
thanh ghi từ điều khiển vận hành (command word) là các thanh ghi xác định những chức năng
của IC
Khối này gồm các chân :
D0 - D7 : Data bus I/O : bus dữ liệu vào/ra
RST : Reset : Đặt lại : mức cao của ngã vào này đưa 8251A vào trạng thái nghỉ cho
tới khi có một từ control mới được viết vào để xác đinh chế độ vận hành của nó.
CLK : System Clock : Xung đồng hồ hệ thống : ngã vào dùng định thời bên trong IC,
tần số xung Clock phải lớn hơn 30 lần tốc độ thu phát bit
WR : Write : CPU ghi dữ liệu hay từ control vào 8251A, đây là ngã vào tác động
mức thấp.
RD : Read : CPU đọc dữ liệu hay thông tin về trạng thái từ 8251A
CS : Chip select : chọn chip
C/D : Control/Data : Điều khiển/Dữ liệu. Đây là ngã vào, liên kết với WR và RD
để báo cho 8251A biết từ đang ở Data bus là ký tự dữ liệu, từ control hay thông tin về trạng
thái. Bảng 4.4 dưới đây cho thấy kết quả của sự phối hợp các ngã vào nói trên :
Bảng 4 .4
C/D RD WR CS
_________________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
___________________________________________Chương 4 Truyền nối tiếp bất đồng bộ
IV - 14
0 0 1 0
0 1 0 0
1 0 1 0
1 1 0 0
x 1 1 0
x x x 1
8251A DATA → DATA BUS
DATA BUS → 8251A DATA
STATUS → DATA BUS
DATA BUS → CONTROL
DATA BUS → 3-STATE
DATA BUS → 3-STATE
- Modem Control :
8251A có một tập hợp ngã vào/ra điều khiển được dùng để đơn giản sự giao tiếp với
hầu hết các Modem, gồm các chân :
DSR : Data Set Ready : Ngã vào điều khiển bởi bit D7 của thanh ghi trạng thái (D7 =
1 chân DSR xuống thấp). Trạng thái của nó có thể được test bởi CPU nhờ tác vụ đọc trạng
thái.
DTR : Data Terminal Ready : Ngã ra điều khiển bởi bit D1 của thanh ghi điều khiển
vận hành (command; D1 = 1 chân DTR xuống thấp). Trạng thái của nó có thể được kiểm
soát bởi từ command. Có thể dùng test chân DTR của modem .
RTS : Request To Send : Ngã ra điều khiển bởi bit D5 trong thanh ghi điều khiển (D5
= 1 chân RTS xuống thấp). Có thể được dùng để test chân RTS của modem.
CTS : Clear To Send : Ngã vào, mức thấp cho phép 8251A phát dữ liệu nối tiếp nếu
bit Tx Enable trong thanh ghi từ command (D0 ở mức 1). Khi phần phát Tx đang phát nếu bit
TxEnable = 0 hoặc chân CTS lên cao, Tx sẽ phát tất cả Data trong USART trước khi nghỉ.
- Transmitter buffer :
Nhận Data song song từ Data bus buffer, đổi sang nối tiếp, thêm các bit đặc biệt và
xuất tín hiệu hỗn hợp ra ngã TxD khi có cạnh xuống của xung Clock phát TxC .
- Transmitter Control :
TxC quản lý tất cả hoạt động liên quan đến việc phát tín hiệu
TxRDY : Trans. Ready, ngã ra này báo cho CPU biết máy phát sẵn sàng nhận dữ liệu.
Chân TxRDY có thể dùng như là một ngắt cho hệ thống, vì nó được che bởi Tx Enable, hoặc
đối với tác vụ hỏi vòng (polling), CPU có thể kiểm soát TxRDY bằng tác vụ đọc trạng thái
(bit D0 trong thanh ghi trạng thái). TxRDY tự động reset bởi cạnh xuống (leading edge) của
WR khi ký tự dữ liệu được nạp từ CPU
TxE : Trans. Reg. Empty : thanh ghi phát trống : Khi 8251A không có gì để phát, ngã
ra TxE lên cao. TxE có thể được dùng để chỉ lúc chấm dứt phát sao cho CPU biết lúc phải
đổi sang đường dây khác trong cách truyền bán song công (HDM)
TxC : Transmitter Clock : Xung đồng hồ phát có tần số là một bội của vận tốc điều
chế (Baud rate), tùy theo lập trình, bội này có thể là 1, 16, 64 (chỉ dùng cho chế độ bất đồng
bộ).
Thí dụ: Vận tốc điều chế là 110 baud thì:
- TxC = 110 Hz khi ở chế độ x1 (B1B0 = 01)
- TxC = 1,72 KHz khi ở chế độ x1 (B1B0 = 10)
- TxC = 7,04 KHz khi ở chế độ x1 (B1B0 = 11)
- Receiver Buffer :
Nhận dữ liệu nối tiếp đổi thành song song, kiểm tra lỗi và gửi ký tự tới CPU. Dữ liệu
nối tiếp vào ngã vào RxD bởi cạnh lên của tín hiệu RxC .
- Receiver Control :
Quản lý tất cả hoạt động thu của IC
_________________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
___________________________________________Chương 4 Truyền nối tiếp bất đồng bộ
IV - 15
RxRDY : Ngã ra này báo 8251A chứa một ký tự sẵn sàng đọc vào CPU. RxRDY có
thể nối vào cấu trúc ngắt của CPU hay đối với tác vụ hỏi vòng, CPU có thể kiểm soát trạng
thái của RxRDY bằng cách dùng tác vụ đọc trạng thái (bit D1). Bit RxE (Receive Enable, D2)
trong thanh ghi điều khiển vận hành (command) có tác dụng điều khiển chân RxRDY, khi
RxE = 0 thì RxRDY ở điều kiện không được phép.
RxC : Receiver Clock : Xung đồng hồ thu có tần số là bội của vận tốc điều chế: x1,
x16 và x64
SYN/BRK : Sync detect/Break detect : Dò đồng bộ/ Ngưng:
- Khi hoạt động ở chế độ truyền đồng bộ chân này có thể là ngã vào hoặc ngã ra tùy
vào từ control đã lập trình
* Khi là ngã ra (ở chế độ đồng bộ bên trong) chân này lên cao khi phần thu dò ra từ
đồng bộ.
* Khi là ngã vào (ở chế độ đồng bộ bên ngoài) tín hiệu mức cao tới khiến 8251A bắt
dầu thu dữ liệu khi có cạnh lên của xung đồng hồ kế tiếp.
- Khi hoạt động ở chế độ truyền bất đồng bộ chân này là ngã ra và lên cao khi máy
thu ngưng nhận tín hiệu trong khoảng thời gian tương đương 2 ký tự. Chân này đươc reset bởi
tín hiệu MRST hay chân RxD lên cao. Break Detect cũng có thể được đọc như một bit trạng
thái.
Khác với 6402, ở 8251A tất cả dữ liệu đến và từ µP đều đi qua bus dữ liệu (data bus)
nối với các chân D0-D7.
Địa chỉ thanh ghi được định bởi chân C/D (Control/Data). Khi chân này lên cao cho
phép chọn nhóm thanh ghi điều khiển (mode, command, status). Khi chân này xuống thấp cho
phép chọn các thanh ghi dữ liệu (là các bộ đệm thu và phát). Bộ đệm phát và thanh ghi điều
khiển chỉ có thể ghi(write), trái lại bộ đệm thu và thanh ghi trạng thái chỉ có thể đọc (read).
Thanh ghi chọn chế độ (mode) chỉ có thể được truy xuất sau khi chip được reset.
Bảng 4 .5 Từ chọn chế độ và điều khiển vận hành (Mode Control and Command word bits)
D7
Chọn số bit stop
S1
00 = không
01 = 1 bit Stop
Vào chế độ tìm từ
SYNC. EH
1 = Cho phép tìm từ SYN.
D6
S0
10 = 1,5 bit Stop
11 = 2 bit Stop
Reset nội
IR
1 = Reset
D5 Chọn KT chẵn
EP
1 = Chẵn
0 = lẻ
Yêu cầu phát
RTS
1 = Chân RTS thấp
0 = Cao
D4 Cho phép KT chẵn lẻ
PEN
1 = Có bit chẵn lẻ
0 = Không
Reset lỗi
ER
1 = Reset cờ lỗi PE,OE,FE về
0
D3 Chọn chiều dài ký tự
L1
00 = 5 Bits
01 = 6 Bits
Phát ký tự Break
SBRK
1 = Chân TxD thấp
0 = Vận hành bình thường
D2 L0 10 = 7 Bits
11 = 8 Bit
Cho phép thu
RxEN
1 = Enable
0 = Disable
D1 Chọn hệ số chia xung CK
B1
00 = Sync. Mode
01 = : 1
DTE sẵn sàng
DTR
1 = Chân DTR thấp
0 = Cao
D0 B0 10 = : 16
11 = : 64
Cho phép phát
TxEN
1 = Cho phép
0 = Không
Từ chọn chế độ (mode control) Từ điều khiển vận hành (command)
Sử dụng 8251A đòi hỏi các đoạn chương trình ngắn để nạp từ chọn mode (mode
control word) và từ điều khiển (command word) cho các thanh ghi điều khiển, cũng như để
đọc định kỳ thanh ghi trạng thái (status). Chi tiết của 3 thanh ghi này được cho trong bảng 4.5
và 4.6
Bảng 4 .6 Thanh ghi trạng thái 8251A (Status Register)
_________________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
___________________________________________Chương 4 Truyền nối tiếp bất đồng bộ
IV - 16
D7 DCE sẵn sàng
DSR
1 = Chân DSR thấp
0 = Cao
D6 Dò từ SYN
SYNDET
1 = Dò ra từ SYN
(Synchronous only)
D5 Lỗi khung
FE
1 = Có lỗi khung, reset bằng cách ghi ER = 1
(Asynchronous only)
D4 Lỗi tràn
OE
1 = Có lỗi tràn
D3 Lỗi chẵn lẻ
PE
1 = Có lỗi chẵn lẻ
D2 Thanh ghi phát trống
TxEmpty
1 = Trống
0 = Bận
D1 Phần thu sẵn sàng
RxD
1 = Sẵn sàng thu ký tự mới
D0 Phần phát sẵn sàng
TxD
1 = Sẵn sàng ghi ký tự mới để phát
Ghi chú: bit TxD có nghĩa hơi khác với chân TxRDY. Bít TxD không kèm theo điều kiện của chân CTS và
TxEN trong lúc chân TxRDY kèm theo cả 2 điều kiện này
4.3.3.3 - Vận hành
Toàn bộ hoạt động của 8251A được lập trình bởi phần mềm hệ thống.
Một tập từ điều khiển được phát ra từ CPU để khởi động 8251A, các từ điều khiển
này sẽ qui định các giá trị vận tốc thu phát, chiều dài ký tự, số bit stop, chọn parity, đồng bộ
hay bất đồng bộ (bit parity không được xem là bit dữ liệu khi lập trình chiều dài từ). Trong
trường hợp chiều dài từ < 8 bit, những bit thấp (từ LSB) là dữ liệu, những bit không dùng (bit
cao) thì không cần quan tâm (don't care) khi viết dữ liệu vào 8251A và là 0 khi đọc dữ liệu từ
8251A).
Vận hành của USART 8251A được mô tả qua các bước : khởi động, phát một ký tự và
thu một ký tự.
- Khởi động 8251A
- Reset chip
- Ghi vào thanh ghi chọn chế độ một byte (từ CPU) để chọn giao thức mong muốn
(bảng 4.5)
Sau khi thiết lập chế độ hoạt động, việc phát và thu được điều khiển bằng cách ghi
định kỳ từ điều khiển vào thanh ghi điều khiển bao gồm các bước sau :
- Reset chip
- Ghi từ chọn chế độ vào thanh ghi mode (mode register)
- Ghi từ điều khiển vào thanh ghi command (command register).
Đối với 8251A, từ đi sau từ mode luôn luôn là từ command và từ command có thể ghi
vào thanh ghi bất cứ lúc nào trong khối dữ liệu trong lúc 8251A đang hoạt động. Để trở lại
với từ chọn chế độ, bit master reset (D6) trong từ command có thể được set để khởi động
reset nội và đưa 8251A trở về trạng thái khởi động, và từ điều khiển ghi vào lúc này phải là
từ mode.
- Phát một ký tự
Để phát một ký tự, bit TxEN trong thanh ghi điều khiển phải ở logic 1 và chân CTS
phải ở mức thấp :
- Đợi cho đến khi chân TxRDY lên cao hoặc cho đến khi bit TxRDY trong thanh ghi
trạng thái là 1.
- Ghi ký tự cần phát vào thanh ghi đệm phát.
_________________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
___________________________________________Chương 4 Truyền nối tiếp bất đồng bộ
IV - 17
USART tự động thêm các bit start, stop, kiểm tra chẵn lẻ. Ký tự được phát đi nối tiếp
trên đường TxD với bit LSB được phát trước, các bit được dời ra ngòai mỗi khi có cạnh
xuống của xung đồng hồ TxC với vận tốc bằng 1, 1/16, 1/64 tần số xung đồng hồ.
- Thu một ký tự
Để thu một ký tự đồng thời kiểm tra lỗi của ký tự này, cần thực hiện các bước sau :
- Đợi cho đến khi chân RxRDY lên cao hoặc cho đến khi bit RxRDY trong thanh ghi
trạng thái là 1
- Đọc trạng thái lỗi từ thanh ghi trạng thái
- Đọc ký tự từ thanh ghi đệm thu
- Reset trạng thái lỗi bằng cách ghi bit ER = 1 (D4) trong thanh ghi command.
Tốc độ phát và thu bit được quyết định bởi tần số của xung clock đưa vào chân
RxC /TxC chia theo hệ số 1, 16 hoặc 64 đã chọn trong từ chọn mode.
Hoạt động thu của 8251A giống như 6850 của Motorola, bắt đầu sau khi hiệu lực hóa
bit start, dữ liệu được lấy mẫu khi có cạnh lên của xung đồng hồ RxC .
4..3.3.4 Giao tiếp với CPU của 8251A
(H 4.9) mô tả kết nối giữa 8251A và CPU
Giao tiếp giữa 8251A và CPU sử dụng đặc tính xuất nhập của bộ tích lũy
(accumulator I/O) của Intel 8085
(H 4.9)
- Thu một ký tự
Việc thu một ký tự thực hiện khi chân RxRDY hoặc bit RxRDY trong thanh ghi trạng
thái lên mức cao để tạo ngắt đưa tới µP báo sẵn sàng để thu.
- Phát một ký tự
Quyết định bởi bit TxRDY trong thanh ghi trạng thái, trong trường hợp này CPU phải
thực hiện việc hỏi vòng (chứ không tạo ngắt), khi nhận được mức cao của bit TxRDY (hoặc
chân TxRDY lên cao), CPU ghi ký tự cần phát vào thanh ghi đệm phát.
_________________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
Các file đính kèm theo tài liệu này:
- truyen_noi_tiep_bat_dong_bo.pdf