Mô tả các tín hiệu của 8251.

Một phần của tài liệu Tài liệu Chương V: Ghép nối CPU với bộ nhớ và các thiết bị ngoại vi doc (Trang 26 - 29)

* RESET : là mô ̣t ngõ vào tác đô ̣ng mức cao để khởi đô ̣ng la ̣i 8251, sau khi nhâ ̣n được tín hiê ̣u này 8251 sẽ trở về tra ̣ng thái ban đầu và cần phải lâ ̣p trình la ̣i các từ lê ̣nh mới. Xung Reset cần kéo dài ít nhất trong 6 chu kỳ xung clock. Ngoài ra từ lê ̣nh cũng có thể khởi đô ̣ng la ̣i cho 8251, đó là chế đô ̣ khởi đô ̣ng mềm.

*CLK: (Clock) Là ngõ vào cung cấp xung nhi ̣p đi ̣nh thời cho hoa ̣t đô ̣ng cho các khối bên trong 8251. Tín hiê ̣u này có thể lấy từ phase 2 (mức logic TTL) của bô ̣ ta ̣o clock. Không có ngõ vào ra nào tác đô ̣ng phu ̣ thuô ̣c vào CLK, nhưng tần số xung đưa tới ngõ vào này phải lớn hơn 30 lần tốc đô ̣ truyền nhâ ̣n.

Các tín hiê ̣u điều khiển chế đô ̣ hoa ̣t đô ̣ng của 8251.

* WR: (Write)Ngõ vào tác đô ̣ng mức thấp, 8251 nhâ ̣n tín hiê ̣u này từ bus điều khiển hê ̣ thống để xác đi ̣nh chế đô ̣ CPU ghi dữ liê ̣u hoă ̣c từ điều khiển tới 8251.

* RD: (Read) Là mô ̣t ngõ vào tác đô ̣ng mức thấp nhâ ̣n tín hiê ̣u từ bus điều khiển hê ̣ thống xác đi ̣nh chế đô ̣ CPU đo ̣c dữ liê ̣u hoă ̣c từ tra ̣ng thái từ 8251.

*C/D: (Control/Data) Ngõ vào này tác đô ̣ng cùng với các tín hiê ̣u RD hoă ̣c WR để xác đi ̣nh tín hiê ̣u ghi tới 8251 là dữ liê ̣u hay từ điều khiển, và dữ liê ̣u đo ̣c từ 8251 là dữ liê ̣u hay từ tra ̣ng thái.

* CS: (Chip Select) Là ngõ vào tác đô ̣ng mức thấp cho ̣n ma ̣ch của 8251. Viê ̣c đo ̣c ghi 8251 chỉ thực hiê ̣n được khi đã cho ̣n ma ̣ch (CS=0). Khi CS=1 bus dữ liê ̣u sẽ treo lên tra ̣ng thái trở kháng cao và các tín hiê ̣u RD, WR sẽ không có tác du ̣ng. Các chế đô ̣ hoa ̣t đô ̣ng của 8251 tương ứng với các tín hiê ̣u điều khiển được mô tả trong bảng sau:

CS C/D WR RD Chế đô ̣ 0 0 0 0 0 1 0 0 1 1 x x 1 0 1 0 1 x 0 1 0 1 1 x

CPU ghi dữ liê ̣u tới 8251 CPU đo ̣c dữ liê ̣u từ 8251 CPU ghi các từ lê ̣nh tới 8251 CPU đo ̣c từ tra ̣ng thái từ 8251 Data bus ở trở kháng cao

Không cho ̣n ma ̣ch data bus ở trở kháng cao

Các tín hiê ̣u điều khiển Modem.

8251 có mô ̣t loa ̣i các tín hiê ̣u ta ̣o ra từ bô ̣ điều khiển modem có thể giao tiếp mô ̣t cách đơn giản tới hầu hết các modem. Các tín hiê ̣u này ta ̣o ra nhằm mu ̣c đích giao tiếp với các modem nhưng cũng có thể sử du ̣ng các mu ̣c đích khác nếu cần thiết.

* DSR (Data Set Ready) Là mô ̣t ngõ vào nối tới DSR của modem. Khi ngõ vào này tác đô ̣ng bit tương ứng với nó trong thanh ghi tra ̣ng thái sẽ tác đô ̣ng, vì thế CPU có thể kiểm tra ngõ vào này bằng phép đo ̣c từ tra ̣ng thái. Ngõ vào này được sử du ̣ng để kiểm tra tra ̣ng thái của modem. Modem tác đô ̣ng tín hiê ̣u này bằng 0 là để thông báo tới CPU viê ̣c nó đã nối ghép hoàn chỉnh với đường điê ̣n thoa ̣i, và đang sẵn sàng cho viê ̣c truyền dữ liê ̣u. Các modem quay số tự đô ̣ng sẽ gửi tín hiê ̣u này tới CPU khi nó quay số thành công tới máy tính chủ.

