Программатор
ПРОГРАММАТОР «АЛМАЗ»

ВНИМАНИЕ!

ПРИ РАБОТЕ С ПЗУ НА ОТДЕЛЬНЫЕ ЕГО КОНТАКТЫ МОЖЕТ ПОДАВАТЬСЯ НАПРЯЖЕНИЕ ДО 14В. ДЛЯ РАЗНЫХ ТИПОВ ПЗУ ЭТО РАЗНЫЕ КОНТАКТЫ.

ТОЧНО ОПРЕДЕЛЯЙТЕ ТИП ПЗУ.

Для микросхем из Списка ПЗУ, поддерживаемых программатором, всегда выполняйте автоматическое определение типа (кнопка Определить), для аналогов, выпускаемых другими фирмами, ознакомьтесь с их технической документацией, и на панели ПЗУ программы Almaz.exe выберите из списка ПЗУ с наиболее близкими параметрами (Vp, Vc, T записи байта) и ОБЯЗАТЕЛЬНО с тем же расположением одноименных контактов.

Щелкните левой кнопкой мышки на выделенном зеленым цветом наименовании раздела, по которому Вы хотели бы получить сведения.

ПОДКЛЮЧЕНИЕ ПРОГРАММАТОРА, СВЯЗЬ ЧЕРЕЗ СОМ-ПОРТ

ОРГАНИЗАЦИЯ ДАННЫХ В ПРОГРАММЕ ALMAZ.EXE, БУФЕР ДАННЫХ, ТАБЛИЦА

РАБОТА С БАЗОЙ ФАЙЛОВ

РЕДАКТИРОВАНИЕ ДАННЫХ В ТАБЛИЦЕ

НАЗНАЧЕНИЕ КНОПОК, ПАНЕЛИ

АЛГОРИТМЫ ЗАПИСИ ДАННЫХ

СООБЩЕНИЯ ОБ ОШИБКАХ

СПИСОК ПОДДЕРЖИВАЕМЫХ ПЗУ, ЦОКОЛЕВКА


Связь через СОМ-порт; установка скорости обмена
ПОДКЛЮЧЕНИЕ ПРОГРАММАТОРА, СВЯЗЬ ЧЕРЕЗ СОМ-ПОРТ

Подключение программатора к компьютеру производится при выключенном питании программатора и выключенном компьютере штатным кабелем к свободному разъему СОМ-порта.

Желательно знать соответствующий этому разъему номер СОМ-порта компьютера.

Далее

-	включить компьютер,

-	подать питание на программатор,

-	запустить программу Almaz.exe.

При первом запуске программа попытается выполнить тест связи через порт СОМ-1 на скорости 9600 бод.

При положительном результате теста в строке статуса, находящейся в самом низу окна программы вместе со строкой ошибки, появится сообщение об установленной скорости. После этого можно установить более высокую скорость связи, воспользовавшись меню СОМ-порт / Скорость обмена.

Если после первого теста появится сообщение о том, что программатор не отвечает, выберите в меню СОМ-порт другой номер порта, затем выберите меню СОМ-порт / Тест связи.

ЗАМЕЧАНИЕ.

Если во время работы программатор будет выключен, а затем включен, его скорость станет равной 9600 бод.

После подачи питания программатор всегда работает на скорости 9600 бод. Команда компьютера «Тест связи» передает информацию о том, какую скорость следует установить.

Программатор посылает ответ, затем переходит на новую скорость.

Если компьютер принимает ответ без сбоев, он также переходит на новую скорость. В противном случае связь обрывается, так как программатор и компьютер работают на разных скоростях.

Для восстановления связи надо

-	выключить, а затем включить питание программатора,

-	в меню СОМ-порт / Скорость обмена щелкнуть мышкой по скорости 9600, даже если метка стоит против этой скорости.

ЗАМЕЧАНИЕ.

Щелчок по любой скорости, кроме 9600 бод, приводит к тому, что на текущей скорости, например, на 19200 бод, передается сообщение о том, что следует перейти на новую скорость, например, на 115200 бод.

При щелчке по скорости 9600 бод сообщение передается на скорости 9600 бод, не зависимо от того, какая скорость была до этого.


