|
|
  |
AvrUsb500 by Petka. продолжение, Вариант программатора AVR, доступный для простого изготовления. ч2. |
|
|
|
Mar 27 2013, 05:16
|
Группа: Новичок
Сообщений: 4
Регистрация: 25-03-13
Пользователь №: 76 197

|
Собрал на 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 менять??
|
|
|
|
|
Apr 3 2013, 07:01
|
Профессионал
    
Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886

|
Цитата(DimKra @ Mar 27 2013, 09:16)  Собрал на ft232bm ,меге8 (без букв), кварц 14.7456 Прошивка 8 версии. Печатка оригинальная из архива на первой странице. ...... Ничего не помогает.(( Что-делать посоветуете, мегу8 менять?? Прошу прощения за долгую паузу. Был в отпуске. Перед заменой меги: 1) Обновите драйвера ft232. 2) Протестируйте связь по виртуальному КОМ порту. Отсоедините выводы TX и RX микросхемы ft232 от меги. Закоротите их друг на друга. Проверьте терминалом, что всё что вы отсылаете в виртуальный КОМ порт приходит обратно без искажений. 3) проверьте частоту генерации кварца. (осциллом) 4) проверьте длительность бита при приёме и передаче на RX и TX.
|
|
|
|
|
Apr 6 2013, 12:30
|
Группа: Новичок
Сообщений: 4
Регистрация: 25-03-13
Пользователь №: 76 197

|
Спасибо за советы. Вобщем поменял мегу8 на мегу88 -симптомы не изменились(( так же без проблем самопрошилось, и так-же глючит. 1) Обновите драйвера ft232. драйвера свежие. 2) Протестируйте связь по виртуальному КОМ порту. Отсоедините выводы TX и RX микросхемы ft232 от меги. Закоротите их друг на друга. Проверьте терминалом, что всё что вы отсылаете в виртуальный КОМ порт приходит обратно без искажений. Да, проходит без каких либо пропаданий. 3) проверьте частоту генерации кварца. (осциллом) Осцилл простенький, не берёт, но мультиметр показал что частоты правильные. 4) проверьте длительность бита при приёме и передаче на RX и TX. Я снял осцилограммки для наглядности. С ног tx и rx FT232BM Кстати на их выводах всё время лог.1, а активный получается лог.ноль. Так и должно быть? Такой сигнал снимается с ноги TXD при любых запросах из программы 1 клетка 10мкс.
Такой сигнал с ноги RXD при успешной прочитке версии firmware в программе CodeVision
А такой сигнал RXD когда CodeVision ругается.
Что можно ещё посмотреть? Уж всё перепахал.. единственное что не менял, эту саму FT и её кварц. Petka, а может мне попробывать подрубить мегу напрямую в ком-порт? Только не знаю, надо ли инвертировать сигналы..
Сообщение отредактировал DimKra - Apr 6 2013, 12:34
|
|
|
|
|
Apr 7 2013, 09:20
|
Профессионал
    
Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886

|
Цитата(DimKra @ Apr 6 2013, 16:30)  Спасибо за советы. В общем поменял мегу8 на мегу88 -симптомы не изменились(( так же без проблем самопрошилось, и так-же глючит. Из этого делаем вывод, что дела не в меге и не в прошивке. Цитата .... Я снял осцилограммки для наглядности. С ног tx и rx FT232BM Кстати на их выводах всё время лог.1, а активный получается лог.ноль. Так и должно быть? ... Судя по картинке с частотами всё в порядке. Да, между символами UART будет высокий уровень. Цитата Что можно ещё посмотреть? Уж всё перепахал.. единственное что не менял, эту саму FT и её кварц. 1) Попробуйте поменять USB кабель. (кабель должен быть с экраном и с ферритовыми кольцами рядом с разъёмами) 2) Попробуйте воткнуть программатор в другой USB порт. Или лучше совсем в другой компьютер и повторить эксперименты. Цитата Petka, а может мне попробовать подрубить мегу напрямую в ком-порт? Только не знаю, надо ли инвертировать сигналы.. Напрямую нельзя. Разные логические уровни. Для согласования уровней КОМ порта и UART контроллера можно применить микросхемы max232 или их функциональные аналоги.
|
|
|
|
|
Apr 7 2013, 11:03
|
Группа: Новичок
Сообщений: 4
Регистрация: 25-03-13
Пользователь №: 76 197