*DTR (Data Terminal Ready) Là mô ̣t ngõ ra tác đô ̣ng mức thấp, nó có thể thiết lâ ̣p bằng mô ̣t bit tương ứng trong từ lê ̣nh lâ ̣p trình tới 8251. Tín hiê ̣u này đưa tới modem để điều khiển hoa ̣t đô ̣ng của modem. CPU sẽ tác đô ̣ng tín hiê ̣u này khi nó sẵn sàng truyền dữ liê ̣u với modem. Mô ̣t số modem sẽ không thể thông báo tra ̣ng thái đã nối ghép được

với đường điê ̣n thoa ̣i cho đến khi CPU tác đô ̣ng tín hiê ̣u này. Mô ̣t số modem không sử du ̣ng tín hiê ̣u này trong suốt quá trình truyền thông tin với hê ̣ thống chủ. Mô ̣t số modem có công tắc để chuyển chế đô ̣ sử du ̣ng hoă ̣c không sử du ̣ng tín hiê ̣u này.

* RTS (Request To Send) Là mô ̣t ngõ ra tác đô ̣ng mức thấp nhờ lâ ̣p trình bit thích hợp trong từ lê ̣nh lâ ̣p trình 8251. Tín hiê ̣u này được gửi tới modem để yêu cầu gửi dữ liê ̣u tới đường ra TxD. Tín hiê ̣u này sử du ̣ng kết hợp với CTS để điều khiển luồng dữ liê ̣u giữa CPU và modem. Trong chế đô ̣ đồng bô ̣ tín hiê ̣u này sử du ̣ng để điều khiển luồng tín hiê ̣u giữa các modem.

* CTS (Clear to Send) Là ngõ vào tác đô ̣ng mức thấp cho phép 8251 truyền chuỗi dữ liê ̣u nối tiếp khi bit TxEnable trong từ lê ̣nh bằng 1. Còn nếu TxEnable = 0 hoă ̣c CTS =1 trong khi đang truyền thì 8251 sẽ truyền xong hết tất cả các bit dữ liê ̣u hiê ̣n có và ghi lê ̣nh TxDisable trước khi ngưng. Tín hiê ̣u này từ modem gửi tới CPU để thông báo nó sẵn sàng nhâ ̣n dữ liê ̣u. Trong chế đô ̣ đồng bô ̣ tín hiê ̣u này sử du ̣ng điều khiển luồng thông tin giữa các modem.

Các tín hiê ̣u truyền dữ liê ̣u.

* TxD: (Transmit Data) Là ngõ ra sử du ̣ng để truyền dữ liê ̣u nối tiếp từ CPU ra ngoài thiết bi ̣ ngoa ̣i vi. Dữ liê ̣u song song ta ̣i bô ̣ đê ̣m truyền sẽ di ̣ch lần lượt ra ngõ này ta ̣i mỗi ca ̣nh lên của TxC.

* TxReady: (Transmitter Ready) Ngõ ra này sử du ̣ng thông báo cho CPU biết bô ̣ đê ̣m truyền đã sẵn sàng nhâ ̣n mô ̣t kí tự dữ liê ̣u. Tín hiê ̣u này có thể sử du ̣ng ngắt CPU để yêu cầu CPU truyền tới 8251 mô ̣t byte dữ liê ̣u mới. Tín hiê ̣u này sẽ bi ̣ che bởi bit TxEnable, CPU cũng có thể kiểm tra tra ̣ng thái ngõ ra này bởi phần mềm bằng lê ̣nh đo ̣c từ tra ̣ng thái của 8251 và kiểm tra bit tương ứng với nó. Ngõ ra này sẽ tự đô ̣ng reset ở ca ̣nh xuống ở ca ̣nh xuống của tín hiê ̣u WR (tức là khi mô ̣t kí tự dữ liê ̣u được na ̣p tới từ CPU).

* TxEmpty: ( Transmitter Empty ) khi 8251 không có kí tự để gửi ngõ ra TxEmpty sẽ tác đô ̣ng mức cao. Nó sẽ được reset khi nhâ ̣n được mô ̣t kí tự từ CPU (nếu bô ̣ đê ̣m truyền được cho phép). Ngoài ra khi bô ̣ truyền không được cho phép ngõ ra này cũng ở mức cao. TxEmpty có thể sử du ̣ng để thông báo kết thúc mô ̣t chế đô ̣ truyền, khi đó CPU sẽ hiểu cần phải chuyển đường truyền trong chế đô ̣ truyền nhâ ̣n bán công.

