Jump to content

    

AvrUsb500 by Petka. продолжение

Гребаная POnyProg.... не знает ATMega48....

Скачал последнюю версию - 2.07 -уверяет, что такой чип ей знаком - однако пишет ошибку.... Я и так и сяк и коротыши искал и чего только не делал......

Как выяснилось, что в последней версии ATmega48 есть, но программировать ее она все равно не может. Перепаял на мегу8 - все пошло.

 

Share this post


Link to post
Share on other sites

Собрал на ft232bm ,меге8 (без букв), кварц 14.7456 Прошивка 8 версии. Печатка оригинальная из архива на первой странице. Прошилось самопрограммированием через пони без ошибок. Фьюзы стандартные(0x1F/0xC9) Переключил перемычку в основной режим, -в терминалке всё показывает ок. При включении USB светодиод быстро мигает как положено, а при подключении программируемого чипа светодиод чётко загорается. Казалось бы всё хорошо, но вот при работе с таргет контроллерами глюк на глюке в любой программе. Например в CVAVR постоянно выскакивает окно STK500/AVRISP communication cheksum error, пробывал на любых частотах SCK Freq, ругается даже если просто считать версию firmware или сигнатуру. Но тем не менее один раз на несколько ошибок считывает нормально. Так же может успеть считать что-то небольшое, например фьюзы или еепром, тоже через два-три раза. Прочитать всё целиком ни одного раза не удалось. AVRDUDE тоже всё время ругается на чексум

avrdude.exe: stk500v2_recv(): checksum error

avrdude.exe: stk500v2_cmd(): short reply, len = 0

avrdude.exe: safemode: Verify error - unable to read lfuse properly. Programmer may not be reliable.

avrdude.exe: stk500v2_recv(): checksum error

avrdude.exe: stk500v2_cmd(): short reply, len = 0

avrdude.exe: stk500v2_recv(): checksum error

avrdude.exe: stk500v2_cmd(): short reply, len = 0

avrdude.exe: safemode: Fuses OK

Всё, что можно -перепробывал:

Питаю подключенный контроллер от програматора, но пробывыл и отдельно подавать., и запитывать вообще всё от отдельного бп. Пробывал с разными таргет микроконтроллерами. Менял шлейф, usb кабель, пробывал на другом компе. Пробывал заново перешить программатор, пробывал зашивать 7 версию, версию Леонида Иваныча. Игрался с фьюзами.

Менял кварц меги на заведомо хороший, менял ёмкости на ногах кварца. Промывал плату, пропаивал контакты, прозванивал проводники (все ок) Менял все ёмкости 0,1, закорачивал индуктивность, вешал блокировочный 0,1 на 20 вывод меги. Осциллом смотрел сигналы к таргет и между мегой и FT (все линии работают, размах амплитуды большой 5в.) Когда программа ругается, то соответственно и осциллограф никаких признаков активности не видит.

Ничего не помогает.(( Что-делать посоветуете, мегу8 менять??

Share this post


Link to post
Share on other sites
Собрал на ft232bm ,меге8 (без букв), кварц 14.7456 Прошивка 8 версии. Печатка оригинальная из архива на первой странице.

......

Ничего не помогает.(( Что-делать посоветуете, мегу8 менять??

Прошу прощения за долгую паузу. Был в отпуске.

Перед заменой меги:

1) Обновите драйвера ft232.

2) Протестируйте связь по виртуальному КОМ порту. Отсоедините выводы TX и RX микросхемы ft232 от меги. Закоротите их друг на друга. Проверьте терминалом, что всё что вы отсылаете в виртуальный КОМ порт приходит обратно без искажений.

3) проверьте частоту генерации кварца. (осциллом)

4) проверьте длительность бита при приёме и передаче на RX и TX.

 

Share this post


Link to post
Share on other sites

Спасибо за советы.

Вобщем поменял мегу8 на мегу88 -симптомы не изменились(( так же без проблем самопрошилось, и так-же глючит.

 

1) Обновите драйвера ft232.

драйвера свежие.

 

2) Протестируйте связь по виртуальному КОМ порту. Отсоедините выводы TX и RX микросхемы ft232 от меги. Закоротите их друг на друга. Проверьте терминалом, что всё что вы отсылаете в виртуальный КОМ порт приходит обратно без искажений.

 

Да, проходит без каких либо пропаданий.

 

3) проверьте частоту генерации кварца. (осциллом)

 

Осцилл простенький, не берёт, но мультиметр показал что частоты правильные.

4) проверьте длительность бита при приёме и передаче на RX и TX.

 

