Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: USB programmer AVR910
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23
костян82
Добрый день уважаемый Prottoss! собирал ваш программатор AVR910, потом перешил на STK500, всё работоспособно. Огромное спасибо за Ваши труды! Не могли бы вы выложить исходник на STK500, хочу попробовать добавить кнопочку включения питания целевого устройства, а то несовсем удобно перемычку каждый раз тыкать. порты свободные есть, добавить ключик и я думаю получится. В замен могу выложить печатку под СМД размером с флешку, единственное разъём под себя делал
prottoss
Цитата(костян82 @ Oct 2 2011, 15:42) *
Добрый день уважаемый Prottoss! собирал ваш программатор AVR910, потом перешил на STK500, всё работоспособно. Огромное спасибо за Ваши труды! Не могли бы вы выложить исходник на STK500, хочу попробовать добавить кнопочку включения питания целевого устройства, а то несовсем удобно перемычку каждый раз тыкать. порты свободные есть, добавить ключик и я думаю получится. В замен могу выложить печатку под СМД размером с флешку, единственное разъём под себя делал
Вы перепрошили моей прошивкой?
костян82
Да Вашей прошивкой с 64 страницы. Кстати заметил что если несколько раз в авр студии поменять значение частоты встроенного генератора то связь с программатором теряется (но это не страшно)
prottoss
Цитата(костян82 @ Oct 2 2011, 18:11) *
Да Вашей прошивкой с 64 страницы. Кстати заметил что если несколько раз в авр студии поменять значение частоты встроенного генератора то связь с программатором теряется (но это не страшно)
Да. Могу выложить исходники. Так как не проверены, сразу предупреждаю, что не факт, что все стабильно работает. Проект под IAR 5.30.
Комментариев тоже не просите. Разбирайтесь сами.
костян82
Спасибо! буду разбираться. Да я заметил как люди достают с вопросами которые в теме не однократно рассматривались. В своё время пречитывал тему и ругался про себя. Тема в два раза меньше бы была наверное если бы не задавали детские вопросы или одни и теже.
Veg@
Вопрос к тем, кто хотел собрать AVR910 на ATMega48 (TQFP): будет ли при этом нормально функционировать программатор без каких-либо переделок схемы? По объему прошивка с сайта prottoss должна влезть.
prottoss
Цитата(Veg@ @ Feb 8 2012, 17:28) *
будет ли при этом нормально функционировать программатор...
Не будет. Прошивка скомпилирована под М8 и на М48/88/168 не будет. У них разные стартовые адреса для памяти данных. Ну и, возможно, ввода-вывода тоже - я не проверял.
Veg@
Цитата(prottoss @ Feb 8 2012, 16:48) *
Не будет. Прошивка скомпилирована под М8 и на М48/88/168 не будет. У них разные стартовые адреса для памяти данных. Ну и, возможно, ввода-вывода тоже - я не проверял.

А если перекомпилить исходники с сайта?
prottoss
Цитата(Veg@ @ Feb 8 2012, 21:24) *
А если перекомпилить исходники с сайта?
Нужно переделывать драйвер USB От obdev. Под М88 есть особенности, связаные с тем, что начало памяти данных начинается не с адреса 0х60, как обычно, а с адреса 0х100. В драйвере запись последовательных данных в USB-буфер осуществляется с инкрементом только младшего байта регистра-указателя Y. По этому USB-буфер нужно переопределить на участок памяти, где инкремент младшего байта указателя не приводит к его переполнению...
Может немного сумбурно объяснил... Подробнее читайте на http://obdev.at
Veg@
Собрал 2 программатора (стандартно, все по схеме) с прошивкой 1.05. С обоими одна проблема.
В AVRProg фьюзы читаются, записываются. Прошивку можно только прочитать, при записи - ошибка "Programming failed". После этого AVRProg не опознает AVR910 пока его не переподключаешь.
AVROspII 0.547 позволяет успешно выполнить что-то одно: прошить | прочитать | очистить | авто-детект. После этого AVR910 не опознается с сообщением "Timeout during COM-port read operation! Supported programmer not found on Com Port 3" пока его заново не переподключить.
Дело в прошивке или софте? Как решается? Спасибо.
prottoss
какой МК программите и как фьюзы установлены?
smk
Я перекомпилировал Ваши исходники под М48 и все хорошо заработало. Правда под Win7 заметно медленнее чем под ХР.

