Советско-американское совместное акционерное общество "Диалог-Тест" г.Протвино ***************************** * Программатор для ППЗУ * ***************************** Общее описание -------------- Устройство предназначено для записи информации в программируемые ПЗУ (ППЗУ) типа EPROM с ультрафилетовым стиранием. Возможно обслуживание EPROMов емкостью от 2К байт (573РФ2, 573РФ5, i2716) до 128К байт (271001, i27010). Программатор предназначен для работы совместно с ЭВМ типа IBM XT/AT (или совместимыми с ней) и представляет собой электронный модуль, размещаемый на магистрали PC. С модулем соединяется плоским кабелем выносная панелька, в которую помещаются EPROMы при работе. На панельке расположен рычаг для зажима выводов микросхем. ППЗУ всех типов следует вставлять в панельку единообразно: максимально придвинутыми к рычагу, с ключом в ПРОТИВОПОЛОЖНУЮ от рычага сторону. Преимуществами программатора являются: - повышенное быстродействие как следствие размещения программатора непосредственно на магистрали ПЭВМ; - единая панелька для ППЗУ всех типов, без каких-либо переключаталей (т.е. все коммутации для различных типов микросхем выполняются программно); - программное переключение напряжения программирования (12.5, 21 и 25 вольт); - возможность программирования ППЗУ при нормальном (5v) и повышенном (6v) напряжении питания; - полное отсутствие напряжений на всей панельке в промежутках между выполнениями операций, что гарантирует безопасность микросхем при их вставлении или извлечении из панельки. Описание программного обеспечения --------------------------------- Все операции по программированию микросхем выполняет программа EPROMer, расположенная на этой же дискете. Для ее работы требуется более 200К основной памяти. Эту память занимает собственно программа, а также специальное поле размером 128К, называемое "буфером". Буфер является местом, где запоминается как прочитанная из ППЗУ информация, так и информация, предназначенная для записи в ППЗУ. Буфер является также промежуточным звеном при записи содержимого ППЗУ в дисковый файл и наоборот. Работа с программой основана на использовании различных меню, которые упрощают освоение и использование программы. В начале работы на экране появляется основное меню, перечисляющее основные режимы работы. Выбор режима производится клавишами управления курсором с последующим нажатием клавиши ENTER, или мышью. После выбора основного режима могут появиться дополнительные меню для уточнения подробностей. Работа с ними производится аналогично. Заметим, что в верхней строке экрана находится текст, поясняющий тот режим, который указан в данный момент выделенной строкой меню. Программе могут понадобиться также различные данные, которые надо ввести с клавиатуры. Это может быть имя файла, начальный адрес в ППЗУ и т.д. Ввод данных с клавиатуры заканчивается нажатием клавиши ENTER. Во время ввода данных возможно редактирование вводимой строки (исправление ошибок) клавишами BACKSPASE, DEL или клавишами со стрелками. Все числа (ВНИМАНИЕ!) вводятся как шестнадцатиричные, причем различия между большими и маленькими буквами (a-f и A-F) не делается. Ниже приведены пояснения для каждого режима. 1. Read EPROM (Чтение ППЗУ). Этот режим используется для переноса содержимого ППЗУ в программный буфер для последующего редактирования, записи на диск или в новое ППЗУ. Затем программа спрашивает, читать ли все содержимое ППЗУ или только его часть. Если вы выбрали частичное чтение, то программе надо затем указать начальный адрес чтения в ППЗУ, длину считываемой информации (т.е. количество байтов), а также указать то место в буфере, куда будет помещаться считываемая информация (т.е. указать адрес в буфере для помещения первого считанного байта из ППЗУ). В режиме "Полное чтение" дополнительных вопросов программа не задает и помещает всю информацию из ППЗУ в последовательных адресах буфера, начиная с нулевого. Если вам необходимо прочитать полное содержимое ППЗУ, но разместить его не с начала буфера, то следует выбирать "Частичное чтение", а в качестве длины считываемой информации указать полный размер ППЗУ. Во время выполнения чтения в правом верхнем углу экрана появляется текст "Processing...". После завершения чтения программа возвращается к выбору из основного меню. 2. Write EPROM (Запись в ППЗУ). Запись в ППЗУ производится из программного буфера. Поэтому прежде чем выбирать "Запись", вам необходимо подготовить информацию в буфере чтением из ППЗУ, вручную (режим "Редактирование"), чтением дискового файла или комбинацией этих действий. Иногда необходимо бывает также знать местонахождение информации для записи в буфере (адрес первого байта) и ее размер (длину). Перед выполнением операции записи полезно убедиться, что в панельке стоит нужная микросхема, и тип ее указан программе правильно. После выбора режима записи программа запрашивает следующие данные: адреса первого записываемого байта в ППЗУ и буфере, а также длину массива информации для записи. При этом в качестве начальных на экран выводятся значения, соответствующие записи полного объема ППЗУ с начала буфера. Если это и требуется, то вводить ничего нового не надо, следует лишь нажимать ENTER. Необходимость во вводе указанных данных связана с гибкостью режима записи: в ППЗУ можно записать любое допустимое количество данных в произвольное место, т.е. выполнять как запись полного объема ППЗУ, так и дозапись уже частично записанного. Причем при выполнении дозаписи программа проверяет только тот участок ППЗУ, куда физически будет производиться запись. Следующая (и весьма важная) информация, о которой спрашивает программа - это величина напряжения программирования для вашего конкретного ППЗУ. Она выбирается из трех возможных значений (12.5v, 21.5v или 25v) и будет затем устанавливаться программно для формирования импульсов записи. Неправильное указание напряжения программирования может привести к немедленному выводу ППЗУ из строя. Перед началом записи программа проверяет тот байт ППЗУ, куда будет выполняться запись, на предмет ее осуществимости. Пригодными для записи считаются те байты в ППЗУ, которые либо содержат 'FF', то есть являются "чистыми", либо могут содержать нулевые биты, но в тех позициях, в которых в записываемом байте тоже содержится нуль. При неподходящем содержимом какого-либо байта в ППЗУ программа извещает об этом и запись не начинается. Если контроль прошел нормально, то после этого начинается собственно процесс записи. О ходе его можно визуально наблюдать на экране по "градуснику". Процесс закончится, когда вся полоса будет закрашена. Процесс записи информации в ППЗУ происходит с динамическим контролем записываемой информации. Если в течение нескольких попыток записать требуемую информацию не удается, программа выводит об этом сообщение. Вариантов продолжения здесь два: попытаться еще раз записать или прекратить запись. Начиная с микросхемы 2764 и выше запись информации производится по адаптивному алгоритму программирования. После окончания записи автоматически включается режим "Сравнение с буфером" для циклической проверки результатов записи (см. ниже). К процедуре записи имеют также отношение параметры, устанавливаемые режимом "Опции программы" (см. ниже). 3. Blank check (Проверка чистого). Этот режим позволяет оценить состояние ППЗУ после стирания их ультрафиолетом. Программа выполняет полное считывание всего объема ППЗУ и контролирует совпадение каждого байта с "FF". Как совпадающие, так и несовпадающие байты подсчитываются и результаты выводятся на экран. Если число несовпадающих с "FF" байтов равно нулю, то проверка считается выполненной успешно. После выполнения одной полной проверки автоматически начинается следующая. На экран выводятся как результаты последней проверки, так и общее число успешных и неуспешных проверок. Процесс заканчивается при нажатии любой клавиши на клавиатуре ЭВМ. Содержимое программного буфера не изменяется. 4. Edit (Редактирование буфера). Режим редактирования позволяет увидеть содержимое буфера, выполнить коррекцию хранящейся в нем информации и напечатать ее на принтере. Поскольку буфер имеет объем 128К, то увидеть его весь сразу невозможно. При входе в режим редактирования на экране появляется окно, в котором видна часть буфера. В каждой строке окна отображается 16 последовательных байтов буфера. Для того, чтобы ориентироваться в том, какая часть буфера видна в данный момент, с левой стороны окна расположены адреса начала каждой видимой в окне строки буфера, от 0 до 1FFF0. Таким образом, каждая строка окна редактирования содержит слева глобальный адрес ее первого байта в буфере. Справа от адреса помещается содержимое 16 последовательных байтов в виде 16-ричных чисел, разделенных пробелами. Еще правее размещается содержимое этих же 16 байтов, но трактуемых как символы текста (такой же формат отображения имеет, например, системная программа DEBUG). Одна из строк буфера является выделенной: это текущая строка. Ее можно двигать внутри окна клавишами "Стрелка вверх" и "Стрелка вниз". Окно целиком можно перемещать по буферу клавишами PgUp и PgDn, а также HOME (перемещение в начало буфера) и END (перемещение в конец буфера). После того как включился режим редактирования, можно нажатием функциональных клавиш выполнить следующие операции: F2 - установка адреса; F3 - заполнение буфера константой; F4 - непосредственное редактирование (коррекция); F5 - перемещение участка буфера; F6 - печать участка буфера на принтере. Возврат из режима редактирования к основному меню - при нажатии клавиши ESCAPE. Установка адреса применяется для непосредственного перемещения окна в нужное место буфера. После набора адреса следует нажать ENTER. При заполнении произвольной части буфера константой программе необходимо указать адрес начала и размер участка буфера для заполнения, а также содержимое байтовой константы. При перемещении участка буфера на другое место указывается адрес первого байта перемещаемого участка, адрес назначения для этого байта (где он будет расположен после перемещения) и длина перемещаемого участка. Байты перемещаются последовательно, один за другим. Контроля наложения не производится. Исходное содержимое перемещенного блока не изменяется. При необходимости печати буфера (или части его) на принтере указывается адрес первого байта и размер печатаемого блока. Вид печати на принтере аналогичен содержимому окна редактирования. Печать выполняется на логическое устройство LPT1. При переходе в режим коррекции внутри текущей строки появляется мигающий курсор, который отмечает текущее положение в выделенной строке. Непосредственным вводом с клавиатуры можно изменять содержимое буфера. Нажатием клавиши TAB можно перейти в режим символьного редактирования (в правой части строки). При этом каждой нажатой клавише будет соответствовать ее байтовый код. Возврат в 16-ричное редактирование - клавишей TAB или ESCAPE. Выход из редактирования строки - клавишей ESCAPE (при этом исчезает курсор внутри строки). 5. Set EPROM type (Установка типа ППЗУ). Программа рассчитана на работу с ППЗУ 7 различных типов: от i2716 (573РФ2) до i27010 (271001). Выбор типа микросхемы производится из меню обычным образом. Отметим, что изменение типа ППЗУ само по себе не приводит ни к каким физическим действиям в отношении программатора до тех пор, пока не начнется какая-либо конкретная операция. С другой стороны, любая операция с ППЗУ начинается с анализа установленного типа, поэтому тип ППЗУ можно менять в любое время (не забыв, естественно, заменить и саму микросхему в панельке). Будучи установленным, тип микросхемы не изменяется вплоть до следующей установки. В перерывах между своей работой программа запоминает тип ППЗУ в специальном файле EPROMer.CFG, а текущее установленное значение всегда видно в нижней строке экрана. Программатор может работать с однокристальной ЭВМ типа К1816ВЕ751 (i8751), а также с микросхемой К573РФ10 (i8755) - 2К EPROM с портами ввода/вывода. В этих режимах необходимы специальные кабели с панельками. 6. Disk file format (Формат файла). Передача информации через файлы на дисках - почти непременный элемент работы с ППЗУ. Для совместимости с другими программами, производящими (или потребляющими) эту информацию, необходимо обеспечить согласование способа ее представления на диске, т.е. формат дискового файла. Программа EPROMer может работать с файлами двух основных форматов: BINARY (двоичный формат) и HEX (формат фирмы Intel). Эти два формата являются самыми распространенными. Если же возникает надобность прочитать (или записать) файл в другом формате, необходимо подготовить специальную программу преобразования. Двоичный формат - это просто копия содержимого "один к одному". Информация, записанная в таком файле, непосредственно переносится в ППЗУ без всякого преобразования. HEX-формат - вещь более сложная. Файл такого формата состоит из отдельных записей. Каждая запись включает в себя адрес размещения, собственно данные в виде кодов ASCII, контрольную сумму и некоторую другую информацию. Выбранный формат файла отображается в нижней строке экрана и запоминается программой до следующего изменения. 7. Read data file (Чтение файла данных). Для успешного чтения информации из дискового файла в буфер программы прежде всего необходимо знать (и указать программе) местонахождение и полное имя файла. Предварительно следует правильно установить переключатель формата. Читать можно любую часть файла (не обязательно с начала) в любую часть буфера. Таким образом, содержимое буфера можно формировать последовательным чтением нескольких файлов. Перед чтением программе надо сообщить начальные адреса первого байта блока чтения в файле и в буфере, а также длину блока в байтах. Если надо прочитать весь файл и разместить его с начала буфера, то следует нажимать только ENTER, т.к. программа при запросе уже выводит на экран необходимые для такой операции параметры. Важным является также то, что программа может выбирать из файла как все байты последовательно, так и отдельно четные или нечетные. Последние возможности существенны при записи 16-разрядной информации в ППЗУ, содержащие отдельно младший или старший байты. Указание способа чтения байтов из файла делается выбором нужного режима в соответствующем меню. В процессе чтения в правом верхнем углу экрана находится надпись "Processing...". Отметим, что программа запоминает имя последнего файла, с которым она работала. 8. Write data file (Запись файла данных). Для операции записи действительно все, сказанное относительно чтения, за исключением того, что в файл данные из буфера всегда записываются последовательно (нет режима чет/нечет). Для записи в файл с форматом HEX требуется указывать адрес, присваиваемый в файле первому байту из буфера. 9. Compare with buffer (Сравнение с буфером). Сравнение с буфером аналогично операции чтения, однако записи данных в буфер не происходит. Вместо этого сравнивается содержимое прочитанного байта с соответствующим содержимым буфера и производится подсчет совпавших и несовпавших байтов. Если обнаружились несовпавшие байты, то в левой стороне экрана появляется окно, содержащее информацию о расхождениях: адрес ППЗУ, содержимое буфера (зеленым цветом) и несовпадающее содержимое ППЗУ (красным цветом). Если несовпавших байтов много, то текст в окне расхождений будет "бежать". Его можно остановить нажатием клавиши PAUSE, и снова продолжить процесс сравнения, нажав ENTER. После окончания чтения глобальные счетчики выводятся на экран, а чтение со сравнением начинается снова. Если все байты совпали, то сравнение считается успешным. Количество успешных и неуспешных сравнений также выводится на экран. Процесс продолжается до нажатия любой клавиши, кроме PAUSE. 10. Options (Опции программы). Режимом программирования можно управлять с помощью опциональных параметров (дополнительных возможностей). Необходимость их применения необходимо рассматривать в каждом случае конкретно. Первая возможность состоит в использовании при записи информации в ППЗУ питающего напряжения 6В вместо стандартных 5В. Заметим, что этот параметр действителен только при записи, чтение выполняется всегда с нормальным напряжением питания. Следующая возможность - это "быстрое" программирование. При включении этого параметра он действует следующим образом. Перед записью байта в ППЗУ проверяется, не совпадает ли он по содержимому с уже имеющимся в ППЗУ по данному адресу, и если совпадает, то импульс программирования по такому адресу не подается. В некоторых случаях, однако, необходима подача программирующего импульса по всем адресам, несмотря на их содержимое (для подзаряда конденсаторов). В меню состояние этих параметров отмечено словами ON (включено) или OFF (выключено). Установленное состояние параметров сохраняется до следующего изменения. 11. Quit (Конец работы). При выборе "Конец работы" программа сохраняет текущие параметры в файле EPROMer.CFG и возвращает управление операционной системе. После окончания работы панелька программатора является полностью обесточенной. Общие замечания по применению ----------------------------- При начале своей работы программа проверяет наличие и общую работоспособность программатора. Если появляется сообщение "Hardware error" ("Ошибка оборудования"), то это означает, что программатора либо нет, либо он неисправен. Не вынимайте микросхему, если на экране имеется мигающий индикатор "+5v ON" (или "+6v ON). Это означает, что на ППЗУ подано напряжение питания. При работе с программой возможны ошибки с вашей стороны. Большинство ошибок программа обнаруживает и выводит на экран диагностику (например, если указано неправильное имя файла, адрес за пределами выбранного ППЗУ и т.д.). Необходимо повторить действия, исправив ошибку. Для копирования ППЗУ выполните следующее. 1. Прочитайте содержимое исходного ППЗУ в буфер программы. 2. Установите в панельку чистое ППЗУ (при необходимости измените его тип). 3. Выполните операцию записи в установленное ППЗУ. Поскольку содержимое буфера после записи не изменяется, выполняйте пункты 2 и 3 столько раз, сколько необходимо. Проверка работоспособности программатора ---------------------------------------- Убедиться в исправности программатора позволяет специальная тестовая программа ETEST, поставляемая в комплекте программного обеспечения. При помощи этой программы и вольтметра можно полностью проверить программатор и убедиться в соответствии напряжений питания и программирования их номинальным значениям. Для выполнения проверок следует присоединить к программатору основной кабель (для программирования стандартных ППЗУ) и запустить программу. Работа программы ETEST состоит из двух частей. Первая - это автономные тесты, выполняемые автоматически. Если они проходят успешно, то программа переходит ко второй части работы, в противном случае на экране появляется соответствующее диагностическое сообщение. Получение любого такого сообщения в окне с названием "Автономное тестирование" означает необходимость ремонта программатора. Во второй части проверок на экран выводится схематическое изображение панельки с пронумерованными выводами. Затем программа выполняет необходимые коммутации, в результате которых на определенных выводах панельки появляется определенное напряжение, что отображается на схеме. С помощью вольтметра надо убедиться в том, что карта напряжений, изображенная на экране, соответствует реальным напряжениям на выводах панельки. Закончив проверку, следует нажать клавишу ENTER для перехода к следующей проверке и т.д. При контроле напряжений следует обращать внимание не только на наличие, но и на величину напряжения. Если напряжение на выводе панельки не соответствует изображенному на экране, то программатор неисправен. *********** *Внимание!* Наиболее вероятная неисправность программатора - ослабление зажима в контактах панельки. Для восстановления нормального зажима необходимо ослабить правый винт, вынуть рычаг и немного увеличить колено на рычаге. Не снимайте верхнюю крышку панельки, могут возникнуть трудности со сборкой. Примечания. ----------- 1. Программатор и программа обслуживания пригодны для программирования встроенного ППЗУ однокристальной микроЭВМ типа 1816ВЕ751 (i8751). Для реализации этой возможности необходимо приобрести новый кабель с выносной панелькой, предназначенный для подключения к разъему программатора. 2. Аналогичное замечание по поводу микросхемы К573РФ10 (аналог i8755A). 3. Программирование нестандартной микросхемы советского производства К573РФ4А,Б (Vpp=23v) можно успешно осуществить в режиме 2764, Vpp=21v, Vcc=6v. 4. По дополнительному запросу (и за дополнительную пла- ту) могут быть предоставлены исходные тексты программного обеспечения. 5. Если у Вас есть необходимость программировать микросхемы ППЗУ, не обеспеченные данной программой, мы всегда будем рады Вам помочь. ############################################################# "Диалог-Тест" и автор программы будут признательны, если Вы сообщите нам об ошибках в ее работе. Как только будет готова исправленная версия, мы немедленно отправим ее Вам. Если у Вас есть конструктивные предложения по улучшению качества программатора или программы, мы с интересом изучим их. Наш адрес: 142284 г.Протвино Московской обл., Учебный комбинат УС-620, АО "ДИАЛОГ-ТЕСТ". тт.(096-7) 74-85-11, 74-86-11. ############################################################# *****