Я снял осцилограммки для наглядности. С ног tx и rx FT232BM Кстати на их выводах всё время лог.1, а активный получается лог.ноль. Так и должно быть?

 

Такой сигнал снимается с ноги TXD при любых запросах из программы

1 клетка 10мкс.

post-76197-1365250338_thumb.jpg

 

Такой сигнал с ноги RXD при успешной прочитке версии firmware в программе CodeVision

post-76197-1365250407_thumb.jpg

 

А такой сигнал RXD когда CodeVision ругается.

post-76197-1365250395_thumb.jpg

 

Что можно ещё посмотреть? Уж всё перепахал.. единственное что не менял, эту саму FT и её кварц.

Petka, а может мне попробывать подрубить мегу напрямую в ком-порт? Только не знаю, надо ли инвертировать сигналы..

Edited by DimKra

Share this post


Link to post
Share on other sites
Спасибо за советы.

В общем поменял мегу8 на мегу88 -симптомы не изменились(( так же без проблем самопрошилось, и так-же глючит.

Из этого делаем вывод, что дела не в меге и не в прошивке.

....

Я снял осцилограммки для наглядности. С ног tx и rx FT232BM Кстати на их выводах всё время лог.1, а активный получается лог.ноль. Так и должно быть?

...

Судя по картинке с частотами всё в порядке.

Да, между символами UART будет высокий уровень.

Что можно ещё посмотреть? Уж всё перепахал.. единственное что не менял, эту саму FT и её кварц.

1) Попробуйте поменять USB кабель. (кабель должен быть с экраном и с ферритовыми кольцами рядом с разъёмами)

2) Попробуйте воткнуть программатор в другой USB порт. Или лучше совсем в другой компьютер и повторить эксперименты.

Petka, а может мне попробовать подрубить мегу напрямую в ком-порт? Только не знаю, надо ли инвертировать сигналы..

Напрямую нельзя. Разные логические уровни. Для согласования уровней КОМ порта и UART контроллера можно применить микросхемы max232 или их функциональные аналоги.

Share this post


Link to post
Share on other sites
1) Попробуйте поменять USB кабель. (кабель должен быть с экраном и с ферритовыми кольцами рядом с разъёмами)

2) Попробуйте воткнуть программатор в другой USB порт. Или лучше совсем в другой компьютер и повторить эксперименты.

Напрямую нельзя. Разные логические уровни. Для согласования уровней КОМ порта и UART контроллера можно применить микросхемы max232 или их функциональные аналоги.

 

Кабель менял, и пробывал на 2х других компьютерах -на них ещё хуже, почти всегда не детектится.

Кварц у FT тоже попробывал сейчас заменить -не помогло. Поэтому как эксперемент хочу включить напрямую от ком порта, но не ясно нужна ли инверсия. Если нет, то я подключю через программатор Громова, там сигнал mosi уже тянется к tx ком порта, а на rx перекину miso, вот и готовый адаптер. А если нужно инвертировать, тогда на 75232 что нибудь спаяю.

Share this post


Link to post
Share on other sites
Кабель менял, и пробывал на 2х других компьютерах -на них ещё хуже, почти всегда не детектится.

Вот это уже нехороший признак.

На 99% дело в ft232 или её обвязке.

Кварц у FT тоже попробывал сейчас заменить -не помогло. Поэтому как эксперемент хочу включить напрямую от ком порта, но не ясно нужна ли инверсия. Если нет, то я подключю через программатор Громова, там сигнал mosi уже тянется к tx ком порта, а на rx перекину miso, вот и готовый адаптер. А если нужно инвертировать, тогда на 75232 что нибудь спаяю.

"инверсия" нужна.

Share this post


Link to post
Share on other sites
Вот это уже нехороший признак.

На 99% дело в ft232 или её обвязке.

"инверсия" нужна.

 

Может не точно выразился, как ком-порт ft работает, тем более через нёё же совершенно без проблем самопрограммировалась мега на любом компе. Вобщем сегодня состоялся наконец первый эксперимент, принёсший положительный результат. Я собрал на max232 адаптер для ком-порта, отключил на плате программатора rx/tx от ft232 и подал сигналы на max232, запитал его от того-же юсб порта. И всё заработало без единого глюка, на любых скоростях! Следовательно дело в ft232, но что же может быть, там и обвязки то минимум. Кварц я менял, конденсаторы на кварце тоже. Блокировочные менял.

Share this post