Цитата(Veg@ @ Feb 11 2012, 15:52) *
Собрал 2 программатора (стандартно, все по схеме) с прошивкой 1.05. С обоими одна проблема.
В AVRProg фьюзы читаются, записываются. Прошивку можно только прочитать, при записи - ошибка "Programming failed". После этого AVRProg не опознает AVR910 пока его не переподключаешь.
AVROspII 0.547 позволяет успешно выполнить что-то одно: прошить | прочитать | очистить | авто-детект. После этого AVR910 не опознается с сообщением "Timeout during COM-port read operation! Supported programmer not found on Com Port 3" пока его заново не переподключить.
Дело в прошивке или софте? Как решается? Спасибо.

Из командной строки шил и лочил фузы без проблем.
Veg@
Цитата(prottoss @ Feb 11 2012, 18:26) *
какой МК программите и как фьюзы установлены?

ATMega8-16AU (TQFP). Программирую только SPIEN, CKOPT, SUT0, BODEN.
Sinegovski
Уважаемый Protoss. В программаторе AVRdude в какой-то из версий вместо того, чтобы понижать питание программатора до 3.6В для согласования с уровнями USB сделали следующее: на каждую линию USB повесили стабилитрон на 3.6В. Это избавило от проблемы с падением питания ниже нормы т.к. напряжение USB на разных мамах отличается и не всегда достаточно и здорово стабилизировало работу программатора. Я долго пользовался этой схемой и проблем не возникало. Предлагаю реализовать такой вариант в AVR910 или вы считаете такой вариант некорректным?
prottoss
Цитата(Sinegovski @ Mar 8 2012, 19:12) *
...В программаторе AVRdude в какой-то из версий вместо того, чтобы понижать питание программатора до 3.6В для согласования с уровнями USB сделали следующее...
Этот вариант известен давно - с момента появления софтового USB на AVR.
У обоих вариантов есть свои достоинства и недостатки. Мне больше по душе тот, который я реализовал в программаторе.
Киса
Собрал AVR 910 Protoss строго по схеме опубликованной на сайте Protoss'a. МК - ATMega8-16PU. При подключении к USB (стоит WINXP SP3) сразу определился как AVR910. Дрова встали без проблем. Подключил на SPI новую ATMegy8A чтобы проверить в работе, подал на нее питание с USB 5 Вольт + GND ну и как у многих здесь в AVRStudio 4.19 и CodeVision 2.05 и AVROSP пишет что не может войти в режим программирования. Прочитал форум- прозвонил от программатора до прошиваемой МК (шлейф SPI 13 см) -нет ошибок, соплей, замыканий. Джампер Low SCK не замкнут. Джампер MOD/NORM в положении NORM (вывод 16 МК программатора идет на 1 программируемого), MOSI в MOSI, MISO в MISO, SCK в SCK. Замерил уровень на RESET а там '0'. ПО совету Protossa подключил к шлейфу SPI светодиоды вместо программируемого МК и попробовал запустить режим программирования, но ни один светодиод даже не мигнул. На всех выводах шлейфа логический 0. Это что значит прошивка программатора криво зашилась? Так тогда почему он у меня определяется OS правильно?
Че подскажет народ?
GDI
Я не помню, как там у Prottoss-a сделано, но MOSI обычно идет на MISO и наоборот.
dimka76
Обычно MOSI на MOSI идет, а MISO на MISO.
Alfa
Цитата(GDI @ Mar 12 2012, 14:33) *
Я не помню, как там у Prottoss-a сделано, но MOSI обычно идет на MISO и наоборот.


Подключать master output на slave output !?!?!?
оригинальненько..
Киса
Класс !!! Обьяснил проблему а тут походу перестрелка вне темы между завсегдатыемыми этого форума началась!!!
Alfa
Цитата(Киса @ Mar 12 2012, 15:03) *
Класс !!! Обьяснил проблему а тут походу перестрелка вне темы между завсегдатыемыми этого форума началась!!!


