Программатор
Orange3
Часто Задаваемые Вопросы.
Версия 2.2 (10.02.2007)
Q: Что значит опция Force write и зачем
она нужна?
A: Это значит "принудительная запись"
если она включена, производится запись всего
буфера, иначе производится предварительное
чтение. Запись выполняется только по тем адресам,
где прочитанное значение не совпадает с буфером.
Это позволяет в некоторых случаях значительно
ускорить запись.
Q: Чем отличется "Verify during write"
от "Verify After write"?
A: Первое выполняет проверку после записи
каждого слова, а второе после записи всей области
памяти. Проверка после записи более надежна, зато
проверка во время записи быстрее покажет, что
запись выполняется с ошибками. Как правило,
включать обе опции сразу нет необходимости.
Q: Почему Orange меняет местами
старший и младшие байты для 93с46 и других 16-битных
EEPROM при записи в файл?
A: В отличие от некоторых других
программаторов, Orange использует Intel-подобный
формат (младший байт по младшему адресу). В данном
случае это более корректно, что подтверждается
тем, что те микросхемы, которые имеют 8 и 16 битный
режим, читаются в обоих режимах одинаково. Если
Вас такой порядок не устраивает, есть 3 способа:
1) Установить перестановку байтов в опциях файлов. Однако
постоянно пользоваться этим режимом не рекомендуется
для сохранения совместимости.
2) Воспользоваться командой Swap bytes, она
переставляет байты в буфере.
3) Исправить соответствующий HPL.
Q: У меня не работает модуль XX с EEPROM
YY фирмы ZZ, что делать?
A: 1) Убедиться в исправности программатора
2) По возможности проверить в исправности
микросхемы на другом программаторе.
3) Сравнить модуль с алгоритмами чтения/записи,
рекомендуемые производителем. EEPROM одинаковых
серий у разных фирм могут иметь существенные
отличия.
Q: Как мне написать свой HPL модуль и
добавить его в меню?
A: Сначала спросите - может он уже написан до
вас :)
- Определите расположение выводов EEPROM - если оно совпадает с каким-нибудь существующим, возьмите подходящий модуль за основу, если нет, начинайте писать с самого начала. Не забудьте сделать копию перед редактированием какого-либо модуля. 2) Выберите имя будущего модуля. Как правило, существует несколько EEPROM разного объема с совместимым форматом команд. Рекомендуется выбирать для названия EEPROM максимального объема. Например, для группы 24C04 (512x8), 24C08 (1024x8), 24C16 (2048x8) лучшим названием будет 24C16.HPL. Все модули хранятся в каталоге \HPL.
- Добавьте новый модуль в меню. Для этого необходимо вставить в orange.cfg строку описания, например: CHIP=93C46,64x16,93C46.hpl Имя EEPROM, емкость, имя модуля.
- Опишите начальную секцию. Для нестандартного расположения выводов задайте пока параметр SOCKET=0 и сообщите автору - он включит эту таблицу выводов в следующую версию драйвера и присвоит порядковый номер. Опишите выходы и входы чипа в соответствии с подключенными выводами программатора. Задайте параметр CDELAY, определяющий максимальную тактовую частоту. Не стоит увлекаться экспериментальным снижением этого параметра до минимальной величины - реальная задержка зависит также от скорости процессора и LPT порта. Лучше установить рекомендуемое производителем значение.
- При необходимости создайте секции [INIT] и [END] и опишите в них начальные установки и действия после включения питания и перед выключением соответственно.
- Опишите секцию [READ]. Как правило, она состоит из цикла выдачи команды, одного или нескольких циклов выдачи адреса и цикла чтения данных.
- Секцию записи [WRITE] можно делать, когда чтение уже написано и отлажено.
Q: А зачем вообще нужны
пользовательские секции и что с ними делать?
A: Для выполнения "нестандартных"
операций. Например, стирание, чтение/запись
дополнительных регистров и т.п.
Q: Что такое "Pin Tester"?
A: Это режим ручной установки/проверки пинов.
Полезен для настройки программатора. Кроме того,
он может использоваться для отладки различных устройств.
Q: Почему модули для Orange2 могут не
работать с Orange3?
A: Схемотехника программатора имеет
некоторые отличия от Orange2. В старой версии для
Microwire и SPI интерфейсов использовался общий канал
данных, DI и DO соединялись через резистор. В Orange3
для входа данных используется отдельный пин.
Совместимость обеспечивается прозрачным
перенаправлением запросов в драйвере. Для его
корректной работы должен быть правильно
установлен параметр "SOCKET" в модуле.
Q: Что такое ZIF?
A: Zero Insertion Force - панель с нулевым усилием (рычажная).
Q: Как деинсталлировать программу?
A: Windows-версия Orange не делает записей в системном
реестре и не устанавливает свои библиотеки. Для деинсталляции
достаточно удалить каталог с программой.
Q: В чем причина неустойчивой работы на некоторых
версиях Windows XP?
A: Причина в том, что XP может периодически самостоятельно сканировать
LPT порт для определения подключенных устройств. Для исправления
следует добавить в реестр запись из файла xplpt.reg (каталог DOC программатора).
Q: Какой кабель нужен для программатора?
A: Используется стандартный экранированный удлиннительный
LPT кабель с разъемами DB25 "мама"-"папа". Кабель распаян 1:1.
Q: Подскажите, как читать и писать
микросхему программатором без ее выпаивания из платы?
A: Особенности внутрисхемного программирования описаны
в статье.
Q: Почему не сохраняются текущие настройки
при повторном запуске программы?
A: Возможно программа запускается с CD, либо другого защищенного
от записи носителя. Или программа была скопирована целиком на жесткий
с такого носителя. В этом случае следует вручную снять с файла orange.dat
атрибут "Только для чтения" (Read only).