Truyền nối tiếp bất đồng bộ

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 .

pdf17 trang | Chia sẻ: phuongt97 | Lượt xem: 400 | Lượt tải: 0download
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:

  • pdftruyen_noi_tiep_bat_dong_bo.pdf
Tài liệu liên quan