Универсальный асинхронный приемопередатчик - Universal asynchronous receiver-transmitter

Блок-схема для UART

А универсальный асинхронный приемопередатчик (UART /ˈjuːɑːrт/) это компьютерное железо устройство для асинхронная последовательная связь в котором можно настроить формат данных и скорость передачи. Уровни и методы электрической сигнализации обрабатываются схемой драйвера, внешней по отношению к UART. UART обычно индивидуальный (или часть) Интегральная схема (IC) используется для последовательная связь через компьютер или периферийное устройство Серийный порт. Одно или несколько периферийных устройств UART обычно интегрируются в микроконтроллер чипсы. Родственное устройство, универсальный синхронный и асинхронный приемопередатчик (USART) также поддерживает синхронную работу.

Передача и получение последовательных данных

Универсальный асинхронный приемо-передатчик (UART) принимает байты данных и последовательно передает отдельные биты.[1] В пункте назначения второй UART повторно собирает биты в полные байты. Каждый UART содержит регистр сдвига, который является основным методом преобразования последовательной формы в параллельную. Последовательная передача цифровой информации (битов) по одному проводу или другой среде менее затратна, чем параллельная передача по нескольким проводам.

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

Связь может быть симплекс (только в одном направлении, при этом принимающее устройство не может отправлять информацию обратно на передающее устройство), полный дуплекс (оба устройства отправляют и получают одновременно) или полудуплекс (устройства по очереди передают и принимают).

Фрейминг данных

Временная диаграмма UART.svg

Состояние ожидания, отсутствие данных - высокое напряжение или питание. Это историческое наследие телеграфии, когда линия держится высоко, чтобы показать, что линия и передатчик не повреждены. Каждый символ оформлен как младший логический стартовый бит, биты данных, возможно бит четности и один или несколько стоповых бит. В большинстве приложений младший бит данных (тот, что слева на этой диаграмме) передается первым, но есть исключения (например, IBM 2741 печатный терминал).

Стартовый бит сигнализирует получателю о приближении нового персонажа. Следующие пять-девять битов, в зависимости от используемого кодового набора, представляют символ. Если используется бит четности, он будет помещен после всех битов данных. Следующие один или два бита всегда находятся в отметка (высокий логический уровень, то есть '1') и называется стоповым битом (ами). Они сигнализируют получателю, что персонаж завершен. Поскольку стартовый бит имеет низкий логический уровень (0), а стоповый бит имеет высокий логический уровень (1), всегда существует как минимум два гарантированных изменения сигнала между символами.

Если линия удерживается в состоянии низкого логического уровня дольше, чем время символа, это условие разрыва который может быть обнаружен UART.

Получатель

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

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

Стандартной функцией UART является сохранение самого последнего символа при получении следующего. Эта «двойная буферизация» дает принимающему компьютеру все время передачи символа для извлечения принятого символа. Многие UART имеют небольшую систему «первым пришел - первым вышел» (ФИФО ) буферная память между регистром сдвига приемника и интерфейсом хост-системы. Это дает хост-процессору еще больше времени для обработки прерывания от UART и предотвращает потерю полученных данных на высоких скоростях.

Передатчик

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

заявка

Передающие и принимающие UART должны быть настроены на одинаковую скорость передачи битов, длину символа, четность и стоповые биты для правильной работы. Принимающий UART может обнаружить некоторые несовпадающие настройки и установить бит флага «ошибка кадрирования» для хост-системы; в исключительных случаях принимающий UART будет создавать беспорядочный поток искаженных символов и передавать их в хост-систему.

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

Некоторые очень недорогие домашние компьютеры или встроенные системы обойтись без UART и использовать ЦПУ для выборки состояния входного порта или непосредственного управления выходным портом для передачи данных. Хотя микросхема UART очень нагружает ЦП (так как синхронизация ЦП имеет решающее значение), ее можно не устанавливать, что экономит деньги и место. Этот метод известен как бит-стук.

