Tín hiệu nối tiếp tới chân RxDcủa ACIA. Thông thường chân này ởmức cao khi
không có tín hiệu vào. Khi có tín hiệu tới bit đầu tiên là bit start (bit D0) làmchân RxD
chuyển từcao xuống thấp. Giảsửtần sốxung đồng hồthubằng 16 lần vận tốc bit,thì sau8
chu kỳ đồng hồkểtừkhi chân RxD chuyển từcao xuống thấp, ngã vào này được kiểm tra
một lần nữa và nếu nó vẫn còn ởmức thấp, bit start mới có giá trị, nếu không ACIAxemtín
hiệu nhận được là nhiễu vàtiếp tục giámsát sựthay đổi ởchân này đểtìmra bit start. Dùng 8
chu kỳ đồng hồsau khi có sựthay đổi trạng thái của chân RxDkhiến cho data được lấy mẫu
đúng ngay điểm giữa và được chuyển vào thanh ghi dịch thu sau mỗi 16 xung đồng hồ. Viêc
kiểm tralỗi được thực hiện và khi có lỗi xảy ra các bit báo lỗi tương ứng trong thanh ghi trạng
thái sẽ được set. Sau khi sốbit dữliệu mong muốn đã nhận được, bản tin được chuyển song
song từthanh ghi dịch thu tới thanhghi đệm thu và bit 0 (RDRF) củathanh ghi trạng thái
được set lên 1. Nếu bit 7 của thanh ghi điều khiển được set (đưa lên 1) trong suốt thời gian
khởi động, một ngắt tới CPU được tự động tạo ra do chân IRQ xuống thấp. CPUthực hiện
chương trình phục vụngắt và đọc thanh ghi trạng thái đểbiết nguyên nhân ngắt. Nếu CPU
tìmthấy bit RDRF đã set nó sẽ đọc dữliệu trong thanh ghi đệmthu. Hành động này xóa bit
RDRFcủa thanh ghi trạng thái.
17 trang |
Chia sẻ: maiphuongdc | Lượt xem: 2499 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Giáo trình Truyền dữ 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
sự thay đổi từ 1 xuống 0, sẽ tạo ra tín
hiệu điều khiển thanh ghi dịch, sau khi dịch đủ số bit qui định của tín hiệu kể cả bit parity và
bit Stop, ký tự dữ liệu được đọc ra dưới dạng song song từ thanh ghi dịch.
(H 4.2)
(H 4.2) mô tả dạng của tín hiệu trên đường truyền bất đồng bộ (tín hiệu là mẫu chữ C
với parity chẵn và một bit Stop) và bộ phận biến đổi song song ↔ nối tiếp trong máy phát và
thu. Bộ phận này chính là các thanh ghi dịch.
_________________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
___________________________________________Chương 4 Truyền nối tiếp bất đồng bộ
IV - 4
Sự đồng bộ ở các thanh ghi dịch phát và thu được tạo bởi xung đồng hồ ở máy phát và
xung đồng hồ ở máy thu. Dĩ nhiên các xung đồng hồ này phải có cùng tần số, đó là tần số
tương ứng với vận tốc truyền bit của hệ thống. Nếu xung đồng hồ ở nơi thu không phù hợp
với xung đồng hồ ở nơi phát, lỗi do độ lệch thời gian có thể xảy ra. Có hai loại lỗi : Lỗi khi
đọc bit và lỗi do sai khung. Lỗi do sai khung được tạo ra bởi sự tích lũy các độ lệch thời gian,
bit cuối cùng bị sai đưa tới sai khung.
(H 4.3)
(H 4.3) là một ví dụ, giả sử thời gian cho một bit là 0,1 s (T = 0,1s =100ms) và sự sai
lệch là 7% sớm hơn ở máy thu, như vậy máy thu đọc bit đầu tiên ở thời điểm 93 ms thay vì
100ms, bit thứ hai ở 186ms ..... cho đến thời điểm 744ms máy thu đang đọc bit thứ 7 nhưng
nhầm là bit thứ 8, như vậy bit cuối cùng của tín hiệu đã bị đọc sai, nếu bit thứ 8 là bit 1 thì
máy thu nhầm là bit Stop và kết quả là có sự sai khung.
Bit Stop là bit kiểm tra độ lệch thời gian tương đối chính xác, nếu máy phát hiện bit
Stop không phải là bit 1 thì sẽ báo lỗi khung ta nói bit Stop là khoảng bảo vệ tối thiểu giữa
các khung ký tự. Ngoài ra bit parity cũng giới hạn được sai sót này và các sai sót do nhiễu, tuy
nhiên phương pháp phát hiện lỗi này không đạt độ tin cậy 100% vì nếu số bit sai là số chẵn thì
máy thu không phát hiện được.
4.3 Vài IC thực hiện TRUYỀN nối tiếp bất đồng bộ
Trước đây việc thu phát bất đồng bộ được thiết kế dựa trên các IC loại SSI và MSI. Ví
dụ, để tạo và kiểm tra chẵn lẻ, người ta có thể dùng các cổng EX-OR .
Hiện nay sự phát triển của công nghệ chế tạo IC cho phép sử dụng các vi mạch LSI để
thực hiện các chức năng thu phát thỏa mãn giao thức truyền bất đồng bộ. Chúng ta giới thiệu
dưới đây vài IC thu phát bất đồng bộ (Universal Asynchronous Receiver,Transmitter, UART)
hoặc IC điều hợp giao tiếp thông tin bất đồng bộ (Asynchronous Communication Interface
Adapter, ACIA), đó là các IC :
- UART 6402 của Intersil
- ACIA 6850 của Motorola
- USART 8251A của Intel
4.3.1. UART 6402 của Intersil
4.3.1.1 - Tính năng kỹ thuật tổng quát
6402 là UART loại IC CMOS/LSI dùng để giao tiếp với máy tính hoặc µP qua kênh
dữ liệu nối tiếp bất đồng bộ.
_________________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
___________________________________________Chương 4 Truyền nối tiếp bất đồng bộ
IV - 5
- Máy phát đổi dữ liệu song song thành nối tiếp và tự động thêm vào các bit Start và
Stop.
- Máy thu chuyển đổi các bit Start, ký tự dữ liệu, bit parity và bit Stop thành dữ liệu
song song, kiểm tra lỗi.
Chiều dài của các ký tự dữ liệu có thể là 5, 6, 7 hoặc 8 bit. Parity có thể là chẵn hay lẻ,
việc kiểm tra và tạo bit parity có thể bỏ qua, nếu không có yêu cầu. Có thể dùng 1, 1,5 hoặc 2
bit Stop.
4.3.1.2 - Mô hình (H 4.4)
(H 4.4)
- Ý nghĩa các chân của IC :
TRE : Transmit Reg. Empty : Ngã ra, báo thanh ghi phát trống.
TBRL : Trans. Buf. Reg. Load : Ngã vào, nạp dữ liệu vào thanh ghi đệm phát & phát
TBRE : Trans. Buf. Reg. Empty : Ngã ra, mức cao báo thanh ghi đệm phát trống, sẵn
sàng nhận dữ liệu
TBR7 - TBR0 : Trans. Buf. Reg. Data : Dữ liệu để nạp vào thanh ghi đệm phát
DR : Data Received : Ngã ra, lên cao báo đã thu được một ký tự dữ liệu
DRRST : Data Received Reset : Reset thanh ghi thu
ROE : Receive Buffer Output Enable : Cho phép thu tín hiệu từ thanh ghi đệm thu
RBR7 - RBR0 : Receive Buf.Reg. Data : Dữ liệu thu từ thanh ghi đệm thu
CRL : Control Reg. Load : Ngã vào, mức cao cho phép nạp từ điều khiển vào thanh
ghi điều khiển
CR4 - CR0 : Control Reg. Data : Tổ hợp 5 bit tạo thành một từ điều khiển
PE,FE,OVE : Parity, Framing, Overflow flags : Cờ báo lỗi chẵn lẻ, lỗi khung, lỗi tràn
SOE : Status O/P Enable : Cho phép ngã ra trạng thái
MRST : Master Reset : Đặt lại IC
RC,TC : Receive Clock, Trans. Clock : Xung đồng hồ Thu, 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 - 6
RxD, TxD : Receive Data, Trans. Data : Dữ liệu thu phát.
Việc chọn các chuẩn trong giao thức theo qui định của bảng 4.1 dưới đây
Bảng 4.1 : 6402 control word
CR4
CR3
Chọn chiều dài ký tự
Character Length Select
CLS1
CLS0
00 = 5 bit
01 = 6 bit
10 = 7 bit
11 = 8 bit
CR2 Có Kiểm Tra chẵn lẻ ?
PI (Parity Inhibit)
1 = không kiểm tra chẵn lẻ và PE = 0
0 = có kiểm tra chẵn lẻ
CR1 Chọn Kiểm Tra chẵn
EPE (Even Parity Enable)
1 = kiểm tra chẵn
0 = kiểm tra lẻ
CR0 Chọn số bit stop
SBS
Stop Bit Select
0 = 1 bit stop
1 = 1,5 (ký tự 5 bit)
1 = 2 (ký tự 6, 7, 8 bit)
4.3.1.3 - Vận hành
- Vận hành của IC được thực hiện qua các thao tác sau đây :
- Khởi động :
Để khởi động 6402, lần lượt thực hiện 3 bước :
- Đặt từ điều khiển vào các chân CR4 - CR0 để chọn giao thức truyền.
- Đưa chân CRL lên cao để nạp từ điều khiển vào thanh ghi điều khiển.
- Đưa chân MRST lên cao để reset máy thu và máy phát.
- Phát một ký tự :
Để nạp một ký tự vào thanh ghi phát và phát đi, lần lượt thực hiện các bước :
- Chân TBRE lên cao báo thanh ghi đệm phát trống.
- Các bít của ký tự được nạp vào chân TBR7 - TBR0.
- Đưa TBRL lên cao để nạp data vào thanh ghi đệm.
- Tín hiệu phát đi khi TBRL xuống thấp.
- Thu một ký tự :
Để thu một ký tự, lần lượt thực hiện các bước sau :
- Chân DR lên cao báo đã thu một ký tự mới
- Đưa ROE xuống thấp để đọc ký tự từ ngã ra của bộ đệm vào CPU
- Đọc các trạng thái lỗi ở các ngã PE, FE và OVE (Các chân này cho phép bởi
SOE ở trạng thái thấp). Mức cao của các chân này cho biết đã phát hiện lỗi. PE cho biết lỗi
chẵn lẻ, FE cho biết lỗi khung và OVE cho biết lỗi tràn (Overrun) là lỗi do tốc độ thu ký tự
lớn hơn tốc độ đọc ký tự.
- Reset thanh ghi thu bằng cách đưa chân DRRST xuống mức thấp
Tốc độ phát và thu bit tùy thuộc vào xung đồng hồ trên hai chân TC và RC. 6402 có
mạch chia 16 cố định để tần số xung clock vào phải bằng 16 lần tốc độ baud mong muốn. Tốc
độ có thể lên tới 250 kbps.
4.3.1.4 Giao tiếp của 6402 với vi xử lý
Giao tiếp giữa 6402 và bộ vi xử lý có phần phức tạp (H 4.5), nhưng ít sử dụng phần
mềm khi thực hiện các chức năng thu 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 - 7
(H 4.5)
- Việc thực hiện giao thức bất đồng bộ (tức tạo từ điều khiển) nhờ vào khóa chuyển
mạch điện tử.
- Việc báo lỗi thực hiện nhờ một led.
- Mạch được Reset bởi cả phần cứng và phần mềm.
- Mạch đơn ổn thực hiện chức năng Reset thanh ghi thu tự động sau khi thu đủ ký tự.
- Việc đọc ký tự thu tác động bởi tín hiệu RD ở CPU và tín hiệu select UART từ
mạch giải mã địa chỉ.
- Tương tự cho việc nạp dữ liệu vào thanh ghi đệm phát để phát : tác động bởi tín hiệu
WR của CPU và tín hiệu select UART.
- Các ngắt riêng biệt của µP được tạo ra bởi tín hiệu DR và TBRE
4.3.2 . ACIA 6850 của Motorola
4.3.2.1 - Đặc tính tổng quát
Về tính chất vật lý, 6850 thuộc loại NMOS có 24 chân, được thiết kế để giao tiếp với
bus của họ µP 6800 của Motorola.
6850 có thể lập trình phần mềm và chỉ có một thanh ghi điều khiển
Ngoài ra, với 6850 ta có thể thiết lập các giao thức sau đây :
- Có thể truyền 8 hoặc 9 bit
- Có thể chọn parity chẵn hoặc lẻ
- Kiểm tra lỗi parity, overrun, và framing
- Có thể chọn các mode hoạt động với tần số xung đồng hồ chia cho hệ số 1, 16 hoặc
64
- Tốc độ truyền dữ liệu lên tới 500 kbps
- Có các chức năng điều khiển ngoại vi/modem
- Có 1 hoặc 2 bit Stop
- Có thanh ghi dữ liệu đôi.
_________________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
___________________________________________Chương 4 Truyền nối tiếp bất đồng bộ
IV - 8
4.3..2.2 - Mô hình và sơ đồ khối (H 4.6)
(H 4.6)
* Ý nghĩa các chân :
- 2CS , CS1, CS0 : Chip slect : chọn chip
- RS : Reg. Select : Chọn thanh ghi (1: Dữ liệu; 0: Điều khiển)
- R/W : Read/Write
- IRQ : Interrupt request : Yêu cầu ngắt
- D7-D0 : Data Bus I/O : Bus dữ liệu vào/ra
- E : Data I/O Enable and Clkng (Điều khiển xuất nhập dữ liệu vào/ra bus)
- RxCLK, TxCLK : Ngã vào xung đồng hồ thu, phát
- CTS : Clear To Send
_________________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
___________________________________________Chương 4 Truyền nối tiếp bất đồng bộ
IV - 9
- RTS : Request To Send
- CD : Carrier Detect : Dò sóng mang
- RxD, TxD : Dữ liệu thu, phát
- VSS : Mass nguồn (GND)
- VDD : Nguồn dương (+5 V)
Các chi tiết của giao thức được chọn bằng cách ghi 1 byte vào thanh ghi điều khiển
dựa theo bảng 4.2. Trạng thái thu phát và trạng thái lỗi được đọc từ thanh ghi trạng thái, dựa
vào bảng 4.3
Thanh ghi điều khiển hoặc thanh ghi trạng thái được chọn khi chân RS xuống thấp và
thanh ghi dữ liệu thu hoặc phát được chọn khi RS lên cao. Thanh ghi dữ liệu phát và điều
khiển chỉ có thể ghi (write). Thanh ghi dữ liệu thu và trạng thái chỉ có thể đọc (read)
Bảng 4.2 6850 Control Register Word Bits
D7 Cho phép ngắt thu
C7
1 = IRQ ở thấp khi thanh ghi đệm thu đầy
0 = Không cho phép ngắt thu
D6 Điều khiển ngắt phát - phát
C6
00 = RTS low. Không cho phép ngắt phát
01 = RTS low. Cho phép ngắt phát
D5 C5 10 = RTS high. Không cho phép ngắt phát
11 = RTS low. Không cho phép ngắt phát & Phát bit 0 (break
level)
D4 Chọn chiều dài ký tự, KTchẵn
lẻ, Số bit stop
C4
000 = 7 bit + Chẵn + 2 Stop
001 = 7 bit + Lẻ + 2 Stop
010 = 7 bit + Chẵn + 1 Stop
D3 C3 011 = 7 bit + Lẻ + 1 Stop
100 = 8 bit + 2 Stop
101 = 8 bit + 1 Stop
D2 C2 110 = 8 bit + Chẵn + 1 Stop
111 = 8 bit + Lẻ + 1 Stop
D1 Chon hệ số chia tần xung CK
C1
00 = : 1
01 = : 16
D0 C0 10 = : 64
11 = Master Reset
Ghi chú : * Master reset, thanh ghi điều khiển có bít C1 C0 = 11, Reset tất cả các bít của thanh ghi trạng
thái và đưa chân RTS và IRQ lên cao
* Bít C7 = 1, CPU bị ngắt nếu:
- Thanh ghi dữ liệu thu đầy - Bị tràn
- Có một biến đổi từ thấp lên cao ở chân CD (modem không dò ra sóng mang)
Bảng 4 .3 6850 Status Register Bits
D7 Trạng thái pin IRQ
IRQ
1 = IRQ low
Reset bởi việc đọc thanh ghi đệm thu hay viết vào thanh ghi phát
D6 Lỗi chẵn lẻ
PE
1 = Có lỗi chẵn lẻ
Set/Reset khi chuyển dữ liệu thu
D5 Lỗi tràn (Overrun)
OVRN
1 = Báo lỗi tràn và giữ bit RDRF = 1
Set/Reset khi chuyển dữ liệu thu
D4 Lỗi khung
FE
1 = Có lỗi khung
Set/Reset khi chuyển dữ liệu thu
D3 Xóa để phát
CTS
Tùy trạng thái chân CTS
Chân CTS ở mức cao sẽ vô hiệu hóa bit TDRE
D2 Dò sóng mang
CD
1 = chân CD ở mức cao (no carrier)
( xem ghi chú)
D1 Thanh ghi phát trống
TDRE
1= Phần phát chờ nhận ký tự.
Reset bởi việc ghi vào thanh ghi 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 - 10
D0 Thanh ghi thu đầy
RDRF
1 = Phần thu chờ đọc ký tự.
Reset bởi việc đọc thanh ghi đệm thu
Ghi chú : bit CD lên 1 làm cho chân IRQ xuống thấp khi bit C7 set = 1. Bit CD vẫn giữ 1 sau khi pin
CD xuống thấp và bị xóa sau khi đọc thanh ghi trạng thái, và thanh ghi dữ liệu thu, hoặc cho đến khi MRST
xảy ra.
Thông tin trong thanh ghi trạng thái được đọc bởi CPU và cho biết trạng thái hiện
hành của 6850
Bit D0 : (RDRF) Bít này set 1 sau khi data nhận được đã truyền từ thanh ghi dịch thu
tới thanh đệm thu và nó được xóa sau khi CPU đã đọc data
Bit D1 : (TDRE) Bít này được set khi data đã chuyển từ thanh ghi đệm phát đến thanh
ghi dịch phát, nó được xóa khi CPU viết từ mới vào thanh ghi đệm phát
Bit D2 : (CD) Bít này được set nếu Modem không dò ra sóng mang
Bit D3 : (CTS) Bít này được reset ( =0) nếu có tín hiệu tác động xóa để gửi
Bit D4 : (FE) Bít này set nếu máy thu không dò ra bít stop ( sai khung)
Bit D5 : (OVRN) Bít này set nếu 6850 chuyển data thu được từ thanh ghi dịch thu vào
thanh ghi đệm thu trước khi CPU đọc nội dung trong thanh ghi này, nó chỉ rằng có một phần
bản tin bị mất. Bít này được reset khi CPU đọc thanh ghi đệm thu
Bit D6 : (PE) Bít này set khi máy thu dò ra lỗi parity
Bit D7 : (IRQ) Bít này set khi có tín hiệu tác động trên ngã ra IRQ tới CPU
4.3.2.3 Vận hành
Vận hành 6850 đượ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 :
Chú ý rằng 6850 không có reset phần cứng. Việc reset chip được điều khiển bằng cách
ghi byte điều khiển vào thanh ghi điều khiển (lập các bit C0 = C1 = 1)
- Reset chip: các bit trong thanh ghi trạng thái về 0 và hai chân RTS và IRQ lên cao
- Lập trình từ điều khiển để chọn giao thức hoạt động.
- Phát một ký tự
Khi đã khởi động chip ta chỉ cần 2 bước để phát một ký tự
- Chân CTS phải ở mức thấp
- Đợi cho đến khi bít TDRE = 1 (trong thanh ghi trạng thái)
- Ghi ký tự cần phát vào thanh ghi dữ liệu phát
Một ví dụ để thấy hoạt động phát của 6850. Từ điều khiển ghi vào thanh ghi có dạng
10101101. Do bit D6 và D5 là 0 và 1, một tín hiệu mức thấp tác động cho bởi chân RTS gửi
tới modem, sau một thời gian trễ xác định, modem gửi tín hiệu tác động mức thấp tới chân
CTS , báo dữ liệu sẵn sàng để gửi đi. CPU đọc thanh ghi trạng thái và nếu bit D1 (TDRE) lên
1 nó sẽ gửi từ kế tiếp đến thanh ghi đệm phát, từ này được chốt vào thanh ghi khi chân E
chuyển từ mức cao xuống thấp, điều này khiến cho bit TDRE reset xuống 0. Mạch logic bên
trong tạo bit kiểm tra lẻ theo yêu cầu và chuyển dữ liệu cùng với bit start, bit parity và bit stop
vào thanh ghi dịch phát. Dữ liệu được chuyển ra ngoài trên đường TxD với bit rate bằng 1/16
tần số xung đồng hồ ở chân TxCLK .
Khi dữ liệu đã chuyển vào thanh ghi dịch phát bit TDRE của thanh ghi trạng thái lên
1, một lần nữa vì bit D6 và D5 của thanh ghi điều khiển là 0 và 1 nên khi TDRE lên 1 một tín
hiệu ngắt tự động gửi đến CPU ở ngã ra IRQ . CPU trả lời bằng cách gửi từ thứ 2 tới thanh
ghi đệm phát mặc dù từ thứ nhất có thể chưa hoàn toàn chuyển ra ngoài. Sở dĩ được như vậy
vì 6850 dùng thanh ghi đôi và việc này làm gia tăng vận tốc truyền.
_________________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
___________________________________________Chương 4 Truyền nối tiếp bất đồng bộ
IV - 11
- Thu một ký tự
Có 3 bước cần thiết để thu một ký tự
- Chân CD phải ở mức thấp
- Đợi cho đến khi bit RDRF = 1
- Đọc trạng thái lỗi từ thanh ghi trạng thái
- Đọc ký tự thu từ thanh ghi dữ liệu thu
Các ngắt phát và/hoặc thu có thể được cho phép bởi từ điều khiển (xem bảng 4.2)
Chân IRQ sẽ ở mức thấp bất cứ khi nào các bit trạng thái TDRE và/hoặc RDRF là 1.
Trong khi chân IRQ ở thấp bit trạng thái IRQ là 1.
Dưới đây là quá trình thu một ký tự
Tín hiệu nối tiếp tới chân RxD của ACIA. Thông thường chân này ở mức cao khi
không có tín hiệu vào. Khi có tín hiệu tới bit đầu tiên là bit start (bit D0) làm chân RxD
chuyển từ cao xuống thấp. Giả sử tần số xung đồng hồ thu bằng 16 lần vận tốc bit, thì sau 8
chu kỳ đồng hồ kể từ khi chân RxD chuyển từ cao xuống thấp, ngã vào này được kiểm tra
một lần nữa và nếu nó vẫn còn ở mức thấp, bit start mới có giá trị, nếu không ACIA xem tín
hiệu nhận được là nhiễu và tiếp tục giám sát sự thay đổi ở chân này để tìm ra bit start. Dùng 8
chu kỳ đồng hồ sau khi có sự thay đổi trạng thái của chân RxD khiến cho data được lấy mẫu
đúng ngay điểm giữa và được chuyển vào thanh ghi dịch thu sau mỗi 16 xung đồng hồ. Viêc
kiểm tra lỗi được thực hiện và khi có lỗi xảy ra các bit báo lỗi tương ứng trong thanh ghi trạng
thái sẽ được set. Sau khi số bit dữ liệu mong muốn đã nhận được, bản tin được chuyển song
song từ thanh ghi dịch thu tới thanh ghi đệm thu và bit 0 (RDRF) của thanh ghi trạng thái
được set lên 1. Nếu bit 7 của thanh ghi điều khiển được set (đưa lên 1) trong suốt thời gian
khởi động, một ngắt tới CPU được tự động tạo ra do chân IRQ xuống thấp. CPU thực hiện
chương trình phục vụ ngắt và đọc thanh ghi trạng thái để biết nguyên nhân ngắt. Nếu CPU
tìm thấy bit RDRF đã set nó sẽ đọc dữ liệu trong thanh ghi đệm thu. Hành động này xóa bit
RDRF của thanh ghi trạng thái.
Phần thu của 6850 cũng dùng thanh ghi đôi cho phép từ kế tiếp chuyển vào thanh ghi
dịch trong khi từ trước đó chưa hoàn toàn được đọc vào CPU nhằm tăng vận tốc truyền như
nói trên.
4 .3.2.4 Giao tiếp của 6850 với vi xử lý
ACIA 6850 có thể giao tiếp với họ vi xử lý 6800 hoặc 6502 (H 4.7)
_________________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
___________________________________________Chương 4 Truyền nối tiếp bất đồng bộ
IV - 12
(H 4 .7)
Ghi chú:
Trong mạch (H 4.7)
- Φ2 là tín hiệu xung đồng hồ chuẩn cho tất cả thiết bị ngoại vi của 6800.
- VMA : Valid memory address, ngã ra chỉ báo cho các thiết bị ngoại vi của 6800 biết
có một địa chỉ có hiệu lực trên bus địa chỉ.
- Mạch giao tiếp trên không truyền qua modem (các chân CTS và CD nối mass)
- Việc giải mã địa chỉ được thực hiện từ bên ngoài cho ngã vào 2CS
- Chân CS1 và CS0 phải nối lên mức cao
- Các ngắt được báo cho CPU từ chân IRQ để báo cho CPU biết các thanh ghi thu
hoặc phát đã sẵn sàng. Các thao tác này cũng có thể chọn lựa bởi việc lập trình thích hợp cho
các bit cho phép ngắt trong thanh ghi điều khiển.
4.3.3. USART 8251A của Intel :
4 .3.3.1 - Tính năng tổng quát :
8251A là một chuẩn công nghiệp USART, được chế tạo từ kỹ thuật NMOS, có 28
chân, được thiết kế để truyền dữ liệu tốc độ lên đến 64 kbps tương thích với họ µP của Intel
như MCS-48, 80, 85 và iAPX-86, 88.....8251A được dùng như một thiết bị ngoại vi và được
lập trình bởi CPU để truyền dữ liệu nối tiếp. USART nhận các ký tự dữ liệu từ µP ở dạng
song song, sau đó đổi chúng thành dạng nối tiếp để phát đi. Đồng thời, 8251A có thể thu dòng
dữ liệu nối tiếp và đổi chúng thành các ký tự dữ liệu song song gửi đến µP. USART sẽ báo
cho µP biết khi nào có thể nhận một ký tự từ µP để phát, hoặc khi nào đã thu được một ký tự
để cho µP đọc. µP có thể đọc trạng thái của USART bất cứ lúc nào. Những trạng thái này bao
gồm các lỗi truyền dữ liệu và các tín hiệu điều khiển như là RxRDY (Receiver Ready) và
TxRDY (Transmitter Ready)
4.3.3.2 - Mô hình và sơ đồ khối (H 4.8)
_________________________________________________________________________________
Nguyễn Trung Lập Truyền dữ liệu
___________________________________________Chương 4 Truyền nối tiếp bất đồng bộ
IV - 13
(H 4.8)
8251A có thanh ghi dữ liệu đôi và các thanh ghi điều khiển và trạng thái riêng biệt,
điều này làm đơn giản việc lập trình và tăng hiệu quả sử dụng thời gian của CPU (tăng vận
tốc thu, phát).
- Ở chế độ truyền bất đồng bộ máy thu dò và ngưng hoạt động tự động mà không cần
sự điều khiển của CPU
- Kết thúc một cuộc liên lạc, TxD line luôn trở về trạng thái nghỉ (mark state), tức phát
tín hiệu 1, trừ khi bit D3 (SBRK) trong thanh ghi điều khiển được set = 1
- Trạng thái logic của bit D0 (Tx Enable) cho phép máy truyền xong các ký tự đã nạp
vào thanh ghi mặc dù có lệnh dừng.
8251A có khả năng thực hiện giao thức truyền đồng bộ và bất đồng bộ. Ở đây ta chỉ
bàn đến khả năng truyền bất đồng bộ.
- Trong chế độ truyền bất đồng bộ, chiều dài ký tự có thể từ 5 đến 8 bit với tần số
xung clock bằng 1, 16, 64 lần giá trị baud
- Có khả năng phát ký tự Break và 1, 1,5 hoặc 2 bit Stop
- Dò được các lỗi chẵn lẻ, sai khung và lỗi tràn
- Ngã vào và ra tương thí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
Các file đính kèm theo tài liệu này:
- chap4_truyen_nt_bat_dong_bo_0423.pdf