Это зеркало сайта www.mindrunway.ru
за последними версиями прошивок и программ идём на основной!!!
Главная Проекты Идеи Soft О авторе
 

AvrUsb500 by Petka.

       Материал был создан Petka и впервые был выложен им в начале 2008 года на форуме Electronix.
       А после многочисленных просьб пользователей выложить USB прог- рамматор (и при содействии Petka), материал был переработан и выложен сюда.
       По всем вопросам, возникающим при повторении, обращаться к Petka.
       Уровень сложности проекта Не для начинающих, поэтому с существен- ными вопросами ПО ТЕМЕ обращаемся к специалистам на форуме Electronix.
       А с простейшими вопросами класса "как проверить", "что делать, если не включилось", "как подключить к компьютеру" или "как с помощью него залить прошивку проекта IgorPlug2" идём на форум нашего сайта (который находится тут).

Рис. 1 Внешний вид устройства.

План.

       1) Вступление.
       2) Реализация.
       3) Отличия.
       4) Часто задаваемые вопросы.

Вступление.

       После обновления компьютера случилось так, что на новой системе не оказалось LPT порта. В результате чего пришлось искать замену проверенной и обкатанной годами связке avreal + byteblaster.
       Требовалось универсальное и надежное решение, функционирующее через USB интерфейс. После непродолжительных поисков в интернете удалось найти открытый проект программатора AvrUsb500v2.
       Но к сожалению проект применить "как есть" не получилось, так как проект кроме ряда достоинств, содержал ряд существенных, на взгляд автора этой статьи, недостатков.

Достоинства:
- Нормальный USB (не надо колдовать, как в программной реализации USB).
- Новый протокол от Atmel. Теперь не требуется перешивать программатор при появлении новых чипов.

Недостатки:
- Под управлением Windows в оригинальной конструкции не была решена проблема "Курицы и яйца" (как запрограммировать AVRку в программаторе AVR).
- Используется контроллер в DIP корпусе.
- Необходим контроллер как минимум с 8кб flash памяти.

Рис. 2 Вид сверху.

Реализация.

       После изучения возможных путей решения Petka переработал исходник устройства и немного изменил его схемотехнику, что привело к увеличению функциональности и быстродействия устройства в целом и минимизации (практически сведения к нулю) замеченных недостатков.
       Программатор имеет стандартную разпиновку как в фирменных программаторах STK200/STK500 от Atmel.

Рис. 3 Устройство в сборе.

       Результаты проведённой работы компонованы им в архивы:
Архив PetkaDocs.zip содержит:

- Сэмплы дизайна плат под FT232BM и FT232RL.
- Принципиальные схемы.
- Фотошаблоны в негативе (для работ с фоторезистом).
- Фотошаблоны в позитиве (для работ с "лазерно-утюжной" технологией).
- Сборочный чертеж со стороны поверхностного монтажа.
- Сборочный чертеж со стороны выводных компонентов.
- Файл HowTo.pdf*.

* - В файле HowTo.pdf описано как прошить этот программатор, не имея другого программатора, с помощью программы PonyProg.


       Кроме программы PonyProg первоначальную прошивку программатора можно залить с помощью программы avrdude (поставляется вместе с WinAVR).

Для этого:

1) В файл "avrdude.conf" (который лежит там, где и "avrdude.exe") в соответствующее место добавить строки:

programmer
id = "stk500_by_petka";
desc = "AvrUsb500 by Petka, reset=!txd sck=!rts mosi=!dtr miso=!cts";
type = serbb;
reset = ~3;
sck = ~7;
mosi = ~4;
miso = ~8;
;

2) Выполнить команду:

avrdude -p atmega168 -c stk500_by_petka -P \\.\com3 -i 10 -B 10 -b 9600 -U flash:w:mega168.hex -U hfuse:w:0xDC:m -U lfuse:w:0xD7:m

(Не забудьте поменять "mega168" и "com3" на соответствующие Вашим)


       Мега вопрос: "А у вас под DIP того же самого нет?"
       Ответ: "ПРОВЕРЕННОГО нет, но нарисовать схему могу."
       Вот она: Схема под DIP.        реализуешь - пришли фото.

       Встречный вопрос: "А чем это заливать?"
       Ответ: "Смотри схему Рис. 7 Версия под RS232 - тут.


Рис. 4 Одна из возможных программ управления avrdude.

       Самый частый вопрос: "А какой программой пользоваться?"
       Ответ: "Программ море, есть и под Linux, есть и под Win."

       От Atmel - Студия. Полный список программ подскажет гугля.

       Архив с AvrDude, выложу тут: avrdude
       А вот возможная строка для запуска из под среды разработки:
       avrdude.exe -v -p atmega8 -U flash:w:$EXE_DIR$\$TARGET_FNAME$:i


       Архив v6 uni содержит:

