
- •Тверской государственный технический университет
- •Периферийные устройства эвм
- •Введение
- •1. Интерфейс rs-232c
- •1.1. Интерфейс rs-232c – cом-порт
- •1.1.1. Протокол rs-232c
- •Управление потоком данных
- •Системная поддержка Com-портов
- •Использование cом-портов
- •1.1.5. Непосредственное подключение устройств
- •1.2. Программируемый последовательный интерфейс
- •Связь компьютера с микроконтроллером
- •1.3.1. Протокол обмена
- •Работа с com-портом на низком уровне
- •Микросхемы асинхронных приемопередатчиков и особенности работы с ними
- •1.4.2. Структура регистров уапп 16550a
- •1.4.3. Описание регистров уапп 16550a
- •1.4.4. Примеры работы с последовательным портом на низком уровне
- •1.4.5. Аппаратное подтверждение связи
- •1.4.6. Проблемы передачи данных
- •1.4.7. Переполнение регистра-приемника
- •1.4.8. Использование функций bios
- •1.4.9. Использование функций Windows api
- •2.1. Классификация модемов
- •2.2. Устройство модемов
- •2.3. Подключение модема через интерфейс rs-232
- •Модемные протоколы и стандарты. Виды протоколов. Протоколы взаимодействия и модуляции
- •Команды управления модемами (ат-язык). Наборы ат-команд
- •2.5.1. Основные команды модема
- •2.5.2. Стандартный набор ответов модема
- •2.6.1. Локальный аналоговый тест
- •2.6.2. Локальный аналоговый тест с самодиагностикой
- •2.6.3. Локальный цифровой тест
- •2.6.4. Удаленный цифровой тест
- •2.6.5. Удаленный цифровой тест с самодиагностикой
- •2.7. Назначение и использование s-регистров модема
- •2.8. Режимы работы модема. Сообщения и ответы модема
- •2.9. Протоколы передачи файлов
- •2.10. XDsl – модемы
- •Клавиатура
- •3.1. Основные параметры, классификация, принципы работы
- •3.2. Скан-коды
- •3.3. Интерфейс клавиатуры
- •4. Видеосистема компьютера
- •4.1. Классификация и характеристики мониторов
- •4.2. Видеоадаптер
- •4.2.1. История видеоадаптеров
- •4.2.2. Компоненты видеоадаптера
- •Принтер
- •5.1. Классификация принтеров и технологий печати
- •5.1.1. Матричный принтер
- •5.1.2. Струйный принтер
- •5.1.3 Лазерный принтер
- •5.2.Описание lpt-порта
- •5.3. Язык описания страниц
- •5.4.1. Поддержка pcl
- •Лабораторная работа №1 «Изучение интерфейс rs-232»
- •Лабораторная работа № 2 «Определение и анализ качественных характеристик модема»
- •Лабораторная работа №3 «Изучение взаимодействия клавиатуры и компьютера»
- •Пример выполнения лабораторной работы
- •1. Включить сканирование клавиатуры.
- •2. Сбросить на начальные установки контроллер клавиатуры.
- •3. Установить:
- •5. Послать подтверждение контроллером клавиатуры.
- •6. Послать Эхо-запрос компьютером.
- •7. Ответить на Эхо-запрос контроллером.
- •8. Подготовить строку в скан-кодах для ввода в компьютер фразы «There Can Be».
- •9. Запретить сканирование клавиатуры.
- •Варианты заданий Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Лабораторная работа №4 «Изучение режимов работы видеокарты»
- •Выполнение
- •Варианты заданий Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Лабораторная работа № 5 «Управление печатью с помощью языка описания страниц»
- •Описание работы с программой
- •Варианты заданий Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Библиографический список
- •Оглавление
- •Периферийные устройства эвм
- •170026, Г. Тверь, наб. Афанасия Никитина, 22
1.4.3. Описание регистров уапп 16550a
Регистр разрешения прерываний. Единичное значение бита соответствует разрешению прерывания, назначение битов приведено в табл. 9. Если работа с портом идет без использования прерываний, то их следует запретить путем записи 0 в этот регистр.
В табл. 10, 14 значком * отмечены биты, не используемые в i8250.
Таблица 9. Регистр разрешения прерываний
Бит |
Значение |
7,6,5,4 |
= 0, не используются |
3 |
По изменении статуса модема (STS, DSR, RI, RLSD ) |
2 |
По ошибке приема данных |
1 |
По завершении передачи |
0 |
По приему символа ( в режиме FIFO - по тайм-ауту) |
Регистр идентификации прерываний (табл. 10). Ввиду того, что контроллер обслуживается одним прерыванием, а возникать оно может в четырех различных ситуациях, в процедуре обработки прерывания необходимо выяснить, по какой причине произошло прерывание.
Таблица 10. Регистр идентификации прерываний
Бит |
Значение |
1 |
2 |
7,6* |
Признак режима FIFO: 11 – FIFO 16550А, 10 – FIFO 16550, 00 – обычный |
5, 4 |
Не используются |
3* |
Прерывание по тайм-ауту (не в режиме FIFO) |
2,1 |
00 – прерывание от приемника; 01 – есть данные в приемнике 10 – буфер передатчика пуст; 11 – изменение статуса модема |
0 |
1 – нет запроса прерывания, 0 – есть запрос |
В режиме FIFO биты 3-0 имеют иной смысл:
Продолжение табл. 10
1 |
2 |
2,1,0* |
011 – обрыв, ошибка/обрыв линии; сброс - чтение регистра состояния линии 010 - принят символ; сброс - чтение регистра приемника 110 - индикатор тайм-аута (4-кратный интервал времени передачи символа). Генерируется, если в FIFO- буфере есть символы 001 - регистр передатчика пуст; сброс - запись в регистр передатчика 000 - изменение состояния модема; сброс - чтение регистра состояния модема |
Регистр управления FIFO (только для записи, только 16550+) представлен в табл.11. Для очистки буферов FIFO необходимо запретить и затем снова разрешить режим FIFO. Для задания основных параметров адаптера применяется регистр управления линией (табл. 12). Бит 7 регистра управления линией называется DLAB и предназначен для определения назначения регистров 0 и 1. Он устанавливается в единичное состояние только на время программирования делителя управления скоростью передачи.
Таблица 11. Регистр управления FIFO
Бит |
Значение |
7,6 |
Уровень заполнения FIFO-буфера, при котором генерируется прерывание (00 - 1 байт, 01 - 4 байта, 10 - 8 байт, 11 - 14 байт) |
5,4 |
Резерв |
3 |
Разрешение операций DMA |
2 |
Сброс счетчика FIFO-передатчика |
1 |
Сброс счетчика FIFO-приемника |
0 |
Разрешение («1») режима FIFO для передатчика и приемника. При смене режима FIFO буфера очищаются! |
Таблица 12. Регистр управления линией
Бит |
Значение |
7 |
DLAB. Управление доступом к регистрам адаптера интерфейса. 1 – режим программирования делителя, 0 – чтение/запись |
6 |
Формирование «обрыва линии» (вывод нулей) |
5 |
Принудительная четность (если 0, то бит паритета генерируется в соответствии с паритетом символа, «1» - всегда равен инверсному значению бита 4 этого регистра) |
4 |
Тип паритета («1»-четность, «0»-нечетность) |
3 |
Разрешение бита контроля четности («1» – формируется, «0» – запрещен) |
2 |
Длина стоп-бита («0»-1, «1»-1,5 при длине слов 5 бит и 2 при длине слова 6-8 бит) |
1,0 |
Длина слова в битах 00 - 5; 01 - 6; 10 - 7; 11 - 8 |
Бит 4 управляет типом паритета, бит 3 задает разрешение контроля паритета. Бит 2 задает длину стоп-бита. Биты 1-0 определяют длину слова. Наиболее часто применяются слова длиной 7 и 8 бит.
Регистр управления модемом позволяет управлять модемом. Назначения битов приведены в табл. 13.
Таблица 13. Регистр управления модемом
Бит |
Значение |
7,6,5 |
=0 – резерв |
4 |
«0» – нормальный режим, «1» – режим диагностики |
3 |
OUT2 инверсный (разрешить прерывания от RS-232) |
2 |
OUT1 инверсный (используется только в режиме диагностики) |
1 |
RTSC – управление выходом RTS («1» – активен (-V), «0» – пассивен (+V)) |
0 |
DTRС – управление выходом DTR («1» – активен (-V), «0» – пассивен (+V)) |
В режиме диагностики выход передатчика переводится в состояние «1», вход приемника отключается, выход сдвигающего регистра передатчика логически соединяется с входом приемника; входы DSR, CTS, RI, DCD отключаются от входных линий и соединяются с DTRС, RTSC, OUT1, OUT2 соответственно, выходы управления модемом переводятся в пассивное состояние. Переданный в таком режиме байт должен немедленно приниматься, что позволяет проверять внутренние каналы данных порта и сдвиговые регистры.
Регистр состояния линии позволяет определить состояние приемопередатчика (табл.14).
Регистр состояния модема (табл. 15) позволяет определить состояние модема. Биты 3-0 вызывают прерывание «Изменение состояния модема». «1» в любом из этих битов свидетельствует о том, что состояние линии изменилось по сравнению с состоянием на момент последнего чтения этого регистра.
Таблица 14. Регистр состояния линии
Бит |
Значение |
7* |
Ошибка принятых данных в режиме FIFO (буфер FIFO содержит хотя бы один символ, принятый с ошибкой) |
6 |
Буфер передатчика пуст (символов нет ни в регистре передатчика, ни в сдвиговом регистре, ни в буфере FIFO) |
5 |
Сдвиговый регистр передатчика пуст (буфер FIFO передатчика пуст). Может генерировать прерывание |
4 |
BD - индикатор обрыва линии (на входе приемника «0» не менее чем время посылки одного символа) |
3 |
FE - ошибка кадра (стоп-бит не найден) |
2 |
PE - ошибка контрольного бита |
1 |
OE - ошибка переполнения. Означает потерю символа (имеет аналогичный смысл в режиме FIFO) |
0 |
DR принятые данные готовы. Сбрасывается при чтении регистра приемника |
Таблица 15. Регистр состояния модема
Бит |
Значение |
7 |
Состояние линии DSD |
6 |
Состояние линии RI |
5 |
Состояние линии DSR |
4 |
Состояние линии CTS |
3 |
Изменение DSD |
2 |
Изменение RI |
1 |
Изменение DSR |
0 |
Изменение STS |