- •Лабораторная работа №1
- •Справочные данные.
- •Задание на выполнение лабораторной работы.
- •Лабораторная работа №2
- •Справочные данные
- •Система ветвления
- •Арифметические операции
- •Лабораторная работа №3
- •Справочные данные
- •Лабораторная работа №4
- •Справочные данные Описание модуля интерфейса mdpif1-0 (midicontrol)
- •Аппаратное квитирование
- •Программное квитирование
- •Структура посылки
- •Возможные сообщения об ошибках
- •Ошибка кадровой синхронизации
- •Ошибка превышения темпа
- •Программные операции
- •Инициализация
- •Пример инициализации
- •Регистр состояния
- •Замечание: Для tty биты 5и 6 не определены. Регистр данных
- •Передача символа
- •Прием символа
- •Лабораторная работа №5
- •Справочные данные
- •Команды для работы с индексным регистром
- •Лабораторная работа №6
- •Справочные данные
Ошибка кадровой синхронизации
Ошибка кадровой синхронизации имеет место, когда приемник интерфейса не обнаруживает стоп-бита в конце символа (например, когда сильные помехи на линии влияют на стоп-бит).
Ошибка превышения темпа
Если полученный символ не читается из регистра данных до получения следующего символа, то генерируется ошибка превышения темпа. Пришедший следующим символ будет не верен.
Программные операции
Программные операции с последовательным интерфейсом реализуются с использованием следующих регистров:
- программный регистр;
- командный регистр;
- регистр состояния;
- регистр данных.
Таблица 4.6. Адреса регистров
Регистр |
MIDICONTROL |
MINICONTROL |
COMPACT |
Программный регистр |
P 0x4 |
P 103 |
P 103 |
Командный регистр |
P 0x5 |
P 102 |
P 102 |
Регистр состояния |
P 0x6 |
P 101 |
P 101 |
Регистр данных |
P 0x7 |
P 100 |
P 100 |
x ... номер слота, в который установлен PIF-модуль
Инициализация
При инициализации программный и командный регистры загружаются определенными заранее выбранными числами. Это определяет скорость обмена информацией, формат данных, четность и т.д. Инициализация выполняется только один раз сразу после включения или перезагрузки. Для изменения состояния линий квитирования RTS и DTR командный регистр может быть изменен в любое время. Формат данных регистров представлен в таблице 4.7.
Таблица 4.7. Форматы программного и командного регистров модуля интерфейса MDPIF1-0 и TTY
Программный регистр Бит 7
Биты 5..6
Бит 4
Биты 0..3
|
SB число стоп-битов 0 ... 1 стоп-бит 1 ... если DB=5 и нет четности, то 1.5 стоп-бита если DB=8 и четность, то 1 стоп-бит, иначе 2 стоп-бита
DB число битов данных 00 ... 8 битов данных 01 ... 7 битов данных 10 ... 6 битов данных 11 ... 5 битов данных 0/1 (для MIDICONTROL) 1 (для MINICONTROL) BAUD бодовая скорость 0001 ... 50 0010 ... 75 0011 ... 109.92 0100 ... 134.58 0101 ... 150 0110 ... 300 0111 ... 600 1000 ... 1200 1001 ... 1800 1010 ... 2400 1011 ... 3600 1100 ... 4800 1101 ... 7200 1110 ... 9600 1111 ... 19200 |
Командный регистр
Биты 6..7
Бит 5
Бит 4
Бит 3
Бит 2 Бит 1 Бит 0
|
PAR четность
00 ... проверка нечетности 01 ... проверка четности 10 ... бит четности устанавливается при передаче 11 ... бит четности сбрасывается при передаче P четность on/off
0 ... нет теста на четность, бит четности не генерируется 1 ... активизируется тест на четность
E режим эхо
0 ... режим эхо отключен 1 ... режим эхо подключен (RT должно быть равно 0)
RT линия RTS
0 ... RTS «высокий», не готова к приему 1 ... RTS «низкий», готова к приему 0 0/1 DT линия DTR 0 ... DTR «высокий», не готова к приему 1 ... DTR «низкий», готова к приему
|
Замечание: В командном регистре для TTY (MINICONTROL) должны быть:
Бит 0 - 1 Бит 1 - 1 Бит 2 - 0 Бит 3 - 1.
Линия RTS может переключаться в любой момент из состояния «низкий» в состояние «высокий» (от 1 к 0). Переключение линии квитирования приводит к немедленному закрытию интерфейса передатчика, а также интерфейса приемника после приема текущего символа. Для избежания потери данных линия DTR должна переключаться только после полной передачи символа (смотри бит 4 в регистре состояния).