Радиолюбитель - это просто

А что еще нужно радиолюбителю, кроме хорошего паяльника и интересной схемы...

Программатор для AVR (USB)

Просмотров: 194Комментарии: 0
ПрограмматорAVR
Программатор для AVR (USB)Данный программатор предназначен для прошивки AVR микроконтроллеров и работает с USB портом.
На самом деле вариаций этого программатора в сети море, если не больше, а это конструкция наверно самая расспостраненная и собрано ее бесчисленное множество)

Схема:

Программатор avr

Описание:

Схема программатора приведена на рисунке ниже. Предохранитель F1 служит для защиты линий питания порта USB от случайного замыкания по цепям питания программатора. Диоды VD1, VD2 – обычные выпрямительные, с прямым падением напряжения ~0,6…0,7В, предназначены для понижения питания микроконтроллера DD1 до 3,6 В. Согласно документации ATMEL на ATmega8(L), микроконтроллер может работать при таком напряжении питания до частоты немногим выше 14 МГц. Светодиоды VL1(“RD”), VL2(“WR”) сигнализируют о текущих действиях программатора, и, соответственно, обозначают режимы чтения и записи. Светодиод VL3(“PWR”) предназначен для сигнализации подачи питания на программатор.
Джампер J1 – (MODify) служит для начального программирования управляющего МК программатора. При его замыкании, к разъему ISP подключается внешний программатор и производится загрузка в МК управляющей программы. После программирования управляющего МК программатора этот джампер необходимо разомкнуть и замкнуть джампер J2 - NORMal.
С помощью джампера J3 LOW SCK возможно понижать тактовую частоту порта SPI МК программатора до ~20 кГц. При разомкнутом джампере частота SPI нормальная, при замкнутом - пониженная. Переключать джампер можно на ходу, так как управляющая программа МК программатора проверяет состояние линии PB0 при каждом обращении к порту SPI. Не рекомендуется переключать джампер при запущенном процессе записи/чтения программируемого МК, т.к., скорее всего, это приведет к искажению записываемых/читаемых данных. Джампер J3 введен для возможности программирования МК AVR, тактируемых от внутреннего генератора 128 кГц.
Резисторы R10 - R14 предназначены для согласования уровней сигналов МК программатора и внешних, подключенных к программатору, цепей (программируемый МК или другой программатор).
Тактовая частота порта SPI МК программатора при разомкнутом джампере J3 равна 187,5 кГц. Это позволяет программировать контроллеры с тактовой частотой примерно от 570 кГц для ATtiny/ATmega, 750 кГц для 90S и 7,5 МГц для 89S. Контроллеры программируются от 10 до 30 секунд (при использовании утилиты AVRProg v.1.4 из пакета AVR Studio) вместе с верификацией в зависимости от объема FLASH памяти и тактовой частоты.
На вывод LED разъема ISP выведен меандр с частотой 1 МГц для "оживления" МК, у которых были ошибочно запрограммированы фьюз-биты, отвечающие за тактирование. Сигнал генерируется постоянно и не зависит от режима работы программатора.
Программатор тестировался с программами AVRProg v.1.4 (входит в пакет AVRStudio), ChipBlasterAVR v.1.07 Evaluation, CodeVisionAVR, AVROSP (ATMEL AVR Open Source Programmer). Кроме того, программатор тестировался с программой AVRDUDE, однако, программа с данным программатором не совместима, так как не все команды протокола AVR910 отрабатывает корректно.
На данный момент с вышеперечисленными программами протестировано программирование контроллеров 89S53, 89S8252, 90S2313, 90S8515, ATtiny13, ATtiny26, ATtiny45, ATtiny2313, ATmega48, ATmega8, ATmega8515, ATmega8535, ATmega16, ATmega32, ATmega64, ATmega128, AT90CAN128.
Я рекомендую повторять схему один-в-один, так как выкидывание "лишних" деталей из схемы может привести либо к неправильному функционированию программатора, либо к возможному выходу из строя USB порта на РС, за что, естественно, я ни какой ответственности не несу.

Детали:

1. ATmega8-16PI (ATmega8-16PU или другими буквами)
2. Диоды VD1 и VD2 – любые выпрямительные малогабаритные с прямым падением напряжения ~0,6…0,7В.
3. Светодиоды типа АЛ307БМ или любые другие стандартные сигнальные.
4. Конденсатор С5 – электролитический, с номинальным напряжением не менее 10 вольт.
5. Остальные конденсаторы – любые малогабаритные керамические с номинальным напряжением не менее 10 вольт.
6. Резисторы – любые маломощные от 0,125 Вт.
7. Разъем USB – типа USBB-1J (Разъем USB(м) на плату. Тип В).
8. Разъем ISP – типа BH-10 (Двухрядный разъем IDC-Вилка 2х5 на плату.



Прошивка FUSE BITS:

Для нормального функционирования контроллера в схеме необходимо, чтобы были запрограммированы (установлены в "0") биты SPIEN, CKOPT, SUT0 и BODEN. Обычно микроконтроллеры , идущие с завода, т.е. новые, имеют уже запрограммированный бит SPIEN. Остальные биты должны быть незапрограммированные (установлены в "1").

Драйвера:

"2k_xp_32" - для операционных систем Windows 2000/XP 32-bit (используется штатный драйвер usbser.sys);
"vista_xp_32" - для операционных систем Windows XP/Vista/Seven 32-bit (usbser.sys + lowcdc.sys[32-bit] от Osamu Tamura)
"vista_xp_64" - для операционных систем Windows XP/Vista/Seven 64-bit (usbser.sys + lowcdc.sys[64-bit] от Osamu Tamura)

Прошивка:

Все архивы содержат файл прошивки, установочный inf-файл и схему в формате Adobe pdf. Кроме этого старые версии содержат описание в виде старой html страницы.

avr910_usb_programmer.files.ver.1.04.rar Версия от 16.12.2006. Добавлено подключение внутреннего pull-up резистора ко входу MISO МК программатора во время программирования таргета. Возможно, будет полезно при чтении плат с пониженным напряжением питания, да и вообще, думаю, положительно скажется на надежности чтения программируемого МК... Обновлен драйвер для Windows XP/Vista 32/64-bit.

avr910_usb_programmer.files.ver.1.05.rar Версия от 17.01.2007. Добавлен джампер J3 LOW SCK для понижения тактовой частоты порта SPI программатора. Обновлен драйвер для Windows XP/Vista 32/64-bit. В настоящий момент самая свежая версия прошивки

avr910_usb_programmer_source.v.1.05.rar Исходники версии 1.05. Заточено и обкатано на IAR v.4.10B

Автор этого программатора: Рыжков Андрей aka PROTTOSS.
Ему же и принадлежат прошивки.

И на последок: микропроцессор нужно прошить, что бы прошить микропроцессор, как то так, а сделать это можно с помощью простейшего программатора который я описывал в этой статье.

Кто-то сейчас может сказать, а зачем вообще городить огород, если таких программаторов в продаже сейчас пруд пруди и стоят они не дорого, ну это решать уже каждому самостоятельно.


Оставьте комментарий!

Комментарий будет опубликован после проверки