|
Цитата(Petka @ Apr 7 2013, 13:20)  1) Попробуйте поменять USB кабель. (кабель должен быть с экраном и с ферритовыми кольцами рядом с разъёмами) 2) Попробуйте воткнуть программатор в другой USB порт. Или лучше совсем в другой компьютер и повторить эксперименты. Напрямую нельзя. Разные логические уровни. Для согласования уровней КОМ порта и UART контроллера можно применить микросхемы max232 или их функциональные аналоги. Кабель менял, и пробывал на 2х других компьютерах -на них ещё хуже, почти всегда не детектится. Кварц у FT тоже попробывал сейчас заменить -не помогло. Поэтому как эксперемент хочу включить напрямую от ком порта, но не ясно нужна ли инверсия. Если нет, то я подключю через программатор Громова, там сигнал mosi уже тянется к tx ком порта, а на rx перекину miso, вот и готовый адаптер. А если нужно инвертировать, тогда на 75232 что нибудь спаяю.
|
|
|
|
|
Apr 7 2013, 11:39
|
Профессионал
    
Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886

|
Цитата(DimKra @ Apr 7 2013, 15:03)  Кабель менял, и пробывал на 2х других компьютерах -на них ещё хуже, почти всегда не детектится. Вот это уже нехороший признак. На 99% дело в ft232 или её обвязке. Цитата Кварц у FT тоже попробывал сейчас заменить -не помогло. Поэтому как эксперемент хочу включить напрямую от ком порта, но не ясно нужна ли инверсия. Если нет, то я подключю через программатор Громова, там сигнал mosi уже тянется к tx ком порта, а на rx перекину miso, вот и готовый адаптер. А если нужно инвертировать, тогда на 75232 что нибудь спаяю. "инверсия" нужна.
|
|
|
|
|
Apr 8 2013, 12:22
|
Группа: Новичок
Сообщений: 4
Регистрация: 25-03-13
Пользователь №: 76 197

|
Цитата(Petka @ Apr 7 2013, 15:39)  Вот это уже нехороший признак. На 99% дело в ft232 или её обвязке. "инверсия" нужна. Может не точно выразился, как ком-порт ft работает, тем более через нёё же совершенно без проблем самопрограммировалась мега на любом компе. Вобщем сегодня состоялся наконец первый эксперимент, принёсший положительный результат. Я собрал на max232 адаптер для ком-порта, отключил на плате программатора rx/tx от ft232 и подал сигналы на max232, запитал его от того-же юсб порта. И всё заработало без единого глюка, на любых скоростях! Следовательно дело в ft232, но что же может быть, там и обвязки то минимум. Кварц я менял, конденсаторы на кварце тоже. Блокировочные менял.
|
|
|
|
|
Apr 8 2013, 15:15
|
Профессионал
    
Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886

|
Цитата(DimKra @ Apr 8 2013, 16:22)  Может не точно выразился, как ком-порт ft работает, тем более через нёё же совершенно без проблем самопрограммировалась мега на любом компе. Вобщем сегодня состоялся наконец первый эксперимент, принёсший положительный результат. Я собрал на max232 адаптер для ком-порта, отключил на плате программатора rx/tx от ft232 и подал сигналы на max232, запитал его от того-же юсб порта. И всё заработало без единого глюка, на любых скоростях! Следовательно дело в ft232, но что же может быть, там и обвязки то минимум. Кварц я менял, конденсаторы на кварце тоже. Блокировочные менял. В "режиме самопрограммирования" ft232 работает только в части управляющих сигналов (CTS, RTS и т.п.) а обмена по RX/TX нет. Это может объяснить работоспособность только в режиме самопрограммирования. Попробуйте поменять FTшку.
|
|
|
|
|
Oct 4 2013, 16:23
|
Группа: Новичок
Сообщений: 3
Регистрация: 22-12-11
Из: кореновск
Пользователь №: 69 027

