Интерфейсы микропроцессорных систем. Воробьева Г.С - 6 стр.

UptoLike

2. UART В IBM PC
В IBM PC формирование стартового, стопового и бита паритета
ведется на аппаратном уровне, т.е. без вмешательства программиста. За это
отвечает микросхема контроллера UART. Самой первой такой
микросхемой была 8250 (скорость до 38400 бод). На смену ей пришла
16450 (скорость до 115200 бод), а затем 16550 (уменьшено
вмешательство СPU в процесс передачи: буфер приема и передачи
расширен с 1 до 16 байтовбуфер FIFO “First In-First Out: первым пришел
- первым вышел”), которая располагается в современных ПК. Все эти
микросхемы являются функциональными аналогами и совместимы
программно сверху вниз.
2.1. ПРОГРАММНАЯ МОДЕЛЬ КОНТРОЛЛЕРА UART В IBM PC
(МИКРОСХЕМА 8250)
В IBM PC стандартно встроено 4 последовательных адаптера для
последовательного обмена информацией: COM1 (базовый адрес обычно
3F8h, адреса регистров 3F8h 3FFh, генерирует прерывание IRQ4), СОМ2
(базовый адрес обычно 2F8h, адреса регистров 2F8h – 2FFh, генерирует
прерывание IRQ3), COM3 (базовый адрес обычно 3E8h, адреса регистров
3FE8h 3EFh, генерирует прерывание IRQ4), COM4 (базовый адрес
обычно 2E8h, адреса регистров 2E8h 2EFh, генерирует прерывание IRQ3).
Параметры портов могут изменяться из BIOS.
Для настройки режима работы и передачи информации каждый из
COM-портов имеет по десять регистров. В таблице 2.1 перечислены
регистры порта COM1 и их адреса. В данном случае речь идет о COM1 с
адресом 3F8h. Это базовый адрес указанного порта; базовым адресом порта
считается адрес регистра данных этого порта. Если же, например,
используется порт с базовым адресом 3F8h, это значит, что остальные
регистры данного порта располагаются по адресам согласно табл.2.1.
Таблица 2.1 Регистры порта СОМ1 (базовый адрес 3F8h):
Адрес
Команда
для доступа
Бит7 в
3FBh
Описание регистра
3F8h OUT 0 Регистр хранения передатчика
3F8h IN 0 Регистр данных приемника
3F8h OUT 1 Делитель скорости обмена (мл. байт)
3F9h IN 1 Делитель скорости обмена (ст. байт)
3F9h OUT 0 Регистр разрешения прерываний
3FAh IN x Регистр идентификации прерывания
3FBh OUT x Регистр управления линией
3FCh OUT x Регистр управления модемом
3FDh IN x Регистр статуса линии
3FEh IN x Регистр статуса модема
Регистры, необходимые для самой простой нуль-модемной передачи
данных (без использования модема и не по прерываниям) выделены
жирным шрифтом.
Как видно из таблицы 2.1, регистр с адресом 3F8h может иметь разное
функциональное назначение, определяющееся состоянием бита 7 в регистре
3FBh: если он сброшен, то этот регистр является регистром хранения
передаваемых/принятых данных, а если бит 3FBh<7> установлен, то
регистр 3F8h является младшим байтом делителя скорости обмена.
Аналогично битом 3FBh<7> задается функция регистра с адресом
3F9h.
Регистр управления линией 3FBh используется для задания формата
передаваемых данных (длина слова данных, количество стоп-битов,
настройка бита четности и т.д.).
Регистр статуса линии оповещает о текущем состоянии регистра
данных приемопередатчика.
Рис.1.4 Пример подключения контроллера к компьютеру по
стандарту RS-232C с согласованием уровней напряжений.