stringtranslate.com

16550 UART

Экзар 16550

16550 UART ( универсальный асинхронный приёмопередатчик ) — это интегральная схема , разработанная для реализации интерфейса последовательной связи . Исправленная версия -A была выпущена в 1987 году компанией National Semiconductor . [1] Она часто используется для реализации последовательного порта для персональных компьютеров, совместимых с IBM PC , где она часто подключается к интерфейсу RS-232 для модемов, последовательных мышей , принтеров и подобных периферийных устройств. Это была первая последовательная микросхема, использованная в линейке IBM PS/2 , представленной в 1987 году. [2] [3] [4]

Деталь изначально была произведена National Semiconductor. Аналогичные по номерам устройства с разным уровнем совместимости с оригинальной деталью National Semiconductor производятся другими производителями. Функция UART, совместимая по регистру с 16550, обычно является особенностью многофункциональных карт ввода-вывода для IBM PC-совместимых компьютеров и может быть интегрирована в материнскую плату других совместимых компьютеров.

Замена установленного на заводе UART 8250 была обычным обновлением для владельцев IBM PC, XT и совместимых компьютеров, когда стали доступны высокоскоростные модемы. Выше 9600 бод владельцы обнаружили, что последовательные порты компьютеров не могли обрабатывать непрерывный поток данных без потери символов. Замена 8250 (имеющего только однобайтовый буфер полученных данных) на 16550 — и иногда исправление или настройка системного программного обеспечения для учета функции FIFO нового чипа — повысила надежность и стабильность высокоскоростных соединений.

Функции

Основные характеристики 16550 включают в себя:

Как аппаратное обеспечение компьютера , так и программный интерфейс 16550 обратно совместимы с более ранними 8250 UART и 16450 UART . Текущая версия (с 1995 года) от Texas Instruments , купившей National Semiconductor, называется 16550D. [2]

16550A и более новые модели совместимы по выводам с 16450, но диагностическая программа Microsoft ( MSD ), поставляемая с MS-DOS 6.x, Windows 9x, Windows Me и Windows 2000, часто определяет чип 16450 как чип 8250. [2]

Буфер FIFO

National Semiconductor NS16550AFN

Одним из недостатков более ранних UART 8250 и 16450 было то, что прерывания генерировались для каждого полученного байта. Это приводило к высокой частоте прерываний по мере увеличения скорости передачи. Что еще более важно, при наличии только 1-байтового буфера существует реальный риск того, что полученный байт будет перезаписан, если возникнут задержки обслуживания прерываний. Чтобы преодолеть эти недостатки, UART серии 16550 включали 16-байтовый буфер FIFO с программируемым триггером прерывания на 1, 4, 8 или 14 байтов.

Модель 16550 также оснащена буфером FIFO передачи, хотя эта функция менее критична, поскольку задержки в обслуживании прерываний приведут лишь к неоптимальной скорости передачи, а не к фактической потере данных.

Версия 16550A(F) была обязательной для использования модемов со скоростью передачи данных 9600 бод. Выпадения происходили с блоками 14,4 кбит/с ( V.32bis и выше), и поскольку с V.42 было добавлено сжатие , получение большего количества данных за прерывание стало критически важным, поскольку скорость передачи данных продолжала расти.

Проблема с буфером

Оригинальный 16550 имел ошибку, которая не позволяла использовать этот FIFO. Позднее National Semiconductor выпустила 16550A, исправившую эту проблему. Однако не все производители приняли эту номенклатуру, продолжая называть фиксированный чип 16550. [5]

Согласно другому источнику, проблема с FIFO была исправлена ​​только в модели 16550AF, а модель A по-прежнему глючит. (Согласно этому источнику, модели C и CF тоже в порядке.) В модели 16550AFN добавлены передачи DMA. [6]

Смотрите также

Ссылки

  1. ^ Майкл, Мартин (1987). "Сравнение серий UART INS8250, NS16450 и NS16550A". Microcommunication Elements Databook . AN-493. Санта-Клара, Калифорния, США: National Semiconductor . стр. 4. Получено 2020-02-07 . Основное различие между этими двумя частями заключается в работе FIFO. NS16550 иногда передает дополнительные символы, когда ЦП считывает RX FIFO. Из-за асинхронной природы этого сбоя нет обходного пути, и NS16550 НЕ следует использовать в режиме FIFO. NS16550A не имеет проблем при работе в режиме FIFO и должен использоваться во всех новых разработках.
  2. ^ abc Модернизация и ремонт ПК. Que Publishing . 2003. стр. 965. ISBN 9780789729743. Получено 16.04.2016 .
  3. ^ Ван Гиллуве, Фрэнк (1997). Недокументированный ПК (2-е изд.). Эддисон Уэсли . ISBN 0-20147950-8.
  4. ^ Пол, Маттиас Р. (2002-04-06). "Re: [fd-dev] ОБЪЯВЛЕНИЕ: CuteMouse 2.0 alpha 1". freedos-dev . Архивировано из оригинала 2020-02-07 . Получено 2020-02-07 .(Примечание. Содержит различную информацию об ошибках чипа 8250.)
  5. ^ "Что такое UART и как они влияют на производительность?". Архивировано из оригинала 2020-02-07 . Получено 2020-02-07 .
  6. ^ Nickalls, Richard WD; Ramasubramanian, R. (1995). Интерфейс IBM-PC с медицинским оборудованием: искусство последовательной связи . Cambridge University Press . стр. 25–26. ISBN 978-0-521-46280-8.

Дальнейшее чтение

Внешние ссылки