Giáo trình Truyền dữ liệu - Truyền nối tiếp bất đồng bộ

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.

pdf17 trang | Chia sẻ: maiphuongdc | Lượt xem: 2499 | Lượt tải: 1download
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:

  • pdfchap4_truyen_nt_bat_dong_bo_0423.pdf