Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Программирование ATMega16 программатором stk200/300
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
parashutist470
Вопрос звучит следжующим образом. Спаял программатор stk200/300. Взялся прошивать контроллер(Atmega 16) с помощью программы CodeVisionAVR. Пишет нет конекта, но когда ещё раз жмешь прошить, пишет can't read chip signature because LB1=0 & LB2=0. Если снять галку Check signature ароде как пишет, а верификацию не проходит, тоесть содержимое флэш не меняется!
Биты защиты НЕ МЕНЯЛ!! Причём когда отключить питание МК и подключить его снова, всё по кругу начинается тоест ьдо первого раза на лок камня не ругается!
Первый раз (если я уже ничего не путаю ато уже голова кругом) вродебы всё отлично прошилось, все фюзы были по умолчанию, но с камня я их предварительно не прочитал. Может зашило какую-то гадость?
Так же пробовал другой софт, анпример ponyprog теже яйца, только в профиль.
Помогите пожалуйста реанимировать камень, или подскажите что я делаю не так!

PS Вопрос наверняка глупый но в схеме STK200/300 анод диода на пин 2 разъёма подаётся, а этот пин я так полагаю на Vcc идеёт?

Спасибо!
kamedi_clab
попробуйте простые "5 проводков" и проверьте выполнение условий на странице programAVR на .narod.ru
parashutist470
Ну я читал ту страницу ещё раньше, можно сказать и руководствовался ей, а какие там условия должны выполнятся?не пойму. Просто проводками попробую, но думаю что дело не в программаторе. Есть ещё какие-нибудь варианты у кого-нибудь?
AndryG
Такие же глюки у меня выскакивают у СV при недостаточном питании...

О диоде ... не вникал где у него анод, надо вот так http://www.ln.com.ua/~real/avreal/adapters.html
Некоторым кажется, что диод у STK200 неправильно стоит - чушь - полная... прочтите в FAQ по той же ссылке - расписано почему так.

Попробуйте поганят Мегу не СV, а AVReal - он позволяет задержки больше ставить при программировании, если с задержками покатит - знаичит 98%, что с питанием глюкс.
parashutist470
Цитата(AndryG @ Nov 7 2006, 13:50) *
Такие же глюки у меня выскакивают у СV при недостаточном питании...

О диоде ... не вникал где у него анод, надо вот так http://www.ln.com.ua/~real/avreal/adapters.html
Некоторым кажется, что диод у STK200 неправильно стоит - чушь - полная... прочтите в FAQ по той же ссылке - расписано почему так.

Попробуйте поганят Мегу не СV, а AVReal - он позволяет задержки больше ставить при программировании, если с задержками покатит - знаичит 98%, что с питанием глюкс.


Я питаю от +5 компьютерного БП реально выходит 4,8 где-то.
Диод стои правильно удостоверился
в AVReal гонял, вот здесь мне пытались помочь чуть раньше http://telesys.ru/wwwboards/mcontrol/1489/...es/390072.shtml
та же фигня. Пробовал и тактирование заводить с порта ЛПТ.
Ничего не помогает.
tonjo
А длина проводов какая? Бывает она становится основной причиной подобных заморочек.
parashutist470
Цитата(tonjo @ Nov 7 2006, 17:00) *
А длина проводов какая? Бывает она становится основной причиной подобных заморочек.



30 см примерно
не думаю что это много для таких частот.

дело в том что глюки очень даже систематические, не хаотические, (читать пост№1) тут надо искать причину не в наводках и подобном я думаю.
ps1x
Попробуйте подключить кварц к соответствующим ножкам, ну и очень внимательно проверьте все провода на предмет правильности подключения, отсутствия КЗ или разрыва... Больше в общем посоветовать нечего. cheers.gif

А питанием от компьютера я все время пользуюсь без стабилизаторов и даже кондера работает стабильно 999 прошивок из 1000.
VDG
Проблема стара как мир. smile.gif
CV под WinXP с Кандой (stk200) работает неправильно - шьёт нормально, а верификацию не проходит. Под 98-ой всё проходит нормально.
Понипрог (правильно настроенный) с stk200 под WinXP работает.