Link to post
Share on other sites
Может не точно выразился, как ком-порт ft работает, тем более через нёё же совершенно без проблем самопрограммировалась мега на любом компе. Вобщем сегодня состоялся наконец первый эксперимент, принёсший положительный результат. Я собрал на max232 адаптер для ком-порта, отключил на плате программатора rx/tx от ft232 и подал сигналы на max232, запитал его от того-же юсб порта. И всё заработало без единого глюка, на любых скоростях! Следовательно дело в ft232, но что же может быть, там и обвязки то минимум. Кварц я менял, конденсаторы на кварце тоже. Блокировочные менял.

В "режиме самопрограммирования" ft232 работает только в части управляющих сигналов (CTS, RTS и т.п.) а обмена по RX/TX нет. Это может объяснить работоспособность только в режиме самопрограммирования. Попробуйте поменять FTшку.

Share this post


Link to post
Share on other sites
студия 6, прошивка восьмая под 8 мегу под кварц 1473. Но у меня кварц 143H9 другого не нашёл. Petka написал, если другого нет то и этот можно.

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

 

 

Нет, все та же ошибка. Вот она.

post-75538-1360919315_thumb.jpg

Елки, что же это может быть?

у меня такая ошибка появлялась когда я подключал прогер к залоченной меги.

после лечения в "докторе" ошибка проподала и мк норм определялся.

Share this post


Link to post
Share on other sites

сори парни. чуток ошибся.

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

Share this post


Link to post
Share on other sites

Привет снова всем ) Пришло время снова взяться за терморектальный анализатор паяльник и сделать новый девайс на ATmega64a. Я немного в затруднении с пониманием прошивки ATmega64а, а именно сбил с толку пин !PEN. Увидев такое - полез в даташит, вышел на програминг, и... этот пин как то задействован в програмировании контроллера. Так же уже в курсе что mosi-miso брать нужно на спец пинах для программирования (PDI/PDO), с SCK тоже всё ясно.

Прошу помощи с разъяснением как же програматором таки прошить мегу64 (возможно ли? схематическое подключение к програматору особое? что делать с !PEN?)

Да, забыл сказать что программатор собран, он работоспособен, залита 8 версия прошивки, через avrstudio прошил не раз и не одну мегу8а успешно без сбоев. Проблем замечено небыло.

 

Осмелюсь понаглеть и сразу еще один вопросик сюда же: mosi-miso для режима sp это PDI и PDO и они же совпадают с выводами порта UART0, который мне очень бы хотелось использовать через фт-шку для подключения к компу. Получается что на выводы порта UART0 (он же SPI) в режиме программирования будет подключен как программатор, так и ft232(безкварцевая). Нормально ли это, или на время программирования следует отключить выводы фт-шки от SPI? Отключать могу смд-переключателями, это в принципе не проблема.

 

post-73462-1381083436_thumb.png

Edited by Andrew_BJ

Share this post


Link to post
Share on other sites
...

Осмелюсь понаглеть и сразу еще один вопросик сюда же: mosi-miso для режима sp это PDI и PDO и они же совпадают с выводами порта UART0, который мне очень бы хотелось использовать через фт-шку для подключения к компу. Получается что на выводы порта UART0 (он же SPI) в режиме программирования будет подключен как программатор, так и ft232(безкварцевая). Нормально ли это, или на время программирования следует отключить выводы фт-шки от SPI? Отключать могу смд-переключателями, это в принципе не проблема.

Ответы на этот вопрос содержатся в разделе "Memory Programming" в Datasheet на AtMega64a.

Подключение меги к программатору описано в разделе "SPI Serial Programming Pin Mapping" (стр 288)

 

Share this post


Link to post
Share on other sites
Ответы на этот вопрос содержатся в разделе "Memory Programming" в Datasheet на AtMega64a.

Подключение меги к программатору описано в разделе "SPI Serial Programming Pin Mapping" (стр 288)

Этот раздел то я читал. но вот в следующем ( 27.8.1 SPI Serial Programming Algorithm - 310 страница) - PEN вывод как то используется в алгоритме программирования. То есть я так понимаю что его либо на землю кидать при программировании, либо не трогать, либо он должен управляться программатором. Что же делать с !PEN пином?

Edited by Andrew_BJ

Share this post


Link to post
Share on other sites
Этот раздел то я читал. но вот в следующем ( 27.8.1 SPI Serial Programming Algorithm - 310 страница) - PEN вывод как то используется в алгоритме программирования. То есть я так понимаю что его либо на землю кидать при программировании, либо не трогать, либо он должен управляться программатором. Что же делать с !PEN пином?

Ничего . При последовательном программировании он не используется.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this