Й.Янсен Курс цифровой электроники. Том 4. Микрокомпьютеры (1987) (1092084), страница 41
Текст из файла (страница 41)
После передачи управляющей информации данные и адрес можно переслать в три приема в регистры А, В и С. Место назначения соответствующих байтов указывают два младших битв во втором байте команды вывода, равные 00 для порта А, 01— для порта В и 10 — для порта С. При выполнении программирования СППЗУ на четвертом шаге биты РО и Р1 загружаются значениями адресных битов А8 и А9 так, чтобы в результате был получен 10-разрядный адрес, необходимый для выбора 1024 ячеек СППЗУ. Мы еще вернемся к этому вопросу прн обсуждении программы загрузки СППЗУ. Через одну шину данных в четыре приема передается вся информация, соответствующая данным и адресам, которая необходима для перехода к программированию какого-либо слова в СППЗУ. Сначала ИС 8255А (все порты которой являются регистрами вывода) сообщается как планируется ее использовать„ а затем с помощью набора команд вывода передается информация о данных и адресах.
5.4. Операции в режимах 1 и 2 Хотя при выполнении программирования СППЗУ эти режимы и не применяются, они представляют определенный познавательный интерес. В режиме 1 можно использовать порты А и В как в качестве входных, так и выходных регистров. Мы говорим «регистрыв, потому что данные в этом случае будут запоминаться в регистрах-фиксаторах. Четыре бита из регистра С бу- Управляющее слово описпния ремимаработы А )ООО ОООО Управляющий регистр к. да: г0000000 дгз, 20де= 700000П2 Т Са П- управляющий регистр А Данные Порт А Команда: Данные дгде 200 е= 1000 0000х Х Са ОО-порт А А Адрес-8 бшп Порт д Команда: Адрес, 8 бит дгда гог,=~000 000~, СБ 01- парт В А Адресные биты А9, Порт С л— команда: А9 Ад 828, 2028= ~000 00!02 Са 10=парт С Рис.
5.8. Часть алгоритма, который описывает пересылку управляющей в адресной информацви, а также данных в ИС 8255А. Сдемы ввода и вывода дут переданы в регистры А и В в качестве битов управления и состояния соответствующих портов данных (рис. 5.9). Бит РС4 порта С является стробируемым входом, с помощью которого в регистр А загружается информация в режиме ввода. При этом порт А должен быть указан в качестве входного регистра.
Бит РС5 является битом состояния, который сообшает, что данные загружены в регистр А. В действительности этот бит содержит информацию о заполнении буферного регистра А, откуда и возникло его наименование 1ВГ (1прШ Вп((ег Рп1!— входной буфер заполнен). Бит 1ВР переводится в состояние 1 сигналом БТВ(1.) (строб) при загрузке регистра из периферийного устройства и сбрасывается в нуль, когда микроЭВМ считывает данные с помощью команды Кв((1). Ремим ( (пора Д( зтвд(~.) (Врд (о Режим ((пора в) мв, ((1 !врв !яти е (п) Рис. 5.9. Примеиеиие ИС 82%А и режиме 1.
о ввод двввыв; б — вывод двввыв. Глава о Бит РСЗ предназначен для прерывания микроЭВМ после поступления запроса от периферийного устройства. Этот бит РСЗ (1ХТК) устанавливается в состояние 1 после приема стробнмпульса; при этом активизируются биты 1ВР (регистр заполнен) и 1НТЕ (разрешение прерывания). Бит РСЗ сбрасывается в нуль задним фронтом импульса Ю(1.). Эта процедура позволяет устройству ввода передать запрос на обслуживание путем односторонней пересылки данных в регистр под управлением строб-импульса.
Триггерами, вырабатывающими разрешения прерывания 1НТЕ А и 1ХТЕ В для порта А и порта В соответственно, можно управлять, переводя в состояния О и 1 биты РС4 и РС2 порта С (см. рис. 5,7). На рнс. 5.9, а показано, как должно выглядеть управляющее Режим 1(норм А азгд(ь) дскд(ь) 1ВТВА Режим У(порт В Овгз О.) АсКн(» 1иткз (б) Рис. З.9 (продолжение). Сквмы ввода а вывода слово, если в режиме 1 использовать оба регистра в качестве портов ввода, как было описано выше. Если порты А и В работают как порты вывода, можно использовать РС7 для установления контакта с внешним устройством, которое загружает регистр А. (ОВР(1.) — ОШрпг Вийег Рп1! — выходной буфер заполнен, активизируется на (.-уровне.) ОВР-триггер устанавливается в состояние 1 передним фронтом сигнала %К(1.) и сбрасывается сигналом АСК(Е).
Сигнал АСК(Ц появляется в тот момент, когда происходит передача данных в соответствующее внешнее устройство, т. е. потверждается прием данных устройством вывода. После этого регистр будет подготовлен для нового заполнения. Поэтому ОВР-триггер следует сбрасывать в нуль. 1ХТК-входные биты РСЗ и РСО можно использовать для преРывания микроЭВМ после того, как внешнее устройство приняло данные, посланные из микроЭВМ. При этом микроЭВМ может подготовить и передать новые данные. 11ЧТК переходит в состояние 1 после того, как деактнвизируются сигналы АСК(1.) и ОВР(1.), т. е. после того, как порт освободится и внешнее устройство примет данные.
Здесь необходимым условием является переход 1Е-триггера в состояние 1. Триггер запроса прерывания устанавливается в состояние О сигналом %К(1.), и в соответствующий регистр передаются новые данные для пересылки в периферийное устройство. В режиме 2 возможна двунаправленная передача данных, однако только через порт А. При этом фиксируются как вводимые, так и выводимые данные. Порт С вновь используется в качестве регистра управления/состояния сигналами ввода-вывода ОВРк(1.), АСКк(1.), БТВк(Ц и 1ВРв (рис. 5.10).
Сигнал ОВР(Е) активен, если регистр А заполнен данными из мик- роЭВМ. Если периферийное устройство готово к приему данных, то сигнал АСКк(1) дает разрешение тристабильным буферам регистра А и триггеры регистра будут подключены к внешней шине данных. Если сигнал АСКв(1.) не активен, то выходы буферов переходят в отключенное состояние. 1ХТЕ-триггер можно повторно установить в состояние 1 с помощью команды ЯЕТ/КЕБЕТ. 1ХТК» (разрешение прерывания) возникает повторно под действием сигналов 1ХТЕ1 и АСКк(Е) при выводе данных или под действием сигналов 1ХТЕ2 и ЗТВк(Ь) при их вводе. Дело в том, что при выводе данных периферийное устройство производит выборку данных с помощью АСК(1.), после чего может произойти новая передача данных.
В режиме ввода периферийное устройство вводит данные во время действия сигнала БТВ и тогда же микроЭВМ производит их выборку. Возможны также и другие комбинации, такие, например, как совместное использование режимов 0 и 2, которое обеспечивает- Глава 5 248 Улравллюсиее алово Ос Об ОБ Ов ОЗ О2 ОС ОО !Нтн А РС2-РСО с-ввод 0-вывод А(С) АЮ РОНТ В -ввад 0-вывод Режимы груллы В 0-режим 0 с-режим с !/О Рис. 5ЛО, Применение ИС 8255А н режиме 2 (даунапрааленная пересылка через порт А). ся с помощью закодированного управляющего слова. Если теперь вернуться к СППЗУ-программатору, то будет интересно выяснить, какое именно аппаратурное обеспечение требуется использовать для связи микроЭВМ с СППЗУ.
С этой целью рассмотрим рис. 5.11. Шина данных 1)В(380 — РВ1337 связана с входами данных 1)0 — П7 ИС 8255А, что позволяет микроЭВМ загружать тря регистра ИС 8255А. Для выборки управляющего регистра — А, В и С вЂ” необходимо переслать в 8255А содержимое АВ()80, АВ1)31 и АВ1332. АВ(350 и АВБ51 указывают регистр, а АВ()37 обеспечивает сигнал СЯ(Е). При этом чтобы сигнал СБ(1) стал активным, необходимо инвертировать АВ()57„т. е. седьмой бит во втором байте команды ввода-вывода. Эту операцию осуществляет инвертор типа 745504.
Выходы регистров РАп связаны с выводами данных на корпусе СППЗУ, а выходы регистров РВп н РСО, РС1 — с адресными входами СППЗУ. Как уже отмечалось ранее, для обеспечения выборки 1024 ячеек СППЗУ требуется 10 бит. РС4 производит выбор %Е(Н)/СЗ(1.), а РС5 служит для формирования импульса программатора. Уровни напряжения обоих сигналов необходимо преобразовать в уровни, применяемыепри управлении СППЗУ, т.е.
амплитуду %Е(Н)/С$(1.)- сигнала необходимо преобразовать в диапазон 0 — 12 В, а амялитуду импульса программатора в диапазон 0 — 26 В. Для управления СППЗУ требуются также сигналы 10сс(1) 247 Схема/ ввода а вывода н 10%(1). Сигнал 10%(1.) обеспечивает ввод данных нз мнк- роЭВМ в ИС 8255А во время записи в СППЗУ, а 10К(1) — счнтыванне внешних данных нз СППЗУ в режиме проверки. Для проверки содержимого данных в СППЗУ имеется отдельная программа, которая будет рассмотрена ниже. Сброс регистров в нуль производится с помощью внешнего переключателя. Этот переключатель можно не использовать, если сигнал сброса вырабатывается самбй микроЭВМ.
5.5. Временная диаграмма, применяемая прн программировании ИС 2708 СППЗУ типа 2708 программируется в соответствии с временной диаграммой, показанной на рнс. 5.12. Процесс программнровання начинается с подачи импульса СЗ/)А/'Е н указания .Юд Вгипг А9051(н) ЛВО51 Е ви н 09 к АВ057/о 12 АВО57Ф г 741504 юи)1 зг Сблаго/Ю) ЗВ ОВОЬО Н) и Ао А) и„ 2 АЗ Окг 45 А О Ок /ю ювм 0% 49 Орпгр ОППЗУ мод СЕЮ/ИЕ )Адрес Земля Прогр мми С5 руепмй яо лер ф Лос й „илмепфеОс ие М8255А сброс м Юмф +58 104мкф 14 АО В/И 58 45 8 /О ми/Р гг 14 А9 15 9 Вгм 5,6 -58 и ИЕН ВК и ;0 Маркироекп е еод г 2И7227 2И2905 о, ОВОЬ г 44 И приме иена екаде е оп. сгламикпе я с лсмоммо ерамиеескпгп пкделсамори ддмн61 ая ле лооизео апеа сломе /ек1ав,/пип224.3344.00-0602 24.м лоранса я оп- маля ис27оь) Нмп лес л аг ам 2 кам 2И 904 о/м ф КЕР 741504 , Ю«ам 6-) .25 74ЫОЯ Ммиф /пка гнгВОЕ 5 а 9 ер.
/ Ю м о 2и2222 55/стие 4 ВЗЗко 2 7М/ 4 ЮОО И2222 500м )Зн/Р 2И2222 )Н) Зкаи 10 ам З.З гиггм 3,6 «Ом 3,3 ком )07 Маркиооека емкпдоа 8255А Рис. 5.11. Программатор СППЗУ. а — схема; б — аппарагурное исполнение. РА4 РАВ РА6 РА7 ин сбопс 00 ы 02 оЗ 04 05 Ои 07 О 051 Р86 РВ5 РВЯ РВЗ О 0805 -( Глава 8 248 (б) Рне, 8.11 (продолжение). нулевого адреса.
После задержки на время 10 мкс можно дать. разрешение генерации импульса программатора. Этот импульс. должен иметь длительность 0,1 — 1,0 мс в зависимости от числа циклов, которое предварительно устанавливается. Требуемое. число циклов И является функцией длительности импульса Ьж в соответствии со следующей формулой: У Х 1ру ) )100 мс. Если выбрать число циклов программирования ИС 2708 равным 100, то длительность импульса будет равна 1пп=1 мс.