Магазин / аукцион / FPR / donate / услуги / RSS / распечатать / вход 
Мой мир
Вконтакте
Одноклассники
Google+

[23 сентября 2015 | 29 сентября 2015 | 1 октября 2015]

Фьюзы для ATmega32 автоматизация процесса прошивки

Так как мне лень пересчитывать фьюзы для ATmega32 каждый раз перед прошивкой кристалла, то я сделал подборочку фьюзов для моих целей. Собственно набор необходимых мне параметров не шибко большой.

И так, самый распространённый: -U lfuse:w:0xf4:m -U hfuse:w:0xdc:m.
Внутренняя RC-цепь на 8 МГц, бутлоадер 512 байт и выключенный JTAG. Подходит для подавляющего большинства проектов. Использование внутренней RC-цепи позволяет избавиться от дополнительных элементов тактирования микроконтроллера. Бутлоадер ускоряет процесс прошивки и избавляет от необходимости иметь программатор, достаточно COM-порта или виртуального COM-порта. Далее RS232 конвертируется в UART и подключается к микроконтроллеру.

Следующий по распространённости: -U lfuse:w:0xff:m -U hfuse:w:0xd9:m.
Внешний кварц без бутлоадера и без JTAG. Подходит для конечного продукта. Внешний кварцевый резонатор отличается высокой стабильностью. А так же с его помощью можно работать на больших частотах. Например, максимальная частота RC-цепи ATmega16 и ATmega32 составляет всего 8 МГц, а максимальная частота внешнего кварцевого резонатора 16 МГц. Кстати, ради эксперимента пробовали подключать кварц до 25 МГц. В результате при 20 МГц был хороший результат, а вот на 25 МГц микроконтроллер вёл себя не стабильно и сильно грелся.

И третий по распространённости, но не по назначению: -U lfuse:w:0xe4:m -U hfuse:w:0xdb:m.
Внутренняя RC-цепь на 8 МГц без бутлоадера и без JTAG. Используется в финишных устройствах передаваемых заказчику. Кстати, из-за того, что с устройством передаются исходники программы управления, фьюзбиты защиты не устанавливаются.

У меня часто бывают случаи когда необходимо запрограммировать несколько микроконтроллеров одновременно. И необходимо прошить не пару микроконтроллеров, а пару десятков и даже сотню. В этом случае подходит программатор с ZIF-панелькой и небольшой скрипт для прошивки. Программатор может выглядеть следующим образом.

USBasp на основе AVR910 от Prottos.

Ранее использовался программатор на основе AVR910 от Prottos и всё было замечательно, пока я не перешёл на Windows Se7en 64 бита. И вот тогда встал вопрос о смене программатора или о работе в «Test mode». К счастью, товарищ Ink с форума EASY ELECTRONICS.

@echo off
:loop
color 1B
cls
echo Starting burn ATmega32(A) on ORCINUSBOARD . . .
echo ATmega32(A), JTAG OFF, EXT Int. Crystal (16 MHz), No boot.
echo.
echo.
avrdude.exe -p m32 -c usbasp -B 4800 -U lfuse:w:0xff:m -U hfuse:w:0xd9:m 
avrdude.exe -p m32 -c usbasp -U flash:w:flash.hex:a
echo.
echo.
echo Remount ATmega32(A) and Press any key for repeat burn ATmega32(A) . . .
echo Замените микроконтроллер и Нажмите любую клавишу для повтора прошивки . . .
echo.
echo Press CTRL+BREAK for exit  . . .
echo.
pause
goto :loop

Логика действий простая.

И так, до тех пор, пока не закончатся микроконтроллеры необходимые для прошивки. Потом они передаются на тестирование и установку в устройства.

Успехов в автоматизации процесса.

• Перейти в архив


Комментарии

Включите JavaScript для комментирования.


Сообщайте нам о замеченных ошибках на: web@orcinus.ru. Все пожелания и советы будут учтены при дальнейшем проектировании сайта... Мы готовы сотрудничать со всеми желающими. Мнение авторов может не совпадать с точкой зрения редакции сайта www.orcinus.ru. В некоторых случаях, мнение автора может не совпадать с мнением автора! Phone: +7-902-924-70-49.

Рейтинг@Mail.ru LiveInternet Rambler's Top100 Яндекс.Метрика