История

Некоторые ранние телеграф схемы использовали импульсы переменной длины (как в азбука Морзе ) и вращающиеся часовые механизмы для передачи буквенных символов. Первыми устройствами последовательной связи (с импульсами фиксированной длины) были вращающиеся механические переключатели (коммутаторы). Различный коды символов использование 5, 6, 7 или 8 бит данных стало обычным явлением в телетайпах, а затем и в компьютерной периферии. Телетайп стал отличным универсальным устройством ввода-вывода для небольшого компьютера.

Гордон Белл из DEC разработал первый UART, занимающий всю печатную плату, называемую линейный блок, для PDP серия компьютеров, начиная с PDP-1.[2][3]По словам Белла, основным нововведением UART было использование отбор проб для преобразования сигнала в цифровую область, обеспечивая более надежную синхронизацию, чем предыдущие схемы, в которых использовались аналоговые устройства синхронизации с ручной настройкой потенциометры.[4] Чтобы снизить стоимость проводки, объединительной платы и других компонентов, эти компьютеры также были первыми. управление потоком с использованием символов XON и XOFF а не аппаратные провода.

Компания DEC объединила конструкцию линейного блока в ранний однокристальный UART для собственного использования.[2] Western Digital развил это в первый широко доступный однокристальный UART, WD1402A, примерно в 1971 году. Это был ранний пример интегральная схема среднего размера. Еще одним популярным чипом был SCN2651 от Печатка 2650 семья.

Примером UART начала 1980-х годов был National Semiconductor 8250 используется в оригинальный IBM PC Карта адаптера асинхронной связи.[5] В 1990-х годах были разработаны новые UART со встроенными буферами. Это позволило повысить скорость передачи без потери данных и без необходимости частого внимания со стороны компьютера. Например, популярная компания National Semiconductor 16550 имеет 16-байтовый ФИФО, и породил множество вариантов, включая 16C550, 16C650, 16C750 и 16C850.

В зависимости от производителя для обозначения устройств, выполняющих функции UART, используются разные термины. Intel назвал их 8251 устройство "Программируемый интерфейс связи". Технология MOS 6551 был известен под названием «Адаптер интерфейса асинхронной связи» (ACIA). Термин «интерфейс последовательной связи» (SCI) впервые был использован в Motorola около 1975 года для обозначения их устройства асинхронного последовательного интерфейса start-stop, которое другие называли UART. Зилог произвел ряд Контроллеры последовательной связи или SCC.

Начиная с 2000-х годов, большинство IBM PC совместимый компьютеры удалили свои внешние RS-232 COM порты и использовал USB порты, обеспечивающие превосходную пропускную способность. Для пользователей, которым все еще нужны последовательные порты RS-232, внешние Мосты USB-UART в настоящее время широко используются. Они объединяют в себе аппаратные кабели и микросхему для преобразования USB и UART. FTDI является одним из поставщиков этих микросхем.[6] Обратите внимание, что в операционной системе могут не быть установлены драйверы для чипа по умолчанию (например, Windows и MacOS не имеют драйверов для CH340 и Silicon Labs 210x), что препятствует идентификации USB-устройства. Хотя порты RS-232 больше не доступны пользователям за пределами большинства компьютеров, многие внутренние процессоры и микропроцессоры имеют встроенные UART в свои микросхемы, чтобы дать разработчикам оборудования возможность взаимодействовать с другими микросхемами / устройствами, которые используют RS-232 в качестве интерфейса по умолчанию.

Структура

UART обычно содержит следующие компоненты:

  • тактовый генератор, обычно кратный битовой скорости, чтобы обеспечить выборку в середине битового периода
  • ввод и вывод регистры сдвига
  • управление передачей / приемом
  • логика управления чтением / записью
  • буферы передачи / приема (необязательно)
  • буфер системной шины данных (опционально)
  • Первым прибыл, первым обслужен (ФИФО ) буферная память (необязательно)
  • Сигналы, необходимые для стороннего контроллера DMA (необязательно)
  • Интегрированный контроллер DMA для управления шиной (опционально)

