8250 UART ( универсальный асинхронный приемник-передатчик ) — это интегральная схема , разработанная для реализации интерфейса последовательной связи . Первоначально эта деталь была произведена корпорацией National Semiconductor . Она широко использовалась в ПК и связанном с ними оборудовании, таком как принтеры или модемы . 8250 включала в себя встроенный программируемый генератор скорости передачи данных , позволяющий использовать как общие, так и специальные скорости передачи данных, которые можно было точно получить из произвольной опорной частоты кварцевого генератора .
Обозначения чипов содержат суффиксные буквы для более поздних версий той же серии чипов. Например, за исходным 8250 вскоре последовали версии 8250A и 8250B, в которых были исправлены некоторые ошибки . [1] [2] В частности, исходный 8250 мог повторять передачу символа, если линия CTS была подтверждена асинхронно во время первой попытки передачи. [1] [2]
Из-за высокого спроса другие производители вскоре начали предлагать совместимые чипы. Western Digital предложила чип WD8250 под названиями Async Communications Interface Adapter (ACIA) и Async Communications Element (ACE).
UART 16450(A), обычно используемый в компьютерах серии IBM PC/AT , является усовершенствованием 8250, позволяя использовать более высокие скорости последовательной линии.
С появлением многозадачных операционных систем на ПК, таких как OS/2 , Windows NT или различные разновидности UNIX , короткое время, доступное для обслуживания запросов на прерывание посимвольно, стало проблемой, поэтому последовательные порты IBM PS/2 представили UART 16550(A) , которые имели встроенную 16-байтовую FIFO или буферную память для сбора входящих символов.
В более поздних моделях добавлялись более крупные объемы памяти, поддерживались более высокие скорости, объединялись несколько портов на одном чипе и, наконец, они стали частью ныне распространенных схем Super I/O, объединяющих большую часть логики ввода-вывода на материнской плате ПК .
Линейный интерфейс состоит из: SOUT, SIN, /RTS, /DTR, DSR, /DCD, /CTS, /RI [3]
Интерфейс часов: XIN, XOUT, /BAUDOUT, RCLK [3]
Интерфейс компьютера: D0..D7, /RD, /WR, INTRPT, MR, A0, A1, A2, ADS, WR, RD, /CS2, CS1, CS0 [3]
Линия прерывания (когда бит IER ее активирует) будет переходить в состояние высокого уровня, когда произойдет одно из следующих событий: состояние линии приемника, доступны полученные данные, пустой регистр хранения передатчика и состояние MODEM. Сигнал прерывания сбрасывается на низкий уровень при соответствующей службе прерывания или операции сброса (через MR). [3]
8250 UART использовался в нескольких 8-битных компьютерах по крайней мере с 1978 года. IBM использовала 8250 UART в IBM PC (1981). Позднее были выпущены версии 8250A и 8250B , а 16450 был представлен в IBM Personal Computer/AT (1984).
Главным отличием между версиями была максимальная скорость связи. [4]
IBM отказалась использовать Intel 8251 в адаптере последовательного порта, поскольку чип Intel не имел внутреннего генератора скорости передачи данных, а адаптер должен был быть более сложным и дорогим. Позже IBM реализовала Synchronous Communication Adapter, но он не пользовался популярностью.