Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

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

Особенности [ править ]

Основные характеристики 16550:

  • Возможность преобразования данных из последовательного в параллельный и из параллельного в последовательный с помощью регистров сдвига .
  • Встроенный генератор битрейта ( скорости передачи) для управления скоростью передачи и приема данных.
  • Линии рукопожатия для управления внешним модемом , управляемые программно.
  • Прерывание функции к хост - микропроцессора .
  • Встроенный буфер FIFO для входящих и исходящих данных; это дает хост-системе больше времени для ответа на прерывание, генерируемое UART, без потери данных.

И компьютерное оборудование, и программный интерфейс 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]

16550 FIFO [ править ]

NS16550AFN

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

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

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

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

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

См. Также [ править ]

  • Универсальный асинхронный приемник / передатчик (UART)

Ссылки [ править ]

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

Дальнейшее чтение [ править ]

  • «PC16550D - Универсальный асинхронный приемник / передатчик с FIFO» . Редакция C. Texas Instruments / National Semiconductor . Май 2015 г. [июнь 1995 г.]. SNLS378C. Архивировано из оригинала на 2018-09-23 . Проверено 23 сентября 2018 . [1]
  • Блис, Ламмерт. «Информация о последовательном UART» . Архивировано из оригинала на 2020-02-07 . Проверено 23 сентября 2018 .

Внешние ссылки [ править ]

  • Последовательное программирование / Программирование 8250 UART