|
|
Программатор PGM,
руководство пользователя. Орион Софт, прошивка микросхем 2716-27512
Конструкция программатора PGM
версия 1994-1996,
схема, описание, сборка, наладка
Всю информацию выложу позже.
Информация по аналогам ППЗУ, и напряжение программирования
PGM1.TX
PGM2.TX
PGM3.TX
PGM1.TX
------------------------------------------------------
Программатор PGMaster V3.00
Руководство пользователя.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Программа PGM входит в состав пакета PGMaster и
предназначена для обслуживания программатора микросхем постоянного
запоминающего устройства (ПЗУ) с ультрафиолетовым стиранием как
зарубежного (2716, 2732, 2764, 27128, 27256, 27512 и аналоги), так и
отечественного (КР573РФ2, РФ4, РФ5, РФ6, РФ7, РФ8 и аналоги)
производства. Алгоритмы записи информации в ПЗУ аналогичны предложенным
фирмой Intel (т.н. "Quick Intel"), когда микросхемы программируются
минимальным количеством коротких программирующих импульсов, что
обеспечивает увеличение количества циклов записи-стирания в 2-4 раза (от
паспортных данных) в зависимости от типа ПЗУ.
Аппаратное обеспечение программатора выполнено на 5 микросхемах и
дискретных радиоэлементах и подключается к порту 0F600H Ориона-128.
Схема обеспечивает формирование управляющих и адресных сигналов, канала
данных и позволяет программно устанавливать уровень программирующего
напряжения в диапазоне от 0в до 25.5в с дискретностью 0.1в.
Управляющая программа PGM работоспособна на
компьютере Орион-128, с процессором Z80 или Intel 8080A (КР580ВМ80А), и
с 4-мя страницами памяти (т.е с 256 Кб). Наличие 2х страниц ОЗУ (128Кб)
допустимо, но тогда возможности работы с ПЗУ 27512 несколько
ограничатся. Также требуется наличие в системном ПЗУ версии Монитора не
ниже Монитора-2. Программа работает только с ОS-DOS 60K или совместимой
с ней. При использовании ОС OS-DOS V2.61 перед запуском программатора
необходимо выключать цветной режим, если он был включен (F1+C). То же
самое относится к версиям CP/M "Орион-Сервис" с BIOS V3.00 и выше.
Программа сохраняет область 9000H-BFFFH в 0-й странице нетронутой, чтобы
избежать конфликта с загружаемыми драйверами для CP/M.
ЗАПУСК ПРОГРАММЫ.
Файл программатора PGM.COM может находится на любом доступном диске и в
любом USER. Запуск файла производится как обычно, набором имени в
командной строке CP/M или запуском файла из оболочки (BP.COM и др). При
запуске происходит определение наличия в компьютере 2-й дополнительной
страницы, в случае ее отсутствия буфер программатора ограничивается до
32Кб.
Далее на экран выводится заставка и, через некоторое
время, программатор переходит в рабочий режим.
МЕНЮ ФУНКЦИЙ
ОБЩИЕ СВЕДЕНИЯ.
Из главного меню пользователю доступно 14 функции, включая
выход в ДОС. Выбор необходимой функции осуществляется в меню
клавишами управления курсором. После выбора необходимой функции
- необходимо нажать клавишу ВК на выбранном пункте меню. Нажатие клавиши ESC установит курсор на последний пункт меню - Выход в ДОС, клавиши HOME - на первый пункт.
Кроме того, в главном меню действуют клавиши F1 и F2. При
нажатии клавиши F1 Вы увидите информацию о программаторе, клавиша F2 вызывает функцию просмотра буфера в графическом виде,
что бывает удобно и даже необходимо при работе с ПЗУ с различными знакогенераторами, графическими изображениями (прошивки
принтеров, видеоадаптеров), а также при оперативном выявлении
нестертых ячеек в ПЗУ и в других случаях. После нажатия на клавишу F2 в
центре экрана появится окно, в котором будет представлен в графическом виде кусок буферной области памяти с
адреса 0000. Чтобы просмотреть весь буфер, необходимо нажать и
удержать какую-либо курсорную клавишу, при этом в окне будет
прокручиваться содержимое буфера. Для выхода в меню нажмите
клавишу ESC или Пробел.
В нижней части экрана постоянно выводится информационная
строка с текущими установками.Она индицирует выбранный тип ПЗУ, напряжение программирования, текущий диск, USER и последний
загруженный в буфер файл с текущего диска. При изменении этих
установок и загрузке в буфер файлов информация в строке-подсказке изменяется, отражая текущее состояние программатора.
Несколько слов о вводе шестнадцатиричных величин. Во всех
функциях, требующих или допускающих ввод 2-х байтных шестнадцатиричных чисел, ввод осуществляется следующим образом. Установив курсор-указатель в меню на нужный пункт, нажмите ВК.
Появится прямоугольный мигающий курсор на старшем ниббле корректируемого числа. Курсор можно перемещать по нибблам клавишами
управления курсором, после установки на требуемый ниббл его
изменение производится вводом шестнадцатиричной цифры (0-9 и
A-F). После окончания корректировки всего числа нажмите ВК для
запоминания установленного значения. Если необходимо отказаться
от изменений и вернуть его прежнее значение - нажмите ESC(АР2).
ФУНКЦИИ ПРОГРАММАТОРА
Функции программатора PGM выбираются через главное
меню. Порядок описания соответствует расположению списка функций в меню
(сверху вниз). Для всех функций реализована возможность нажатием клавиши ESC выйти из текущего окна в предыдущее или вернуться в главное меню. Исключение составляют окна, для которых
требуется подтвердить прочтение выведенной в них информации
клавишей ВК. Для всех меню и подменю (кроме главного меню) выбор пункта возможен не только прямой установкой курсора на требуемый пункт, но и нажатием "горячей клавиши", символ которой
подчеркнут в названии пункта (если подчеркнутого символа нет,
выбор осуществляется цифровыми клавишами 1,2,3 и т.д. в соответствии с расположением пунктов, т.е. сверху вниз или слева
направо).
1. Load data file(s) - Загрузить файл(ы).
С помощью этой функции производится загрузка файла с дискеты
в буфер программатора. При выборе данного пукта меню произойдет
считывание каталога текущего диска из текущего User и вывод ка-
талога в открывшемся окне (если файлов на диске нет, Вам будет
сообщено об этом и Вы вернетесь обратно в меню). В окне со
списком файлов работают клавиши управления курсором (перемеще-
ние курсора по файлам), клавиша ВК (выбор файла для загрузки) и
ESC (отмена, возврат в главное меню).
После выбора нужного файла откроется окно, в котором Вы уви-
дите размер выбранного файла в Килобайтах и байтах (пересчи-
танных из количества секторов) и меню загрузки. Данная версия
программатора поддерживает файлы об'емом на более 64 Кб, по-
этому при выборе файла больших размеров, вместо меню загрузки
Вы получите предупредительное сообщение, после чего произойдет
возврат в окно с каталогом файлов.
В меню загрузки Вам доступны следующие операции:
Loading address - Адрес загрузки
- Изменение адреса загрузки файла в буфер (имеется в виду на-
чальный адрес).
Загрузка файла производится от выбранного начального адреса и
далее в сторону увеличения адресов. Данным параметром может
управлять и сам программатор в зависимости от состояния опции
"Увеличение адреса" в меню "Конфигурация" (см. ниже). При вык-
люченном режиме для каждого загружаемого файла параметр уста-
навливается в 0000, при включенном - параметр равен 0000 (или
0800) при входе в функцию "Загрузить файл(ы)" из главного меню,
затем при последовательной загрузке файлов (не выходя из фун-
кции в главное меню) адрес "посадки" каждого следующего файла в
буфер определяется как адрес конечного байта последнего загру-
женного файла, увеличенный на единицу. Таким образом достига-
ется последовательное (впритык), расположение информации из
файлов в буфере.
Block length - Размер блока
- Изменение об'ема (количества байтов) загружаемой части фай-
ла. По умолчанию это значение определяет размер выбранного фай-
ла. Изменение же может потребоваться с целью загрузки из файла
некоторого блока с размером, меньшим размера всего файла. Не-
посредственно оперирует этим значением также в основном прог-
рамматор.
Так как файлы с расширением .BRU распознаются при загрузке
как файлы ORDOS, то при считывании таких файлов параметр при-
нимает значение размера файла, указанное в заголовке ORDOS-
файла (оно меньше размера дискового файла). Эта мера необхо-
дима для загрузки из .BRU -файла только его реального содержи-
мого.
При включении режима создания ROM-диска в системе ORDOS (см.
ниже описание меню "Конфигурация") .BRU-файлы считываются с за-
головком файла. Подробнее о режиме создания ROM-диска см. ниже.
Примечание. При загрузке файла размером ровно 64 Кб данный
параметр принимает значение 10000H. При попытке изменить это
значение старший разряд числа устанавливается в 0. Если же не-
обходимо далее восстановить значение 10000H, то, установив кур-
сор в меню загрузки на этот пункт, нажмите клавишу СТР. Данная
клавиша действует только в случае, если загружаемый файл имеет
размер точно 64 Кб (0000-0FFFFH).
Offset block in file - Смещение блока в файле
- Изменение смещения от начала файла при загрузке. Необходи-
мо, когда Вы загружаете из файла блок, т.е. необходимо пропус-
тить начальную часть файла. По умолчанию устанавливается зна-
чение 0000 (т.е. загрузка от начального байта файла). Для .BRU-
-файлов автоматически устанавливается значение 0010 для про-
пуска заголовка. Если включен режим создания ROM-диска, то сме-
щение - 0000, т.к. в этом случае заголовок необходим.
Select file - Выбрать файл
- Выбор другого файла для загрузки, если Вы передумали заг-
ружать ранее выбранный файл. При этом Вы возвращаетесь в окно
каталога файлов.
Load file - Загрузить файл
- Загрузка выбранного файла в буфер. Учитываются значения
всех 3-х параметров загрузки. В случае успешной загрузки по-
явится сообщение с указанием адресов фактического расположения
загруженного блока в буфере и меню для выбора дальнейших дей-
ствий. Вы можете выбрать пункт " Ок " и вернуться в главное ме-
ню, т.е. завершить текущий сеанс загрузки, либо продолжить заг-
рузку информации в буфер, выбрав пункт " Следующий файл ", при
этом произойдет возврат в окно с каталогом файлов. Однако в
процессе загрузки Вы также можете получить сообщение о неожи-
данном конце файла, которое появляется в случае, если заданый
Вами параметр об'ема загружаемого блока превысил фактический
размер файла (с учетом смещения).
Exit - Выход
- Отмена всех операций по загрузке файла, выход в главное меню.
Общие замечания по функции "Загрузить файл(ы)". При уста-
новке параметров загрузки необходимо помнить, что в случае
ограничения буфера до 32 Кб (это условие возникает автомати-
чески при 128 Кбайтах ОЗУ в ПК) пользователю необходимо помнить
о том, что программатор не допустит загрузки файла в несущес-
твующую буферную область в случае задания некорректных пара-
метров.
При работе с полным буфером в 64 Кб ограничений нет и файл
можно загружать даже через границу буфера (из-за цикличности
перебора адресов: ... 0FFFEH - 0FFFFH - 0000H - 0001H и т.д.),
хотя в режиме создания ROM-диска верхняя граница буфера кон-
тролируется всегда. В случае некорректности параметров загрузка
файла блокируется и выдается предупредительное сообщение. Чтобы
все-таки загрузить файл, необходимо исправить значения пара-
метров.
В процессе загрузки выводятся сообщения об ошибках операци-
онной системы. При их появлении (ошибки чтения) выдается со-
общение об ошибке и программа возвращает управление в главное
меню.
При загрузке в одном сеансе нескольких файлов может возник-
нуть необходимость загружать файлы с разных дискет (например,
при комплектовании ROM-диска). Программатор допускает замену
дискеты в дисководе в одном сеансе загрузки. Это может про-
исходить в момент после загрузки файла перед возвратом в окно
каталога. При этом, программа сама фиксирует смену дискеты и
курсор в обновленном каталоге будет установлен на первый файл.
Если же смены дискеты не было - курсор останется установленным
на последний загруженный файл.
2. Save into file - Записать в файл.
Функция производит запись любого участка буфера на диск в
виде файла. Выбрав эту функцию, Вы получаете доступ к меню, в
котором можно произвести следующие операции:
Begin address - Начальный адрес
- Изменить начальный адрес фрагмента буфера, который необхо-
димо записать в файл. По умолчанию всегда устанавливается зна-
чение 0000.
Last address - Конечный адрес
- Изменить конечный адрес записываемого фрагмента. По умолчанию устанавливается в соответствии с полным об'емом текущего
типа ПЗУ, т.е.:
2716 - 07FFH
2764 - 1FFFH
27128 - 3FFFH
27256 - 7FFFH
27512 - 7FFFH для буфера 32 Кб или
FFFFH для буфера 64 Кб
Save as... - Сохранить как...
- Записать содержимое буфера на диск. Вызывается после уста-
новки требуемых адресов или сразу, если Вас устраивают адреса
по умолчанию. В открывшемся окне появится запрос на ввод имени
файла со стандартным расширением .BIN. Вы можете ввести не бо-
лее 8 допустимых символов, редактируя вводимое клавишей "Забой"
или "курсор назад". Можно также согласится на имя, выведенное
по умолчанию - NEWROM.BIN. В любом случае ввод имени заканчи-
вается нажатием клавиши ВК, после чего начинается запись уста-
новленного фрагмента буфера в файл с введенным именем.
При успешном завершении записи Вы увидите сообщающую об этом
надпись в появившемся окне. В случае невозможности начать за-
пись (заклеена дискета) или ошибке во время записи появится
предупреждайщее сообщение и Вы вернетесь в главное меню. Также
возможна ситуация, когда файл с введенным именем уже существует
на диске. Тогда Вам будет предложен выбор - отказаться от за-
писи файла с введенным именем либо удалить файл на дискете и
записать новый файл (т.е. сделать перезапись).
Exit - Выход
- Отмена записи, выход в главное меню.
3. Change drive/user - Сменить диск/user
Позволяет сменить дисковое устройство для считывания-
/сохранения файлов или номер пользовательской области (User).
После вызова функции Вам необходимо ответить на вопрос о том,
что именно Вы желаете изменить (дисковод или номер области):
Drive - Диск
- Если Вы выбрали смену дисковода, в следующем меню Вам будет
предложен выбор одного из 6 логических дисковых устройств. Вы
можете установить курсор на имя требуемого дисковода и нажать
ВК, также можно сразу нажать символьную клавишу, соответству-
ющую имени дисковода. При выборе несуществующего (неподключен-
ного) дискового устройства появится сообщение о фатальной ошиб-
ке BDOS. Далее Вам придется повторить выбор дисковода до тех
пор, пока система не проинициализирует дисковое устройство. При
выборе нового дисковода номер пользовательской области уста-
навливается в 0 (User 0).
User
- Если же Вам необходимо сменить номер области пользователя
на текущем дисководе, то в подменю Вы можете установить любую
из 16-ти доступных областей, причем как обычным образом (кла-
вишами курсора с подтверждением клавишей ВК), так и нажав кла-
виши 0-9 (для User 0 - User 9) или клавиши A-F (User 10 - User
15). При входе в подменю выбора дисковода (или номера области)
курсор указывает на текущий дисковод (или текущую область).
4. Edit/fill buffer - Редактор буфера
В этом пункте главного меню об'единены функции редактирова-
ния буфера и заполнения буфера константой. При выборе функции
редактора программа запросит адрес места в буфере, которое Вам
необходимо отредактировать. По умолчанию адрес установлен в
0000. После нажатия клавиши ВК на экран выведется дамп буферной
области памяти в шестнадцатиричном и символьном (символы с ко-
дами 20H - 7EH) виде. Курсор будет указывать на байт с введен-
ным Вами адресом. Для перемещения курсора по дампу используются
курсорные клавиши, перейти на символьную панель и обратно можно
клавишей ТАБ, блоки буферной памяти можно листать клавишами F3
(вперед) и F1 (назад). Клавишей F2 вызывается Viewer для прос-
мотра буфера в графическом виде (как в главном меню). Наконец,
можно сменить адрес редактируемого фрагмента, нажав клавишу HO-
ME. Для выхода в главное меню используйте клавишу ESC.
Редактирование шестнадцатиричных кодов осуществляется циф-
ровыми клавишами 0-9 и символьными A-F. На символьной панели
работают любые символьные клавиши. Любое изменение дампа на
экране немедленно отражается в буфере, поэтому будьте внима-
тельны при редактировании, т.к. можно случайно испортить нужные
данные.
При необходимости заполнить участок буфера константой, вы-
берите второй пункт в меню редактирования. В открывшемся окне
будут выведены начальный и конечный адреса блока буфера, кото-
рый будет подвергнут заполнению константой (адреса те же, что
используются функциями обслуживания ПЗУ), и байт константы, по
умолчанию равный 00. Изменяют значение этого байта с помощью
клавиш управления курсором, затем, установив требуемое - наж-
мите ВК. Через некоторое время, требуемое на заполнение блока
(если он достаточных размеров), Вы вернетесь в главное меню.
5. Select ROM type - Выбрать тип ПЗУ
Функция настраивает программу и аппаратную часть программа-
тора на дальнейшую работу с выбранным типом ПЗУ. Вызов функции
обязателен до установки в панель программатора микросхемы ПЗУ.
Не следует переключать программу на типы, которые не совпадают
с ПЗУ, установленной в панель. По умолчанию при запуске прог-
раммы устанавливается ПЗУ 27512. Поэтому перед установкой м/сх
ПЗУ проверьте и при необходимости измените тип в программе.
Впрочем, если Вы собрали аппаратную часть без реле, т.е. на
переключателях, следить за положением переключателей при изме-
нении типа ПЗУ Вам придется самим. Сама процедура смены типа
довольно проста. После вызова функции из главного меню появится
окно с перечислением типов возможных микросхем, обслуживаемых
программатором. Вам достаточно установить курсор на название
требуемой микросхемы и нажать ВК. Также можно произвести выбор
более оперативно, нажав клавиши 1-5 в соответствии с пунктами
меню (сверху вниз).
Есть небольшая особенность в выборе м/сх 27512 при ограни-
чении буфера до 32 Кб. В этом случае м/сх 27512 представляется
как 2 м/сх 27256, т.е. делится на 2 половинки по 32 Кб. Поэтому
при выборе этой м/сх появится дополнительное подменю, где Вам
будет предложено дополнительно выбрать половинку м/сх, с кото-
рой будет осуществлятся дальнейшая работа. В этом подменю дос-
тупно:
Адреса 0000 - 7FFF : 0-я половинка, отображается
как 27512/0
8000 - FFFF : 1-я половинка, отображается
как 27512/1
Дальнейшая работа с выбранной половинкой ничем не отличается
от работы с ПЗУ 27256.
6. Set addresses - Установить адреса
Функция позволяет просмотреть и при необходимости изменить
начальный адрес буфера, который будет использоваться при работе
с ПЗУ, а также адреса начала и конца блока внутри общего об'ема
ПЗУ (когда нужно работать не со всем ПЗУ, а какой-либо областью
меньшего размера). При вызове функции появляется меню из 4х
пунктов, где Вы можете:
Set buffer address - Установить адрес буфера
- Установить начальный адрес буфера для работы с ПЗУ. В даль-
нейшем любая операция по чтению/записи ПЗУ будет использовать
для работы место в буфере от установленного начального адреса и
далее в сторону увеличения адресов. Размер этой области будет
определяться размером блока ПЗУ, с которым Вы хотите работать
(устанавливается двумя следующими параметрами) и равен их раз-
ности.
Begin ROM address - Начальный адрес ПЗУ
- Установить начальный адрес блока в адресном пространстве
ПЗУ, с которым будет работать программатор. Считается, что ПЗУ
имеет абсолютную адресацию от 0000 и до конечного адреса, опре-
деляемого об'емом ПЗУ (см. функцию Сохранить в файле), поэтому
начальный адрес может принимать любое значение в данном диапа-
зоне, превышение этого адреса над реальным адресом последнего
байта ПЗУ контролируется программатором.
Last ROM address - Конечный адрес ПЗУ
- Установить конечный адрес блока в адресном пространстве
ПЗУ. Для этого параметра верно все, что сказано для начального
адреса блока, плюс производится дополнительная проверка значе-
ния на его превышение или равенство начальному адресу, т.к. ко-
нечный адрес не может быть меньше начального.
Reset addresses - Сброс адресов
- Установить для текущего типа ПЗУ адреса по умолчанию. При
этом начальные адреса буфера и ПЗУ устанавливаются в 0000, а
конечный адрес ПЗУ - по максимальному об'ему текущего типа ПЗУ
(см. функцию записи файла).
Exit - Выход
- Выйти в главное меню с сохранением произведенных изменений.
Аналогично нажатию клавиши ESC. Перед выходом в меню программа
производит контроль корректности адресов, в случае задания не-
верных значений выход в главное меню блокируется до установки
корректных значений.
Следует иметь ввиду, что установленные параметры влияют на
ВСЕ функции, работающие с ПЗУ, такие как чтение, сравнение,
тестирование, проверка чистоты, запись. В дальнейшем при опи-
сании этих функций будет подразумеваться, что вся работа про-
изводится в пределах от начального до конечного адресов ПЗУ, в
качестве буфера используется область от заданного начального
адреса и далее в об'еме установленного блока ПЗУ. По умолчанию
при запуске программатора начальный адрес буфера равен 0000,
начальный адрес для всех ПЗУ - 0000, конечный адрес ПЗУ уста-
новлен по максимальному об'ему ПЗУ, т.е. в пределах полной
емкости ПЗУ.
Добавим, что для каждого (из 5 типов) ПЗУ эти 3 адреса авто-
номны (т.е. они не являются общими) и при переходе на другой
тип ПЗУ адреса, установленные для предыдущей м/сх, сохраняются,
а дальнейшая работа идет с адресами, установленными ранее для
текущей м/сх. Исходя из этого, можно организовать параллельную
работу (например, прошивку) сразу с несколькими ПЗУ различных
типов, установив для каждой разные "подбуферы" для работы и
загрузив туда данные. Тогда, чтобы перейти от работы с одной
ПЗУ к другой, достаточно сменить тип (см. предыдущую функцию).
Забегая вперед, можно сказать, что такими же автономными пара-
метрами для каждого типа ПЗУ являются напряжение программиро-
вания и длительности программирующего и закрепляющего импульсов.
-------------------------------------------------
PGM2.TX
Программатор PGMaster V3.00
Руководство пользователя
--------------------------------
Продолжение. Начало см. файл PGM1.TX
7. Check ROM blank - Проверка ПЗУ
Функция позволяет проверить чистоту выбранной ПЗУ, а также
подсчитать контрольныю сумму ПЗУ (в формате "РК-86", "Ориона")
без чтения содержимого ПЗУ в буфер. В случае, если ПЗУ чистая,
выводится сообщение об этом без вывода контрольной суммы (если
Вы желаете узнать контрольную сумму проверенного участка ПЗУ,
выберите соответствующий пункт в появившемся меню). Если же не
все байты в проверенном участке ПЗУ чистые (т.е. равны 0FFH),
то в конце проверки откроется окно с подсчитанной контрольной
суммой, а также количеством "нестертых" байтов в десятичном ви-
де. В ходе выполнения этой и всех других функций, связанных с
чтением/записью информации из ПЗУ, в нижней части экрана отоб-
ражается т.н. "спидометр", т.е. шкала процесса, "сеточка" на
которой постепенно зачерняется по мере выполнения функции. При
выполнении некоторых функций на "спидометре" отображается место
нахождения ошибки (функции сравнения, тестирования, записи,
проверки) с помощью треугольничка. Также на "спидометре" име-
ется закрашенный квадратик, перемещающийся слева направо - это
индикатор блока, с которым в данный момент производится опера-
ция. Точного соответствия между байтами ПЗУ и шагами "спидо-
метра" нет, но можно проследить примерное место возникновения
ошибки или оценить местонахождение указателя чисто визуально.
Любую операцию, сопровождающуюся выводом "спидометра", можно
прервать в процессе выполнения, нажав и удержав клавишу ESC до
ближайшего шага "спидометра". Тогда на экране откроется окно,
где необходимо подтвердить намерение прервать операцию. Нажав
еще раз ESC или выбрав пункт " Нет ", можно продолжить выпол-
нение прерванной функции из точки прерывания.
8. Read ROM - Чтение ПЗУ
Функция производит чтение выбранного участка ПЗУ в буфер.
Перед выполнением собственно чтения появляется окно для подтверждения
Ваших намерений, где индицируются начальный и конечный адреса участка
ПЗУ, откуда производится чтение, и начальный и конечный адреса буфера, куда будет заносится прочитанная информация. Если Ваши намерения положительны - нажмите
ВК (выберите пункт " Чтение "). После выполнения операции выводится контрольная сумма прочитанного массива.
9. Bit ROM test - побитный тест ПЗУ
Функция используется для проверки возможности записи в "не-
дотертое" ПЗУ, т.е. соответствие оставшихся "нулевых" битов в
ПЗУ и в записываемой туда информации. В этом случае нет не-
обходимости "дотирать" м/сх ПЗУ ультрафиолетовым излучением.
Если нулевые биты совпадают, Вы получите соответствующее со-
общение после выполнения функции и можете вызвать операцию за-
писи информации в ПЗУ. В случае, когда прошиваемый байт имеет
единичные биты на соответствующих нулевых битах недотертого
байта в ПЗУ, то прошивка информации в ПЗУ будет невозможна и
ПЗУ придется дотирать. При обнаружении такого байта на экране
откроется окно ошибки, где выведутся значения байтов в буфере и
ПЗУ с указанием их адресов, а также запрос на дальнейшие дей-
ствия. Вы можете продолжить поиск различных битов в байтах, а
можете прервать процесс и вернуться в главное меню. Также можно
продолжить поиск с занесением адресов "дефектных" ячеек в ПЗУ в
специальный буфер для последующего просмотра. В буфер заносится
информация о таких ячейках, начиная с выведенной в текущем окне
ошибки и до заполнения буфера (буфер вмещает информацию при-
мерно о 9.5 Кбайтах ячеек), который находится во 2-й странице в
адресах 8000H-EFFFH, т.е. описываемый режим доступен лишь при
установленном размере буфера в 64Кб. Результатом выполнения
данной операции является окно со списком ошибок, оформленное в
виде таблицы и появляющееся по окончанию "сканирования" м/сх
ПЗУ. Клавишами курсора можно прокручивать таблицу вверх и вниз,
для продолжения работы необходимо нажать клавишу ВК. Аналогич-
ные действия Вы можете проделать в функции сравнения (см. ни-
же). Окно ошибки, генерируемое этой функцией, имеет тот же вид,
что и описанное выше.
10. Compare ROM&buff - Сравнить с ПЗУ
Функция может быть использована для оперативного поиска
отличий между содержимым буфера и ПЗУ. В ходе выполнения про-
изводится сравнение байтов из буфера с соответствующими байтами
в ПЗУ, и, при обнаружении несовпадения, на экране открывается
стандартное окно ошибки, где выводятся несовпавшие байты. Можно
продолжить сравнение, выбрав в меню соответствующий пункт и на-
жав ВК, либо прервать операцию и выйти в главное меню. Также,
как и в функции тестирования, Вы можете создать список несов-
павших байтов для последующего просмотра.
11. Write ROM - Запись в ПЗУ
Функция занимается непосредственно программированием ПЗУ
информацией из буфера, которую Вам следует перед этим подгото-
вить. На экране открывается окно, где выводятся начальный и ко-
нечный адреса массива информации в буфере и начальный и конеч-
ный адреса записи этой информации в ПЗУ, установленное ранее
напряжение программирования и, через некоторое время, подсчи-
танная контрольная сумма данных, содержащихся в буфере (если
включена опция " Checksum buffer " в меню Конфигурации).
Внизу окна выведется меню из 4х пунктов, где Вы можете:
Write - Запись
- Начать запись, если все параметры Вас устраивают.
Set Upr - Установить напряжение программирования
- Начать запись, предварительно подкорректировав значение
напряжения программирования. В этом случае появится окно со
значением напряжения программирования, которое можно изменять с
дискретностью 0.1В с помощью курсорных клавиш. Установив тре-
буемое значение напряжения, нажмите клавишу ВК для начала за-
писи с установленным напряжением программирования.
Block - Блок
- Используется для выбора адресов блока буферной памяти при
программировании м/сх 2716 и 2764. Режим доступен только при
включенной опции " Блочная запись " в меню Конфигурация. Под-
робнее об этом будет рассказано при рассмотрении данной опции.
Cancel - Выход
- Отменить запись, выйти в главное меню.
Если Вы начали запись, обратите внимание на "спидометр". При
нормальной записи полоска спидометра равномерно зачерняется
(хотя и медленнее, чем в других операциях), а из динамика до-
носится свист высокого тона (если, конечно, Вы не отключили
звуковое "сопровождение" записи опцией в меню "Конфигурация").
Вследствие различных факторов могут возникнуть ошибки запи-
си, которые бывают 2х видов:
a) Очередной байт микросхемы не поддается записи (причиной
этого события может быть - неисправная микросхема, неправильная
установка микросхемы, неисправность "железа" программатора, не
совсем чистая микросхема, недостаточный или избыточный уровень
напряжения программирования и т.д.). В этом случае на экран вы-
водится окно ошибки и значения байтов в ПЗУ и буфере, на кото-
рых произошла ошибка записи.
b) Очередной байт в микросхеме сначала прописался, но изменил
свое состояние после подачи закрепляющего импульса. Этот факт
говорит о том, что либо м/сх ПЗУ пришла в негодность (израсхо-
дован ресурс), либо следует подобрать длительности программи-
рующего и закрепляющего импульсов (см. меню "Конфигурация").
В последнем случае программа выводит 2 окна ошибки - обычное
и с сообщением об изменении байта после закрепления.
При возникновении любого вида ошибки Вы можете либо прервать
процесс записи, либо продолжить запись, оставив непрописавшийся
байт с неверным значением. Также можно попробовать повторить
попытку записи в текущую ячейку, что, однако, помогает нечасто.
В процессе записи факт прошивки байта отмечается щелчком в
динамике, причем при хорошем качестве ПЗУ щелчки могут слиться
в свист высокого тона, что свидетельствует о хорошей прошива-
емости ПЗУ (как правило, это не относится к м/сх отечественного
производства).
Об окончании процесса записи Вы будете извещены звуковым
сигналом и сообщением, причем если при записи были ошибки, бу-
дет выведено количество непрописавшихся байтов.
12. Standart Upr's - Установить напряжение программирования
Функция позволяет установить для текущего типа ПЗУ значение
напряжения программирования из стандартного ряда напряжений. В
появившемся при выборе функции меню следует выбрать требуемое
значение напряжение, причем не только курсорными клавишами (как
обычно), но и для большей оперативности можно нажать одну из
цифровых клавиш 1-6 в соответствии с пунктами меню (слева нап-
раво). Установленное напряжение отобразится в строке-подсказке
внизу экрана.
При установке значения напряжения следует учесть, что м/сх
2716 всех производителей имеют значение напряжения программи-
рования, равное 25 вольтам, а для остальных микросхем при
отсутствии на корпусе указания о напряжении следует начинать с
минимального значения (12.5в) и, в случае непрограммируемости
м/сх, постепенно повышать его.
13. Configuration - Конфигурация
В этом пункте меню Вы можете изменить некоторые параметры и
установки, используемые программой, влияя тем самым на работу
отдельных функций.
Fix pulse - Закрепляющий импульс
- Этот пункт показывает Вам длительность закрепляющего
импульса, который следует после серии основных программирующих
импульсов для окончательной фиксации значения записанного байта
при прошивке м/сх, а также позволяет Вам изменить этот параметр
записи.
Здесь необходимо кратко описать суть алгоритма программиро-
вания фирмы Intel. В соответствии с этим алгоритмом на микрос-
хему подаются импульсы программирования длительностью 1 мс
(этот импульс также можно изменять, об этом смотри ниже). После
каждого импульса производится проверка. Если байт по текущему
адресу запрограммировался, то в конце подается закрепляющий
импульс допрограммирования, длительность которого равна дли-
тельности предыдущих импульсов, умноженной на коэффициент K.
Этот коэффициент Вы как раз и можете просмотреть и при необ-
ходимости изменить в данном пункте меню конфигурации. При
этом Вы устанавливаете не конкретное значение коэффициента K, а
минимальную, среднюю или максимальную длительность импульса,
чему соответствуют следующие значения K:
Длительность: Значение K:
min (минимальная) 1
mid (средняя) 2
max (максимальная) 4
При установке значения данного параметра следует руковод-
ствоваться следующими соображениями. Если Вам требуется запи-
сать ПЗУ на относительно короткое время эксплуатации (с после-
дующим стиранием и новой записью), т.е. примерно до одного го-
да, лучше установить минимальную длительность этого импульса,
что ускорит процесс программирования и обеспечит больший ресурс
по циклам стирания/записи вашей ПЗУ. При программировании на
длительный срок полезно установить большую длительность импуль-
са, что даст гарантию сохранности информации в ПЗУ и может по-
мочь при склонности микросхем к самовосстановлению.
Duration of pulse - Длительность импульса
- Здесь имеется в виду непосредственно программирующий (т.е.
основной) импульс. Вы устанавливаете также минимальную, среднюю
или максимальную длительность импульса, но в данном случае точ-
но связать длительность результирующего импульса и устанавли-
ваемое Вами значение затруднительно по причине большой разницы
в быстродействии различных вариантов компьютера, точное значе-
ние длительности импульса можно измерить при помощи осциллог-
рафа. Экспериментально установлено, что минимальная длитель-
ность программирующих импульсов соответствует наиболее опти-
мальному режиму прошивки высококачественных зарубежных ПЗУ про-
изводства различных фирм (а иногда и отечественных). Однако
отдельные экземпляры микросхем, особенно ранних годов выпуска,
могут не программироваться в таком режиме (правда, такие случаи
довольно редки). Тогда можно попробовать изменить длительность
импульса в сторону увеличения и повторить прошивку.
По умолчанию при запуске программатора устанавливаются ми-
нимальные длительности обоих импульсов, что приемлемо в боль-
шинстве случаев и обеспечивает максимальныю скорость записи.
Sound on write - Звуковой контроль записи
- Опция позволяет включить (установлено по умолчанию) или
выключить звуковое подтверждение при записи байта в микросхему
ПЗУ (щелчок формируется командами EI-DI).
Checksum buffer - Контрольная сумма буфера
- Позволяет при необходимости включить подсчет контрольной
суммы буфера при вызове функции записи в ПЗУ. Обычно в этом нет
надобности, поэтому по умолчанию опция выключена, но при частых
сбоях в ОЗУ она может быть весьма полезна.
Blocking write - Блочная запись
- Опция позволяет включить режим последовательной записи
большого массива информации из буфера в ПЗУ небольшого об'ема
(2716,2764) с разбиением на блоки, соответствующиие размеру
установленного ПЗУ. Полезно, например, при подготовке ROM-диска
на м/сх 2764,когда буфер - 64Кб - необходимо прошить блоками по
8Кб в м/сх ПЗУ. Это можно сделать, вручную изменяя адреса бу-
фера для каждой прошиваемой м/сх, но проще и лучше воспользо-
ваться режимом блочной записи. В этом режиме перед записью оче-
редной м/сх Вам требуется выбрать в меню записи пункт " Блок "
и указать адреса в буфере, откуда будет браться информация. При
записи следующей м/сх указатель в меню " Блок " передвинется на
очередной блок автоматически, нужно только подтвердить Ваше на-
мерение установить предложенные адреса клавишей ВК.
Buffer size - Размер буфера
- Опция показывает текущий размер буфера и позволяет изменить
его. Необходимо учитывать следующее. Буфер программатора рас-
полагается в 0-й странице памяти в адресах 0-7FFFH (первая по-
ловина) и во 2-й странице в тех же адресах (вторая половина).
При запуске программы происходит определение наличия в компью-
тере 2-й страницы памяти и при ее отсутствии буфер ограничива-
ется размером в 32 Кб и изменить это значение уже невозможно.
Если в компьютере установлена дополнительная память (расширение
до 256 Кбайт), то по умолчанию буфер устанавливается в 64 Кб,
но это значение можно изменить рассматриваемой опцией. Дело в
том, что у Вас могут оказаться во 2-й странице (диск C:) файлы
ORDOS, либо какая-то другая информация и, чтобы ее не затереть
во время работы с программатором (даже случайно), можно умень-
шить размер буфера до 32 Кб и ограничить программатор в дос-
тупной памяти.
Increment address - Увеличение адреса
- Опция используется при загрузке файлов и бывает полезна в
случае, когда Вам необходимо точно друг за другом загрузить в
буфер информацию из нескольких файлов. При этом программа сама
устанавливает адрес загрузки следующего файла в буфер по пос-
леднему загруженному байту предыдущего файла и Вам не надо сле-
дить за адресами загрузки файлов в буфер. В начале сеанса заг-
рузки (т.е. входа в функцию "Загрузить файл(ы)") начальный
адрес устанавливается в 0000 (или в 0800, если включен режим
создания ROM-диска).
Make ROM-disk mode - Создание ROM-диска
- Данный режим введен в программатор в качестве дополнитель-
ной возможности с учетом специфики использования программы на
ПРК "Орион-128". Т.к. программа CMROM$ в среде CP/M недоступна,
да и возможности по созданию ROM-диска для ПЗУ 27512 у нее
отсутствуют, то функции этой программы может взять на себя
программатор, хотя и с некоторым ущербом в визуальном отобра-
жении процесса. Далее будет поэтапно описан процесс создания
ROM-диска при помощи программатора. Следует заметить, что соз-
дать ROM-диск для полной м/сх 27512 возможно только при наличии
полного буфера в 64 Кб (ОЗУ 256Кб).
Порядок операций по созданию ROM-диска:
1. Подготовить (лучше на одной дискете) файлы ORDOS (расши-
рение .BRU) с программами, которые Вы хотели бы получить в ROM-
-диске. Также подготовьте аналогичный файл с ORDOS желаемой
версии.
2. Запустить программу PGM и установить нужный Вам тип ПЗУ.
Установите дискету с подготовленными файлами в дисковод и вы-
зовите функцию "Загрузить файл(ы)". Считайте файл с дампом
ORDOS в буфер программатора (с адреса 0000, что должно быть по
умолчанию). Далее необходимо в меню "Конфигурации" включить
("on ") режим создания ROM-диска. Вернитесь в функцию "Загру-
зить файл" и продолжите последовательную загрузку файлов в бу-
фер. Параметры загрузки без особой необходимости лучше не изме-
нять. Если все файлы не умещаются в буфер, то программа выведет
предупредительное сообщение, и Вам необходимо откорректировать
размер текущего загружаемого файла или отказаться от его заг-
рузки. При окончании загрузки и возврате в главное меню (с по-
мощью клавиши ESC из любого окна либо выбрав соответствующий
пункт в появляющихся меню). При этом вся неиспользованная
область от конца последнего файла и до конца буфера будет за-
полнена байтом 0FFH. Таким образом у Вас получился в буфере
массив данных, который можно программировать в ПЗУ соответ-
ствующего об'ема. Непосредственно после создания в буфере ма-
кета ROM-диска его желательно записать на дискету (на всякий
случай).
Внимание! Вышесказанное справедливо только при загрузке фай-
лов в одном сеансе загрузки, без выхода в главное меню! Если Вы
вышли в главное меню, не загрузив до конца все необходимые фай-
лы в буфер, то конечный адрес последнего загруженного файла бу-
дет утерян и его следует предварительно запомнить (записать), а
затем в следующем сеансе дозагрузки вручную восстановить этот
адрес, увеличенный на единицу, в параметре начального адреса
загрузки. Далее адрес будет увеличиваться автоматически, т.к.
при включении режима создания ROM-диска в меню Конфигурации
одновременно включается и опция Увеличение адреса (поскольку
обе опции в данном процессе взаимосвязаны).
Если ROM-диск создается для м/схем с об'емом не более 32 Кб
(2716-27256), то можно воспользоваться программой CMROM в
ORDOS. Созданный ею образ ROM-диска записывают как файл ORDOS
на дискету, затем считывают программатором в обычном режиме
(режим создания ROM-диска выключен) и программируют массив в
ПЗУ. Этот метод удобен для создания ROM-диска размером не более
32 Кб.
Exit - Выход
- Выход в главное меню с сохранением произведенных установок.
Аналогично действует и клавиша ESC.
14. Exit to DOS - Выход в ДОС.
Функция позволяет произвести корректный (без нажатия на кла-
вишу "Сброс") выход из программы в операционную систему. При
выходе восстанавливаются номер области пользователя и текущий
дисковод такими, какими они были при запуске программы. Но до
передачи управления операционной системе программа запросит
подтверждение на выполнение данной операции. Это связано с тем,
что случайный выход из программатора может привести к потере
данных, находящихся в буфере (хотя не всегда, а, например, при
возврате из программатора в оболочку типа Bridge Panels,
использующую при работе 0-ю страницу ОЗУ). Поэтому перед тем,
как дать утвердительный ответ на подтверждение Ваших намерений
выйти из программатора, убедитесь, что буфер не содержит нужных
Вам данных, которые не сохранены в виде файлов.
Приложения.
1. Программирование ПЗУ 2732 не включено в меню программатора
из-за особенностей цоколевки и крайне редкого применения. Но
если возникнет необходимость программировать эту "экзотическую"
микросхему, то поступают следующим образом:
Необходимо подготовить данные для программирования в любом
удобном месте в основном буфере, например, в адресах с 0000H по
0FFFH. Далее выберите в программаторе режим прошивки микросхемы
ПЗУ 27512 и в меню адресов установите Последний адрес ПЗУ рав-
ным 0FFF. Саму ПЗУ 2732 следует установить в панель так, чтобы
1-й вывод ПЗУ совпал с третьим выводом панели (как 2716). Перед
установкой 24-й вывод 2732 следует отогнуть и каким-либо про-
водником соединить с цепью +5в или с 28-м контактом панели (в
общем-то, можно предусмотреть и специальный переключатель).
После всех этих операций Вы можете работать с ПЗУ 2732, не за-
бывая, что установленный Вами буфер для работы с ней находится
в адресах 0000-0FFFH.
2. Индивидуальная настройка программы. Производится путем мо-
дификации 2-х ячеек, находящихся в начале программы по адресам
0103H и 0104H. Назначение ячеек следующее:
a) Константа задержки при работе с клавиатурой (перемещение
курсора в меню, ввод и т.д.). Изменение константы в меньшую
сторону уменьшает задержку, в большую - увеличивает. Распола-
гается в программе сразу после первой команды (JMP) - адрес
0103H.
b) Константа задержки в цикле записи байта. В поставляемой
программе установлено ее минимальное значение - 00H. Увеличение
константы может потребоваться в случае плохой работы порта
ВВ55, длинного неэкранированного кабеля связи компьютера с
программатором и по другим причинам, влияние которых проявля-
ется в наличии частых сбоев при записи в ПЗУ - постоянные ошиб-
ки, которые устраняются повтором записи в ошибочный байт. В
этом случае помогает увеличение данной константы, хотя при этом
пропорционально снижается скорость записи. Адрес константы -
0104H.
Изменение этих констант производится прямо в файле любой
программой типа DISK DOCTOR, например, утилитами DOKA, DU, ZAP-
80, POWER. При использовании программы POWER наиболее удобно
считать весь файл в ОЗУ, произвести изменения и записать его
обратно. ВНИМАНИЕ !!! Изменение любых других байтов в програм-
ме категорически запрещено, ибо это приведет к потере работо-
способности программы, поэтому перед модификацией констант не
забудьте сделать резервныю копию файла.
---------------------------------
Примечание. Фирмой Orionsoft также создана версия программатора для
работы в среде ORDOS. Эта версия по интерфейсу полностью идентична рассмотренной выше полной версии (для CP/M),
поэтому составление для нее отдельного описания нецелесообразно. Ниже кратко приведены ее отличия :
a) Буфер ограничен до 32 Кб и располагается в 0-й странице в
адресах 0-7FFFH. Соответственно, работа с ПЗУ 27512 осуществляется только по половинкам. В связи с ограничением буфера
можно также не опасаться за потерю данных при выходе из программатора.
b) Убраны все операции, связанные с редактированием буфера и
работой с файлами. Это об'ясняется тем, что в ORDOS есть более
мощные средства для редактирования буфера, а также предвартельной
подготовки в буфере информации. Программатор же необходимо вызывать только для непосредственной работы с ПЗУ.
c) Некоторые меню сокращены в связи с отсутствием более половины функций от полной версии.
--- ORIONSOFT ---
Программатор
"Kisa"
Авторский программатор
по журналу радио
Прошивка ПЗУ
Как
считать информацию с к573рф1
Куплю платы, наборы микросхем 2716, 2732, 2764, 27128, 27256,
27512, 27c010, 27c801 на Орион-128, КР565РУ5В,
КР565ру7В, к565ру5г AU, к565ру7г Au
в позолоте, куплю микросхемы фирмы NEC,
Intel, Oki
Полезные и интересные статьи
На предыдущую страницу
На главную страницу На следующую
страницу
|
|