|
Цитата(krpage @ Feb 17 2013, 20:50)  студия 6, прошивка восьмая под 8 мегу под кварц 1473. Но у меня кварц 143H9 другого не нашёл. Petka написал, если другого нет то и этот можно. точно не знаю, но емнип шестая студия перестала поддерживать stk500. Точно можно узнать на сайте атмела. Цитата(zhavnerko @ Feb 15 2013, 13:09)  Нет, все та же ошибка. Вот она. [attachment=74835:3.jpg] Елки, что же это может быть? у меня такая ошибка появлялась когда я подключал прогер к залоченной меги. после лечения в "докторе" ошибка проподала и мк норм определялся.
|
|
|
|
|
Oct 4 2013, 19:35
|
Группа: Новичок
Сообщений: 3
Регистрация: 22-12-11
Из: кореновск
Пользователь №: 69 027

|
сори парни. чуток ошибся. дело в том, что была залита стара прошивка. залил восьмую версию и в шестой студии программатор определился.
|
|
|
|
|
Oct 6 2013, 17:46
|
Группа: Участник
Сообщений: 13
Регистрация: 9-09-12
Пользователь №: 73 462

|
Привет снова всем ) Пришло время снова взяться за терморектальный анализатор паяльник и сделать новый девайс на ATmega64a. Я немного в затруднении с пониманием прошивки ATmega64а, а именно сбил с толку пин !PEN. Увидев такое - полез в даташит, вышел на програминг, и... этот пин как то задействован в програмировании контроллера. Так же уже в курсе что mosi-miso брать нужно на спец пинах для программирования (PDI/PDO), с SCK тоже всё ясно. Прошу помощи с разъяснением как же програматором таки прошить мегу64 (возможно ли? схематическое подключение к програматору особое? что делать с !PEN?) Да, забыл сказать что программатор собран, он работоспособен, залита 8 версия прошивки, через avrstudio прошил не раз и не одну мегу8а успешно без сбоев. Проблем замечено небыло. Осмелюсь понаглеть и сразу еще один вопросик сюда же: mosi-miso для режима sp это PDI и PDO и они же совпадают с выводами порта UART0, который мне очень бы хотелось использовать через фт-шку для подключения к компу. Получается что на выводы порта UART0 (он же SPI) в режиме программирования будет подключен как программатор, так и ft232(безкварцевая). Нормально ли это, или на время программирования следует отключить выводы фт-шки от SPI? Отключать могу смд-переключателями, это в принципе не проблема.
Сообщение отредактировал Andrew_BJ - Oct 6 2013, 18:18
|
|
|
|
|
Oct 6 2013, 18:39
|
Группа: Участник
Сообщений: 13
Регистрация: 9-09-12
Пользователь №: 73 462

|
Цитата(Petka @ Oct 6 2013, 21:29)  Ответы на этот вопрос содержатся в разделе "Memory Programming" в Datasheet на AtMega64a. Подключение меги к программатору описано в разделе "SPI Serial Programming Pin Mapping" (стр 288) Этот раздел то я читал. но вот в следующем ( 27.8.1 SPI Serial Programming Algorithm - 310 страница) - PEN вывод как то используется в алгоритме программирования. То есть я так понимаю что его либо на землю кидать при программировании, либо не трогать, либо он должен управляться программатором. Что же делать с !PEN пином?
Сообщение отредактировал Andrew_BJ - Oct 6 2013, 20:24
|
|
|
|
|
Oct 8 2013, 14:09
|
Группа: Новичок
Сообщений: 7
Регистрация: 27-02-09
Пользователь №: 45 421

|
Цитата(Andrew_BJ @ Oct 6 2013, 22:39)  Этот раздел то я читал. но вот в следующем ( 27.8.1 SPI Serial Programming Algorithm - 310 страница) - PEN вывод как то используется в алгоритме программирования. То есть я так понимаю что его либо на землю кидать при программировании, либо не трогать, либо он должен управляться программатором. Что же делать с !PEN пином? Ничего . При последовательном программировании он не используется.
|
|
|
|
|
  |
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0
|
|
|