Организация данных
ОРГАНИЗАЦИЯ ДАННЫХ В ПРОГРАММАТОРЕ ALMAZ.EXE

Данные, которые необходимо записывать в ПЗУ, хранятся в файлах *.hex или *.bin.

Размер файлов *.bin равен размеру данных, которые в них хранятся, файлы *.hex можно прочитать с помощью текстовых редакторов, кроме данных они содержат служебную информацию.

Программа Almaz.exe при загрузке файлов обоих названных типов преобразует их в одинаковый вид и записывает в буфер (область оперативной памяти компьютера).

При сохранении данных в файл данные, находящиеся в буфере, преобразуются в выбранный пользователем формат *.hex или *.bin и записываются в файл.

Содержимое буфера отражается в таблице, доступной пользователю для редактирования.

При считывании информации из ПЗУ данные также заносятся в таблицу.

При нажатии кнопки СОХРАНИТЬ панели БУФЕР данные из таблицы сохраняются в буфере, появляется запрос, надо ли сохранять буфер в файл.

Нажатие кнопки ОТМЕНИТЬ панели БУФЕР восстанавливает таблицу, снова загружая ее данными из буфера.

ЗАМЕЧАНИЕ: если кнопка СОХРАНИТЬ недоступна - данные в буфере и таблице одинаковы.

При записи в ПЗУ передаются данные из буфера.

При сравнении данные ПЗУ сопоставляются с содержимым таблицы, это позволяет видеть, где именно произошло несовпадение и чем отличаются данные ПЗУ от данных в ячейке таблицы.

Наличие буфера позволяет избежать непосредственного обращения к файлам и преобразования форматов при редактировании. Это преимущество особенно заметно, если файл хранится на дискете.


Работа с базой фалов
РАБОТА С БАЗОЙ ФАЙЛОВ

В программе обеспечена возможность сохранения файлов, содержащих данные для ПЗУ, в базе данных. Для этого после открытия файла нужно нажать кнопку В БАЗУ панели СТАТУС.

Для получения информации о файле и добавления комментария к нему файл надо ВЫБРАТЬ, щелкнув по имени файла в окне ФАЙЛ. При двойном щелчке по имени файла или при нажатии кнопки В БУФЕР, находящейся рядом с окном КОММЕНТАРИЙ, файл загрузится в буфер, его содержимое отразится в таблице.

Если файл выбран, к нему можно добавить пояснительный текст, набрав его в окне КОММЕНТАРИЙ и нажав кнопку добавить.

Для исключения выбранного файла из базы нажмите кнопку УДАЛИТЬ.

Удобно использовать разные разделы для хранения файлов разного назначения, например, можно создать отдельные разделы для ПЗУ разного объема.

Для создания раздела в окошке ввода панели БАЗА введите имя раздела (при запуске программы там находится строка «Новое имя»), затем нажмите кнопку СОЗДАТЬ панели БАЗА.

Если необходимо изменить имя уже существующего раздела, перейдите в этот раздел, щелкнув по его закладке, введите новое имя раздела и щелкните кнопку ИЗМЕНИТЬ панели БАЗА.

Перейдите на раздел, который больше не понадобится и нажмите кнопку УДАЛИТЬ панели БАЗА.

На этой же панели есть кнопка ВЫХОД, позволяющая завершить программу без сохранения конфигурации программы и базы файлов.

При этом удаленный раздел будет восстановлен, однако комментарии и файлы, добавленные в последнем сеансе работы, не сохранятся.


Редактирование данных в таблице
РЕДАКТИРОВАНИ ДАННЫХ В ТАБЛИЦЕ

Щелкните мышкой по ячейке, содержимое которой надо отредактировать.

При редактировании данных в таблице воспринимается лишь нажатие клавиш 0…9, a…f, A…F, ESC и Del.

Клавиши 0…9, a…f, A…F обеспечивают ввод в ячейку однобайтных чисел в шестнадцатеричном формате,

Нажатие клавиши ESC восстановит данные, содержащиеся в ячейке до редактирования, если не произведен переход в другую ячейку.

