русс | укр

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

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

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

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


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

Внутренние регистры адаптера последовательной связи.


Дата добавления: 2013-12-23; просмотров: 1182; Нарушение авторских прав


Порты адаптера последовательной связи.

Рис.2.2.

Адаптер, управляющий переносом данных в соответствии с требованиями интерфейса RS-232, в свою очередь управляет десятью внутренними регистрами, доступ к которым осуществляется по номерам портов. Номера портов отсчитываются от базового адреса (БА). Базовый адрес состоит из двух байт и располагается для COM1 по адресу 0х00400000, для COM2 – по адресу 0х00400002. если по этим адресам записан 0, то это означает отсутствие данного адаптера. С помощью одного и того же адреса порта можно обращаться к различным внутренним регистрам в зависимости от направления передачи (чтение или запись в данный порт) и значения бита 7 регистра управления линией.

 

Таблица 2.2. Внутренние регистры адаптера последовательной связи
Название Номер порта Условие обращения к регистру
1) регистр данных передатчика при записи в порт (запись) БА+0 При передаче данных (бит 7 регистра управления равен0)
2) регистр данных приемника при чтении из порта (чтение) БА+0 При приеме данных (бит 7 регистра управления равен0)
3) младший байт делителя частоты (запись) БА+0 При задании формата слова адаптера (бит 7 регистра управления равен1)
4) старший байт делителя частоты (запись) БА+1 При задании формата слова адаптера (бит 7 регистра управления равен1)
5) регистр разрешения прерываний (запись) БА+1 При передаче или приеме данных (бит 7 регистра управления равен0)
6) регистр идентификации прерывания (чтение) БА+2  
7) регистр управления линией (запись) БА+3  
8) регистр управления модемом (чтение и запись) БА+4  
9) регистр состояния линии (чтение) БА+5  
10) регистр состояния модема (чтение) БА+6  

2.3.1. Регистры делителя частоты (БА+0 и БА+1).



Если бит 7 регистра управления линией (БА+3) установлен в 1, через порты БА+0, БА+1 происходит адресация к регистрам делителя частоты передачи (приема).

Значение делителя – это число, полученное делением числа 1843200 на частоту передачи в Бодах умноженную на 16.

2.3.2. Регистры данных (БА+0).

К этим регистрам можно адресоваться если в бите 7 регистра БА+3 записан «0». В этом случае при записи в порт БА+0 будет адресоваться к регистру данных передатчика

outportb(БА+0,Date).

При чтении из порта БА+0 будем обращаться к регистру данных приемника

inportb(БА+0).

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

2.3.3. Внутренний регистр управления линией (БА+3).

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

Таблица 2.3.Назначение внутренних бит регистра управления линией
Бит Описание
Выбор содержимого в портах БА+0 и БА+1: = 0 – порт БА+0 используется для доступа к регистрам данных, а порт БА+1 – для доступа к регистру разрешения прерывания = 1 – порты БА+0 и БА+1 используются для доступа к регистрам делителя частоты
= 0 – обычное функционирование адаптера = 1 – вызывает посылку в интерфейс сигнала BREAK
5, 4, 3 Выбор способа контроля по четности (паритета): = хх0 – отсутствие бита контроля по четности = 001 – бит контроля формируется по четному паритету = 011 – бит контроля формируется по нечетному паритету = 101 – бит контроля равен 1 = 111 – бит контроля равен 0
Число стоп-битов: = 0 – 1 стоп-бит = 1 – 2 стоп-бита
1, 0 Длина слова: = 00 – 5 бит = 01 – 6 бит = 10 – 7 бит = 11 – 8 бит

2.3.4. Внутренний регистр состояния модема (БА+6).

Опрашивая регистр, компьютер отслеживает все изменения состояния модема, что позволяет определить возможность передачи байта (наличие сигнала CTS), необходимость приема информации (наличие сигнала DCD) и т.п. Четыре старших бита регистра показывают уровень напряжения на соответствующей линии интерфейса RS-232, а четыре оставшиеся – наличие изменения уровня напряжения с момента последнего чтения содержимого, так как любое чтение регистра обнуляет эти биты (0, 1, 2, 3).

Таблица 2.4.
Бит Описание (если бит равен единице)
Сигнал на линии DCD←RTS
Сигнал на линии RI←DTR
Сигнал на линии DSR←DTR
Сигнал на линии CTS←RTS
Изменение на линии DCD
Изменение на линии RI
Изменение на линии DSR
Изменение на линии CTS

2.3.5. Внутренний регистр состояния линии (БА+5).

Этот регистр сообщает компьютеру информацию о состоянии как модема, так и тракта приема (передачи) адаптера.

Таблица 2.5.
Бит Описание (если бит равен единице)
Всегда 0
Сдвиговый регистр передатчика пуст
Буферный регистр передатчика пуст
Принят Break
Ошибка кадрирования (рассинхронизация передатчика и приемника)
Ошибка паритете (четности)
Ошибка переопределения данных
Готовность принятых данных

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

Однако бесконечный цикл опроса превращает компьютер в простейшую коммуникационную станцию, не способную выполнять какие-либо другие действия. Более предпочтительной является организация связи, управляемая прерываниями. При такой связи используются описанные ниже внутренние регистры (БА+1, БА+2).

2.3.6. Внутренний регистр разрешения прерываний (БА+1).

Аппаратура адаптера последовательной связи может генерировать запросы аппаратных прерываний при возникновении в адаптере одной или нескольких ситуаций четырех возможных типов.

Таблица 2.6.
Бит Описание (если бит равен единице)
7-4 Не используются
Разрешена генерация запроса прерывания при изменении значения регистра состояния модема (БА+6)
Разрешена генерация запроса прерывания при изменении значения регистра состояния линии (БА+5)
Разрешена генерация запроса прерывания в случае, когда пуст регистр передачи данных
Разрешена генерация запроса прерывания в случае готовности принятых данных

Запись в порт с номером БА+1 байты 00h запрещает генерацию запроса прерывания для всех возможных ситуаций. Запись значения 0Fh напротив разрешает генерацию запроса прерывания для всех типов ситуаций. Обработчик прерываний может точно определить причину прерывания чтением регистра идентификации прерывания.

2.3.7.Внутренний регистр идентификации прерываний (БА+2).

Это только читаемый внутренний регистр, но позволяет программе обработчику прерываний определить причину, по которой сгенерировано прерывания.

Таблица 2.7.
Бит Описание
7-3 Не используются
2-1 Идентификатор причины прерывания: = 00 – прерывания по причине изменения регистра состояния модема (БА+6) = 01 – пуст регистр данных передатчика = 10 – готовность данных в приемном регистре = 11 – прерывания по причине изменения регистра состояния линии, либо установка бита ошибки, либо условие BREAK
= 0 – прерывание не обработано (ожидающее обработки прерывание) = 1 – нет активных прерываний

 

Рис.2.3. Алгоритм обработки прерывания.

2.3.8. Внутренний регистр управления модемом (БА+4).

Таблица 2.8.
Бит Описание (если бит равен единице)
Устанавливает сигнал на линии RTS
Устанавливает сигнал на линии DTR



<== предыдущая лекция | следующая лекция ==>
Линии интерфейса RS-232 | Сетевой уровень


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


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

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

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


 


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

 
 

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

Генерация страницы за: 0.004 сек.