Trong chế đô ̣ đồng bô ̣ mức cao ở ngõ ra này thông báo không có kí tự dữ liê ̣u nào được na ̣p tới, các kí tự đồng bô ̣ bắt đầu được di ̣ch ra mô ̣t cách tự đô ̣ng. Trong khi các bit của kí tự đồng bô ̣ được di ̣ch ra ngoài thì ngõ ra TxEmpty vẫn giữ ở mức cao.

* TxC: (Transmitter Clock) là ngõ vào cung cấp xung nhi ̣p điều khiển tốc đô ̣ truyền các kí tự. Trong chế đô ̣ đồng bô ̣ tốc đô ̣ baud là 1x tức là bằng tần số xung TxC. Trong chế đô ̣ truyền câ ̣n đồng bô ̣ tốc đô ̣ baud truyền sẽ bằng 1, 1/16, 1/64 lần tốc đô ̣ TxC tùy thuô ̣c vào tốc đô ̣ đã lâ ̣p trình là 1x, 16x hay 64x.

Ví du ̣: nếu tốc đô ̣ baud là 110 baud TxC = 110Hz trong chế đô ̣ 1x. TxC = 1,72KHz trong chế đô ̣ 16x TxC = 7.04 KHz trong chế đô ̣ 64x Ca ̣nh lên của TxC sẽ di ̣ch các bit ra khỏi 8251.

Các tín hiê ̣u cho viê ̣c nhâ ̣n dữ liê ̣u.

* RxD: (Receiver Data) Là ngõ vào sử du ̣ng cho viê ̣c nhâ ̣n dữ liê ̣u nối tiếp từ bên ngoài vào 8251. Các bit của dữ liê ̣u nối tiếp sẽ lần lượt được di ̣ch vào bô ̣ đê ̣m nhâ ̣n ở mỗi ca ̣nh lên của RxC.

* RxRDY: (Receiver Ready) Là ngõ ra tác đô ̣ng cao chỉ thi ̣ 8251 có mô ̣t dữ liê ̣u sẵn sàng để CPU đo ̣c. RxRDY có thể sử du ̣ng là tín hiê ̣u yêu cầu ngắt CPU, để CPU dừng công viê ̣c hiê ̣n ta ̣i đo ̣c dữ liê ̣u từ bô ̣ đê ̣m nhâ ̣n của 8251. CPU cũng có thể kiểm tra tra ̣ng thái của ngõ vào này bằng cách đo ̣c từ tra ̣ng thái của 8251.

Khi bit RxEnable trong từ lê ̣nh không tác đô ̣ng thì RxRDY sẽ bi ̣ giữ ở tra ̣ng thái reset, ở chế đô ̣ câ ̣n đồng bô ̣ RxRDY chỉ thiết lâ ̣p khi bô ̣ nhâ ̣n được lâ ̣p trình cho phép hoa ̣t đô ̣ng, Start bit đã được gửi cùng với mô ̣t kí tự đã được nhâ ̣n xong chuyển sang da ̣ng song song trong bô ̣ đê ̣m. Trong chế đô ̣ đồng bô ̣ RxRDY cũng chỉ thiết lâ ̣p khi bô ̣ nhâ ̣n được cho phép hoa ̣t đô ̣ng, và kí tự dữ liê ̣u đã được chuyển vào hoàn chỉnh trong thanh ghi dữ liê ̣u. Khi có mô ̣t kí tự mới truyền tới, mà kí tự cũ chưa được đo ̣c ra khỏi bô ̣ đê ̣m sẽ xảy ra lỗi overrun, bit báo lỗi trong thanh ghi tra ̣ng thái được thiết lâ ̣p và kí tự cũ sẽ bi ̣ mất. Nếu dữ liê ̣u bắt đầu đo ̣c trong khi xảy ra viê ̣c truyền dữ liê ̣u bên trong thì lỗi overrun cũng xảy ra tương tự như trên.

* RxC: (Receiver Clock) Ngõ vào nhâ ̣n xung nhi ̣p điều khiển tốc đô ̣ nhâ ̣n dữ liê ̣u nối tiếp. Trong chế đô ̣ đồng bô ̣ tốc đô ̣ baud là 1x, tức là bằng với tần số của RxC. Trong chế đô ̣ câ ̣n đồng bô ̣ tốc đô ̣ baud cũng tùy thuô ̣c vào chế đô ̣ cho ̣n trong khi khởi đô ̣ng 8251 là 1x, 16x hay 64x như khi truyền.

Ví du ̣ với tốc đô ̣ nhâ ̣n là 300 baud thì:

- trong chế đô ̣ 1x tần số RxC phải là 300 Hz - trong chế đô ̣ 16x tần số RxC phải là 4800 Hz - trong chế đô ̣ 64x tần số RxC phải là 19.2 kHz Dữ liê ̣u được lấy mẫu vào ở mỗi ca ̣nh lên của RxC. (adsbygoogle = window.adsbygoogle || []).push({});

Chú ý trong hầu hết các hê ̣ thống sử du ̣ng 8251 để truyền dữ liê ̣u nối tiếp, thì 8251 sẽ xử lý cả hai hướng truyền và nhâ ̣n trên mô ̣t đường truyền bên ngoài (ví du ̣ như đường dây điê ̣n thoa ̣i). Do đó tốc đô ̣ truyền và nhâ ̣n dữ liê ̣u thường là bằng nhau. TxC và RxC sẽ được lấy chung từ mô ̣t bô ̣ ta ̣o xung nhi ̣p.

* SYNDET: (SYNC Detect/ BRKDET Break Detect) Tín hiê ̣u này được sử du ̣ng cho chức năng phát hiê ̣n đồng bô ̣ SYNDET, và nó có thể sử du ̣ng như mô ̣t ngõ vào, hoă ̣c mô ̣t ngõ ra tùy thuô ̣c vào từ điều khiển lâ ̣p trình cho 8251. Nó sẽ bi ̣ reset về mức thấp khi có tín hiê ̣u Reset chip. Trong chế đô ̣ đồng bô ̣ trong tín hiê ̣u này là mô ̣t ngõ ra, SYNDET sẽ tác đô ̣ng mức cao khi 8251 xác đi ̣nh được kí tự đồng bô ̣ trong chế đô ̣ nhâ ̣n. Nếu 8251 đươ ̣c lâ ̣p trình ở chế đô ̣ có hai kí tự đồng bô ̣ (bi-sync) thì SYNDET sẽ tác đô ̣ng ta ̣i thời điểm giữa của bit cuối cùng kí tự đồng bô ̣ thứ hai. SYNDET sẽ tự đô ̣ng Reset khi đo ̣c từ tra ̣ng thái.

Trong chế đô ̣ đồng bô ̣ ngoài tín hiê ̣u này là mô ̣t ngõ vào, ngõ vào này tác đô ̣ng mức cao để thông báo rằng 8251 sẽ bắt đầu nhâ ̣n dữ liê ̣u vào ở ca ̣nh lên của chu kỳ RxC kế tiếp. Khi chế đô ̣ đồng bô ̣ ngoài được lâ ̣p trình thì chế đô ̣ đồng bô ̣ trong sẽ không được cho phép.

Trong chế đô ̣ truyền câ ̣n đồng bô ̣ tín hiê ̣u này mang chức năng BRKDET, nó sẽ tác đô ̣ng mức cao bất cứ khi nào bô ̣ nhâ ̣n phát hiê ̣n ra hai bit thấp liên tiếp sau stop bit (Trong chế đô ̣ câ ̣n đồng bô ̣ khung dữ liê ̣u truyền bao gồm : Start bit, các bit dữ liê ̣u, bit chẵn lẻ và Stop bit). Phát hiê ̣n ngắt cũng có thể đo ̣c trong từ tra ̣ng thái của 8251. Tín hiê ̣u này sẽ bi ̣ xóa khi reset chip, hoă ̣c khi ngõ vào RxD trở về mức cao.

3. Giao tiếp giữa 8251 và bus hê ̣ thống.

Hình 5.23 mô tả viê ̣c nối ghép giữa 8251 và bus hê ̣ thống của 8088, các giao tiếp khác cũng được thực hiê ̣n mô ̣t cách tương tự.

Đi ̣a chỉ mà CPU cung cấp để truy câ ̣p tới 8251 sẽ bao gồm hai phần: các bit đi ̣a chỉ cao sẽ đưa tới bô ̣ giải mã vào ra để cung cấp tín hiê ̣u cho ̣n ma ̣ch cho 8251. Đi ̣a chỉ thấp A0 sử du ̣ng cho viê ̣c xác đi ̣nh viê ̣c truyền dữ liê ̣u giữa 8251 và CPU là dữ liê ̣u thông thường hay các từ điều khiển hay tra ̣ng thái.

Bus dữ liê ̣u sử du ̣ng cho viê ̣c truyền dữ liê ̣u, ghi các từ điều khiển và đo ̣c từ tra ̣ng thái của 8251.

Các tín hiê ̣u điều khiển còn la ̣i được lấy từ bus hê ̣ thống phu ̣c vu ̣ cho các nhiê ̣m vu ̣ khác nhau như đã mô tả trong phần trên.

Một phần của tài liệu Tài liệu Chương V: Ghép nối CPU với bộ nhớ và các thiết bị ngoại vi doc (Trang 26 - 29)