Нажатие клавиши Del вызывает очистку выделенной ячейки. Если в нее после этого ничего не вводить и перейти к другой ячейке, в очищенную ячейку будет помещено значение FF.

ЗАМЕЧАНИЕ: такое же значение FF заносится в ячейки ПЗУ при стирании (очистке) ПЗУ.

Это соответствует единицам во всех восьми разрядах ячейки. При записи программатор может изменить единицу в разряде на ноль, но не наоборот.


Назначение клавиш, панели
НАЗНАЧЕНИЕ КНОПОК, ПАНЕЛИ

СТАТУС; ПЗУ; БУФЕР; БАЗА; АЛГОРИТМ; ПРОГРАММАТОР; панели; Создать; Изменить; Удалить (закладку); Выход; Записать; Считать; Чистота; Сравнить; Стереть; Стоп; В буфер; Добавить; Удалить (файл); В базу; Очистить; Определить; CR ПЗУ; Сохранить; Отменить; кнопки

Кнопки, близкие по своему функциональному назначению, расположены на соответствующей панели (рамка с наименованием на верхней стороне). Далее рассматриваются кнопки, сгруппированные по панелям.

Панель СТАТУС

Кнопка В базу позволяет добавить в список, находящийся в окошке ФАЙЛ выше панели СТАТУС, имя открытого файла, сведения о котором приводятся на панели и данные которого находятся в таблице.

Кнопка Очистить удаляет данные из таблицы и сведения о файле на панели, очищает буфер данных в памяти.

Панель ПЗУ

Кнопка CR ПЗУ обеспечивает вычисление контрольной суммы данных, хранящихся в ПЗУ. Для того, чтобы контрольная сумма была определена, необходимо, чтобы был известен адрес самой старшей ячейки установленного в программатор ПЗУ. Поэтому перед вычислением контрольной суммы наименование ПЗУ должно быть определено в окошке на панели ПЗУ, если это окошко пусто, вычисление контрольной суммы блокируется. Вычисление контрольной суммы производится гораздо быстрее, чем при считывании данных. Сравнив контрольные суммы файла и данных в ПЗУ, можно быстро оценить, этот ли файл был записан в ПЗУ.

Кнопка Определить позволяет автоматически определить наименование ПЗУ, установленного в программатор, по идентификационному коду ПЗУ. Если код ПЗУ опознан программой, автоматически вычисляется контрольная сумма данных, хранящихся в ПЗУ. При отсутствии ПЗУ в программаторе или отсутствии кода ПЗУ в списке появляется сообщение о невозможности определить его наименование, полученный код такого ПЗУ все равно отображается на панели ПЗУ, но контрольная сумма не вычисляется. При каких-либо проблемах с автоматическим определением установленного ПЗУ можно выбрать его, воспользовавшись окошком, находящимся на панели вверху, над кнопкой, но перед работой с кнопками панели ПРОГРАММАТОР обязательно воспользуйтесь кнопкой Определить.

ВНИМАНИЕ!

ПРИ РАБОТЕ С ПЗУ НА ОТДЕЛЬНЫЕ ЕГО КОНТАКТЫ МОЖЕТ ПОДАВАТЬСЯ НАПРЯЖЕНИЕ ДО 14В. ДЛЯ РАЗНЫХ ТИПОВ ПЗУ ЭТО РАЗНЫЕ КОНТАКТЫ.

ТОЧНО ОПРЕДЕЛЯЙТЕ ТИП ПЗУ.

Для микросхем из Списка ПЗУ, поддерживаемых программатором, всегда выполняйте автоматическое определение типа (кнопка Определить), для аналогов, выпускаемых другими фирмами, ознакомьтесь с их технической документацией, и на панели ПЗУ программы Almaz.exe выберите из списка ПЗУ с наиболее близкими параметрами (Vp, Vc, T записи байта) и ОБЯЗАТЕЛЬНО с тем же расположением одноименных контактов.

Панель БУФЕР

Кнопки Сохранить и Отменить используются при редактировании содержимого ячеек таблицы, их работ описана на странице ОРГАНИЗАЦИЯ ДАННЫХ В ПРОГРАММЕ ALMAZ.EXE, БУФЕР ДАННЫХ, ТАБЛИЦА .

