Й.Янсен Курс цифровой электроники. Том 4. Микрокомпьютеры (1987) (1092084), страница 40
Текст из файла (страница 40)
5.2. Программатор СППЗУ СППЗУ представляет собой ППЗУ с так называемым плавающим затвором, которое можно перепрограммировать (репро« граммнруемое ППЗУ) после ультрафиолетового облучения кристалла. Структура н работа СППЗУ рассматрнвались в гл. 2 т. 3.
Иесколько СППЗУ типа 2708 (объем 1024 байт) применялось Схвмы ввода и вывода в системе с МП 8085А (см. гл 4 настоящего тома). Для программнровання этих СППЗУ с помощью отладочного комплекса разработа- икоексцикии ~ос- к ны специальные схемы н программы. Как известно, битовую ячейку СППЗУ нельзя запрограммировать с помощью одного импульса программатора. Прн подаче мощного одиночного импульса можно превыснть допустимую мощность, рассенваемую этой ячейкой, н разрушить ее.
Поэтому для практнчес- и и+~ кого программирования ячеек СППЗУ используется, например, 100-кратное повторение короткого импульса с достаточно большими и=юогц Г паузами, в течение которых успевает произойти термоднсснпацня соответствующей электрической мощности. Этот режим реализуется для к~к-~ всех 1024 слов СППЗУ, т. е. запнсь повторяется для каждого слова 100 раз, как показано на рнс. 5.3. Прн каждом прогоне програм- «=о и мы, т. е.
прн каждом повторении цикла, плавающий затвор получает небольшой отрицательный заряд; после 100 циклов заряд в элементе памЯти смещаетсЯ настолько, чтОРпс БД, Блок-схема пРогРаммы. этот элемент оказывается в опреде-упрпппяюше» прогрпммпроппппем ленном состоянии. СППЗУ. Для заполнения ячеек СППЗУ можно использовать программу пересылкн (см. гл. 3). Те байты в ЗУПВ/ПЗУ-нмнтаторе, которые содержат пересылаемую программу, выбираются нз ЗУ один за другим, получают новые адреса н затем пересылаются в СППЗУ.
Прн этом одновременно должен появляться н пмпульс программатора. Так как длительность этого импульса управляется соответствующим циклом в программе н в течение этого времени адреса н данные должны стабильно поступать на входы СППЗУ, для временного хранения данных н адресов потребуются регистры, которые должны обеспечивать сннхронность выполнения указанных операций. Для адресации требуется 10-разрядный регистр (1024 адреса=2"), а для храненнн Глава Ю данных — 8-разрядный регистр. Эти регистры загружаются с шины данных с помощью соответствующих программ. Далее в СППЗУ передаются импульс разрешения на запись (%Е) и импульс программатора; для этого в регистре используются два бита. Как уже отмечалось выше, длительность импульса программатора определяется циклом в сервисной программе.
После того как программа входит в этот цикл, запускается триггер программатора, а когда программа выходит из указанного цикла, триггер сбрасывается в нуль. Таким образом, для хранения данных, которые пересылаются в СППЗУ, требуется 20-разрядный регистр, который загружается с шины данных с помощью последовательного набора определенных команд. Одним из подходящих для этой цели регистров является ИС 8255А, программируемый периферийный интерфейс с тремя 8-разрядными регистрами А, В и С. Биты регистров А и В загружаются в течение одного шага считывания. Биты регистра С загружаются с помощью специальных программ, что позволяет в определенные моменты времени получать с помощью этих изменяющихся битов импульсы тт'Е и программатора, не меняя остальные биты регистра С.
Биты адреса и данных в регистрах А и В и часть битов в регистре С, хранящиеся во время программирования одного байта, можно передавать непосредственно в СППЗУ 2708. Импульсы выборки н программирования имеют разные уровни напряжения и поэтому их необходимо пересылать в СППЗУ, используя специальные буферы на дискретных транзисторах. Эти буферы преобразуют ТТЛ-уровни напряжения на выходах С-регистра в требуемые уровни напряжения переключения для СППЗУ 2708. 5.3.
Программируемый интерфейс типа 8255Ао На рис. 5.4 приведена блок-схема этого интерфейса. В правой части схемы находятся указанные выше регистры А, В и С, причем регистр С разделен на две группы по 4 бит в каждой. Режим работы этих регистров как при вводе, так и при выводе данных определяется содержимым управляющих регистров группА и В.
Перед началом работы с помощью команды вывода ИС 8255А сообщается, в каком режиме будут работать указанные регистры. Эти данные хранятся в управляющих регистрах как группы А, так и группы В. Очевидно, что перед заполнением регистров и считыванием данных из них через общую шину данных нужно послать определенную управляющую информацию относительно того, что именно планируется. Эти операции выполняются с помощью о Функпнональныв аналог отечестаенной ИС КР 680ИК66.— Прим. рвд. Схемы ввода и вывода управляющей логики чтения-записи, показанной в левой нижней части рис. 5.4, а.
Между шиной данных МП и внутренней шиной данных ИС 8255А находится двунаправленный буфер, который соединяет обе шины в обоих направлениях и, если требуется, отсоединяет их друг от друга. Управляющая логика, которая указывает регистры, предназначенные для пересылки данных, и задает направление пересылки, получает необходимые сигналы из микроЭВМ. В таблице, приведенной на рис. 5.5, показано, какие сигналы МП используются для этой цели и какие пересылки возможны, когда возникают определенные комбинации битов. Указанные на рисунке биты АО и А1 являются адреснымн битами АВИЗО и АВБЯ1, которые входят в состав второго байта команд чтения и записи ЗУ. К11(Ц, %К(Ц и СВ(Ц являют- уо -айа о РС4 /о -рсо уо -гво Рпс. 5.4.
и-блок-схема программвруемого первферпйвого пвтерфейса типа Зйвбй; 6 — реывмы работы схемы; е — МЭК-спмвол ИС бйббп. Ф 1 ' Ф Ф Ф Ф $ Глава о Шина адресов Шони управления уьмим О РА7-РАО РВ7-РВО РОВ РСО РС7-РС4 Ревам! Управление РА7-РАО или ввод- вывод РВ7-РВО Управление или ввод- вывод Режим 2 унаправлен- я вона РА7-РАО Улравленое 1Б) Рис. ВЛ ~пролоижеиие). ая управляющими сигналами, которые микроЭВМ вырабатывает в нормальном рабочем режиме при выполнении команд чтения и записи ЗУ и команд ввода-вывода данных.
Как видно из таблицы, управление всеми реуистрамн, включая управляющие регистры из групп А и В, осуществляется управляющей логикой. Связь микроЭВМ с ИС 8255А осуществляется при помощи аигнала выбора кристалла (ЗУ). В программаторе СППЗУ АОВ = адрес Роов= шина данных (в) Риа. 5А (продолженне). 238 Глава б ЯР)Ц АЦН) АО(Н) УГЯ)ь) СЗЦ) Оперения Ввод (чтение) Порт А — Шина данных Порт  — Шина данных Порт С вЂ” Шина данных Вывод (запись) Шина данных — Порт А Шина данных — Порт В Шина данных е- Порт С Шинз данных в- Управа.
рег. Отключение Х ! Шина данных — 3-е состояняе Недопустиыое условие Шина данных — ~ 3-е состояние Х О Х 1 Х 1 1 Х вЂ” яеопрехепеаяое состояяяе. Рис. 5.5. Таблица истинности сигналов управления пересылкой данных в регистры/порты ИС 8255А. связь реализуется через порты ввода-выяода, так как команды ввода-вывода содержат сигналы К))(Ь) и ФК(Ь), тогда как сигнал СБ(Ь) определяется битом П7, который программируется во втором байте команды ввода-вывода. Перед началом операции по пересылке данных необходимо считать информацию с управляющих регистров групп А и В. Как уже отмечалось выше, это делается в СППЗУ-программаторе с помощью команды вывода, во втором байте которой каходится битовая конфигурация О7...ПО=1000 0011.
Для управления сигналом СБ(Ь) предназначен бит 1)7. Р7(Н) переводит АВЫ87 в состояние 1, а АВЫ$7 инвертируется и обеспечивает СБ(Ь). Таким образом, спомощьюкоманды вывода в ИС8255А пересылается управляющая информация ввидеслова, содержащего данные о режиме работы. Это слово необходимо ввести в аккумулятор А. Описание содержимого аккумулятора дается в соответствии с форматом слова описания режима (рис.
5.6). Флажковый бит режима 1)7 при вводе указанного слова должен быть равен 1. Если этот флажковый бит равен О, то, как будет Схемы ввода и вывода Уоровхвюше: ыыо Рис. 8.6. Формат управляющего слова описания режима работы ИС 828БА. показано ниже, управляющее слово с информацией о режиме будет содержать двоичный номер бита в регистре С, который должен быть модифицирован, т. е. переведен в состояние О или 1. С помощью битов В2 и Раб в управляющем слове можно выбрать три режима'1. В режиме О обеспечивается описание назначения определенной группы портов из группы А или группы В (см.
рнс. 5.6). При этом каждый порт может использоваться в качестве порта и Режим Π— простой ввод-вмвод; режим 1 — стробируемый ввод-вывод, режим 2 — двунаправленная передача данных. — Прим. рвд. я4о Глава з ввода или порта вывода. Порты вывода работают все время в запоминающем режиме (фиксации), а порты ввода — без запоминания передаваемых данных. В этом режиме может быть 16 различных конфигураций ввода и вывода данных. В частности, для СППЗУ-программатора используется режим О. В режиме 1 описание назначения в управляющем слове сохраняет свое действие и для соответствующей группы регистров. 8-разрядные порты данных А и В используются как порты ввода-вывода, однако здесь они и при вводе, и при выводе информации работают в запоминающем режиме (фиксации), т.
е. являются регистрами. 4-разрядные порты С„и С, используются для управления и считывания состояния 8-разрядного порта данных. Управление и индикация состояния регистров позволяют осуществить режим квитирования. Как видно из рис. 5.6„ в режиме 2 порт А работает как порт ввода-вывода двунаправленной шины; пять битов порта С используются в целях управления. Указанные порты работают в запоминающем режиме (фиксацин) как прн вводе, так и прн выводе данных. 5-разрядный управляющий порт С используется для управления и передачи сообщения о состоянии 8-разрядного порта А двунаправленной шины.
С помощью управляющей команды из микроЭВМ с управляющим словом, помещенным в А (аккумулятор), можно точно указать ИС 8255А, как будут использованы имеющиеся порты. При каждом изменении режима или сбросе в нуль эту команду необходимо всегда передавать первой. Как уже отмечалось выше, биты регистра С можно сбрасывать в нуль или переводить в состояние 1 по отдельности. Эту команду также можно обеспечить, передавая управляющее слово на шину данных, однако для этого необходимо сбросить в нуль флажковый бит Р7 в отличие от рассмотренной выше конфигурации управляющего слова с функциональной спецификацией регистров, где бит 07= 1.
Биты Р1, Р2 и РЗ представляют двоичный номер бита порта С, тогда как бит РО указывает в какое состояние (О илн 1) должен быть установлен выбранный бит (рис. 5.7). Как уже отмечалось, ИС 8255А обычно используется в качестве СППЗУ-программатора в режиме О. Порты А, В и С выполняют роль регистров вывода, что соответствующим образом отображается в управляющем слове, содержащем информацию о режиме работы устройства. Это означает, что управляющее слово состоит из Р7=1 н нулевых остальных битов (см. рнс. 5.6).
Это слово загружается в аккумулятор А н затем пересылается вместе с командой вывода в управляющий регистр. Прн этом второй байт команды вывода в соответствии с рис. 5.5 должев Савам вводи и вееводи Улааеляллаее слала Рис. 6.7. Структура управляющего слова для устаиовки1сброса битв в ИС 82ббА. содержать биты 1000 0011 (см. также рис. 5.8, где приведены коды для выбора регистров А, В и С).