PS. Проверьте на всякий случай, не залоченный ли у вас контроллер? Посмотрите что считывается с флеша.
parashutist470
Цитата(ps1x @ Nov 7 2006, 18:38) *
Попробуйте подключить кварц к соответствующим ножкам, ну и очень внимательно проверьте все провода на предмет правильности подключения, отсутствия КЗ или разрыва... Больше в общем посоветовать нечего. cheers.gif

А питанием от компьютера я все время пользуюсь без стабилизаторов и даже кондера работает стабильно 999 прошивок из 1000.


Кварц я пробовал подключать, правда у меня сейчас есть только на 10 мегагерц, как я и писал пробовал тактировать от порта программой AVreaI, все теже баги, сигнал синхронится девайс определяет. За эту неделю я уже всё прозвонил что можно было, по крайней мере мне так кажется.. И все сигналы вроде проходят, осцилографа дома нету, но по срежднему значению напряжения вольтметром видно во время попыток прошивать.
parashutist470
Цитата(VDG @ Nov 7 2006, 19:21) *
Проблема стара как мир. smile.gif
CV под WinXP с Кандой (stk200) работает неправильно - шьёт нормально, а верификацию не проходит. Под 98-ой всё проходит нормально.
Понипрог (правильно настроенный) с stk200 под WinXP работает.

PS. Проверьте на всякий случай, не залоченный ли у вас контроллер? Посмотрите что считывается с флеша.


Ща конечно проверю под 98.. Дело в том что я и понипрог пробовал, настроен вроде верно..
-делал калибовку
-проц выбрал в настройках
-выбралд параллеьный порт, из списка AVR ISP I/O
вроде больше ничего и не надо
Читается с него что попало, писал в самом первом посте. Первый раз одно второй раз другое, питание переподклюяил всё сначала. Фюзы то все 0 то все 1 то вперемешку (уже и не вникал как именно), пишет что проц залочен со второй попытки прошить, питание перетыкнуть - снова всё нормально. Кроче читает с него какую-то лажу.
понипрог пишет припопытке читать или писать ошибку 24 - устройство отсуцтвует или неизвестное устройство. иногда пишет ошибку 25- залочен
parashutist470
Под 98 виндой таже фигня ... полная чуш и хаос ничего не пойму ...
parashutist470
Ещё хотел добавить, какой бы прогой не читал флэш, когда удаётся что-то прочесть по всей флэш и EEPROM полнейшая каша.. Камень новый, должно быть почти везде FF поидее, а там кисель.

И не шьёт нифига никуда, прочитанный байт отличается от того что пыталось записать.
junoSynthesizer
у меня была похожая проблема в этой же ветке =)

я программировал понипрогом. выходила каша... и не шился. до сих пор не уверен, что же мне помогло, но скорее всего - тщательное прохождение скальпелем между всех дорожек и устранение кз между ками-то пинами. так же укоротил провода от програматора к процессору сантиметров до 20, от лпт к программатору не трогал... там почти метр. просто заработало, и программирует теперь на ура уже сколько всяких разных процев.

собирал программатор чётко по картинке.


да, и ещё: кашу может выдавать, если питание на проц подключено, а на программатор - нет =) такой косяк я тоже ловил.
ps1x
Цитата(VDG @ Nov 7 2006, 18:21) *
Проблема стара как мир. smile.gif
CV под WinXP с Кандой (stk200) работает неправильно - шьёт нормально, а верификацию не проходит. Под 98-ой всё проходит нормально.
Понипрог (правильно настроенный) с stk200 под WinXP работает.

PS. Проверьте на всякий случай, не залоченный ли у вас контроллер? Посмотрите что считывается с флеша.

Хммм... Гоните товарищь. У меня уже как год под виндой в CVAVR и AVR910 и STK200 работают просто чюдесно и замечательно. Еще может быть смыть всякие остатки химии и флюса с печатной платы (если это не на пластмассовой макетке конечно).
Ну и самый, пожалуй, верный вариант - купить еще один чип и попробовать пошить его...
dvm11111111
Болин а у меня 8мега глючит, прочитать из нее могу, а записать или стереть нет, другой экземпляр нормально работает.
parashutist470
Цитата(junoSynthesizer @ Nov 8 2006, 02:14) *
у меня была похожая проблема в этой же ветке =)

