Программатор Serial EEPROM Orange
Часто Задаваемые Вопросы

(Frequently Asked Questions)

по программатору Orange

Версия 1.6 (30.01.2005)


Q: Как определяется наличие программатора?
A: Функция проверки находится в драйвере и зависит от схемы программатора. При использовании ORANGE-1 тестирование производится по цепям VT1-VT2 (если диоды VD1-VD5 не установлены, для тестирования должно быть подано внешнее питание).

Q: Зачем нужен резистор R4 по схеме ORANGE-1?
A: Некоторые производители рекомендуют его установку. Например, datasheet S-93C46A/56A/66A Seiko Instruments: "However, since there is a possibility that the DO output from the serial memory IC will interfere with the data output from the CPU with a 3-wire interface, install a resistor between DI and DO in order to give preference to data output from the CPU to DI..."

Q: Что значит опция Force write и зачем она нужна?
A: Это значит "принудительная запись" если она включена, производится запись всего буфера, иначе производится предварительное чтение. Запись выполняется только по тем адресам, где прочитанное значение не совпадает с буфером. Это позволяет в некоторых случаях значительно ускорить запись.

Q: Чем отличется "Verify during write" от "Verify After write"?
A: Первое выполняет проверку после записи каждого слова, а второе после записи всей области памяти. Проверка после записи более надежна, зато проверка во время записи быстрее покажет, что запись выполняется с ошибками. Как правило, включать обе опции сразу нет необходимости.

Q: Почему Orange меняет местами старший и младшие байты для 93с46 и других 16-битных EEPROM при записи в файл?
A: В отличие от некоторых других программаторов, Orange использует Intel-подобный формат (младший байт по младшему адресу). В данном случае это более корректно, что подтверждается тем, что те микросхемы, которые имеют 8 и 16 битный режим, читаются в обоих режимах одинаково. Если Вас такой порядок не устраивает, есть 2 способа: 1) Воспользоваться командой Swap bytes, она переставляет байты в буфере.
2) Исправить соответствующий HPL.

Q: Можно ли использовать софт от Orange3 вместе с железом Orange2 и наоборот?
A: Нет, программы несовместимы.

Q: У меня не работает модуль XX с EEPROM YY фирмы ZZ, что делать?
A: 1) Убедиться в исправности программатора
2) Запустить софт в чистом DOSe, не в DOS сессии Windows.
3) Подключить внешнее питание - возможно напряжение, получаемое с выходов LPT недостаточно.
3) По возможности убедиться в исправности микросхемы на другом программаторе.
4) Сравнить модуль с алгоритмами чтения/записи, рекомендуемые производителем. EEPROM одинаковых серий у разных фирм могут иметь существенные отличия.

Q: Как мне написать свой HPL модуль и добавить его в меню?
A: Сначала спросите - может он уже написан до вас :)

  1. Определите расположение выводов EEPROM - если оно совпадает с каким-нибудь существующим, возьмите подходящий модуль за основу, если нет, начинайте писать с самого начала. Не забудьте сделать копию перед редактированием какого-либо модуля. 2) Выберите имя будущего модуля. Как правило, существует несколько EEPROM разного объема с совместимым форматом команд. Рекомендуется выбирать для названия EEPROM максимального объема. Например, для группы 24C04 (512x8), 24C08 (1024x8), 24C16 (2048x8) лучшим названием будет 24C16.HPL. Все модули хранятся в каталоге \HPL.
  2. Добавьте новый модуль в меню. Для этого необходимо вставить в orange.cfg строку описания, например: CHIP=93C46,64x16,93C46.hpl Имя EEPROM, емкость, имя модуля.
  3. Опишите начальную секцию. Для нестандартного расположения выводов задайте пока параметр SOCKET=0 и сообщите автору - он включит эту таблицу выводов в следующую версию драйвера и присвоит порядковый номер. Опишите выходы и входы чипа в соответствии с подключенными выводами программатора. Задайте параметр CDELAY, определяющий максимальную тактовую частоту. Не стоит увлекаться экспериментальным снижением этого параметра до минимальной величины - реальная задержка зависит также от скорости процессора и LPT порта. Лучше установить рекомендуемое производителем значение.
  4. При необходимости создайте секции [INIT] и [END] и опишите в них начальные установки и действия после включения питания и перед выключением соответственно.
  5. Опишите секцию [READ]. Как правило, она состоит из цикла выдачи команды, одного или нескольких циклов выдачи адреса и цикла чтения данных.
  6. Секцию записи [WRITE] можно делать, когда чтение уже написано и отлажено.

Q: А зачем вообще нужны пользовательские секции и что с ними делать?
A: Для выполнения "нестандартных" операций. Например, стирание, чтение/запись дополнительных регистров и т.п.

Q: Что такое "Pin Tester"?
A: Это режим ручной установки/проверки пинов. Полезен для настройки программатора. Кроме того, при установке универсального драйвера UNILPT или UNICOM позволяет работать со всеми входами и выходами параллельного или последовательного порта и может использоваться для отладки различных устройств.

Q: Как сохранить маску файлов для чтения и записи?
A: Нужно выполнить следующую последовательность действий: 1) Выполнить в меню File->Open File 2) В окне File набрать *.bin и нажать ввод 3) В окне Files должны появиться список только из bin файлов. 4) Выбрать любой из них и загрузить. 5) Выполнить в меню Options->Save...