- Исходники прошивки (для сборки в WinAVR).
- Собранные прошивки под распространённые кварцы.

       Проверка работоспособности:
При подключении программатора к программируемому контроллеру ДОЛЖЕН загореться светодиод!
       Также при подключении шнура USB к программатору этот светодиод должен три раза быстро мигнуть.
       Если зайти терминалом на тот виртуальный ком-порт, который появляется при подключенном программаторе.
       На скорости 115200 и несколько раз нажмите Enter. Должнно появиться приглашение на ввод версии и пр.
       Если версия появляется (примерно так же, как на Рис.5), то можно считать связка программатор-компьютер работает.

Рис. 5 Сообщение о версии в терминалке.

Отличия.

       Скромное описание, а что же такое "AvrUsb500 by Petka" и чем же он отличается от других "USB" программаторов.


Вопрос: В чём ключевое отличие схемотехники "AvrUsb500 by Petka" от прочих программаторов, построенных по схеме (USB->COM + AVR). Например от tuxgraphics?

Ответ:
В схеме программатора кроме линий RX/TX от USB преобразователя подключены также линии RTS, CTS, DTR, DSR. Причём подключение сделано совместимым с распространёнными "COM-port bit-bang programmer" программами (например PonyProg, avrdude).

Вопрос: И что это даёт?

Ответ:
а) Это даёт возможность запрограммировать кристалл AVR, входящий в программатор, без использования другого программатора. (Решение проблемы "Курицы и яйца"). Это очень полезно для тех, у кого нет под рукой другого программатора AVR (новички в AVR или те кто лишился LPT порта).
б) Это избавляет от дополнительного разъёма (для программирования программатора), что позволяет сделать очень компактную печатную плату (размером с брелок).

Рис. 6 Внешний вид устройства (прислал Fusion).

Вопрос: Чем отличается прошивка в "AvrUsb500 by Petka" от Tuxgraphics?

Ответ:
а) Прошивка "AvrUsb500 by Petka" была сделана на основе исходников Tuxgraphics.
б) К оригинальной прошивке была добавлена возможность менять расположение всех внешних сигналов (для удобства создания своей разводки платы)
в) добавлена возможность задавать свою скорость UART.
г) добавлена возможность задавать свою частоту кварца.
д) добавлена возможность конфигурировать режим 1Mhz/fast через компорт.
е) добавлена возможность использования mega48 в программаторе за счёт отключения консольного режима при компиляции для mega48.


Вопрос: Что ещё сделано в "AvrUsb500 by Petka"?

Ответ:
а) Сделана разводка печатных плат для схемотехники "AvrUsb500 by Petka". Прилагаются готовые разводки (для удобного изготовления печатных плат в домашних условиях) как для ft232rl, так и для ft232bm.
б) Каждая топология рассчитана для односторонней печатной платы. Нет необходимости делать перемычки или совмещать шаблоны.
в) Сделаны готовые фотошаблоны в PDF как для лазерно-утюжной технологии, так и для фоторезистивных технологий.


Рис. 7 Устройство в сборе (прислал Fusion).

Часто задаваемые вопросы.

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

01. Я прочёл эту статью но схемы я так и не нашёл.
Немогли бы Вы выслать мне её по почте...
Задал - пользователь Иван.

А ещё часто спрашивают где лежат исходники, прошивки или описания.

Ответил QuickWitted - Обращение к All!!! Если после первого прочтения материала появились вопросы такого плана, то рекомендую прочесть материал второй раз!!! Более внимательно!!!
Если и это не помогло, то ключевое слово - архив.

02. За какое время шьется и проверяется например, мега8 или 16 на таком шнурке?
Задал - Bodja74.

Ответил Petka - 30кб прошивки avrdude заливает+проверяет за 18 секунд. Соответственно мега 8 зашьётся и проверится ВСЯ менее, чем за 5 секунд.

03. Попробовал поискать такую связку в нете - на FT232RL - готового программатора не нашёл, но натыкался на множество тем на форумах, где говорилось об обратном (Невозможности программирования через виртуальные ком порты). То есть, по мнению участников, LPT и COM должны быть обязательно аппаратными. Почему?
Задал - QuickWitted.

Ответил Petka - Из-за того, что управляющими ножками преобразователи USB-UART шевелят не сразу после подачи управления, а с некоторой нарезкой по времени (для USB это около 1ms), то скорость «Serial bit bang» программирования на USB-uart преобразователях значительно снижается. Например, 4кб прошивки таким способом PonyProg заливает за 30минут! Это ОЧЕНЬ медленно! Такое можно вытерпеть только ОДИН раз. Что и используется в программаторе "by Petka", но только для первоначальной заливки.

