Одним из наиболее частых вопросов, которые задают при выборе программатора
- это как часто обновляется программное обеспечение и насколько быстро появляется поддержка
новых микросхем. Учитывая темпы развития современной элементной базы, отслеживать появление
новых микросхем даже от 5-10 наиболее крупных производителей и своевременно добавлять их
поддержку, занятие далеко не простое и не дешевое. Расширение штата программистов, каждый
из которых отвечал бы за конкретное направление, приведет к существенному удорожанию программатора
и, как правило, к увеличению числа ошибок. Также рано или поздно у всех фирм встает вопрос,
как быть с поддержкой программаторов, которые по тем или иным причинам больше не выпускаются.
Решение, которое напрашивается само собой - это открыть исходные коды и предоставить возможность
продвинутым пользователям самостоятельно развивать и совершенствовать программное обеспечение,
но, ни одна фирма не пойдет на такой шаг, и не только из коммерческих соображений. Примеров
тому предостаточно... Кроме того, поддерживать такой проект сможет только очень узкий круг
высококвалифицированных специалистов.
Другой путь - это создать такое железо и программное обеспечение, которое понимало бы язык
описания микросхем, обеспечивало бы поддержку и исполнение скрипт файлов. Такое решение
позволит практически бесконечно обновлять списки поддерживаемых микросхем, а также значительно
расширит круг людей, которые реально смогут использовать эти возможности.
Именно этот путь выбран для дальнейшего развития программаторов ТРИТОН.
Начиная с лета 2005 года, начался постепенный перевод всех микросхем на универсальные алгоритмы.
Был создан визуальный редактор параметров микросхем с поддержкой drag-and-drop и компилятор
скрипт файлов. К концу 2007 года практически все микросхемы, поддерживаемые программатором,
работали по “технологии универсальных алгоритмов”.
Главное отличие этой технологии от предыдущих алгоритмов - это аппаратная независимость,
т.е. алгоритм или скрип-файл просто выполняет последовательность действий, присущих той
или иной группе микросхем, не привязываясь к железу программатора, а стандартные процедуры,
которые он вызывает, обеспечивают возможность программного распределения сигналов по выводам
панельки. Номер вывода, на который будет подано напряжение или сформирован какой-то сигнал,
прописывается в параметрах микросхемы и может быть изменен с помощью встроенного редактора,
непосредственно в оболочке программатора.
Кроме стандартных параметров, таких как значения напряжения питания и программирования,
начальный и конечный адрес микросхемы, параметры конфигурации и т.д., в редакторе можно задать:
состояние выводов микросхемы перед подачей напряжений;
порядок включения напряжений питания и программирования;
длительность задержки между подачей напряжений и началом работы;
коды некоторых команд, логику работы, и другую специфическую информацию...
Для работы с универсальными алгоритмами редактор позволяет задать адреса для:
распределения по выводам панельки шины данных (8 или 16 бит);
распределения по выводам панельки шины адреса (до 24 бит), с поддержкой мультиплицирования;
управляющих сигналов (CS, OE, WR) для режимов чтения, записи и сверки;
формирования земли, напряжения питания или программирования;
последовательного (тактируемого) ввода - вывода, с заданным направлением и скоростью;
формирования импульсов заданной полярности и длительности;
проверки и смены состояния любого вывода...
Наиболее яркий пример, демонстрирующий возможности новой технологии - это способность программатора
работать с микросхемой, которая установлена в любое место в панельке!!! Причем, для этого
достаточно мышью перетащить микросхему в новое место...
|
Каково же реальное применение этой технологии, какой выигрыш она дает и что конкретно
предлагает, кроме красивого “генеральского эффекта” и, на первый взгляд, бесполезных “наворотов” ?
Вот несколько примеров:
В первую очередь эта
технология позволяет значительно сократить время и упростить механизм добавления новых микросхем.
Сейчас для создания нового алгоритма порой затрачивается меньше времени, чем на изучение
соответствующей спецификации. А для добавления однотипной микросхемы достаточно просто изменить
параметры ближайшего аналога, с чем сможет справиться практически любой пользователь, ознакомившейся
с документацией на новую микросхему.
Во-вторых, эта технология полностью исключает ошибки
программирования, поскольку сам алгоритм работает на уровне блок-схемы (установить адрес, данные,
сформировать импульс записи, считать данные...), а распределение выводов задается в параметрах
микросхемы, в соответствии с цоколевкой из документации. При таком подходе не требуется глубоких
навыков в программировании, а чтобы не допустить ошибки при назначении сигналов, нужно только
лишь немного внимания.
В-третьих, благодаря этой технологии можно значительно
уменьшить количество переходных панелек необходимых для работы с микросхемами в различных корпусах,
а также использовать практически любые переходники и адаптеры от других программаторов. Для этого нужно просто
переназначить сигналы программатора, в соответствии с разводкой панельки и цоколевкой микросхемы.
Возможность свободного переназначения сигналов позволяет
использовать один адаптер для внутрисхемного программирования для работы с любыми типами микросхем.
Увеличив длительность задержки при включении питания снимаются проблемы с большими емкостями
по питанию при внутрисхемном программировании, а изменив скорость тактирования можно работать с более
длинным кабелем и на более низких напряжениях питания. Изменяя порядок подачи напряжений, можно
реанимировать “залоченные” AVR и некоторые PIC контроллеры, и т.д....
|