я программировал понипрогом. выходила каша... и не шился. до сих пор не уверен, что же мне помогло, но скорее всего - тщательное прохождение скальпелем между всех дорожек и устранение кз между ками-то пинами. так же укоротил провода от програматора к процессору сантиметров до 20, от лпт к программатору не трогал... там почти метр. просто заработало, и программирует теперь на ура уже сколько всяких разных процев.

собирал программатор чётко по картинке.


да, и ещё: кашу может выдавать, если питание на проц подключено, а на программатор - нет =) такой косяк я тоже ловил.


Я все контактные площадки между собой прозвонил на предмет кз, длинна кабеля от программатора к процу несколько сантиметров, всё на одной платке, от ЛПТ к программатору сантиметров 30.
Питание на программатор подключено, проверял уровни, и запитку микросхемы буфера, всё есть.

Вот 5 минут назад решил плюнуть на всё и спаять 5 проводков через резюки, исходя из того что всё гениальное просто, та же картина, некоторые проги ещё ольше выделывются, читает кашу тоже, не прошивает...
Хоть иди покупай второй проц и проверяй ....
parashutist470
Уже и остатки флюса промыл, и скальпелем прошолся)
Кстати на программаторе из 5ти проводов замерял уровни на ресет и др сигналах, порядка 3,2В, резисторы последовательно впаял, 100 Ом.
На нормально программатор с буфером уровни нормальные были где-то 4,7В.
ps1x
Цитата(parashutist470 @ Nov 8 2006, 04:13) *
Уже и остатки флюса промыл, и скальпелем прошолся)
Кстати на программаторе из 5ти проводов замерял уровни на ресет и др сигналах, порядка 3,2В, резисторы последовательно впаял, 100 Ом.
На нормально программатор с буфером уровни нормальные были где-то 4,7В.

похоже, всетаки стоит попробовать с другим камнем. Есть же вероятность что этот "испортился". Хотя все это очень странно... В конце концов, если и с другим камнем не пойдет, то может дело в ЛПТ? Как вариант - спаять AVR910. Я когда себе ЛПТ спалил, так и поступил, а на ЛПТ сейчес вполне успешно работает принтер.
Что-то по утрам у меня словесный понос начинается.... blink.gif
junoSynthesizer
соглашусь с вышеизложенными мнениями на тему другого проца.
у меня когда были косяки, было и 2 процессора для проверки... глючили оба, значит дело было либо в программаторе, либо в лпт. оказалось - в программаторе. у вас очевидно - в проце или лпт =)
Nanobyte
А может, всё-таки LPT виноват? Всякие там его настройки типа ECP, EPP, прерывания и т.д.?
Кроме того, у разных матплат разная схемотехника выходного буфера. Напряжения на выходе LPT осциллографом смотрели?
parashutist470
Цитата(Nanobyte @ Nov 8 2006, 13:38) *
А может, всё-таки LPT виноват? Всякие там его настройки типа ECP, EPP, прерывания и т.д.?
Кроме того, у разных матплат разная схемотехника выходного буфера. Напряжения на выходе LPT осциллографом смотрели?


