Ðây là UART được sử dụng trong các máy tính IBM PC và các máy tương thích. 8250 là vi mạch đầu tiên của họ UART này.
Cơ bản về 8250
Vi mạch 8250 đòi hỏi ba giao tiếp cơ bản: BUS I/O của hệ thống, xung nhịp, giao tiếp với RS - 232. 8250 được nối với 8 bits thấp của BUS dữ liệu của máy vi tính (D7 - D0), đây chính là đường dữ liệu đi vào và đi ra khỏi 8250. Các thao tác đọc và ghi được phân biệt là nhờ tín hiệu ở hai chân DISTR và DOSSTR.
Hình 6.3 Mô tả cấu hình cơ bản của 8250 với ba phần giao tiếp chính là: giao tiếp với bus xuất /nhập IO của hệ thống , mạch định thời và giao tiếp RS-232.
Giao tiếp bus:
Đệm dữ liệu hai chiều 3 trạng thái (D0 - D7) : là cửa ngõ trao đổi dữ liệu song song , các từ điều khiển , và từ trạng thái với CPU.
DISTR,DISRT (Data Input Strobe ): tín hiệu hướng vào chọn đọc thông tin từ 8250, sử dụng một trong hai đường.
71 8250, dùng một trong hai đường.
A0, A1,A2 : tín hiệu nhập, là địa chỉ dùng để chọn các thanh ghi bên trong 8250. CS0, CS1, CS2 : cho phép 8250 hoạt động khi CS0=0, CS1= 1và CS2=0.
ADS (Address Strobe ) khi ở mức logic 0 cho phép thiết đặt địa chỉ A0, A1 ,A2 và các CS, cho các tín hiệu này ổn định trước khi sử dụng.
MR (Master Reset) ): khi ở mức logic 1 đưa 8250 về trạng thái ban đầu.
INTRPT : là ngõ xuất yêu cầu ngắt quãng về CPU. Tín hiệu này lên mức logic 1
Khi xảy ra một trong bốn loại ngắt quãng mà 8250 có thể phát ra: có cờ lỗi ở mức tích cực do số liệu nhị phân bị sai; nhận số liệu tốt; bộ đệm truyền không còn số liệu để truyền; có thay đổi trạng thái trên các đường tín hiệu điều khiển modem.
CSOUT (Chip Select Output) : khi ở mức logic 1 báo cho biết 8250 đã được chọn. DDIS (Driver Disable ) :ở mức logic 0 khi CPU đang đọc 8250.
Hình 6.3: Cấu hình cơ bản của 8250 Xung đồng hồ và sự định thời gian:
Tần số xung đồng hồ của 8250 có thể được lấy từ một tín hiệu bên ngoài hoặc do một mạch dao động bên trong tạo ra nhờ nối với thạch anh.Các tần số này xác định ở chân XTAL1, sau đó qua một mạch chia tần ( có thể lập trình được ) để tạo ra một tần số tín hiệu đồng hồ chủ. Tần số này cao hơn tốc độ baud chọn 16 lần. Tín hiệu đồng hồ chủ được dùng để điều khiển
72
mạch phát bên trong 8250 sao cho mạch phát và mạch thu có thể làm việc theo những tần số khác nhau.
Tần số tín hiệu đồng hồ chủ này được đưa ra ở chân BAUDOT, nếu chọn tần số đồng hồ đồng hồ khác cho mạch thu thì đưa vào các chân RCLK, còn nếu dùng cùng tầng số thì nối hai chân này lại với nhau. Cũng có thể xử lý tại tần số đồng hồ chủ để tạo ra tần số xung đồng hồ cho mạch thu.
Cấu trúc bên trong và hoạt động của 8250:
Ba đường địa chỉ A2 - A0 được sử dụng để lựa chọn các thanh ghi nội của 8250. Việc truyền một byte dữ liệu vì thế được thực hiện qua ba bước như sau:
- CPU đưa 8 bits dữ liệu cần truyền xuống BUS dữ liệu (D7 - D0) - Ðịa chỉ thanh ghi đệm truyền được đưa vào thông qua A2 - A0
- Hạ chân DOSTR xuống để byte dữ liệu chuyển vào bộ đệm truyền của 8250. 8250 sẽ chuyển byte dữ liệu từ bộ đệm truyền vào thanh ghi dịch truyền khi thanh ghi này rỗng. Các bước để nhận một byte dữ liệu cũng tương tự như việc truyền một byte dữ liệu. Với giả thiết là byte dữ liệu đã được nhận và đang nằm đợi ở thanh ghi đệm nhận của 8250 thì các bước để nhận được thực hiện như sau:
- Ðịa chỉ của thanh ghi đệm nhận được đưa vào thông qua A2-A0
- Thao tác đọc được thực hiện bằng việc đặt mức logic "0" vào chân DISTR của 8250. - Byte dữ liệu được chuyển từ bộ đệm nhận ra BUS dữ liệu và CPU sẽ nhận nó
Cấu tạo bên trong của 8250
Các hoạt động của 8250 có thể được điều khiển bằng cách đọc và ghi vào 10 thanh ghi nội của nó. Ngoại trừ thanh ghi nhận diện ngắt (Interupt Identify register) là thanh ghi chỉ đọc, 9 thanh ghi còn lại đều có thể đọc và ghi
- Cách đánh địa chỉ cho các thanh ghi nội của 8250
8250 có 10 thanh ghi nội nhưng chỉ có ba đường dây địa chỉ thì làm thế nào có thể chọn được cả 10 thanh ghi? Ðể giải quyết điều này, thanh ghi đệm truyền và thanh ghi đêm nhận được thiết kế có cùng chung một địa chỉ, việc truyền hay nhận được phân biệt bằng các thao tác đọc hay ghi vào địa chỉ này, như vậy là đã tiết kiệm được một thanh ghi. Mặt khác khi bit 7 của thanh ghi dạng dữ liệu (Data Format register) là 1 thì thành ghi thứ nhất và thứ hai của 8250 trở thành byte thấp và byte cao của số chia tốc độ (Baud Rate Divisor Latch). Bit 7 của thanh ghi dạng dữ liệu được gọi là DLAB (Divisor Latch Access Bit).
73