AVR ParaPROG |
Параллельный программатор для микроконтроллеров AVR |
Новую версию управляющей программы для PC смотрим внизу странички. |
Что и зачем: |
Поводом для создания данного устройства послужило появление новых чипов AVR поддерживающих отладку по протоколу debugWIRE. Так как он не является протоколом программирования, то после смены исходного кода во время отладки и, естесственно, забыв отключить фуз DWEN - AVRStudio не может заново "подключиться" к отлаживаему кристаллу. Это значит, что фуз DWEN не может быть "сброшен" и, следовательно, отлаживаемый чип больше не может быть запрограммирован через SPI. |
После "убийства" двух tiny2313 была написана программа для mega16, которая позволяла, подключившись к меге через житаг, в AVRStudio перепрограммировать фузы тини в параллельном режиме. |
Правда это было несколько неудобно и была написана программа для PC, в которой была возможность программирования всех бит фузов для tiny2313. |
Дальнейшим развитием стало введение возможности программирования, проверки и чтения Flash памяти, а также введена поддержка других МК. |
Поддержка программирования EEPROM не вводилась в виду ненадобности. Вообще программа для МК должна быть написана таким образом, чтоб она сама устанавливала начальные значения EEPROM. |
Самым очевидным недостатком данного устройства является то, что для сборки программатора AVR необходимо запрограммировать mega16. Однако такой подход имеет право на существование, т.к. даже Atmel предлагает для своего программатора AVRISP схему на своем же микроконтроллере. |
Mega16, используемая в данном устройстве, может быть запрограммирована при помощи программатора AVReal и схемы FBPRG ("6 проводков на LPT"). Или через интерфейс JTAG с помощью AVR miniICE |
К сожалению COM порт компьютера не позволил реализовать "супербыстрое" программирование. Однако на глаз все равно оно проходит быстрее чем последовательное. |
DIP корпуса использованы исключительно потому, что автором при отладке используются именно они. Желающие могут сами переделать всю эту конструкцию под SMD. |
Все приводимое на этой страничке программное обеспечение распространяется свободно. Автор не несет никакой ответсвенности за возможный причиненный ущерб. |
Исходные коды программного обеспечения не распространяются. |
Дальнейшее развитие этого проекта будет производиться по мере необходимости автора и наличия свободного времени. |
По всем вопросам можно писать на pol_s@list.ru |
Особенности:
Поддерживаемые микроконтроллеры:
Схема:
Схема проста и не имеет каких то особенностей.
Mega16 должна быть запрограммирована файлом code.hex из прилагаемого архива. |
Фузы mega16 должны
быть запрограммированы
следующим образом:
|
В архиве также имеется схема в форматах PDF и PCAD2002, разведенная печатная плата для головного модуля устройства и адаптеров для различных видов МК. |
Пример реализации:
центральный модуль
плата адаптеров
Работа с устройством:
Перед началом работы необходимо вставить программируемый микроконтроллер в соответсвующую панельку. Соединить центральный модуль устройства с платой адаптеров 20-ти проводным кабелем. Подать питание и запустить управляющую программу ParaPROG.exe
После старта управляющая программа имеет следующий вид:
Доступна только одна кнопка "Read Chip". При нажатии на эту кнопку программа ParaPROG осуществляет поиск программируемого микроконтроллера и пытается прочесть фузы и лок биты.
Если поиск устройства был неудачным программа выводит сообщение о неудачной попытке и остается в прежнем состоянии.
При удачном поиске осуществляется автоопределение подключенного микроконтроллера, считываются фузы, лок биты и вся эта информация выводится в основном окне программы. Становятся доступны все остальные кнопки.
Значения фузов и лок битов выводятся в формате принятом Atmel. Т.е. 1 = бит не запрограммирован (соответсвует установленному флажку) и 0 = бит запрограммирован (соответсвует снятому флажку)
Кнопки выполняют следующие функции:
Read Chip |
Нажатие на эту кнопку осуществляет синхронизацию управляющей программы и центрального модуля программатора, поиск программируемого микроконтроллера, читает сигнатуру, фузы и лок биты |
Write Fuses |
Запись фузов в соответсвии со значениями заданными флажками для фузов |
Write Lock Bits |
Запись лок битов соответсвии со значениями заданными флажками для фузов |
Chip Erase |
Стирает Flash память программируемого микроконтроллера и сброс лок битов |
Write Flash |
Программирование Flash памяти в соответсвии с файлом, имя которого задано в поле рядом с этой кнопкой |
Verify Flash |
Сравнение Flash памяти с содержимым файла, имя которого задано в поле рядом с кнопкой Write Flash |
Read Flash |
Считывание Flash памяти в файл, имя которого задано в поле рядом с этой кнопкой |
Программа принимает для записи/сравнения, а также выходным для чтения Flash является файлы binary формата. Получить их можно при помощи утилиты hex2bin из прилагаемого архива.
Во время работы программой выводятся сообщения в строке состояния, диалоговых окнах помогающие пользователю сориентироваться в работе программы.
Замеченные и пока не устранненные ошибки:
Прилагаемые файлы:
Прошивка, управляющая программа, схема и печатные платы
Дополнения:
Вы все еще пользуетесь COM портом ? Тогда мы идем к Вам ! :-)) |
Вариант ParaPROG c USB |
09.01.2006
Новая версия управляющей программы 0.2.0.7
Добавлено:
Благодарности выражаем Олегу Шепелю |
oleg@shepel.ru http://www.shepel.ru |
13.03.2007
На одном из форумов в интернете наткнулся на человека, который собрал программатор и сам переразвел печатные платы в SprintLayout. Мне понравились его платы и дополнения. Поэтому с разрешения автора выкладываю их у себя на страничке.
22.02.2008