Особые условия трансивера

Ошибка переполнения

«Ошибка переполнения» возникает, когда получатель не может обработать только что поступивший символ до того, как появится следующий. Различные устройства имеют разное количество буферного пространства для хранения полученных символов. Контроллер CPU или DMA должен обслуживать UART, чтобы удалить символы из входного буфера. Если ЦП или контроллер DMA не обслуживает UART достаточно быстро и буфер заполняется, возникает ошибка переполнения и входящие символы будут потеряны.

Ошибка недогрузки

«Ошибка опустошения» возникает, когда передатчик UART завершил отправку символа и буфер передачи пуст. В асинхронных режимах это рассматривается как указание на то, что не осталось данных для передачи, а не как ошибка, поскольку могут быть добавлены дополнительные стоповые биты. Эта индикация ошибки обычно встречается в USART, поскольку в синхронных системах недоработка более серьезна.

Ошибка кадрирования

UART обнаружит ошибка кадрирования когда он не видит «стоповый» бит в ожидаемое время «стопового» бита. Поскольку «начальный» бит используется для идентификации начала входящего символа, его синхронизация является ссылкой для остальных битов. Если линия данных не находится в ожидаемом состоянии (высокий), когда ожидается «стоп» бит (в соответствии с количеством битов данных и четности, для которых установлен UART), UART будет сигнализировать об ошибке кадрирования. Состояние "разрыва" в строке также сигнализируется как ошибка кадрирования.

Ошибка четности

А ошибка четности происходит, когда паритет количества единичных битов не согласуется с заданным битом четности. Использование бита четности необязательно, поэтому эта ошибка возникает только в том случае, если проверка четности включена.

Условие разрыва

А условие разрыва происходит, когда вход приемника находится на уровне «пробела» (низкий логический уровень, т. е. «0») дольше некоторого периода времени, как правило, больше времени символа. Это не обязательно ошибка, но для получателя это выглядит как символ всех нулевых битов с ошибкой кадрирования. Термин «перерыв» происходит от токовая петля сигнализация, которая была традиционной сигнализацией, используемой для телетайпы. Состояние «разнесения» линии токовой петли обозначается отсутствием протекания тока, а очень длительный период отсутствия тока часто вызван обрывом или другим повреждением линии.

Некоторое оборудование намеренно передает «космический» уровень дольше персонажа в качестве сигнала внимания. Когда скорости передачи сигналов не совпадают, никакие значащие символы не могут быть отправлены, но длинный «прерывистый» сигнал может быть полезным способом привлечь внимание несоответствующего приемника к каким-либо действиям (например, самопроизвольному сбросу). Компьютерные системы могут использовать уровень длительного «перерыва» в качестве запроса на изменение скорости передачи сигналов, чтобы поддерживать доступ по телефонной линии с несколькими скоростями передачи сигналов. В DMX512 протокол использует условие прерывания, чтобы сигнализировать о начале нового пакета.

Модели UART

Двойной UART, или ДУАРТ, объединяет два UART в один чип. Точно так же четверной UART или КВАРТА, объединяет четыре UART в один пакет, например NXP 28L194. Восьмеричный UART или OCTART объединяет восемь UART в один пакет, например Exar XR16L788 или NXP SCC2698.

