|
AvrUsb500 by Petka, вариант программатора AVR, доступный для простого изготовления |
|
|
|
Jan 30 2008, 19:07
|
Профессионал
    
Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886

|
Эта тема закрыта. Продолжение обсуждения здесь.После обновления компьютера обнаружил, что LPT порта больше нету  и использовать проверенную связку avreal + byteblaster уже не получится. Захотелось чего-нибудь универсального, надежного и само-собой на USB порте. Остановился на варианте AvrUsb500v2 (http://tuxgraphics.org/electronics/200705/article07052.shtml) Достоинства: - Нормальный USB (не надо колдовать как в программной реализации USB). - Новый протокол от Atmel. Теперь не требуется перешивать программатор при появлении новых чипов. Недостатки: - На сайте (tuxgraphics) написано что под Windows не решена проблема "Курицы и яйца" (как запрограммировать AVRку в программаторе AVR) (Под Linux автор решает эту проблему путем "bit bang" режима микросхемы FTDI). - Используется контроллер в DIP корпусе. (под рукой был только в qfp32 корпусе) - Необходим контроллер как минимум с 8кб flash памяти. (под рукой была только mega48) Данные недостатки я устранил, немного изменив схемотехнику. Выкладываю на суд общественности результаты работы. в файле doc.pdf все необходимое для сборки программатора: - на первой странице принципиальная схема. - на второй странице фотошаблон в негативе (для производства на дому с помощью фоторезиста) - на третьей странице фотошаблон в позитиве (для "лазерно-утюговой" технологии) - на 4ой странице перечень элементов - на 5й странице сборочный чертеж со стороны поверхностного монтажа - на 6й странице сборочный чертеж со стороны выводных компонентов в файле HowTo.pdf описано как прошить этот программатор не имея другого программатора. в файле AvrUsb500_by_Petka.zip находятся исходники прошивки. Собираются в последнем WinAVR. ВНИМАНИЕ! делал для себя, поэтому разпиновка выходного разъёма как в byteblaster'е Принимаются все вопросы. Цитата(ae_ @ Jul 7 2009, 19:03)  Добавьте пожалуйста в первый пост этой ветки актуальные на данный момент схему и софт программатора (или ссылку на ресурс, где находятся текущие/архивные версии) Актуальные на 8 июля 2009 года документы: - Готовые прошивки и исходники- Схемы программаторов, перечни необходимых компонентов, сборочные чертежи, односторонняя разводка печатных плат (в негативе для изготовления фоторезистом и в позитиве для изготовления "лазерным утюгом"), краткая инструкция как прошить программатор без использования другого программатора.- Как надо выставить фузы, при прошивке через ponyprogПрошивки собрал из этих исходников: Модераторам: Прикрепите эти файлы к первому сообщению. Цитата(goodwin @ Feb 16 2008, 03:10)  Неправда ваша - работает эта махарайка и с CodeVision, и со студией, и из командной строки... Шьет быстро. Да, был не прав CodeVision тоже умеет использовать эту версию программатора. Для этого всего-навсего надо было выбрать тип программатора "Atmel STK500/AVRISP". Только что проверил - работает. Скорость действительно шустрая. Считал 128k flash за ~50s. Цитата(Petka @ Feb 16 2008, 01:19)  Ок, на выходных займусь =) Готово =) В архиве прошивки для некоторых комбинаций Кварц/Чип. Цитата(Carbon @ Feb 20 2008, 18:43)  Да, схемы не совпадают. Если не касаться разъема для программирования, т.к. он всё равно пока не подключен к таргету, то в остальном всё также. Клок 1МГц на PC0 всегда присутствует или только при программировании? Клок должен быть всегда, а не только при программировании. Ещё вопрос: мега в ДИПе? Если да, то обратите внимание, что нумерация пинов у меня указана для QFP корпуса, она отличается от DIP. P.S. Поправил в документации ошибку с X3 X4. Новый вариант:
HowTo.pdf ( 73.56 килобайт )
Кол-во скачиваний: 6346
Сообщение отредактировал IgorKossak - Oct 19 2009, 07:31
Причина редактирования: Обновление
|
|
|
|
|
 |
Ответов
(645 - 659)
|
Jun 3 2009, 13:13
|
Гуру
     
Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164

|
нет, моргалка точная, секундная, моргает как надо, а значит частота 14,7456. Ща еще 10 минут осталось, зальется проверю терминал. Записалось. МОргает 5 раз. Терминалом не видится. Вот настройки порта в системе и терминала в CodeVision Кварц точно работает, программа точно выполняется, ибо мегагерцовый выход отлично генерирует импульсы. Нет связи только... На приеме данных постоянный 1 на передаче - постоянный 0, или наоборот...
Сообщение отредактировал zheka - Jun 3 2009, 13:16
Эскизы прикрепленных изображений
|
|
|
|
|
Jun 3 2009, 13:16
|
Профессионал
    
Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886

|
Цитата(zheka @ Jun 3 2009, 17:13)  нет, моргалка точная, секундная, моргает как надо, а значит частота 14,7456. Ща еще 10 минут осталось, зальется проверю терминал.
Записалось. МОргает 5 раз. Терминалом не видится. Вот настройки порта в системе и терминала в CodeVision
Кварц точно работает, программа точно выполняется, ибо мегагерцовый выход отлично генерирует импульсы.
Нет связи только... проверьте линии TX и RX.
|
|
|
|
|
Jun 3 2009, 14:08
|
Гуру
     
Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164

|
Линии TX и RX целостны. То есть один щуп на ножку 1 FTDI другой на ножку 30 меги, а также с ножки 5 FTDI на ножку 31 меги - все ок. Вот что видит осциллограф при каждом нажатии enter на линии TX - снимаю с меги, А на линии RX постоянный 1. Снимаю непосредственно с ножки 31 меги. УРА!!!! Получилось!!!!! Был таки под конденсатором с5 коротыш земли на RX!!! Перепаял - все ОК, пообщался с программатором. ТОлько не пойму, почему, когда я ввожу 2, выскакивает 22 ?
Сообщение отредактировал zheka - Jun 3 2009, 13:54
Эскизы прикрепленных изображений
|
|
|
|
|
Jun 3 2009, 14:37
|
Группа: Новичок
Сообщений: 7
Регистрация: 22-05-09
Пользователь №: 49 399

|
[quote] Помогоите пожалуста еще одному чайнику. Собрал програматор по самой первой схеме (на FT232RL), 48 меге скварцем 14.7456. Прошил готовым хексом (самый первый из того что выкладывал Petka). Сразу конечно не запустилось совсем, но с емкостями на кварце я проблему еще както сам решил, после прошивки перекинул перемычку, встаилв ЮСБ, програматор моргнул несколько раз,при подключении к таргету, светодиод горит,при попытке подключить програматор а АВРстудии ни чего не происходит, тоесть програматора студия не видит. Что может быть не так. Мои фузы прикрепляю. И еще, посмотрел осцилографом,что творится на ТХ и Rx во время опроса програматора из АВР студии, Тх чтото есть, на Rx тишина, так, что тут у меня похоже чтото с мегой, она упорно не хочет отвечать, подскажите подробнее по фузам и версии прошивки. [quote] попробовал залить hex версии AvrUSB500_by_Petka_v3 но стало еще хуже, светодиод моргает долго и не так ярко (секунд 30), потом может остаться горящим, может потухнуть, на Tx и Rx при все тоже самое (запросы есть, ответов нет), все прозвонил, контакты есть, КЗ на соседей ни где нет.
Сообщение отредактировал Azrail - Jun 3 2009, 14:55
|
|
|
|
|
Jun 3 2009, 15:13
|
Гуру
     
Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164

|
Azrail А вдруг у вас то же самое что у меня? У меня ведь тоже на TX был сигнал, на RX единица. Для начала надо выяснить причины тишины. Это может быть "навязанное" состояние линии, то есть замыкание на землю или на плюс питания. Во-первых - поточнее, что у вас на RX - единица или ноль? Во - вторых, TX где проверяли? на линии? неправильно, надо на ножке мега8, чтобы проверить, доходит ли туда сигнал. Отрубите программатор, прозвоните, не коротит ли линия RX на землю или на питание. Если замыкания нет, то проверьте RX непосредственно на ножке контроллера, иногда ножка может быть плохо пропаяна. Если нет сигнала, стриайте вашу прошивку, пишите программу в которой меняется состояние этой самой ноги, заливайте через тот же понипрог (около 2х минут, верификацию прерывайте) и проверяйте не горелый ли порт. Цитата подскажите подробнее по фузам опять-таки, если контроллер прошился и проверифицировался, думаю, что с запуском его не должно быть проблем. Не уверены с фузами - напишите моргалку с частотой 1 Гц, залейте, проверьте, заодно и соответствие частоты проверите.
|
|
|
|
|
Jun 3 2009, 15:45
|
Группа: Новичок
Сообщений: 7
Регистрация: 22-05-09
Пользователь №: 49 399

|
Цитата(zheka @ Jun 3 2009, 18:13)  Azrail
А вдруг у вас то же самое что у меня? У меня ведь тоже на TX был сигнал, на RX единица.
Для начала надо выяснить причины тишины. Это может быть "навязанное" состояние линии, то есть замыкание на землю или на плюс питания. Во-первых - поточнее, что у вас на RX - единица или ноль? Во - вторых, TX где проверяли? на линии? неправильно, надо на ножке мега8, чтобы проверить, доходит ли туда сигнал. Отрубите программатор, прозвоните, не коротит ли линия RX на землю или на питание. Если замыкания нет, то проверьте RX непосредственно на ножке контроллера, иногда ножка может быть плохо пропаяна.
Если нет сигнала, стриайте вашу прошивку, пишите программу в которой меняется состояние этой самой ноги, заливайте через тот же понипрог (около 2х минут, верификацию прерывайте) и проверяйте не горелый ли порт.
опять-таки, если контроллер прошился и проверифицировался, думаю, что с запуском его не должно быть проблем. Не уверены с фузами - напишите моргалку с частотой 1 Гц, залейте, проверьте, заодно и соответствие частоты проверите. Да тут я проверил, сигналы смотрел на наогах микросхем, прозвонку на землю, и соседние цепи тоже сделал, прозвонил полностью линию от "ноги" к "ноге" там все нормально. На Rx у меня всегда "1". С фузами для кварца разобрался, там ошибки уже быть не может. Есть 1 ньюанс который еще не проверил, я делаю на мега 48, прошивку лил под нее, на 8 меге еще не пробовал, да и лишний раз микросхему перепаивать пока не хочется.
Сообщение отредактировал Azrail - Jun 3 2009, 15:45
|
|
|
|
|
Jun 3 2009, 16:14
|
Гуру
     
Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164

|
советую разрезать дорожку RX и посмотреть где станет 0, а где останется 1. Вряд ли конечно вход FTDI единицу делает, но чем черт не шутит. У вас единственный вариант - тупо сделать моргалку: Код #include <mega8.h> #include <delay.h>
void main() { DDRD.1=1; PORTD.1=1;
while (1==1) { PORTD.1=0; delay_ms(1000); PORTD.1=1; delay_ms(1000); }
} Подпаяйте светодиод. Если мигает, тогда я не знаю о чем и думать. Мега исправна, ищите лучше коротыши или вы все-таки не ту прошивку залили. Перепроверяйте. Если горит постоянно - значит горелый порт, меняйте микросхему. Да кстати, помиом моргалки можно еще и пустую программу залить. Или принудительно все порты в ноль. Линия должна потухнуть. Петка, скажите, а что это за "Enter SW version minor"?
Сообщение отредактировал zheka - Jun 3 2009, 16:13
|
|
|
|
|
Jun 3 2009, 17:26
|
Профессионал
    
Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886

|
Цитата(Azrail @ Jun 3 2009, 18:37)  попробовал залить hex версии AvrUSB500_by_Petka_v3 но стало еще хуже, светодиод моргает долго и не так ярко (секунд 30), потом может остаться горящим, может потухнуть, на Tx и Rx при все тоже самое (запросы есть, ответов нет), все прозвонил, контакты есть, КЗ на соседей ни где нет. 1) Заливать НАДО AvrUSB500_by_Petka_v 62) Если светик долго мигает, значит неправильно прошиты фузы, отвечающие за источник клоков. По этой-же причине и нет ответов по ком-порту. Перепроверьте по даташиту фузы (и помните, что в "понипроге" галочка это фуз равен нулю). Цитата(zheka @ Jun 3 2009, 20:14)  Петка, скажите, а что это за "Enter SW version minor"? Это версия (минорная часть) прошивки программатора skt500v2. Студия по этой версии отличает что умеет программатор и что не умеет.
|
|
|
|
|
Jun 3 2009, 17:35
|
Гуру
     
Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164

