Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Периферийные устройства ЭВМ_2009.doc
Скачиваний:
4
Добавлен:
01.04.2025
Размер:
2.43 Mб
Скачать
    1. Работа с com-портом на низком уровне

      1. Микросхемы асинхронных приемопередатчиков и особенности работы с ними

Преобразование параллельного кода в последовательный при передаче, последовательного в параллельный при приеме, контроль ошибок, формирование запросов прерывания и ряд других сервисных функций осуществляются специализированной микросхемой, называемой UART или УАПП (универсальный асинхронный приемопередатчик). COM-порты IBM PC базируются на микросхемах, совместимых на уровне регистров с UART i8250 - 8250/16450/16450A. Каждая из перечисленных микросхем совместима с предыдущей, но не наоборот. Это следует учитывать при составлении программы управления. Если программа ориентирована на i8250, то она будет работать со всеми последующими модификациями УАПП. В ряде отечественных ЭВМ применялись микросхема КР580ВВ51 – аналог i8251, так называемый УСАПП (USART) – универсальный синхронно-асинхронный приемопередатчик. Эта микросхема не совместима на уровне регистров с i8250, в современных ПК она не применяется. Сравнительные характеристики УАПП, совместимых с i8250, приведены в табл. 6. Все микросхемы серии 8250 обладают низким быстродействием и не допускают обращения к своим регистрам в смежных циклах процессора – для корректной работы между обращениями организуют программные задержки (команда типа JMP $+2).

Таблица 6. Характеристики УАПП, совместимых с i8250

УАПП

Характеристики

8250

Считается за базовую, самая примитивная по возможностям. Имеет ошибки, приводящие к возможности появления ложных прерываний

8250А

Модернизированная 8250, ошибка устранена, не пригоден в АТ для скорости 9600 бит/с, не совместим с XT BIOS

8250B

Исправлены ошибки 8250 и 8250А, совместим с XT BIOS, работает в FN (кроме 9600 Кбит/с)

16450

Быстродействующая версия 8250 для AT. Соответствует минимуму для работы с OS/2. Не имеет ошибок, присущих 8250

16550

Развитие 16450, имеет FIFO буфер (с ошибками, не позволяющими его корректно использовать !), может использовать DMA для обмена

16550А

Исправленная версия 16550, имеет нормально работающий 16-байтный FIFO буфер и DMA, которые должны применяться для работы на скоростях 9600 бит/с и более без потери данных 

С УАПП 16550А совместимо подавляющее большинство микросхем контроллеров COM-порта современных ПК. Особенностью УАПП 16550 и 16550А является то, что они имеют дополнительные, по сравнению с микросхемами i8250, регистры. Многие биты, считающиеся в i8250 резервом, в УАПП 16550 задействованы для управления его новыми функциями. Все регистры i8250 совпадают с соответствующими регистрами УАПП 16550, что обеспечивает их совместимость.

Внимание: если программа, нормально работающая с i8250, некорректно работает с УАПП 16550, то необходимо проверить, как используются резервные (в спецификации i8250) биты некоторых регистров – часто в них записывается неопределенная информация, что и приводит к сбоям (должны записываться нули).