Читайте также:
|
|
1.31. АРХІТЕКТУРА ТА УПРАВЛІННЯ COM-ПОРТОМ. ПРИЗНАЧЕННЯ РЕГІСТРІВ.
Последовательный интерфейс для передачи данных использует одну сигнальную линию, по которой информационные биты передаются друг за другом последовательно. Отсюда название интерфейса и порта.
Последовательная передача данных может осуществляться в асинхронном или синхронном режимах. При асинхронной передаче каждому байту предшествует старт-бит, сигнализирующий приемнику о начале посылки, за которым следуют биты данных и, возможно, бит паритета (четности). Завершает посылку стоп-бит, гарантирующий паузу между посылкам. Старт-бит следующего байта посылается в любой момент после стоп-бита, то есть между передачами возможны паузы произвольной длительности. Старт-бит, имеющий всегда строго определенное значение (логический 0), обеспечивает простой механизм синхронизации приемника по сигналу от передатчика. Подразумевается, что приемник и передатчик работают на одной скорости обмена.
Рис. 2.1. Формат асинхронной передачи
Формат асинхронной посылки позволяет выявлять возможные ошибки передачи.
В бодах принято измерять частоту изменения состояния линии, а при недвоичном способе кодирования (широко применяемом в современных модемах) в канале связи скорости передачи бит (бит/с).
Асинхронный обмен в PC реализуется с помощью СОМ-порта с использованием протокола RS-232C.
Интерфейс RS-232C предназначен для подключения аппаратуры, передающей или принимающей данные (О ОД – оконечное оборудование данных или АПД - аппаратура передачи данных; DTE - Data Terminal Equipment), к оконечной аппаратуре каналов данных (АКД', DCE - Data Communication Equipment). В роли АПД может выступать компьютер, принтер, плоттер и другое периферийное оборудование. В роли АКД обычно выступает модем. Конечной целью подключения является соединение двух устройств АПД.
Стандарт описывает управляющие сигналы интерфейса, пересылку данных, электрический интерфейс и типы разъемов. В стандарте предусмотрены асинхронный и синхронный режимы обмена, но СОМ-порты поддерживают только асинхронный режим.
СОМ-порты чаще всего применяют для подключения манипуляторов (мышь, трекбол). Питание манипуляторов производится от интерфейса. Каждое событие - перемещение мыши или нажатие-отпускание кнопки – кодируется двоичной посылкой по интерфейсу RS-232C.
Также СОМ-порты используются для подключения внешних устройств; связи двух компьютеров, удаленных друг от друга на небольшое расстояние; для подключения электронных ключей (Security Devices), предназначенных для защиты от нелицензированного использования ПО. СОМ-порт используют для беспроводных коммуникаций с применением излучателей и приемников инфракрасного диапазона - IR (Infra Red) Connection.
Контроллер СОМ-порта является полностью программируемым устройством. Можно программно задать следующие параметры обмена: количество битов данных и стоп-битов^ вид четности и скорость обмена.
Микросхема UART 16550A имеет 12 программируемых однобайтных регистров, с помощью которых управляется и контролируется порт коммуникации. Большинство из них занимаются инициализацией порта. Доступ к этим 12 регистрам осуществляется через восемь адресов портов с номерами 3F8h - 3FFh (или 2F8h - 2FFh).
В пяти случаях регистр, к которому организуется доступ через данный порт, зависит от того, как установлен бит 7 в регистре управления линии (т. н. бит DLAB), который является единственным регистром с адресом порта 3FBh. Назначение регистров 16550А и их отображение на адресное пространство портов (смещение относительно базового адреса) представлено в табл. 3.2.
Доступ | Регистр | R/W | ||
Смещ. | DLAB | Ими | Название | |
Oh | THR | Регистр хранения передатчика - Transmit Holding Register | W | |
Ob | RBg | Регистр данных приемника - Receiver Buffer Register | R | |
Ob | DLL | Делитель скорости обмена (младший) - Divisor Latch LSB | R/W | |
Ih | DLM | Делитель скорости обмена (старший) - Divisor Latch MSB | R/W | |
Ih | IER | Регистр разрешения прерыв. - Interrupt Enable Register | R/W | |
2h | X | im | Регистр идентификации прерывания - Interrupt Identification Register | R |
2h | X | FCR | Регистр управления FIFO (FIFO Control Register) | W; |
3h | X | LCR | Регистр управлення линия - Line Control Register | R/W |
4h | X | MCR | Регистр управлення модемом - Modem Control Register | R/W |
5h | X | LSR | Регистр статуса линии - Line Status Register | R/W, |
6h | X | MSR | Регистр статуса модема - Modem Status Register | R/W |
7h | X | SCR | Рабочий регистр - Scratch Pad Register | R/W |
THR (регистр передатчика) - сюда засылается байт для передачи. Данные, записанные в этот регистр, будут пересланы в выходной сдвигающий регистр (когда он будет свободен), из которого поступят на выход при наличии разрешающего сигнала CTS. Бит 0 передается (и принимается) первым. При длине посылки менее 8 бит старшие биты игнорируются.
RBR (регистр приемника) - отсюда считывается принятый байт. Данные, принятые входным сдвигающим регистром, помещаются в регистр RBR. Если к моменту окончания приема очередного символа предыдущий не был считан из регистра RBR, фиксируется ошибка переполнения. При длине посылки менее 8 бит старшие (лишние) биты в регистре имеют нулевое значение.
DLL (регистр младшего байта делителя частоты). Сюда засылается младший байт делителя (см. DLM).
DLM (регистр старшего байта делителя частоты). Делитель определяется по формуле D=115200/V, где V - скорость передачи. Входная частота синхронизации 1,8432 МГц делится на заданный коэффициент, после чего получается 16-кратная частота передачи данных. Например, для скорости 9600 бод делитель равен П5200/9600=12=ОС1г, поэтому нужно вывести OCh в порт 3F8h и 0 в порт 3F9h.
IER (регистр управления прерываниями). Единичное значение бита разрешает прерывание. Назначение бит:
0: прерывание по приему символа (в режиме FIFO - прерывание по тайм-ауту);
1: прерывание по завершению передачи символа;
2: прерывание по обрыву линии или ошибке в линии;
3: прерывание по изменению состояния модема (любой из линий CTS, DSR,RInDCD);
4-7:должны быть 0.
IIR (регистр идентификации прерываний и признака режима FIFO). Когда происходит прерывание, здесь содержится причина, вызвавшая его. Для упрощения программного анализа UART выстраивает внутренние запросы прерывания по 4-уровневой приоритетной системе. Порядок приоритетов (по убыванию) следующий: состояние линии, прием символа, освобождение регистра передатчика и состояние модема. При возникновении условии прерывания UART указывает па источник с высшим приоритетом до тех пор, пока он не будет сброшен соответствующей операцией. Только после этого будет выставлен запрос с указанием следующего источника.
Дата добавления: 2015-11-16; просмотров: 105 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Архитектура и управления контроллеры НЖМД. Структура управления | | | Архитектура и управления LPT портом в режимах ECP EPP |