Пробовал режимы ECP+EPP и SPP, проверить более основательно LPT думаю не проблема, Turbo Pascal под win98 + вольтметр, вечером этим и займусь. Осцилографа, к сожалению, дома нет, поэтому осцилографом не смотрел.
Что вы имеете ввиду под тем, что бывает разная схемотехника выходного буфера? То что могут быть разные параметры выходных сигналов у разных мат плат? И что могло так совпасть что в данном случае они из ряда вон выходящие? Дело в том, что буфферная микросхема в STK200/300 эту проблему, на сколько я понимаю, долна решать. В тех сигналах, что я мог отследить вольтметром (например reset) на выходе буфера порядок.
Чувствую не избежать заказа другого камня.. ( А так хотелось этого избежать.. ждать пока привезут..

PS Есть знакомый знакомого в десятом колене с параллельным программатором, может ли это как-то решить проблему? Стоит ли замарачиватся на него выходить?
VDG
Цитата(parashutist470 @ Nov 8 2006, 00:55) *
-делал калибовку
-проц выбрал в настройках
-выбралд параллеьный порт, из списка AVR ISP I/O

Да, настроено верно. Значит ошибка может быть:
1. неправильно собран программатор (битая микросхема, неправильно идут сигналы - перепутаны)
2. битый контроллер.
3. битый LPT порт

Чудес не бывает.

Цитата(parashutist470 @ Nov 8 2006, 01:18) *
Под 98 виндой таже фигня ... полная чуш и хаос ничего не пойму ...

Значит битый или неправильно собранный программатор (либо LTP битый). Купите готовый и не мучайтесь.
Nanobyte
Цитата(parashutist470 @ Nov 8 2006, 14:41) *
...Что вы имеете ввиду под тем, что бывает разная схемотехника выходного буфера? То что могут быть разные параметры выходных сигналов у разных мат плат? ...

На некоторых МП мне встречались отдельные буферные микросхемы, у других на выходах данных и упр. сигналах есть конденсаторы (об землю), встречались подтягивающие и опускающие резисторы.
Свой первый AT90S1200 для программатора ISP зашивал 5-ю проводками, зашить удалось только на одной из пяти PC.

P.S. Давно хотел сказать, читая некоторые посты. IMHO, конечно, но зашейте Mega8535 хоть чем-нибудь, соберите аналог STK500 (15-20 деталей всего), И ВСЕ ПРОБЛЕМЫ С ПРОГРАММИРОВАНИЕМ ЗАКОНЧАТСЯ !!! STK500 шьёт всё, что знает AVR Studio. На крайний случай, соберите AVR910, (можно с USB). Окупится по времени быстро и многократно, да и на пенталгине экономия будет ого-го!
Всё это IMHO, конечно ...
VDG
Цитата(ps1x @ Nov 8 2006, 03:32) *
Хммм... Гоните товарищь. У меня уже как год под виндой в CVAVR и AVR910 и STK200 работают просто чюдесно и замечательно.

Все товарищи в 91-ом остались.
Винды бывают разные. У меня STK200 под последними версиями CV (за год) и WinXP SP1 не верифицируется. Старые CV у меня с WinXP SP1 работали, под новыми нет. В старых компиляторах на старых материнских платах может он и работает. У меня на новых - нет.


Цитата(parashutist470 @ Nov 8 2006, 05:13) *
Кстати на программаторе из 5ти проводов замерял уровни на ресет и др сигналах, порядка 3,2В,

Ну вот и выяснилось. smile.gif
Контроллер же КМОПовский. Поэтому и чушь идёт при чтении.
Странный у Вас LPT порт. Ставьте между ним и контроллером буфер с TTL входами, тогда заработает.
Микросхема - 74HCT244
parashutist470
Цитата(VDG @ Nov 8 2006, 17:24) *
Цитата(parashutist470 @ Nov 8 2006, 00:55) *

-делал калибовку
-проц выбрал в настройках
-выбралд параллеьный порт, из списка AVR ISP I/O

Да, настроено верно. Значит ошибка может быть:
1. неправильно собран программатор (битая микросхема, неправильно идут сигналы - перепутаны)
2. битый контроллер.
3. битый LPT порт

Чудес не бывает.

Раз 20 всё перепроверял, сигнале перепутить ну никак не мог) буфер вроде тоже путём. На МК уже грешу. Вот ещё хорошенько порт проверю как домой приду.

Цитата(VDG @ Nov 8 2006, 17:37) *
Цитата(parashutist470 @ Nov 8 2006, 05:13) *

Кстати на программаторе из 5ти проводов замерял уровни на ресет и др сигналах, порядка 3,2В,

Ну вот и выяснилось. smile.gif
Контроллер же КМОПовский. Поэтому и чушь идёт при чтении.
Странный у Вас LPT порт. Ставьте между ним и контроллером буфер с TTL входами, тогда заработает.
Микросхема - 74HCT244


Да нет к сожалению не выяснилось. Просто тему вы читали не сначала. Программатор из 5ти проводкой я вчера уже сваял, от отчаяния, не знаю больше чтои пробовать, кроме как камень ещё один покупать.
А буфер уровни эти нормально хавает и на выходе уровень еденицы 4,8В. Правда это проверень только на медленно изменяющихся сигналлах, типа ресет, за неимением осцилографа.
А КОМОП микросхемы наоборот более помехоустойчивы, и порог переключения у них - половина напряжения питания, и мёртвая зона, где сигнал неопределённый, намного уже чем у ТТЛ, на сколько я знаю. Хотя может я чего-то не так понял, поправте меня, если что.
В качестве буфера у меня стоит микросхема 74HC244, без T.
klop
Как последнее средство попробуйте на другом компе.
А в общем рекмендую уйти от LPT порта либо на RS либо на USB. Как здесь уже Вам советовали.
Сам уже недели полторы мучаюсь с этим ... чудным инерфейсом.
GDI
Вообще-то если в CV прошить фьюзы те которые по-умолчанию стоят в программаторе, то контроллер переводится в режим внешнего тактового генератора ( все CKSELы = 0), а фьюзы прошьются если нажать кнопку "programm all" выход и з этой ситуации - это подать на мегу внешний клок, я подавал в таких случаях 200кГц от внешнего генератора ЗЧ, а затем прошивал нужные CKSELы.

А еще не плохо бы по питанию контроллера конденсаторы поставить, а диод в программаторе можно и вовсе замкнуть, если буферная микросхема стоит 1533АП5 - ей может не хватать питания (4,8 - 0,7 = 4,1) - такое тоже бывало...
parashutist470
Цитата(klop @ Nov 8 2006, 19:26) *
Как последнее средство попробуйте на другом компе.
А в общем рекмендую уйти от LPT порта либо на RS либо на USB. Как здесь уже Вам советовали.
Сам уже недели полторы мучаюсь с этим ... чудным инерфейсом.


Сперва бы знать в каком из узлов косяк, что-б напрягаться паять другой программатор )) А на другом компе наверное надо.
Кстати сегодня промерял напруги на линиях порта, предварительно выдав на них еденицу. На Битах 2,3,4 - 4.14Вольт; на битах 5,6,7,8,9 почему-то 3,30Вольт.
Почему такая фигня??
Режим порта EPP+ECP
parashutist470
Цитата(GDI @ Nov 8 2006, 20:15) *
Вообще-то если в CV прошить фьюзы те которые по-умолчанию стоят в программаторе, то контроллер переводится в режим внешнего тактового генератора ( все CKSELы = 0), а фьюзы прошьются если нажать кнопку "programm all" выход и з этой ситуации - это подать на мегу внешний клок, я подавал в таких случаях 200кГц от внешнего генератора ЗЧ, а затем прошивал нужные CKSELы.

А еще не плохо бы по питанию контроллера конденсаторы поставить, а диод в программаторе можно и вовсе замкнуть, если буферная микросхема стоит 1533АП5 - ей может не хватать питания (4,8 - 0,7 = 4,1) - такое тоже бывало...


Ну я так и зделал здуру!) Но дело в том что я подавал с сигнала LED частоту на XTAL1 потом с помощью программы AVreaL и подавал разную частоту и пробовал разные там манипуляции, об этом можно почитать здесь http://telesys.ru/wwwboards/mcontrol/1489/...es/390072.shtml тут пытались мне помочь. описывать подробности долго, но контроллер синхронился, об этом писалось в файле отчёта, и тем не менее глюки были такие же как и в остальных случаях.
Диод тоже вначале был закорочен, микросхема sn47hc244. кандёр по питанию не стоит, точнее стоит если диод закоротить но далеко от МК не знаю на сколько это серьёзно может повлиять.
Nanobyte
Цитата(parashutist470 @ Nov 9 2006, 00:30) *
... кандёр по питанию не стоит, точнее стоит если диод закоротить но далеко от МК не знаю на сколько это серьёзно может повлиять.

Очень даже сильно может влиять, особенно при программировании кристалла и работе с EEPROM. Конденсатор нужно ставить как можно ближе к МК, в идеале напаять на выводы сверху (но это не годится для серийного изделия).
У Меги16 выводы питания и земли расположены рядом, припаяйте прямо на выводы 2 SMD-конденсатора для Vcc и AVcc. Может, грабли именно здесь закопаны.
junoSynthesizer
кстати да, кандёры должны быть очень близко к контроллеру. лично я всегда ставлю прямо возле ног электролит 47 мкФ и совсем рядом керамику СМД на 0.1 мкФ. работает =)
Wild007
Цитата(parashutist470 @ Nov 8 2006, 02:33) *
Цитата(junoSynthesizer @ Nov 8 2006, 02:14) *

у меня была похожая проблема в этой же ветке =)

я программировал понипрогом. выходила каша... и не шился. до сих пор не уверен, что же мне помогло, но скорее всего - тщательное прохождение скальпелем между всех дорожек и устранение кз между ками-то пинами. так же укоротил провода от програматора к процессору сантиметров до 20, от лпт к программатору не трогал... там почти метр. просто заработало, и программирует теперь на ура уже сколько всяких разных процев.

собирал программатор чётко по картинке.


да, и ещё: кашу может выдавать, если питание на проц подключено, а на программатор - нет =) такой косяк я тоже ловил.


Я все контактные площадки между собой прозвонил на предмет кз, длинна кабеля от программатора к процу несколько сантиметров, всё на одной платке, от ЛПТ к программатору сантиметров 30.
Питание на программатор подключено, проверял уровни, и запитку микросхемы буфера, всё есть.

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


Раньше был у меня адаптер на 244 -- были глюки. Переделал на ALS373. Длина проводов около 1,5 м шлейф сделан по принципу: сигнал-земля-сигнал-земля.... Работал с этми адаптером от W95 до XP+SP1 и компах от 100 Мгц до 3ГГц ни каких проблем. Работает и с PONY и с CodeVision. Я про него писал здесь
parashutist470
C конденсаторами поэксперементирую.
А что вы можете сказать по поводу того что на 3-х пинах данных ЛПТ порта напруга 4,15 вольт, а на остальных 5ти - 3,2 вольт?
Хотя для HC (КОМОП) микросхемы буфера думаю это в пределах нормы.
junoSynthesizer
да, кстати... не замерял уровни на своём ЛПТ, но мой программатор на моём компе работает (видимо высокие уровни), а на другом - не работает (там видимо низкие), зато там работает программатор моего друга - у него без резисторов подключён шинник...
kamedi_clab
Цитата(parashutist470 @ Nov 7 2006, 11:29) *
Ну я читал ту страницу ещё раньше, можно сказать и руководствовался ей, а какие там условия должны выполнятся? не пойму.


со слов: "Внимание! Для программирования к МК должно быть ..." и дальше.


Цитата(parashutist470 @ Nov 9 2006, 15:57) *
А что вы можете сказать по поводу того что на 3-х пинах данных ЛПТ порта напруга 4,15 вольт, а на остальных 5ти - 3,2 вольт?


могу сказать что если провода не длинные - не более 20 см - то для АВР питаемого от 5 вольт эти уровни "железно" есть ЕДИНИЦА и наверняка должно работать.
parashutist470
Цитата(junoSynthesizer @ Nov 9 2006, 16:15) *
да, кстати... не замерял уровни на своём ЛПТ, но мой программатор на моём компе работает (видимо высокие уровни), а на другом - не работает (там видимо низкие), зато там работает программатор моего друга - у него без резисторов подключён шинник...


У меня тоже без резисторов.
parashutist470
Кондёры повесил очень близко. Тоже самое.
А теперь кажется проц совсем умер, как я заметил то кажется после того как я одной програмулиной подал 1 на все линии порта долговременно. Могло такое быть?
forever failure
Цитата(parashutist470 @ Nov 10 2006, 05:54) *
А теперь кажется проц совсем умер, как я заметил то кажется после того как я одной програмулиной подал 1 на все линии порта долговременно. Могло такое быть?

Могло. Но скорее всего, проц сдох (если сдох), - гораздо раньше. Есть возможность убедиться в его
работоспособности ?
parashutist470
Всё, купил другой камень, всё работает как часы!!
Всем спасибо за помощь!!!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.