|
Цитата Студия по этой версии отличает что умеет программатор и что не умеет. Я хочу программировать из CodeVision - там это надо? Как отвечать? у меня версия 6, где там минорная часть? Хм... что-то после компиляции не появляетс кнопка Program chip... Цитата Перепроверьте по даташиту фузы (и помните, что в "понипроге" галочка это фуз равен нулю). Хех.. учитывая, что у него кварц 14 МГц ошибка с инверсией фузов привела бы к настройке на внешнее тактирование.
|
|
|
|
|
Jun 4 2009, 07:32
|
Группа: Новичок
Сообщений: 3
Регистрация: 20-04-09
Пользователь №: 47 981

|
Рекомендую программировать AVR PONYPROG - ом !!! Быстро! Без излишеств! Почти все микросхемы AVR ( и не только)! А главное, что для програмирования нужен только COM 9-pin и 4 транзистора!! Тут нашел схему с интересным решением!! - питать программатор 5 вольтами от самой схемы программирования!! (Нет нужды в ограничивающих резисторах и стабилитронов.) Да и сама идея - красивая : нет напряжения на микроконтроллере -не надо и программатору работать! схема на транзисторах http://www.nia.rodmap.ru/
|
|
|
|
|
Jun 4 2009, 17:33
|
Группа: Новичок
Сообщений: 1
Регистрация: 28-05-09
Пользователь №: 49 678

|
Вместо FT232 можно использовать TUSB3410 ? Есть пара халявных семплов от ТИ, думаю куда их пристроить..
|
|
|
|
|
Jun 4 2009, 18:47
|
Гуру
     
Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164

|
Спаял отладочную платку. Все отлично, программирует без проблем, довольно шустро. Спасибо товарищу Petka за отличный прогамматор. Я отредактировал платку - сделал длиннее и уже под имеющийся у меня корпус (за что и поплатился коротышом при пайке). То что получилось - на фотографии. От себя пожелал бы Petka чтобы он добавил светодиодов для индикации процесса - для чтения, для записи. Так сказать для товарного вида. Еще раз спасибо.
Сообщение отредактировал zheka - Jun 4 2009, 18:49
Эскизы прикрепленных изображений
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|