Осциллограф есть? На выводах процессора программатора надо смотреть. Может шлейф "неправильный".
На RESET 0 всегда? Чем смотрели?
Когда прошивали процессор программатора были ошибки? Может стоит перепрошить?
Киса
Осцилографа нет. Смотрел обычным цифровым мультиметром на GND. Прошивал PonyProg через LPT+ 74HC244.
Прошивалось на ура и верификация на ура с первого раза.
Сразу встречный вопрос - при подключении AVR910 к компу, на выводе RESET SPI шлейфа должен быть логический '1'. А то здесь информация промелькнула что лог. ноль там появляется только когда происходит переход а режим программирования?
prottoss
Цитата(Киса @ Mar 12 2012, 13:52) *
Собрал ... На всех выводах шлейфа логический 0
Шлейф поменяйте. А еще лучше проверьте логические уровни на плате без шлейфа. Самому то додуматься трудно?

Цитата(GDI @ Mar 12 2012, 14:33) *
... обычно...

MOSI - Master-Out-Slave-In
MISO - Master-In-Slave-Out

При программировании мастером выступает программатор, программируемый контроллер - слэйвом.

Подключать одноименные линии программатора и программируемого МК
MISO-MISO
MOSI-MOSI
SCK-SCK
RESET-RESET
Киса
Prottoss

Зачем шлейф менять. Я прозванивал тестером от управляюшего МК до панельки под прошиваемый МК - все OKEY, значит шлейф нормальный, длина тоже нормальная - 13 см.

Вот что обнаружил интересного. Если из программатора убрать МК и замерить что приходит на 7,20 (VCC,AVCC), то там 3,73 Вольт - это вроде нормально. Но если поставить туда обратно МК и подключить к ПК и замерить - то я не понимаю как но там 2,85 Вольт. Это что за просадка напряжения? Так и должно быть?

На выводе 16 МК программатора 0,02 Вольта.
Я так и не узнал там должен быть логическая 1 или 0?
Alfa
Цитата(Киса @ Mar 13 2012, 05:55) *
Вот что обнаружил интересного. Если из программатора убрать МК и замерить что приходит на 7,20 (VCC,AVCC), то там 3,73 Вольт - это вроде нормально. Но если поставить туда обратно МК и подключить к ПК и замерить - то я не понимаю как но там 2,85 Вольт. Это что за просадка напряжения? Так и должно быть?

На выводе 16 МК программатора 0,02 Вольта.
Я так и не узнал там должен быть логическая 1 или 0?


Коза у вас где-то на плате....
На reset должна быть "1". При программировании опускается программатором в "0". После программирования возврат в "1". В процессе могут быть перепады для передачи команды. Подробнее в даташите Memory Programming-> SPI Serial Programming Algorithm на любой avr.
Киса
Alfa