МодельОписание
WD1402AПервый однокристальный UART в свободной продаже. Представлен примерно в 1971 году. Совместимые чипы включают Fairchild TR1402A и General Instruments AY-5-1013.[7]
Экзар XR21V1410
Интерсил 6402
CDP 1854 (RCA, ныне Intersil)
Зилог Z8440Универсальный синхронный и асинхронный приемопередатчик. 2000 кбит / с. Асинхронный, Bisync, SDLC, HDLC, X.25. CRC. 4-байтовый буфер приема. 2-байтовый буфер TX. Предоставляет сигналы, необходимые третьей стороне DMA контроллер для выполнения передач DMA.[8]
Z8530 / Z85C30Этот универсальный синхронный и асинхронный приемопередатчик имеет 3-байтовый буфер приема и 1-байтовый буфер передачи. У него есть оборудование для ускорения обработки HDLC и SDLC. Версия CMOS (Z85C30) предоставляет сигналы, позволяющие стороннему контроллеру DMA выполнять передачи DMA. Он может выполнять асинхронную, синхронную связь на уровне байтов и синхронную связь на уровне битов.[9]
8250Устарело с 1-байтовыми буферами. Максимальная стандартная скорость последовательного порта этих UART составляет 9600 бит в секунду, если операционная система имеет 1 миллисекунду. задержка прерывания. 8250 UART были использованы в IBM PC 5150 и IBM PC / XT, а 16450 UART использовались в IBM PC / AT -серия компьютеров.
8251
Motorola 6850
6551
Rockwell 65C52
16450
82510Этот UART обеспечивает асинхронную работу со скоростью до 288 кбит / с с двумя независимыми четырехбайтовыми FIFO. Он производился Intel по крайней мере с 1993 по 1996 год, и у Innovastic Semiconductor есть лист данных на 2011 год для IA82510.
16550FIFO этого UART сломан, поэтому он не может безопасно работать быстрее, чем 16450 UART. В 16550A и более поздних версиях эта ошибка исправлена.
16550AЭтот UART имеет 16-байтовые буферы FIFO. Уровни срабатывания прерывания приема могут быть установлены на 1, 4, 8 или 14 символов. Его максимальная стандартная скорость последовательного порта, если операционная система имеет задержку прерывания в 1 миллисекунду, составляет 128 кбит / с. Системы с более низкой задержкой прерывания или с контроллерами DMA могут обрабатывать более высокие скорости передачи данных. Этот чип может предоставлять сигналы, которые необходимы, чтобы позволить контроллеру DMA выполнять передачи DMA к и от UART, если режим DMA, вводимый этим UART, включен.[10] Он был представлен компанией National Semiconductor, которая была продана компании Texas Instruments. National Semiconductor утверждает, что этот UART может работать со скоростью до 1,5 Мбит / с.
16C552
16650Этот UART был представлен компанией Startech Semiconductor, которая сейчас принадлежит Exar Corporation и не имеет отношения к Startech.com. Ранние версии имеют неисправный буфер FIFO и поэтому не могут безопасно работать быстрее, чем 16450 UART.[11] Версии этого UART, которые не были сломаны, имеют 32-символьные буферы FIFO и могут работать на стандартных скоростях последовательного порта до 230,4 кбит / с, если операционная система имеет задержку прерывания 1 миллисекунду. Текущие версии этого UART от Exar утверждают, что могут обрабатывать до 1,5 Мбит / с. Этот UART представляет функции Auto-RTS и Auto-CTS, в которых сигнал RTS # управляется UART, чтобы сигнализировать внешнему устройству о прекращении передачи, когда буфер UART заполнен до или выше точки запуска, установленной пользователем, и для прекращения передачи. к устройству, когда устройство устанавливает высокий уровень сигнала CTS # (логический 0).
1675064-байтовые буферы. Этот UART может обрабатывать максимальную стандартную скорость последовательного порта 460,8 кбит / с, если максимальная задержка прерывания составляет 1 миллисекунду. Этот UART был представлен Texas Instruments. TI утверждает, что ранние модели могут работать со скоростью до 1 Мбит / с, а более поздние модели этой серии могут работать со скоростью до 3 Мбит / с.
16850128-байтовые буферы. Этот UART может обрабатывать максимальную стандартную скорость последовательного порта 921,6 кбит / с, если максимальная задержка прерывания составляет 1 миллисекунду. Этот UART был представлен Exar Corporation. Exar утверждает, что ранние версии могут работать со скоростью до 2 Мбит / с, а более поздние версии могут работать со скоростью до 2,25 Мбит / с в зависимости от даты производства.
16C850
16950128-байтовые буферы. Этот UART может обрабатывать максимальную стандартную скорость последовательного порта 921,6 кбит / с, если максимальная задержка прерывания составляет 1 миллисекунду. Этот UART поддерживает 9-битные символы в дополнение к 5-8-битным символам, которые поддерживают другие UART. Это было введено компанией Oxford Semiconductor, которая теперь принадлежит PLX Technology. Oxford / PLX утверждает, что этот UART может работать до 15 Мбит / с. Варианты PCI Express от Oxford / PLX интегрированы с контроллером PCIe DMA, управляющим шиной. Этот контроллер DMA использует сигналы режима DMA UART, которые были определены для 16550. Контроллер DMA требует, чтобы ЦП настраивал каждую транзакцию и опрашивал регистр состояния после начала транзакции, чтобы определить, выполнена ли транзакция. Каждая транзакция DMA может передавать от 1 до 128 байтов между буфером памяти и UART. Варианты PCI Express также могут позволить ЦП передавать данные между собой и UART с 8-, 16- или 32-битными передачами при использовании программируемого ввода-вывода.
16C950
16954Четырехпортовая версия 16950 / 16C950. 128-байтовые буферы. Этот UART может обрабатывать максимальную стандартную скорость последовательного порта 921,6 кбит / с, если максимальная задержка прерывания составляет 1 миллисекунду. Этот UART поддерживает 9-битные символы в дополнение к 5–8-битным символам, которые поддерживают другие UART. Это было введено компанией Oxford Semiconductor, которая теперь принадлежит PLX Technology. Oxford / PLX утверждает, что этот UART может работать до 15 Мбит / с. Варианты PCI Express от Oxford / PLX интегрированы с контроллером PCIe DMA, управляющим шиной. Этот контроллер DMA управляется сигналами режима DMA UART, которые были определены для 16550. Контроллер DMA требует, чтобы ЦП устанавливал каждую транзакцию и опрашивал регистр состояния после начала транзакции, чтобы определить, выполнена ли транзакция. Каждая транзакция DMA может передавать от 1 до 128 байтов между буфером памяти и UART. Варианты PCI Express также могут позволить ЦП передавать данные между собой и UART с 8-, 16- или 32-битными передачами при использовании программируемого ввода-вывода.
16C954
16C1550 / 16C1551UART с 16-байтовым буфером FIFO. До 1,5 Мбит / с. ST16C155X несовместим с отраслевым стандартом 16550 и не будет работать со стандартным драйвером последовательного порта в Microsoft Windows.
16C2450Двойной UART с 1-байтовым буфером FIFO.
16C2550Двойной UART с 16-байтовыми буферами FIFO. Контактный вывод и функциональная совместимость с 16C2450. Программное обеспечение совместимо с INS8250 и NS16C550.
SCC2691В настоящее время производится NXP 2691 - это одноканальный UART, который также включает программируемый счетчик / таймер. 2691 имеет однобайтовый регистр хранения передатчика и 4-байтовый регистр приема. ФИФО. Максимальная стандартная скорость 2692 составляет 115,2 кбит / с.