04. Чем обусловлена частота кварца и нельзя ли использовать 12 mГц? Кто нибудь пробовал шить из windows Vista, какое ПО использовали?
Непонятно зачем reset от ATMega подсоединяется к Ft232, как это работает?
Задал - Lubitel.

Ответил Petka - Частота кварца выбрана кратной стандартной скорости COM порта 115200.
Программатор под вистой видеться будет, а вот софт - надо смотреть конкретно.
Чтобы программировать мегу через Ft232. Само-собой, что после программирования эту связь надо убрать.
Читайте внимательно документацию на программатор.

05. Выводы TXD(PC_TX)(FT232RL) и PD0(PC_TX2)(Mega),точно не соединены???
Задал - Roger.

Ответил Petka - Есть файл HowTo.pdf, в котором описано как запрограммировать этот программатор. В частности последним пунктом идёт соединение X2 (PC_TX) и X3(PC_TX2). Внимательно перечитайте.

06. Достаточно ли для работы вашего программатора двух проводков Rx и Tx с FTDI-ки? Именно для работы, так как саму мегу мы заранее можем запрограммировать другим программатором.
Задал - Carbon

ИЛИ. Выводы DCD, DSR, .... нужны только для программирования самого кристалла. В программаторе и в работе программатора они никак не участвуют? То есть, если зашить контроллер любым возможным способом, то от FT232 нужны только TXD и RXD?
Задал - eXeC001er.

Ответил Petka - Да, выводы RTS, CTS, DTR и DSR микросхемы FT232 используются только при первоначальной прошивке программатора. При штатной работе они не нужны. То есть, если Вы прошьете программатор каким-либо другим способом, то будет достаточно TXD и RXD.

07. Почему в настройках PonyProg'а Вы инвертируете rts dtr и cts?
Задал - cz0.

Ответил Petka - В оригинальной схеме ponyser уровни +12в, -12в (RS232) с помошью диодов, резисторов, стабилитронов преобразуются соответ- ственно в +5в и 0в. (а ft232 делает 0в и +5в соответственно ) Отсюда и инверсия.

08. Поддерживает ли программатор протокол XPROG?
Задал - naviquattro.

Ответил Petka - Не поддерживает.

09. А работает ли сей девайс с CVAVR?
Задал - hoakinn.

Ответил Goodwin - Работает и с CodeVision, и со студией, и из командной строки...
       По поводу FTDI не стоит страдать - мегу можно вставить в любой шнурок от сотового телефона - выйдет дешевле. Я заюзал шнурок на prolific - PL2303 (имхо, самый стабильный преобразователь).

Ответил QuickWitted - В случае переходника от сотового телефона, МК первоначально придётся прошить. (в 95% самопрограммирование будет потеряно, так как у большинства шнурков есть только RX и TX).

Ответил Petka - Тип программатора надо выбрать "Atmel STK500/AVRISP". Скорость действительно шустрая. Считал 128k flash за ~50s.

Ответил Goodwin - 50 сек - непростительно долго. В CV нужно выставить скорость SPI в зависимости от тактовой. В файле проекта при программировании поиграть частотой кристалла. CV выставляет скорость SPI автоматом ~1/4 от тактовой. И не всегда по максимуму - страхуется. Кстати, в прошивках для других кварцев надо корректировать делитель SPI, чтобы частота более-менее соответствовала стандартным (в AVRISP), которые учитывают утилиты для программирования.

10. Купите плату расширения LPT+2*COM и можно возвращаться к проверенным средствам.
Посоветовал - defuct.

Ответил Petka - Тоже вариант, только не перспективно. Под вистой и дальнейшими поделками MS может не работать (отмирание LPT не только аппаратное, но и программное).
       Да и к ноутбуку такую плату невозможно штатно прикрутить.

Ограничения.

       Устройство разработано по принципу КАК ЕСТЬ и автор не несёт ответственности за явный (или не явный) ущерб, причинённый в результате повторения.

То есть, все эксперименты вы делаете на свой страх и риск.

       Если у вас возникли вопросы и предложения -
пишите Автору проекта - Petka
(его можно найти на форуме).


       Все статьи, опубликованные на этом сайте защищены Частью 4 Гражданского Кодекса Российской Федерации. Запрещено полное или частичное копирование материалов без согласия их авторов. Незаконное использование материалов сайта влечет за собой административную ответственность в виде компенсации в размере от 10.000 рублей до 5.000.000 рублей [Ст. 1301, 1250, 1252, 1253 ГК РФ]. При согласованном использовании материалов сайта обязательна активная ссылка на www.mindrunway.ru и указание авторства.



Copyright© 2004-2009 QuickWitted Почта     grani СОБАКА mindrunway РУ
Ссылки
Гостевая
Форум
Hosted by uCoz