Панели БАЗА и КОММЕНТАРИЙ

Кнопки и окна, расположенные на этих панелях, описаны в разделе РАБОТА С БАЗОЙ ФАЙЛОВ.

Панель ПРОГРАММАТОР

Кнопка Записать используется для записи данных из буфера в ПЗУ.

Кнопка Считать обеспечивает считывание данных из ПЗУ в таблицу. Для сохранения данных в буфер из таблицы по окончании считывания нажмите кнопку Сохранить панели БУФЕР. При этом появится окошко с предложением сохранить данные в файл – выполните сохранение, если считаете нужным.

Кнопкой Чистота удобно пользоваться для проверки, стерты ли данные в ПЗУ. Программатор при этом сам проверяет содержимое всех ячеек, сообщая компьютеру только о результате проверки.

Кнопка Сравнить обеспечивает сопоставление данных, хранящихся в ячейках ПЗУ, с данными из ячеек таблицы, при несовпадении данных выводится информация о соответствующем адресе и данных, находящихся в ПЗУ по этому адресу, а таблица прокручивается так, что ячейка с этим адресом становится видна пользователю.

Кнопка Стереть используется для записи во все ячейки ПЗУ величины FF. Эта кнопка не доступна для ПЗУ, стираемых ультрафиолетовым излучением.

Кнопка Стоп позволяет остановить выполнение записи, считывания и сравнения.

ЗАМЕЧАНИЕ 1: правильное выполнение команд, генерируемых нажатием кнопок панели ПРОГРАММАТОР возможно лишь при соответствии наименования ПЗУ, установленного в программатор, названию микросхемы в окошке панели ПЗУ. Для устранения возможных недоразумений при использовании кнопок панели ПРОГРАММАТОР предварительно пользуйтесь кнопкой Определить панели ПЗУ.

ЗАМЕЧАНИЕ 2: для того, чтобы данные в буфере соответствовали данным в таблице, используйте кнопку Сохранить панели БУФЕР.


Алгоритмы записи данных
АЛГОРИТМЫ ЗАПИСИ

В программаторе поддерживаются алгоритмы записи, рекомендованные производителями микросхем ПЗУ.

Для записи микросхем серии 27хххх в основном используется Обычный алгоритм. В описаниях, предоставляемых разными производителями, он называется по-разному, но практически не отличается.

Для микросхемы W27C512 дополнительно предусмотрен алгоритм Smart1, а обычный алгоритм в описании этого ПЗУ именуется алгоритмом Smart2. На мой взгляд отличия по скорости выполнения записи этих алгоритмов не должны существенно отличаться.

Для микросхемы M27512 запись по обычному алгоритму выполняется с большими временами задержки, дополнительно производитель обеспечивает Граничный режим записи (Margin mode) при повышенных напряжениях на контактах питания ПЗУ.

Часть ПЗУ поддерживают постраничную запись, то есть, страница размером в 128 байт заносится в оперативную память ПЗУ, после чего дается команда на перенос данных из оперативной в постоянную память, программатор при этом просто ждет подтверждения записи данных от ПЗУ.

Ниже для сведения приводятся алгоритмы записи Smart1 и Smart2 (соответствует Обычному алгоритму большинства ПЗУ типа 27хххх) для W27С512.

Все алгоритмы вы можете найти в описаниях ПЗУ, предоставляемых производителями через сеть INTERNET.


СООБЩЕНИЯ ОБ ОШИБКАХ

Ошибки, возникающие при программировании, могут быть связаны как со старением программируемых ПЗУ, так и со сбоями связи программатора с компьютером.

Последние описаны на странице ПОДКЛЮЧЕНИЕ ПРОГРАММАТОРА, СВЯЗЬ ЧЕРЕЗ СОМ-ПОРТ если ошибки связи возникают слишком часто, попробуйте перейти на более низкую скорость обмена.Ошибки, возникающие при записи и стирании ПЗУ скорее всего вызваны старением микросхемы ПЗУ или другими причинами, вызвавшими ее повреждение.