28L91 - это улучшенная версия 2691 с возможностью выбора 8- или 16-байтовых FIFO передатчика и приемника, улучшенной поддержкой расширенных скоростей передачи данных и более быстрыми временными характеристиками шины, что делает устройство более подходящим для использования с высокопроизводительными микропроцессорами.

И 2691, и 28L91 также могут работать в TIA-422 и TIA-485 режимы, а также могут быть запрограммированы для поддержки нестандартных скоростей передачи данных. Устройства производятся в корпусах PDIP-40, PLCC-44 и 44 pin QFP и легко адаптируются к обоим Motorola и Intel Автобусы. Они также были успешно адаптированы к 65C02 и 65C816 Автобусы. 28L91 будет работать от 3,3 или 5 вольт.

SCC28L91
SCC2692В настоящее время эти устройства производятся компанией NXP и представляют собой двойные UART (DUART), состоящие из двух каналов связи, связанных регистров управления и одного счетчика / таймера. Каждый канал связи независимо программируется и поддерживает независимую скорость передачи и приема данных.

2692 имеет однобайтовый регистр хранения передатчика и 4-байтовый приемник. ФИФО для каждого канала. Максимальная стандартная скорость обоих каналов 2692 составляет 115,2 кбит / с.

26C92 - это версия 2692, совместимая снизу вверх, с 8-байтовыми буферами FIFO передатчика и приемника для повышения производительности при непрерывной двунаправленной асинхронной передаче (CBAT) по обоим каналам с максимальной стандартной скоростью 230,4 кбит / с. Письмо C в 26C92 номер детали не имеет никакого отношения к процессу изготовления; все NXP UART CMOS устройств.

