Вопросы и ответы
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: У меня не работает модуль 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: Не стираются lock биты у AT90S2313.
A: 1. Возможно отключен режим сериального программирования, тогда только параллельным программатором.
2. Попробуйте стереть при пониженом питании (4.0...4.5V), это глюк, признанный Atmel-ом.
Q: Не читаются и не пишутся микросхемы 93c46 (..93c86) в корпусе SOIC8
A: Эти микросхемы выпускаются в двух вариантах расположения выводов MW и MW-R. Уточнить тип конкретной микросхемы можно по фирменной документации либо проверить подключение выводов питания в устройстве, где установлена микросхема.
Содержание раздела