русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Архитектура и управления COM-портом. Назначение регистров

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

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

21.jpg

Рис. 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

0

THR

Регистр хранения передатчика - Transmit Holding Register

W

Ob

0

RBg

Регистр данных приемника - Receiver Buffer Register

R

Ob

1

DLL

Делитель скорости обмена (младший) - Divisor Latch LSB

R/W

Ih

1

DLM

Делитель скорости обмена (старший) - Divisor Latch MSB

R/W

Ih

0

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 указывает па источник с высшим приоритетом до тех пор, пока он не будет сброшен соответствующей операцией. Только после этого будет выставлен запрос с указанием следующего источника.

Просмотров: 9430

Вернуться в оглавление:Шпаргалки по компьютеру




Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.