Да действительно одну козу нашел. У меня вообще нет слов, у меня одни маты в сторону редакции [CENSORED] журнала РАДИО [CENSORED]
Я то разводил плату по схеме выложенной в журнале Радио, а там [CENSORED] вообщем они на схеме питание МК не сразу после гасящих диодов подавали (на 7 вывод), а через резистор (который на оригинальной схеме Protoss'a R8 100Ом) и на 7 и на 20 вывод. Когда схему сравнивал то этот глюк не заметил и всё остальное совпадало. Из-за этого резистора напряжение проседало до 2.85 Вольт. Сейчас исправил 3.65 Вольт и на 7 и на 20 выводе. Правда он все равно у меня пока не программирует, но зато CodeVision пишет уже другую ошибку!!
Завтра мне на работу. Когда будут выходные займусь снова.
hd44780
Собирал бы по схеме автора, а не по каким-то перепечаткам.
Сразу понятно будет, кому претензии предъявлять sm.gif .
prottoss
Цитата(Киса @ Mar 13 2012, 15:28) *
...одни маты в сторону ... РАДИО
Кстати, когда вышел номер с моей схемой, я им сразу указал на ошибку, и в следующем номере они в спец. разделе указали на нее.

Но в сети видел много перепечаток именно схемы с ошибкой.

Цитата(Киса @ Mar 13 2012, 15:28) *
.
И между прочим хороший Вам урок на будущее. Прежде чем собираете схему, всегда пытайтесь понять, как она работает
Киса
Prottoss

Да коза еще та!!

А можно вопрос как специалисту!!
Тут на одном форуме один чел. сказал что вместо диодов ставить стабилитроны ни есть хорошо, а вот можно поставить интегральные стабилизаторы L78L33 (те что на 3.3 Вольта). У них по даташиту можно методом подбора найти со стабилизаций на 3.4 Вольта. Как вы думаете возможен ли такой вариант и если возможен то какая у него будет схемная реализация?

С уважением!!


Цитата(prottoss @ Mar 13 2012, 19:40) *
Кстати, когда вышел номер с моей схемой, я им сразу указал на ошибку, и в следующем номере они в спец. разделе указали на нее.

Но в сети видел много перепечаток именно схемы с ошибкой.

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



А какже фирменное заключение журнала Радио - 'Правильно собранное устройство в регулировании и налаживании не нуждается'!! wink.gif wink.gif wink.gif
prottoss
Цитата(Киса @ Mar 13 2012, 15:56) *
а вот можно поставить интегральные стабилизаторы L78L33
Нельзя, потому как большое падение напряжения на ключевом транзисторе стабилизатора.

Можно применить LDO (стабилизатор с низким падением напряжения -1..1.2 вольта) на 3.3 вольт., например серия LD1117-3.3 Сколько пробовал -все AVR-ки с 12 МГц кварцем запускаются при таком напряжении.

Цитата(Киса @ Mar 13 2012, 16:10) *
А какже фирменное заключение журнала Радио - 'Правильно собранное устройство в регулировании и налаживании не нуждается'!! wink.gif wink.gif wink.gif
У них и спросите, я то тут при чем? sm.gif
GDI
Цитата(prottoss @ Mar 12 2012, 18:47) *
MOSI - Master-Out-Slave-In
MISO - Master-In-Slave-Out

Да, что-то я тут дал маху, видать давно шашку в руки не брал sm.gif. Спасибо завсегдатаям форума, не дали соврать sm.gif
prottoss
Цитата(GDI @ Mar 13 2012, 18:24) *
видать давно шашку в руки не брал sm.gif .
Со всеми бывает кто программирует под несколько платформ одновременно sm.gif
Киса
Цитата(prottoss @ Mar 13 2012, 20:12) *
Нельзя, потому как большое падение напряжения на ключевом транзисторе стабилизатора.

Можно применить LDO (стабилизатор с низким падением напряжения -1..1.2 вольта) на 3.3 вольт., например серия LD1117-3.3 Сколько пробовал -все AVR-ки с 12 МГц кварцем запускаются при таком напряжении.


В типовой схеме включения LD1117 стоят на входе и выходе сглаживающие кондеры. Я так понимаю что их нужно исключить? Если применять LD1117 вместо диодов, то схема обвязки к USB будет аналогичная USBAsp и AVRDoper?
hd44780
А что плохого в стабилитронах?
Я этот программатор пока не делал (собираюсь только rolleyes.gif ), но делал ряд других устройств на ObDev и с 2-мя диодами, и со стабилитронами, работает нормально. Со стабилизаторами, правда, не делал.
prottoss
Цитата(hd44780 @ Mar 14 2012, 15:19) *
А что плохого в стабилитронах?
На мой взгляд, стабилитроны на линии данных сильно ухудшают сигнал, тем более что люди ставят какие попадя стабилитроны, не вникая в динамические характеристики.
Опять же 1К5 резистор на линии Д- должен быть запитан от напряжения 3,3 вольта. И тут начинаются ухищрения в виде увеличения номинала этого резистора что не улучшает повторяемось схемы - где оно работает а где то нет.
hd44780
Ну оно понятно ....
Nik67
Цитата(prottoss @ Mar 14 2012, 12:55) *
На мой взгляд, стабилитроны на линии данных сильно ухудшают сигнал, тем более что люди ставят какие попадя стабилитроны, не вникая в динамические характеристики.
Опять же 1К5 резистор на линии Д- должен быть запитан от напряжения 3,3 вольта. И тут начинаются ухищрения в виде увеличения номинала этого резистора что не улучшает повторяемось схемы - где оно работает а где то нет.


Работает со стабилитронами прекрасно, и 1,5к подтянут к +5 от USB , стабилитроны 3,6в, проверено как минимум 5 компах.
prottoss
Цитата(Nik67 @ Mar 14 2012, 22:41) *
Работает со стабилитронами прекрасно, и 1,5к подтянут к +5 от USB , стабилитроны 3,6в, проверено как минимум 5 компах.
5 старых компов это не показатель. Очень много людей у которых при подтяжке к 5 вольтам оного резистора девайс не опознается. Поверьте, у меня очень большая статистика по данному вопросу ибо в течении 5 лет люди пишут мне про программатор и связанные с ним вопросы практически каждый день
Nik67
Цитата(prottoss @ Mar 14 2012, 19:47) *
5 старых компов это не показатель. Очень много людей у которых при подтяжке к 5 вольтам оного резистора девайс не опознается. Поверьте, у меня очень большая статистика по данному вопросу ибо в течении 5 лет люди пишут мне про программатор и связанные с ним вопросы практически каждый день


а причем здесь подтяжка к +5 , если после него стабилитрон на корпус, на Д- больше чем стабилизация стабилитрона не будет, если конечно стабилитрон правильный, а занижение питания контролера не всегда хорошо, не все шьются.
prottoss
Цитата(Nik67 @ Mar 14 2012, 22:55) *
а причем здесь подтяжка к +5
Не знаю, честно говоря sm.gif Я не собирал схему на стабилитронах. Просто на том же сайте http://obdev.at в проектах AVRUSB смотрел - кто на что горазд и 2,2 кОм ставят и 2,7. За то на странице проекта типовая схема как раз один-в-один как в моем программаторе - 2 диода. Но, ИМХО, как я говорил выше - ставить LDO на 3,3 вольта.

Цитата(Nik67 @ Mar 14 2012, 22:55) *
а занижение питания контролера не всегда хорошо, не все шьются
Да, это есть. В основном это относится к выводу RESET программируемого МК. У этого вывода требуемые входные логические уровни несколько выше, чем у обычных портов, по этому я рекомендую, при неустойчивой работе программатора подтягивать этот вывод к напряжению питания МК резистором 10-47 кОм. Особенно это касается старой серии АТ90
Nik67
Сильно спорить не буду , т.к. уважаю чужой труд, но считаю что выбор схемного решения дело добровольное, а за програмное большой РЕСПЕКТ.
Киса
Цитата(prottoss @ Mar 15 2012, 03:15) *
Но, ИМХО, как я говорил выше - ставить LDO на 3,3 вольта.


Ну и как насчет вопроса подключения LDO вместо стабилитронов? Там ставить надо сглаживающие кондеры на входе и выходе (типовая схема включения) или не ставить ни в коем случае?

Я тут задал вопрос в ветке об альтернативных прошивках насчет дополнительного джампера для выбора режима работы (HID/CDC, там пока тишина), как вы считаете на какой вывод МК этот джампер можно присобачить? Может как в схеме AVRDoper на 27 вывод. И нужно ли там ставить резистор и какой номинал?

С уважением!
prottoss
Цитата(Киса @ Mar 15 2012, 04:54) *
Ну и как насчет вопроса подключения LDO вместо стабилитронов?
В моей схеме нет стабилитронов. Есть диоды. Конденсаторы дополнительные можно не ставить, достаточно штатных.

Цитата(Киса @ Mar 15 2012, 04:54) *
на какой вывод МК этот джампер можно присобачить? Может как в схеме AVRDoper на 27 вывод. И нужно ли там ставить резистор и какой номинал?
Моя прошивка не работает как HID устройство, так что ничего никуда присобачивать не нужно sm.gif
XWoo
Пользуюсь вашим программатором уже несколько лет. Хорошая вещь. Спасибо !!!

Если всё правильно собрать, то наладка заключается лишь в прошивки проца при помощи другого программатора (от lpt или com порта). Я сделал простой программер от lpt порта (аналог stk200, использую cvavr). На мой взгляд схему стоит повторять один-в-один. Не стоит там "баловаться" с стабилитронами и т.п. Два диода и два резистивных делителя (со стороны usb) - это наилучший вариант.

Работал с ним и на ноуте, и на пк с хр и семёркой. Опредляется без проблем. Связь держится нормально.

Скорость... Согласен со многими прользователями, что скорость тут мала. :( У меня тестовая плата на меге32. Прошиваю его прогами
cvavr, avr-osp II, avrprog с помощью 2-х программаторов: ваш avr910 usb и "старый добрый" программатор на 90s2313/tiny2313 (7.3728МГц) c usb-com на ft232rl. cvavr и avr-osp II шьют очень медленно (практически одинаково с lpt-шным stk200), но удобно натраивать биты фьюзов/локов и большой список поддреживаемых процессоров. У avrprog (из avrstudio) скорость намного выше, но очень неудобно работать с битами и небольший список процов (на сегодня avrprog более не поддерживается атмеловцами). avrdude я не использовал ни разу. Для интереса я подключил олимексовский jtag ice - скорость очень высока (пара секунд - стирание-прошивка-проверка завершены!). Во всех случаях я прошивал мегу32 hex-файлом, размером ~23 КБ. Для меня скорость важно, ибо когда приходится при отладке кода много раз заливать прошивку в проц, ждать пару десятков секунд оч уже не хочется. :) Но jtag не всеми процами поддреживается и стоит
дорогова-то. :(

Сейчас я посматриваю в сторону вашего ucGoZilla. Так, на будущее... :) Может как-нить сделаю его. Видел в продаже отладочные платы с at91sam7s64 и минимальной обвязкой. Немного дополнить детальками и готов новый праграмматор. Да и скорость по spi будет намного выше.
Nik67
Залей в него USBASP (из топика "Алтернативные прошивки ...." и будет тебе скорость в пару секунд .
Киса
Цитата(Nik67 @ Mar 16 2012, 19:34) *
Залей в него USBASP (из топика "Алтернативные прошивки ...." и будет тебе скорость в пару секунд .


А если добавить джампер на HID и переписать прошивку от AVRDoper (чтобы этот джампер работал), то ему цены не будет!!!
Киса
Залил прошивку STK500 от Protoss c 64 стр. (Новая прошивка с измененными Software Minor/Major на 2.0а) подключил программатор все определилось (Protoss AVR910 USB Programmer), запустил AVRProg из 4 студии - результат -> "No supported board found. AVRProg ver. 1.40"!!! Менял COM порт с 1 по 4, без изменений. Ставил два варианта дров с официальной страницы AVR910 Protoss, без изменений! Может другие дрова нужно было ставить?
В CodeVisionAVR программатор работает. В настройках AVRProg я не нашел конфигурацию с изменением COM портов, только количество опрашиваемых портов.
prottoss
Цитата(Киса @ Mar 26 2012, 08:03) *
Залил прошивку STK500 от Protoss c 64 стр.
Если Вы залили прошивку STK500 то AVRProg сней работать не будет, так как он для AVR910. Пользуйтесь тем ПО, которое понимает этот (STK500) протокол.
Например, для AVRStudio: Главное меню->Tools->Programm AVR->Connect... Далее в окне выбираете STK500 и указываете номер СОМ-порта.
Киса
Protoss

Чевото не вижу в упор Programm AVR->Connect... cranky.gif (рис. прикрепляю).
P.S. AVR Studio 4.19, XP SP3.

prottoss
Цитата(Киса @ Mar 26 2012, 13:03) *
Чевото...
Зайдите в меню Tools->Plug-In-Meneger... Установите галку на STK500. Далее "Save and Exit". Перезагрузите AVRStudio.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.