РадиоКот :: Программатор "STK500v2 by Petka" - обмен опытом.
Например TDA7294

РадиоКот >Лаборатория >Цифровые устройства >

Теги статьи: ПрограмматорДобавить тег

Программатор "STK500v2 by Petka" - обмен опытом.

Автор: Petka
Опубликовано 31.03.2009

Привет всем! Работая над проектом "Предварительный усилитель с МК управлением - МАКСИ", я вдруг стал испытывать определенный дискомфорт из за того, что контроллер ATMEGA32 стал прошиваться довольно медленно. Не потому, что мой любимый программатор STK200 сломался или испортился (служил и служит он мне не один год и надежен как автомат Калашникова). Просто код программы возрастал и время прошивки становилось все больше и больше.
Производительность резко упала.
Когда за вечер при работе тебе приходиться прошивать контроллер не один десяток раз, то время на тупое смотрение на PonyProg стало утомлять.

Кинулся я в поисках нового инструмента в Интернет.
Первым был собран за вечер программатор уважаемого товарища Prottoss AVR910.
Программатор заработал сразу, дрова встали без проблем. Скорость работы по сравнению с STK200 у него выше, и вроде бы все нормально.
Но при попытке заставить его работать из-под оболочки AVRStudio не увенчались успехом. Если запускать отдельно программу AvrProg 1.40, то он прекрасно работает, из под оболочки - сплошные ошибки. На танцы с бубном у меня просто не было времени, и я снова кинулся в Интернет. На одном из моих часто посещаемых сайтов www.electronix.ru был найден программатор STK500v2 by Petka, основанный на известной схеме от STK500v2 compatible.
Код он конечно переработал основательно и оптимизировал его.
Опережая события, сразу скажу, что программатор оказался действительно настолько хорош, что я посчитал своим долгом рассказать о нем посетителям любимого сайта radiokot.ru
Все права на него естественно принадлежат автору разработки - Petka.
С его любезного согласия на публикацию данной статьи на этом сайте, я расскажу как его изготовил я и поделюсь также немного переработанной печатной платой и еще кое каким материалом
Итак схема

Печатная плата:

ПП

Обратите внимание - при печати необходимо зеркалить.
Я немного изменил разводку (перемычки переключающие режим работы теперь рядом и их можно коммутировать джампером а не проводком как у автора, также добавил еще светодиод для индикации поданного питания и джампер для включения отключения подаваемого питания на разьем ISP).
Плата в сборе и готовый в корпусе:

Не обращайте внимание на номинал кварца в первом снимке - это тестовый вариант для данного вида кварца, и прошивка под него готовится автором программатора.
И еще одно предупреждения - будьте внимательны при сборке: по схеме видно, что имеются 2 резистора по 220 и один на 220К, так вот многие, по инерции, что ли или по не внимательности запаивают все по 220, и потом не могут понять почему не работает - обратите на это внимание.
По сборке вроде все.
После сборки внимательно читаем файл HowTo.pdf
FUSE для микроконтроллера необходимо выставить следующим образом:

В PonyProg сначала прошиваете FUSE, а затем саму прошивку.
Еще немного похвалю - полная прошивка ATMEGA32 c проверкой у меня занимает секунд 15-17, когда тот же STK200 все это делал около минуты. Прогресс налицо. Из-под оболочки AVRStudio работает замечательно, из под CodeVision, как пишет народ с форума www.electronix.ru, тоже работает. Я сам на CodeVision не пишу, поэтому похвалить или поругать не могу.
В чем отличия, преимущества и недостатки данного программатора от остальных:
Нормальный USB (не надо колдовать, как в программной реализации USB).
Программатор имеет стандартную разпиновку разьема для программирования как в фирменных программаторах STK200/STK500 от Atmel.
V2 в названии это не версия программатора, а новый протокол программирования от Atmel, позволяющий прошивать даже новые виды МК без обновления прошивок программатора (STK500 например) - так пишет Atmel, поглядим в дальнейшем, насколько это правда.
Программатор может генерировать сигнал 1 MHz для возможности восстановления микроконтроллеров с неверно прошитыми FUSE.
Добавлена возможность конфигурировать режим 1Mhz/fast через терминал, подключенному к виртуальному компорту.
Автору проекта удалось решить еще одну проблему "курицы и яйца", когда для изготовления программатора требуется другой программатор - для прошивки контроллера. В данном случае это можно сделать с помощью программы PonyProg.
Это очень полезно для тех, у кого нет под рукой другого программатора AVR (новички в AVR или те кто лишился LPT порта).
Утверждения, что программа PonyProg не умеет работать с виртуальными портами COM, оказались не совсем верными - все работает. Правда очень и очень медленно. Но это нужно вытерпеть всего один раз, при прошивки программы в контроллер.
Например прошивка у меня заняла около 30 минут. Для тех у кого имеется другой программатор то они могут просто прошить отдельно контроллер и установить его в схему, тогда ждать ничего не надо.
Существует два варианта схемы - на FT232RL и FT232BM.
Я изготовил на FT232BM, по одной простой причине - они у меня имелись в наличии. Поэтому печатную плату моей разработки я и привел именно для этого варианта.
На форуме www.electronix.ru можно найти еще варианты печатных плат.

Если использовать кварц на 18.4320 MHz и контроллер MEGA8, то он будет работать с небольшим overclock-ом (по datasheet максимальная частота всего 16 MHz). Но как показала практическая сборка 4 программаторов (для себя и друзей - контроллер работает нормально и без сбоев).
Если кто-то, все же, опасается, то поставьте лучше кварц на 14.7456 MHz
Для изготовления используется микросхемы в SMD исполнении, поэтому новички и не опытные радиолюбители могут испытывать определенные трудности. Но мы все когда-то начинали, и для создания хорошего инструмента можно и постараться. В крайнем случае, можно попросить более опытного товарища проделать эту операцию
Если сам контроллер можно заменить на привычный, в DIP корпусе, то преобразователи USB-COM (FT232BM, FT232RL), к сожалению, просто не выпускают в DIP.
У меня при изготовлении проблем особых не возникло (аккуратность и еще раз аккуратность, и все будет xорошо), за исключением одной, маленькой - не было в продаже необходимых кварцев. На старых "материнках" их тоже не оказалось (а они там частенько встречаются), но имелся в наличии кварц на 7.3728 MHz
Я обратился к автору проекта с просьбой помочь в этом вопросе. И через пару дней я ее получил. Программатор сразу великолепно заработал.
Версию прошивки для кварца 7.3728 MHz я также предоставляю.
Проверка работоспособности:
При подключении программатора к программируемому контроллеру ДОЛЖЕН загореться светодиод!
Также, при подключении шнура USB к программатору этот светодиод должен три раза быстро мигнуть.
Зайдите терминалом на тот виртуальный cом-порт, который появляется при подключенном программаторе. Выставьте скорость порта 115200 и несколько раз нажмите Enter. Должно появиться приглашение на ввод версии и пр.
Если версия появляется, связка программатор-компьютер работает.

Файлы:
Печатная плата в формате SL 5.0.
Прошивка для ATmega8.
Драйвера для FT232.
Оригинальные прошивки от автора проекта с исходниками.
Дополнительная документация от автора проекта.

Вопросы, как всегда в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

56 2 1
19 5 1

Эти статьи вам тоже могут пригодиться: