Frequently Asked Questions
(Часто Задаваемые Вопросы)
по программатору Orange4

Версия 2.3 (10.06.2008)

Q: Может ли программатор работать под Windows XP?
A: Да. Для этого требуются права администратора (для установки драйвера). Кроме того, XP может периодически самостоятельно сканировать LPT порты для определения подключенных устройств, что мешает нормальной работе программатора. Для устранения этого следует добавить в реестр запись из файла xplpt.reg (каталог DOC программатора).

Q: Может ли программатор работать с дополнительным LPT адаптером, имеющем нестандартный адрес?
A: Может. Для Windows 2000/XP: Посмотреть адрес порта можно через Панель управления - Система. После этого откройте файл Orange.ini текстовым редактором и в секцию [Options] допишите строку Port=0xBC00. Вместо 0xBC00 укажите нужный. Если такая строка уже есть, просто исправьте значение. Запустите программатор и выберете в списке порт с указанным адресом.
При работе в Windows 98/ME реализовано автоматическое определение адреса.

Q: Какой кабель нужен для программатора?
A: Используется стандартный экранированный удлиннительный LPT кабель с разъемами DB25 "мама"-"папа". Кабель распаян 1:1.

Q: Как узнать серийный номер программатора?
A: Cерийный номер программатора Orange4 можно узнать, выбрав в меню пункт Помощь - Система. Программатор при этом должен быть подключен.

Q: Подскажите, как читать и писать микросхему программатором без ее выпаивания из платы?
A: Особенности внутрисхемного программирования описаны в статье.

Q: Как проверить исправность программатора?
A: В меню Опции - Программатор нажать кнопку "Тест". При этом в панели не должно быть микросхем. При нахождении неисправностей выдается соответствующее сообщение.

Q: Как деинсталлировать программу?
A: Windows-версия Orange не делает записей в системном реестре и не устанавливает свои библиотеки. Для деинсталляции достаточно удалить каталог с программой.

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: Сначала спросите - может он уже написан до вас :)

  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: Это режим ручной установки/проверки пинов. Полезен для настройки программатора, проверки подключения при внутрисхемном программировании. Кроме того, он может использоваться для отладки различных устройств.

Q: Почему модули для Orange2 могут не работать с Orange3,4?
A: Схемотехника программатора имеет некоторые отличия от Orange2. В старой версии для Microwire и SPI интерфейсов использовался общий канал данных, DI и DO соединялись через резистор. В Orange3 для входа данных используется отдельный пин. Совместимость обеспечивается прозрачным перенаправлением запросов в драйвере. Для его корректной работы должен быть правильно установлен параметр "SOCKET" в модуле.

Q: Как с помощью Orange разделить один файл на два, содержащих четные и нечетные байты соответственно?
A: Загрузить файл (Open File), Выделить четные байты (Buffer - Select - Even), сохранить выделенный блок (File - Save block), аналогично выделить и сохранить нечетные.
С помощью команды выделения и загрузки блоков можно таким же образом соединить два файла в один.

Q: Почему не сохраняются текущие настройки при повторном запуске программы?
A: Возможно программа запускается с CD, либо другого защищенного от записи носителя. Или программа была скопирована целиком на жесткий с такого носителя. В этом случае следует вручную снять с файла orange.dat атрибут "Только для чтения" (Read only).

Q: Не стираются lock биты у AT90S2313.
A: 1. Возможно отключен режим сериального программирования, тогда только параллельным программатором.
2. Попробуйте стереть при пониженном питании (4.0...4.5V), это глюк, признанный Atmel-ом.

Q: Не читаются и не пишутся микросхемы 93c46 (..93c86) в корпусе SOIC8
A: Эти микросхемы выпускаются в двух вариантах расположения выводов MW и MW-R. Уточнить тип конкретной микросхемы можно по фирменной документации либо проверить подключение выводов питания в устройстве, где установлена микросхема.