Описание
компьютера Радио-86РК
|
Журнал
РАДИО
|
ЗАПИСЬ ИНФОРМАЦИИ В ОДНОКРАТНО ПРОГРАММИРУЕМЫЕ ПЗУ.
Прежде всего авторы приносят свои извинения за ошибки, допущенные в предыдущей статье "Радио-86РК" - программатор ПЗУ"*. В интерфейсе программатора были применены следующие микросхемы: К555ЛЕ1 (DD1), К155АГ1 (DD2), К589АП16 (DD3, DD4). К561ПУ4 (DD5, DD6). Кроме того, не все читатели смогли по мнемоническим адресам определить точки подключения программатора к процессорной плате. Сигнал READY следует снимать с вывода 3 микросхемы D1 STSTB - вывод 7 D1, ROMSEL - вывод 10 D11, RD - вывод 3 D5.1.
Репрограммируемые ПЗУ (РП3У) с возможностью стирания информации, наряду с упомянутыми выше достоинствами, имеют и ряд - существенных недостатков. Главный из них - значительное (250...500нс.) время доступа к информации, препятствующее их применению а комбинационных логических устройствах, в качестве "заказных" шифраторов и дешифраторов, а также для хранения программ и данных в микропрограммных процессорах повышенного быстродействия, например, на базе микропроцессорных комплектов К1802 и К1804.
Для этих целей [11] больше подходят однократно программируемые БИС ПЗУ (ППЗУ), выполненные по ТТЛ или ТТЛШ технологиям. Наиболее распространенные типы ППЗУ приведены в табл.1. Запоминающие элементы этих микросхем представляют собой плавкие перемычки, расположенные на кристалле в виде матрицы, аналогичной матрице запоминающих элементов РПЗУ.
В режиме чтения информации из ПЗУ наличие или отсутствие перемычек определяет, какое значение битов данных будет считываться из ПЗУ. Естественно, что до программирования все перемычки в матрице целы и по любому адресу считываются одинаковые данные (какое именно значение соответствует незапрограммированной микросхеме указано в табл.1).
В процессе программирования специальный узел, расположенный на кристалле БИС, прикладывает к отдельным перемычкам напряжение, достаточное для их разрушения (пережигания). Импульс тока, разрушающий перемычку, обычно имеет длительность порядка десятков микросекунд, поэтому быстрое испарение материала перемычки скорее напоминает взрыв. Для разрушения перемычки необходима целая пачка импульсов, в которой первые ее только разогревают и, лишь последний -- пережигает. Материал разрушенной перемычки оседает рядом на кристалле, а так как все ее размеры измеряются долями микрона, то видимых снаружи изменений в микросхеме не происходит. Чем за более короткие промежутки времени будет "взорвана" перемычка, тем менее вероятен процесс самопроизвольного ее восстановления, поэтому во многих алгоритмах программирования время приложения к перемычкам импульсов тока колеблется от 1 до 100мкс. Самовосстановление происходит быстрее при повышенной температуре, поэтому для большинства ППЗУ рекомендуют произвести электротермотренировку, включив микросхемы в режим чтения информации при температуре корпуса 120...160° С на несколько суток, а затем проверив правильность записанных данных. Эта операция необходима, если к аппаратуре, в которой будет работать ППЗУ, предъявляются повышенные требования по надежности. В радиолюбительских условиях от этой трудоемкой операции можно отказаться.
Процедура записи информации состоит из циклов, в каждом из которых можно пережечь только одну перемычку, т. е. в отличие от РПЗУ, в одном цикле нельзя программировать целое информационное слово (4 или 8 бит в зависимости от типа ППЗУ). Для пережигания перемычки на адресных входах микросхемы устанавливают код адреса, напряжение питания Upr повышают до 12...18В, а на один из входов выборки кристалла CS микросхемы, управляющий в режиме программирования работой узла записи, подают напряжение на 2В выше напряжения питания Upr (для К155РЕЗ, К556РТ4) или высокий ТТЛ уровень (для остальных типов ППЗУ).
Одновременно на один из выходов микросхемы, соответствующий программируемому разряду, подают импульс тока амплитудой 100...200мА. После окончания импульса переходят в режим чтения информации из ППЗУ и проверяют, запрограммирован ли соответствующий бит. Если перемычка не разрушилась, цикл программирования повторяют еще разумное число раз (обычно 100-1000). При удачном программировании переходят к пережиганию перемычек, соответствующих остальным битам информационного слова, а затем - к программированию слов по следующим адресам.
Практическая схема модуля, предназначенного для записи информации в ППЗУ, перечисленные в табл.1, приведена на рисунке. Он содержит транзисторные ключи, через которые напряжения программирования поступают на выводы БИС. Все ключи идентичны и имеют ограничение выходного тока на уровне 150...200мА. Модуль подключают к интерфейсу программатора [22].
В режиме чтения информации и в паузах выходы передатчиков шинных формирователей DD3, DD4 (см.[2] находятся в высокоимпедансном состоянии, поэтому транзисторы VT1, VT2 закрыты. При выполнении цикла WR микропроцессор переводит формирователи в активное состояние, поэтому открываются транзисторы, подключенные к тем разрядам формирователей, по которым передается "низкий" логический уровень, т. е. 0 в соответствующих битах записываемого байта.
Длительность цикла WR задается так, как уже описано в [2], причем в модуле для ППЗУ нет дополнительного времязадающего конденсатора, поэтому длительность перевода МП в состояние ожидания готовности (т. е. длительность импульса WR) составляет около 50 мкс. Выбор такого значения оптимален для надежной записи информации, а также позволяет не отключать регенерацию изображения на экране телевизора в процессе программирования.
На плате модуля расположены элементы, показанные на рис.1, а также панели для установки программируемых микросхем, на которые разведены сигналы разрядов адреса, данных и программирующих импульсов в соответствии с табл.2.
Выпускаемые микросхемы ППЗУ с плавкими перемычками имеют нормируемый коэффициент программируемости. Это означает, что в произвольно взятой микросхеме некоторые перемычки "взорвать" не удастся. Если микросхему невозможно запрограммировать при номинальном напряжении программирующих импульсов (Upr=12,5В) в качестве крайней меры можно попытаться повысить напряжение Uпит до 15-20В и повторить процесс программирования. В некоторых случаях такой прием позволяет запрограммировать дефектную микросхему, однако, к сожалению, в других ячейках ППЗУ при этом информация может исказиться.
ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ ППЗУ.
Поскольку ППЗУ с пережигаемыми перемычками находят более разнообразное применение в радиотехнической аппаратуре, а ошибки при их программировании обходятся дороже, для подготовки и записи информации в них необходимы более совершенные технологические программы. Одним из таких пакетов программ являются ЭКРАННЫЙ РЕДАКТОР ПАМЯТИ и блок программ управления программатором, коды которого приведены в табл.3. Программа написана специально для "Радио-86РК" и позволяет просматривать, редактировать, копировать и заносить информацию в программируемые ПЗУ, проводить поиск слов и байтов, переставлять нибблы в байтах данных (ниббл-4 бита), а также осуществлять целый ряд вспомогательных операций.
После ввода и пуска с адреса 0000Н программа запрашивает у МОНИТОРА верхнюю границу области ОЗУ и перегружается туда перемещающим загрузчиком. В этой области она "захлопывается" и выводит на экран адрес SSSS, по которому можно запустить перегруженную копию программы. Если в ОЗУ не загружать других программ, запуск пакета можно произвести и с адреса 0000Н. Одновременно загрузчик резервирует для буфера, программатора область ОЗУ объемом 2 Кбайт (табл. 4). Размер области (Кбайт), резервируемой для буфера, хранится в ячейке 12Н загрузчика. После перемещения пакета в компьютер можно загружать любые программы, обладающие свойством самонастройки на память - они не будут портить друг друга в процессе работы.
Запустив программу с указанного адреса, с помощью "Меню" выбирают режим работы, нажимая соответствующие алфавитные клавиши.
Если выбран режим программирования РПЗУ или ППЗУ, программа запрашивает тип программируемой микросхемы. Для микросхем серии К573РФ возможны следующие типы: РФ1, РФ2, РФ21, РФ22, РФ4, РФ41, РФ42.РФ5, РФ6.
Для ППЗУ К556РТ соответственно: РТ3 (К155РЕ3), РТ4(К500РЕ149, К541РТ1), РТ5, РТ6, РТ7, РТ11, РТ12, РТ13, РТ14, РТ15, РТ16, РТ17, РТ18.
По окончании программирования программа выдает сообщение либо о правильности записи, либо об ошибке и распечатывает адрес первой ячейки, содержимое которой не совпадает с содержимым исходного буфера данных. Для перехода в режим "Меню" после любого из сообщений достаточно нажать любую клавишу.
Если выбран режим редактирования, программа запрашивает адрес, по которому необходимо исправить или занести данные, и выводит одну страницу содержимого памяти (256 байт), в которой находится заданный адрес. При этом курсор указывает содержимое соответствующей ячейки на экране. Если теперь вводить HEX-числа (шестнадцатеричные), то соответствующие исправления будут заноситься в ОЗУ и отображаться на экране. Для перехода к редактированию других адресов можно пользоваться клавишами управления курсором.
В режиме редактирования в виде НЕХ-чисел возможен ряд групповых операций. Для их выполнения необходимо задать начальный и конечный адреса области, с которой будет производится операция. Это можно сделать двумя способами: подводом курсора к байту, расположенному по необходимому адресу с нажатием клавиш F2 - начальный адрес и F3 -- конечный адрес или нажатием клавиш R, после которого программа запрашивает адреса границ зоны.
Таблица
РАСПРЕДЕЛЕНИЕ ПАМЯТИ РК ПРИ РАБОТЕ РЕДАКТОРА/ ПРОГРАММАТОРА |
|
Bpеменные переменные пакета |
MEMTOP1 SSSS+0C85H |
СТЕК |
SSSS+0C49H |
Чистый код программы |
SSSS |
Буфер данных для ПЗУ (2К) |
SSSS-800H |
Расширение буфера для РФ41* |
МЕМТОР2 |
Расширение буфера (РФ4,РТ16)* |
SSSS-1000H SSSS-2000H |
СВОБОДНАЯ ОБЛАСТЬ ОЗУ |
0000H |
Задав область памяти, можно производить с ней следующие операции:
В процессе разработки программного обеспечения для МП KP580BM80A иногда возникает необходимость внести изменения в уже оттранслированную программу, например, вставить в нее одну-две команды или убрать лишние. Для этих операций в РЕДАКТОРЕ предусмотрена директива U, позволяющая пересылать содержимое выбранной области ОЗУ в другую. "раздвигать" или "сдвигать" части программы в машинных кодах. Так как в программе, часть которой пересылается, необходимо соответствующим образом скорректировать содержимое адресных полей команд CALL и JUMP, то РЕДАКТОР дополнительно запрашивает границы всей программы. После этого происходит коррекция соответствующих команд, и выбранная область пересылается в новую, задаваемую смещением, которое на запрос РЕДАКТОРА вводят в дополнительном коде. Если выбранная область целиком совпадает с областью оттранслированной программы, возможна ее автоматическая настройка на работу из другой области ОЗУ. Более подробно о работе директивы и ограничениях на ее использование можно прочитать в [33].
Выполнение групповых операций, которые могут существенно изменить содержимое памяти, предваряется вопросом "ОПЕРАЦИЯ - УВЕРЕН?", в ответ на который нажимают клавишу Y - если уверен или ВК - если операцию необходимо отменить.
При нажатии клавиши L РЕДАКТОР переходит в режим представления байтов в виде ASCII - символов, позволяющий вносить исправления в алфавитно-цифровом виде. Для выхода из ASCII - режима служит клавиша ESC (АР2). Если, кроме описываемого пакета, в компьютер загружен соответствующий транслятор, то источником данных для занесения в ПЗУ может служить программа на Бейсике или Ассемблере. Для перегрузки информации из области оттранслированных программ Ассемблера в буфер программатора можно воспользоваться директивами Т МОНИТОРА или РЕДАКТОРА ПАМЯТИ. Кроме того, если воспользоваться директивой I МОНИТОРА, данные могут быть загружены с магнитной ленты.
Список директив пакета приведен в табл.5.
Подготовка данных в ASCII и НЕХ - виде не дает возможности комментирования информации, а также недостаточно наглядна. Более наглядный способ представления информации, заносимой в ПЗУ, обеспечивает транслятор с языка АССЕМБЛЕР. Его применение для трансляции программ собственно МП очевидно. Однако с помощью АССЕМБЛЕРА можно программировать не только программы. Продемонстрируем описание дешифратора двоичного кода в позиционный для прямого и инверсного представления информации на выходе и входе, написанное на АССЕМБЛЕРЕ (табл.6). Более подробно познакомиться с этими применениями трансляторов АССЕМБЛЕРА можно в [4, 5].
Видно, что применение АССЕМБЛЕРА позволило ввести в текст комментарии и мнемонические обозначения выходов и выходных кодов ППЗУ, что особенно удобно при создании сложных комбинационных устройств. Приведенная программа может быть оттранслирована, а затем перемещена в область буфера данных для программирования в ППЗУ.
Д. ЛУКЬЯНОВ,. А. БОГДАН
г. Москва
* ("Радио", 1987, № 9, с. 24-26. 56, 571 Учись работать с ПЗУ."- Микропроцессорные средство и системы. 1985, № 3, с. 71-88.
Описание
компьютера Радио-86РК
|
Журнал
РАДИО
|