- •Казанский государственный технический университет
- •1. Интерфейсные бис
- •1.1. Параллельный периферийный интерфейс
- •1.2. Последовательный периферийный интерфейс
- •Форматы управляющих слов
- •2. Работа по прерываниям
- •– Подтверждение прерывания. Для приема сигналов подтверждения прерывания от цп. При переходе в режим прерывания цп выдает два активных импульса .
- •Кроме регистров управляющих контроллером в схему бис пкп входят:
- •1. Для инициализации бис пкп цп вводит следующие ассемблерные команды:
- •3. Прямой доступ к памяти
- •Контроллер пдп к1810 вт37
- •Контрольные вопросы и задания
- •4. Программируемый таймер к1810ви54
- •Список литературы
- •Содержание
Форматы управляющих слов
При программировании УСАПП необходимо закодировать и записать в БИС инструкцию режима и команду управления. Форматы инструкций режима для асинхронного и синхронного режимов работы показаны на рис. 1.10, а формат команды управления на рис. 1.11.
а)
б)
Рис. 1.10. Формат инструкции режима:
а) для асинхронного режима; б) для синхронного режима.
1 – разрешение
вывода
0
– вывода нет
Рис. 1.11. Формат команды управления
Инструкция режима определяет количество информационных бит, наличие или отсутствие контроля паритета, вид контроля для символа, передаваемого синхронно или асинхронно. При синхронном режиме два младших бита инструкции равны 0, два старших определяют количество символов синхронизации и режим использования вывода SYNDET – как входа или выхода. В асинхронном режиме два старших разряда определяют количество стоповых бит, два младших разряда – множитель скорости передачи или приема. В синхронном режиме скорости (в бит/сек) передачи или приема, т.е. сдвига в регистрах передатчика или приемника, совпадают с частотами синхронизации по входам ТхС и RхС соответственно. В асинхронном режиме частоты синхронизации на входах ТхС и RхС равны скорости передачи или приема, умноженной на 1, 16 или 64.
БИС УСАПП содержит регистр состояния РС, позволяющий ЦП читать состояние БИС в любой момент времени в процессе выполнения операции. Формат слова состояния БИС показан на рис. 1.12.
Рис. 1.12. Формат слова состояния
В
РС биты D6,
D2
и D1
отражают состояния соответствующих
выводов УСАПП. В отличии от сигнала на
выводе TxRDY,
на состояние бита D0
(равного 1, если РВых свободен) не влияет
входной сигнал
или бит D0
регистра команд. Биты RxRDY
и TxRDY
можно использовать для программного
ввода-вывода, а сигналы с соответствующих
выводов УСАПП можно подключить к линиям
запросов прерываний для организации
ввода-вывода по прерываниям. Бит TxRDY
автоматически сбрасывается, когда
имеется символ для передачи, а бит RxRDY
– когда установивший его символ введен
в ЦП. Бит D2
(TxE)
показывает, что регистр сдвига передатчика
ожидает загрузки символа из РВых.
После загрузки инструкции режима, символов синхронизации и команды УСАПП готов к выполнению обмена данными в одном из 5 режимов: асинхронная передача, асинхронный прием, синхронная передача, синхронный прием с внутренней синхронизацией, синхронный прием с внешней синхронизацией.
При асинхронной передаче в УСАПП загружается команда с D0=1 («разрешение передачи») и D5=1, что означает формирование устройством запроса =0 (рис. 1.11). Затем командой вывода OUT ЦП выдает в УСАПП из аккумулятора первый байт данных. Если далее на вход поступит сигнал 0, свидетельствующий о готовности приемника терминала принять данные, то принятый в УСАПП байт данных вместе со стартовым битом, битом паритета и стоповыми битами будет выдаваться на выход TxD по спаду сигнала синхронизации TxC с периодом, задаваемым инструкцией режима и равным 1, 16 или 64 периодам сигнала TxC.
Завершение выдачи символа УСАПП сигнализирует установкой бита готовности передатчика в РС (бит D0). Следовательно, окончание процесса выдачи УСАПП байта можно установить, циклически считывая из УСАПП состояние РС и анализируя значение D0. При D0=1 очередной подлежащей выдаче байт заносится в аккумулятор и командой OUT передается в УСАПП. После выдачи последнего байта данных в аккумуляторе формируется команда УСАПП, содержащая либо D0=0 (если следующий обмен данными с терминалом не потребует изменения режима УСАПП), либо D6=1 (если следующий обмен потребует иного режима УСАПП).
Если после передачи символа УСАПП не содержит информацию для передачи, то на входе TxE устанавливается сигнал 1.
При переходе в режим «пауза» (по команде с D3=1) на выходе TxD устанавливается сигнал 0.
При асинхронном приеме требуется команда УСАПП с D2=1 («разрешение приема») и D1=1, что означает формирование запроса передатчика терминала на передачу данных =0. Асинхронный прием данных начинается по сигналу готовности терминала передать данные . При =0 выполняется поиск стартового бита, который устанавливает на входе RxD сигнал 0. Наличие этого бита вторично проверяется стробированием его середины внутренним строб-импульсом. Если стартовый бит найден, то запускается внутренний счетчик битов, который определяет начало и конец информационных битов, бит контроля и стоповые биты. Прием стоповых бит сопровождается установкой бита готовности приемника RxRDY в РС (бит D1). В программе ЦП предусматривается циклический ввод состояния РС и проверка в нем значения D1. При D1=1 выполняется команда ввода IN принятого в УСАПП байта. После ввода выполняется сброс бита D1 в РС, и УСАПП принимает следующий байт из терминала. Прекращение ввода данных обеспечивается передачей в УСАПП команды с D2=0 или D6=1.
При синхронной передаче в УСАПП загружаются инструкция режима, символы синхронизации и команды с D0=1 и D5=1. Затем из аккумулятора передается слово данных. При этом следует иметь в виду, что этому первому слову данных на выходе передатчика УСАПП не предшествуют синхронизирующие слова. Поэтому это слово данных не принимается в приемник ВУ и при программировании оно может быть задано произвольно. Вывод информации передатчик начинает по сигналу =0. В остальном программа совпадает с программой асинхронной передачи.
Если ЦП не загрузил очередной символ к моменту передачи, то УСАПП вставляет в передаваемую последовательность холостые символы и формирует на выходе TxE сигнал 1, означающий пустую передачу.
В режиме синхронного приема с внутренней синхронизацией УСАПП сравнивает записанные в него синхросимволы с принимаемыми символами и при совпадении устанавливает сигнал 1 на выходе SYNDET. При этом в РС бит D6 устанавливается в 1. После записи в регистр приемника принятого символа бит D1 в РС устанавливается в 1. В программе ЦП предусматривается циклический ввод в ЦП состояния РС и проверка в нем бита D6. При D6=1, продолжая циклический ввод состояния РC, ЦП проверяет значение D1. При обнаружении D1=1 байт данных, принятый в УСАПП, передается в аккумулятор. Дальнейшее в алгоритме аналогично схеме алгоритма асинхронного приема.
Для установки УСАПП в режим синхронного приема с внешней синхронизацией необходимо в инструкции режима предусмотреть D6=1. Тогда вывод SYNDET интерпретируется как вход, на который подается сигнал от терминала, разрешающий прием символов данных на входе RxD со скоростью синхросигналов на входе RxC. Процесс программирования для работы в УСАПП тот же, что и в предыдущем режиме.
В процессе работы УСАПП в РС формируется три флага ошибок. Они не прерывают работу УСАПП и сбрасываются по команде УСАПП с D4=1. Разряд ошибки кадра (D5) устанавливается в 1, если в конце посылки не обнаруживается стоповый бит. Разряд ошибки переполнения (D4) устанавливается в 1, если ЦП не прочитал символ перед приемом в РВх следующего символа. Установка разряда ошибки паритета (D3) происходит при обнаружении в принимаемом символе ошибки нечетной кратности.
Контрольные вопросы и задания.
Укажите на различия в передаваемой информации при работе УСАПП в асинхронном и синхронном режимах.
Укажите назначение портов ввода-вывода УСАПП. Какие операции выполняются при обращении ЦП к УСАПП по четному адресу и по нечетному адресу?
Укажите назначение сигналов квитирования обменов (ввод и вывод) УСАПП с ВУ.
В регистр режима УСАПП введена инструкция режима следующего содержания <11001101>. Расшифруйте эту информацию.
В регистр команд УСАПП введена команда следующего содержания <00100001>. Расшифруйте эту информацию.
Какие ошибки при передаче данных через УСАПП может определить и проанализировать ЦП?
Для УСАПП выделен диапазон адресов (60-61)H. Что означает выполнение следующих команд:
mov AL, 11101101B
out 61H, AL
mov AL, 00000110B
out 61H, AL
Какую информацию несут передаваемые в УСАПП байты?
8. Для УСАПП выделен диапазон адресов (60-61)H. Что означает выполнение следующей команды:
in AL, 61H ?
Прочитанный ЦП байт имеет следующее содержание <00000001>..
О чем это сообщение?
9. Как организовать прекращение УСАПП ввода данных из ВУ ?
10. Приведите алгоритм асинхронного вывода данных из УСАПП.