28L92 - это версия 26C92, совместимая снизу вверх, с выбираемыми 8- или 16-байтовыми FIFO передатчика и приемника, улучшенной поддержкой расширенных скоростей передачи данных и более высокими временными характеристиками шины, что делает устройство более подходящим для использования с высокопроизводительными микропроцессорами.

2692, 26C92 и 28L92 могут работать в режимах TIA-422 и TIA-485, а также могут быть запрограммированы для поддержки нестандартных скоростей передачи данных. Устройства выпускаются в корпусах PDIP-40, PLCC-44 и 44-контактных QFP и легко адаптируются к шинам Motorola и Intel. Они также были успешно адаптированы к автобусам 65C02 и 65C816. 28L92 будет работать от 3,3 или 5 вольт.

SC26C92
SC28L92
SCC28C94В настоящее время производимый NXP четырехкратный UART 28C94 (QUART) функционально аналогичен паре SCC26C92 DUART, установленных в общем корпусе, с добавлением системы арбитражных прерываний для эффективной обработки в периоды интенсивной активности канала. Присутствуют некоторые дополнительные сигналы для поддержки функций управления прерываниями, а вспомогательные контакты ввода / вывода расположены иначе, чем у 26C92. В остальном модель программирования для 28C94 аналогична модели для 26C92, требуя лишь незначительных изменений кода для полного использования всех функций. 28C94 поддерживает максимальную стандартную скорость 230,4 кбит / с, доступен в пакете PLCC-52 и легко адаптируется к шинам Motorola и Intel. Он также был успешно адаптирован к автобусу 65C816.
SCC2698BВосьмеричный UART (OCTART) 2698, который в настоящее время производится компанией NXP, представляет собой четыре SCC2692 DUART в одном корпусе. Технические характеристики такие же, как у SCC2692 (не SCC26C92). Из-за отсутствия FIFO передатчика и небольшого размера FIFO приемника, 2698 может вызвать «шторм» прерывания, если все каналы одновременно задействованы в непрерывной двунаправленной связи. Устройство выпускается в корпусах PDIP-64 и PLCC-84 и легко адаптируется к шинам Motorola и Intel. 2698 также успешно адаптирован к автобусам 65C02 и 65C816.
SCC28L19828L198 OCTART, производимый в настоящее время компанией NXP, по сути является усовершенствованным усовершенствованием SCC28C94 QUART, описанного выше, с восемью независимыми каналами связи, а также системой обработки прерываний с арбитражем для эффективной обработки в периоды интенсивной активности каналов. 28L198 поддерживает максимальную стандартную скорость 460,8 кбит / с, доступен в корпусах PLCC-84 и LQFP-100 и легко адаптируется к шинам Motorola и Intel. 28L198 будет работать от 3,3 или 5 вольт.
Z85230Синхронный / асинхронный режимы, 2 порта. Предоставляет сигналы, необходимые стороннему контроллеру DMA, необходимые для выполнения передач DMA. 4-байтовый буфер для отправки, 8-байтовый буфер для приема на каждый канал. Режимы SDLC / HDLC. 5 Мбит / с в синхронном режиме.
Hayes ESP1 КБ буферы, 921,6 кбит / с, 8-портовый.[12]
Exar XR17V352, XR17V354 и XR17V358Dual, Quad и Octal PCI Express UART с 16550 совместимым набором регистров, 256-байтовыми FIFO TX и RX, программируемыми уровнями запуска TX и RX, счетчиками уровня TX / RX FIFO, генератором дробной скорости передачи, автоматическим оборудованием RTS / CTS или DTR / DSR управление потоком с программируемым гистерезисом, автоматическое программное управление потоком Xon / Xoff, выход для полудуплексного управления направлением RS-485 с программируемой задержкой переключения, многоточечный с автоматическим определением адреса, инфракрасный (IrDA 1.1) кодер / декодер данных. Они указаны до 25 Мбит / с. Таблицы данных датированы 2012 годом.
Exar XR17D152, XR17D154 и XR17D158Двух-, четырех- и восьмеричные шины PCI с набором регистров 5G, совместимым с 16C550, 64-байтовыми FIFO для передачи и приема, счетчиками уровня FIFO для передачи и приема, программируемым уровнем запуска FIFO TX и RX, автоматическим управлением потоком RTS / CTS или DTR / DSR, автоматическим Программное обеспечение Xon / Xoff для управления потоком, управляющий выход RS485 HDX с выбираемой задержкой переключения, инфракрасный (IrDA 1.0) кодер / декодер данных, программируемая скорость передачи данных с предварительным масштабированием, скорость последовательной передачи данных до 6,25 Мбит / с. Таблицы данных датированы 2004 и 2005 годами.
Exar XR17C152, XR17C154 и XR17C158Двух-, четырех- и восьмеричные UART шины PCI 5 В с регистрами, совместимыми с 16C550, 64-байтовыми FIFO для передачи и приема, счетчиками уровня FIFO для передачи и приема, автоматическим управлением потоком RTS / CTS или DTR / DSR, автоматическим программным управлением потоком Xon / Xoff, RS485 Полудуплексное управление с настраиваемой задержкой, инфракрасный (IrDA 1.0) кодер / декодер данных, программируемая скорость передачи данных с предварительным масштабированием, скорость последовательной передачи данных до 6,25 Мбит / с. Таблицы данных датированы 2004 и 2005 годами.
Exar XR17V252, XR17V254 и XR17V258Двойные, четырехъядерные и восьмеричные UART шины PCI 66 МГц с поддержкой управления питанием, совместимый набор регистров 16C550, 64-байтовые буферы FIFO TX и RX со счетчиками уровня и программируемыми уровнями запуска, генератор дробной скорости передачи данных, автоматический поток оборудования RTS / CTS или DTR / DSR управление с программируемым гистерезисом, автоматическое программное управление потоком Xon / Xoff, выход полудуплексного управления направлением RS-485 с выбираемой задержкой переключения, инфракрасный (IrDA 1.0) кодер / декодер данных, программируемая скорость передачи данных с предварительным делителем. Таблицы данных датированы 2008 и 2010 годами.