Дело в том, что при обнаружении ошибки записи или стирания программатор пытается повторить запись или стирание ячейки многократно. При этом число таких обращений рекомендуется производителем. Так, в алгоритмах записи, приведенных в разделе АЛГОРИТМЫ ЗАПИСИ ДАННЫХ, число попыток записи при ошибках составляет 25, и только после этого появляется сообщение об ошибке на экране компьютера. Для другого типа ПЗУ алгоритм стирания продолжает выполняться до полного стирания, при этом число ошибок может достигать тысячи.

Можно попытаться еще несколько раз записать данные или стереть их при появлении ошибок, однако помните, что наличие подобных ошибок может свидетельствовать о снижении надежности ПЗУ.

Старайтесь не использовать такие ПЗУ там, где подаваемое на них напряжение питания может значительно отличаться от номинального.

Следует также учитывать, что проверка результатов записи и стирания отдельных типов ПЗУ производится при повышенных и пониженных напряжениях питания, что может вызвать ошибку, которой не будет при нормальном напряжении.

СПИСОК ПОДДЕРЖИВАЕМЫХ ПЗУ, ЦОКОЛЕВКА

ПЗУ	Объем, Кбайт	Код ПЗУ	Запись	Проверка 1 записи	Проверка 2 записи	Стирание	Проверка стирания
			байта, мс	Vp,В	Vc,В
						Vp,В	Vc,В	Vp,В	Vc,В	Vp,В	Vc,В	Vp,В	Vc,В
AM27C010	128	0E01	0,1	12,75	6,25	5,25	5,25
AM27C256	32	1001	0,1	12,75	6,25	5,25	5,25
AM27C512	64	9101	0,1	12,75	6,25	0	5,25
AT27C256	32	8C1E	0,1	13	6,5	13	6,5
AT27C512	64	0D1E	0,1	13	6,5	0	6,5
M27256	32	0420	1+N*3	12,5	6	12,5	6,25
M27512	64	0D20	1+N*3 0,5	12,5 12,75	6 6,25	0 0	6,25 6,25
	Граничный реж.прогр.:
M27C256	32	8D20	0,1	12,75	6,25	12	6	12	4,2
M27C512	64	3D20	0,1	12,75	6,25	0	6	0	4,2
W27C257	32	02DA	0,1	12	5	12	5			14	5	14	5
W27C512	64	08DA	0,1	12	5	0	5			14	5	14	3,75
ПЗУ с постраничной записью:

AM28F010	128	A701		12	5
AM29F010	128	2001
SST29EE010	128	07BF
SST29EE512	64	5DBF
W29EE011	128	C1DA
W29EE512	64	C8DA
Vp – напряжение на контакте Vpp (или OE/Vpp) ПЗУ

Vc – напряжение на контакте Vcc ПЗУ

Эти напряжения даны для режимов ЗАПИСИ, ПРОВЕРКИ ЗАПИСИ, СТИРАНИЯ, ПРОВЕРКИ СТИРАНИЯ.

Для микросхем М27С256 и М27С512 предусмотрены проверки качества записи как при повышенном, так и при пониженном напряжениях Vc.

Для микросхемы W27C512 проверка качества стирания производится при пониженном напряжении.

Для микросхемы М27512 программирование может быть выполнено как в обычном, так и в граничном режимах.

Время записи одного байта в микросхемы М27256 и М27512 (в обычном режиме) составляет 1мс, но если записать байт с одного раза не удалось, производится еще 25 попыток, время каждой следующей попытки N увеличивается на 3мс.

После программирования для ПЗУ выполняется проверка записи при номинальном напряжении питания 5В.

В программе на панели ПЗУ указанные параметры выводятся в следующем виде:

Vpe – напряжение Vp в режиме стирания,

Vce - напряжение Vc в режиме стирания,

Vpev – напряжение Vp в режиме проверки стирания,

Vcev - напряжение Vс в режиме проверки стирания,

Vpp – напряжение Vp в режиме записи,

Vcp - напряжение Vc в режиме записи,

Vpv – напряжение Vp в режиме проверки записи,

Vcv, Vсv1, Vсv2- напряжение Vс в режиме проверки записи,

T – время записи одного байта данных.

Рисунок 2. Цоколевка поддерживаемых программатором ПЗУ.