Эта статья поднимает множество проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалить эти сообщения-шаблоны ) ( Узнайте, как и когда удалить этот шаблон сообщения )
|
Универсальный асинхронный приемопередатчик ( УАПП / Ju ɑːr т / ) представляет собой компьютерное устройство для асинхронной последовательной передачи данных, в которой формат данных и скорость передачи данных могут быть сконфигурированы. Он отправляет биты данных один за другим, от наименее значимого к наиболее значимому, обрамленные стартовыми и стоповыми битами, так что канал связи обрабатывает точную синхронизацию. Уровни электрической сигнализации обрабатываются схемой драйвера, внешней по отношению к UART. Два общих уровня сигнала - это RS-232 , 12- вольтовая система, и RS-485 , 5-вольтовая система.
Это было одно из первых устройств компьютерной связи, которое использовалось для подключения телетайпов к пульту оператора . Это также была ранняя аппаратная система для Интернета .
UART обычно представляет собой отдельную интегральную схему (или часть ), используемую для последовательной связи через последовательный порт компьютера или периферийного устройства . Одно или несколько периферийных устройств UART обычно интегрируются в микросхемы микроконтроллера . Специализированные UART используются для автомобилей , смарт-карт и SIM- карт . Ранние телетайпы использовали токовые петли .
Родственное устройство, универсальный синхронный и асинхронный приемопередатчик (USART), также поддерживает синхронную работу.
Передача и получение последовательных данных [ править ]
Универсальный асинхронный приемопередатчик (UART) принимает байты данных и последовательно передает отдельные биты. [1] В пункте назначения второй UART повторно собирает биты в полные байты. Каждый UART содержит регистр сдвига , который является основным методом преобразования между последовательной и параллельной формами. Последовательная передача цифровой информации (битов) по одному проводу или другой среде менее затратна, чем параллельная передача по нескольким проводам.
UART обычно не генерирует и не принимает внешние сигналы, используемые между различными элементами оборудования. Отдельные интерфейсные устройства используются для преобразования сигналов логического уровня UART в уровни внешней сигнализации и обратно, которые могут быть стандартизованными уровнями напряжения, уровнями тока или другими сигналами.
Связь может быть симплексной (только в одном направлении, без возможности для принимающего устройства отправлять информацию обратно на передающее устройство), полнодуплексной (оба устройства отправляют и принимают одновременно) или полудуплексной (устройства по очереди передают и принимают ).
Фрейминг данных [ править ]
Состояние ожидания, отсутствие данных - высокое напряжение или питание. Это историческое наследие телеграфии, когда линия держится высоко, чтобы показать, что линия и передатчик не повреждены. Каждый символ оформлен как младший логический стартовый бит, биты данных, возможно, бит четности и один или несколько стоповых битов. В большинстве приложений младший бит данных (тот, что слева на этой диаграмме) передается первым, но есть исключения (например, печатный терминал IBM 2741 ).
Стартовый бит сигнализирует получателю о приближении нового персонажа. Следующие пять-девять битов, в зависимости от используемого кодового набора, представляют символ. Если используется бит четности, он будет помещен после всех битов данных. Следующие один или два бита всегда находятся в состоянии отметки (высокий логический уровень, т. Е. «1») и называются стоповыми битами. Они сигнализируют получателю, что персонаж закончен. Поскольку стартовый бит имеет низкий логический уровень (0), а стоповый бит имеет высокий логический уровень (1), всегда существует как минимум два гарантированных изменения сигнала между символами.
Если линия удерживается в состоянии низкого логического уровня дольше, чем время символа, это состояние разрыва, которое может быть обнаружено UART.
Получатель [ править ]
Все операции оборудования UART управляются внутренним синхросигналом, который работает с кратной скоростью передачи данных, обычно в 8 или 16 раз больше скорости передачи данных. Приемник проверяет состояние входящего сигнала на каждом тактовом импульсе, ища начало стартового бита. Если кажущийся начальный бит длится как минимум половину битового времени, он действителен и сигнализирует о начале нового символа. В противном случае он считается ложным импульсом и игнорируется. После ожидания еще одного битового времени снова производится выборка состояния линии, а результирующий уровень синхронизируется в регистр сдвига. По истечении необходимого количества битовых периодов для длины символа (обычно от 5 до 8 битов) содержимое сдвигового регистра становится доступным (параллельно) принимающей системе. UART установит флаг, указывающий, что доступны новые данные,а также может генерировать процессорпрерывание, чтобы запросить передачу полученных данных хост-процессором.
Связанные UART не имеют общей системы синхронизации, кроме сигнала связи. Как правило, UART повторно синхронизируют свои внутренние часы при каждом изменении линии данных, которое не считается ложным импульсом. Получая таким образом информацию о времени, они надежно получают, когда передатчик отправляет с немного другой скоростью, чем должен. Упрощенные UART этого не делают; вместо этого они повторно синхронизируются только по заднему фронту стартового бита, а затем считывают центр каждого ожидаемого бита данных, и эта система работает, если скорость широковещательной передачи данных достаточно точна, чтобы обеспечить надежную выборку стоповых битов.
Стандартной функцией UART является сохранение самого последнего символа при получении следующего. Эта «двойная буферизация» дает принимающему компьютеру все время передачи символа для извлечения принятого символа. Многие UART имеют небольшую буферную память FIFO между регистром сдвига приемника и интерфейсом хост-системы. Это дает хост-процессору еще больше времени для обработки прерывания от 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 из семейства Signetics 2650 .
Примером UART начала 1980-х годов был National Semiconductor 8250, который использовался в оригинальной плате адаптера асинхронной связи IBM PC . [5] В 1990-х годах были разработаны более новые UART со встроенными буферами. Это позволило повысить скорость передачи без потери данных и не требуя такого частого внимания со стороны компьютера. Например, популярный National Semiconductor 16550 имеет 16-байтовый FIFO и породил множество вариантов, включая 16C550, 16C650, 16C750 и 16C850 .
В зависимости от производителя для обозначения устройств, выполняющих функции UART, используются разные термины. Intel назвала свое устройство 8251 «Программируемым коммуникационным интерфейсом». Технология MOS 6551 была известна под названием «Адаптер интерфейса асинхронной связи» (ACIA). Термин «интерфейс последовательной связи» (SCI) впервые был использован в Motorola примерно в 1975 году для обозначения устройства асинхронного последовательного интерфейса start-stop, которое другие называли UART. Zilog произвел ряд контроллеров последовательной связи или SCC.
Начиная с 2000-х годов, большинство компьютеров, совместимых с IBM PC, удалили свои внешние COM-порты RS-232 и использовали порты USB, которые могли отправлять данные быстрее. Для пользователей, которым по-прежнему нужны последовательные порты RS-232, сейчас широко используются внешние мосты USB-UART . Они объединяют в себе аппаратные кабели и микросхему для преобразования USB и UART. Cypress Semiconductor и FTDI - два важных коммерческих поставщика этих микросхем. [6] Хотя порты RS-232 больше не доступны для пользователей за пределами большинства компьютеров, многие внутренние процессоры и микропроцессорыимеют встроенные UART в свои микросхемы, чтобы дать разработчикам оборудования возможность взаимодействовать с другими микросхемами или устройствами, которые используют RS-232 или RS-485 для связи.
Структура [ править ]
UART обычно содержит следующие компоненты:
- генератор тактовых импульсов, обычно кратный скорости передачи битов, чтобы обеспечить выборку в середине периода битов
- регистры сдвига ввода и вывода
- управление передачей / приемом
- логика управления чтением / записью
- Автоматическое измерение скорости передачи данных (необязательно)
- буферы передачи / приема (необязательно)
- буфер системной шины данных (опционально)
- Буферная память FIFO ( FIFO ) (опционально)
- Сигналы, необходимые для стороннего контроллера DMA (необязательно)
- Интегрированный контроллер DMA для управления шиной (опционально)
Особые условия трансивера [ править ]
Ошибка переполнения [ править ]
«Ошибка переполнения» возникает, когда получатель не может обработать только что поступивший символ до того, как появится следующий. Различные устройства имеют разное количество буферного пространства для хранения полученных символов. Контроллер CPU или DMA должен обслуживать UART, чтобы удалить символы из входного буфера. Если ЦП или контроллер DMA не обслуживает UART достаточно быстро и буфер заполняется, произойдет ошибка переполнения и входящие символы будут потеряны.
Ошибка недогрузки [ править ]
«Ошибка опустошения» возникает, когда передатчик UART завершил отправку символа, а буфер передачи пуст. В асинхронных режимах это рассматривается как указание на то, что не осталось данных для передачи, а не как ошибка, поскольку могут быть добавлены дополнительные стоповые биты. Эта индикация ошибки обычно встречается в USART, поскольку в синхронных системах недоработка более серьезна.
Ошибка кадрирования [ править ]
UART обнаружит ошибку кадрирования, когда он не видит «стоповый» бит в ожидаемое время «стопового» бита. Поскольку «начальный» бит используется для идентификации начала входящего символа, его синхронизация является ссылкой для оставшихся битов. Если линия данных не находится в ожидаемом состоянии (высокий), когда ожидается «стоп» бит (в соответствии с количеством битов данных и четности, для которых установлен UART), UART будет сигнализировать об ошибке кадрирования. Состояние «разрыва» в строке также сигнализируется как ошибка кадрирования.
Ошибка четности [ править ]
Ошибка четности возникает, когда четность количества единичных битов не совпадает с четностью, указанной битом четности. Использование бита четности необязательно, поэтому эта ошибка возникает только в том случае, если проверка четности включена.
Условие разрыва [ править ]
Условие прерывания происходит , когда на вход приемника находится в «пространстве» (низкий логический уровень, то есть, «0») уровне дольше , чем какой - то период времени, как правило, в течение более чем времени характер. Это не обязательно ошибка, но для получателя это выглядит как символ всех нулевых битов с ошибкой кадрирования. Термин «разрыв» происходит от сигнализации токовой петли , которая была традиционной сигнализацией, используемой для телетайпов . Состояние «разнесения» линии токовой петли обозначается отсутствием протекания тока, а очень длительный период отсутствия тока часто вызван обрывом или другим повреждением линии.
Некоторое оборудование намеренно передает «космический» уровень дольше персонажа в качестве сигнала внимания. Когда скорости передачи сигналов не совпадают, никакие значащие символы не могут быть отправлены, но длинный сигнал «прерывания» может быть полезным способом привлечь внимание несоответствующего приемника к каким-либо действиям (например, самопроизвольному сбросу). Компьютерные системы могут использовать уровень длительного «перерыва» в качестве запроса на изменение скорости передачи сигналов, чтобы поддерживать доступ по телефонной линии с несколькими скоростями передачи сигналов. DMX512 протокол использует условие останова , чтобы сигнализировать о начале нового пакета.
Модели UART [ править ]
Двойной UART или DUART объединяет два UART в одну микросхему. Точно так же четырехкратный UART или QUART объединяет четыре 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 кбит / с. Асинхронный , Бисинхронный , SDLC , HDLC , X.25 . CRC . 4-байтовый буфер приема. 2-байтовый буфер передачи. Предоставляет сигналы, необходимые стороннему контроллеру 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. |
16550 | FIFO этого 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). |
16750 | 64-байтовые буферы. Этот UART может обрабатывать максимальную стандартную скорость последовательного порта 460,8 кбит / с, если максимальная задержка прерывания составляет 1 миллисекунду. Этот UART был представлен Texas Instruments. TI утверждает, что ранние модели могут работать со скоростью до 1 Мбит / с, а более поздние модели этой серии могут работать со скоростью до 3 Мбит / с. |
16850 | 128-байтовые буферы. Этот UART может обрабатывать максимальную стандартную скорость последовательного порта 921,6 кбит / с, если максимальная задержка прерывания составляет 1 миллисекунду. Этот UART был представлен Exar Corporation. Exar утверждает, что ранние версии могут работать со скоростью до 2 Мбит / с, а более поздние версии могут работать со скоростью до 2,25 Мбит / с в зависимости от даты производства. |
16C850 | |
16950 | 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-битными передачами при использовании программируемого ввода-вывода. |
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 / 16C1551 | UART с 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-байтовый FIFO приема . Максимальная стандартная скорость 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-байтовый FIFO приемника для каждого канала. Максимальная стандартная скорость обоих каналов 2692 составляет 115,2 кбит / с. 26C92 является восходящей совместимой версией 2692 с 8-байтовыми буферами FIFO передатчика и приемника для повышения производительности при непрерывной двунаправленной асинхронной передаче (CBAT) по обоим каналам с максимальной стандартной скоростью 230,4 кбит / с. Буква C в номере детали 26C92 не имеет никакого отношения к процессу изготовления; все UART NXP являются устройствами CMOS . 28L92 - это улучшенная версия 26C92 с возможностью выбора 8- или 16-байтовых FIFO передатчика и приемника, улучшенной поддержкой расширенных скоростей передачи данных и более быстрыми временными характеристиками шины, что делает устройство более подходящим для использования с высокопроизводительными микропроцессорами. 2692, 26C92 и 28L92 могут работать в режимах TIA-422 и TIA-485, а также могут быть запрограммированы для поддержки нестандартных скоростей передачи данных. Устройства производятся в корпусах PDIP-40, PLCC-44 и 44 pin 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. |
SCC28L198 | 28L198 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 ESP | Буферы 1 КБ , 921,6 кбит / с , 8 портов. [12] |
Exar XR17V352, XR17V354 и XR17V358 | Dual, 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 для передачи и приема, программируемым уровнем запуска TX и RX FIFO, автоматическим управлением потоком 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 | Dual, Quad и Octal 66 МГц шины PCI UART с поддержкой управления питанием, совместимый набор регистров 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 до 153 000 бит / с, если у него есть мертвое время прерывания 1 миллисекунда. 32-байтовый FIFO увеличивает максимальную скорость до 300 000 бит / с. Второе преимущество наличия FIFO заключается в том, что компьютеру требуется обслуживать только 8–12% прерываний, что дает больше процессорного времени для обновления экрана или выполнения других рутинных операций. Таким образом, отклик компьютера также улучшится.
См. Также [ править ]
- Autobaud
- Бод
- Битрейт
- Сравнение синхронной и асинхронной сигнализации
- MIDI
- Синхронная последовательная связь
Ссылки [ править ]
- ↑ Адам Осборн, Введение в микрокомпьютеры Том 1: Основные концепции , Osborne-McGraw Hill, Беркли, Калифорния, США, 1980 ISBN 0-931988-34-9, стр. 116–126
- ^ a b К. Гордон Белл, Дж. Крейг Мадж, Джон Э. Макнамара, Компьютерная инженерия: взгляд DEC на проектирование аппаратных систем , Digital Press, 12 мая 2014 г., ISBN 1483221105 , стр. 73
- ^ Эллисон, Дэвид. «Куратор, Отдел информационных технологий и общества, Национальный музей американской истории, Смитсоновский институт» . Устные и видеоистории Смитсоновского института . Проверено 14 июня 2015 года .
- ^ Устная история Гордона Белла , 2005, доступ 2015-08-19
- ^ Технический справочник 6025008 (PDF) . Справочная библиотека аппаратного обеспечения персонального компьютера. IBM. Август 1981. С. 2–123.
- ^ «Продукты FTDI» . www.ftdichip.com . Проверено 22 марта 2018 .
- ^ Взаимодействие с PDP-11/05: UART , blinkenbone.com, по состоянию на 19 августа 2015 г.
- ^ "Zilog Спецификация продукта Z8440 / 1/2/4, Z84C40 / 1/2/3/4. Последовательный контроллер ввода / вывода" (PDF) . 090529 zilog.com
- ^ "Zilog Document Download" (PDF) . www.zilog.com . Проверено 22 марта 2018 .
- ^ "Часто задаваемые вопросы: драйверы 16550A UART и TurboCom 1994" . Проверено 16 января, 2016 .
- ^ T'so, Theodore Y. (23 января 1999). «Re: Последовательная связь с 16650» . Почтовый архив . Проверено 2 июня 2013 года .
- ^ bill.herrin.us - Руководство Hayes ESP 8-port Enhanced Serial Port Manual , 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) .
Внешние ссылки [ править ]
- FreeBSD Serial and UART Tutorial , включает стандартные определения сигналов, историю микросхем UART и распиновку для часто используемого разъема DB25.
- Учебник UART для робототехники содержит множество практических примеров.