UART в модемах

Модемы для персональных компьютеров, которые подключаются к разъему на материнской плате, также должна быть предусмотрена функция UART на карте. Оригинальный чип 8250 UART, поставляемый с персональным компьютером IBM, имел по одному символьному буферу для приемника и передатчика, что означало, что коммуникационное программное обеспечение плохо работало на скоростях выше 9600 бит / с, особенно при работе в многозадачной системе или при обработке прерываний. с дисковых контроллеров. В высокоскоростных модемах использовались UART, которые были совместимы с исходным чипом, но включали дополнительные буферы FIFO, что давало программному обеспечению дополнительное время для ответа на входящие данные.

Взгляд на требования к производительности при высоких скоростях передачи данных показывает, почему 16-, 32-, 64- или 128-байтовый FIFO необходим. Спецификация Microsoft для системы DOS требует, чтобы прерывания не отключались более чем на 1 миллисекунду за раз. Некоторые жесткие диски и видеоконтроллеры нарушают эту спецификацию. 9600 бит / с доставляют символ примерно каждую миллисекунду, поэтому 1-байтовый FIFO должен быть достаточным для этой скорости в системе DOS, которая соответствует максимальному времени отключения прерывания. Ставки выше этого могут получить новый символ до того, как будет извлечен старый, и, таким образом, старый символ будет потерян. Это называется ошибкой переполнения и приводит к потере одного или нескольких символов.

16-байтовый FIFO позволяет получить до 16 символов, прежде чем компьютер должен будет обработать прерывание. Это увеличивает максимальную скорость передачи данных, которую компьютер может надежно обрабатывать, с 9600 до 153000 бит / с, если у него есть мертвое время прерывания 1 миллисекунда. 32-байтовый FIFO увеличивает максимальную скорость до 300 000 бит / с. Второе преимущество наличия FIFO заключается в том, что компьютеру требуется обслуживать только 8–12% прерываний, что дает больше процессорного времени для обновления экрана или выполнения других дел. Таким образом, улучшится и реакция компьютера.

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

использованная литература

  1. ^ Адам Осборн, Введение в микрокомпьютеры, том 1: Основные понятия, Осборн-Макгроу Хилл Беркли Калифорния США, 1980 г. ISBN  0-931988-34-9 стр. 116–126
  2. ^ а б К. Гордон Белл, Дж. Крейг Мадж, Джон Э. Макнамара, Компьютерная инженерия: взгляд DEC на проектирование аппаратных систем, Digital Press, 12 мая 2014 г., ISBN  1483221105, п. 73
  3. ^ Эллисон, Дэвид. «Куратор, Отдел информационных технологий и общества, Национальный музей американской истории, Смитсоновский институт». Устные и видеоистории Смитсоновского института. Получено 14 июн 2015.
  4. ^ Устная история Гордона Белла, 2005, по состоянию на 19 августа 2015 г.
  5. ^ Техническая ссылка 6025008 (PDF). Справочная библиотека аппаратного обеспечения персональных компьютеров. IBM. Август 1981. С. 2–123.
  6. ^ "Продукты FTDI". www.ftdichip.com. Получено 22 марта 2018.
  7. ^ Взаимодействие с PDP-11/05: UART, blinkenbone.com, дата обращения 19.08.2015.
  8. ^ "Технические характеристики Zilog Z8440 / 1/2/4, Z84C40 / 1/2/3/4. Последовательный контроллер ввода / вывода" (PDF). 090529 zilog.com
  9. ^ "Zilog Document Download" (PDF). www.zilog.com. Получено 22 марта 2018.
  10. ^ "FAQ: драйверы 16550A UART и TurboCom 1994". Получено 16 января, 2016.
  11. ^ T'so, Теодор Ю. (23 января 1999 г.). "Re: Последовательная связь с 16650". Почтовый архив. Получено 2 июня, 2013.
  12. ^ bill.herrin.us - 8-портовый расширенный последовательный порт Hayes ESP, 2004-03-02

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

  • Последовательный порт завершен: COM-порты, виртуальные COM-порты USB и порты для встроенных систем; 2-е издание; Ян Аксельсон; Lakeview Research; 380 страниц; 2007; ISBN  978-1-931-44806-2.
  • Последовательный порт завершен: программирование и схемы для каналов и сетей RS-232 и RS-485; 1-е издание; Ян Аксельсон; Lakeview Research; 306 страниц; 1998; ISBN  978-0-965-08192-4.
  • Последовательный порт и микроконтроллеры: принципы, схемы и исходные коды; 1-е издание; Гжегож Ниемировски; CreateSpace; 414 страниц; 2013; ISBN  978-1-481-90897-9.
  • Последовательное программирование (Wikibook).

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