|
|
  |
ATmega8 - прочитать можно, записать/стереть нельзя., странное поведение при програмировании. |
|
|
|
Mar 13 2007, 12:22
|

Знающий
   
Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237

|
Есть ATmega8, запаянная на плате, с разъемом для ISP. Обвязки, кроме кварца 8 МГц и кондеров, никакой нет. Этакая самодельная тестовая платочка. Микроконтроллер заведомо рабочий, он прекрасно программировался с полпинка и как надо работал на этой платке. Программатор какой-то там простейший на LPT порт на двух буферных элементах (типа STK-200 или 500, не помню точно). Программирую AVR-ки в среде WinAVR и заливаю с помощью PonyProg. Всё это работало ещё пару месяцев назад. Потом я эту плату забросил за ненадобностью. А теперь вот потребовалось ещё на ней кое-что погонять. Я отпаял с неё лишнее (кнопки там всякие...). Достал её, подключил программатор - всё как обычно. Но вот беда. Контроллер перестал программироваться. И проявляется это так. В программе PonyProg при попытке стереть или записать чип (выбран верно ATmega8) - вылетает сообщение об ошибке "Device unknown (-24)". Считывание проги из чипа идёт на "Ура" - без сбоев, верифицируется. Но есть нюанс. Если попытаться записать и вылететь по ошибке (-24) - чип перестаёт даже считываться, такое ощущение, что вроде как зависает... при этом резет тоже не помогает. Стоит выключить-включить питание 5 В - опять всё отлично читается. Если программатор перекинуть с этой несчастной платочки на заведомо рабочую - всё отлично - и запись и чтение. В чём тут может быть дело ? Чип загублен ? Мне не жалко его на новый перепаять, если загублен - просто есть интерес разобраться в проблеме.
--------------------
Сделано в Китае. Упаковано в России.
|
|
|
|
|
Mar 13 2007, 12:53
|
Участник

Группа: Участник
Сообщений: 51
Регистрация: 8-01-07
Из: Одесса
Пользователь №: 24 196

|
Слетела сигнатура чипа или RESET все время в "0".
--------------------
Опыт - это та чудесная штука, которая позволяет вам узнать ошибку, когда вы ее повторите.
|
|
|
|
|
Mar 13 2007, 13:18
|

Знающий
   
Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237

|
Цитата(satellite-plus @ Mar 13 2007, 12:53)  Слетела сигнатура чипа или RESET все время в "0". RESET "подтянут" к единице резистором 10 К (и раньше и сейчас). Смотрел тестером - что-то около 4,8 В на ножке RESET. Насчет сигнатуры. Допустим, я выбираю в PonyProg неправильный тип микроконтроллера - в этом случае он не даёт даже прочитать и вываливается по ошибке (-23). Здесь же ситуация другая. Считывание без проблем. При попытке записи или стирания -- ошибка (-24). Допустим, неверно интерпретирована сигнатура при записи - ну дык дай ошибку и всё. Но ведь после этого чтение тоже становится невозможным по ошибке (-24), типа микроконтроллер после неверной попытки записи каким-то образом слетел или завис.
--------------------
Сделано в Китае. Упаковано в России.
|
|
|
|
|
Mar 13 2007, 13:26
|
Участник

Группа: Участник
Сообщений: 51
Регистрация: 8-01-07
Из: Одесса
Пользователь №: 24 196

|
Попробуйте через другой программатор. К примеру AVR-ISP.
--------------------
Опыт - это та чудесная штука, которая позволяет вам узнать ошибку, когда вы ее повторите.
|
|
|
|
|
Mar 13 2007, 13:28
|

Знающий
   
Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237

|
Цитата(Kuzmi4 @ Mar 13 2007, 12:39)  По моему собака порылась именно в - "Я отпаял с неё лишнее (кнопки там всякие...). " - у меня валяются такие же платки , токо я их упаковываю , чтоб ничё там не растерять и не забыть, вот и даже после 2 меясцев такой "отсидки в кулёчке" они себя нормально чувствуют. Для заливки использую кодвижн иди имейджкрафт(люблю графику - чтоб сильно не запорачиваться) Я тоже склоняюсь, что может что-то отпаял не то. Но из отпаянного только внешние проводочки, кнопки и всё. Смотрел плату - все дорожки в норме, залипаний припоем нет, кварц, кондеры около него и керамический кондер по питанию остались на местах. Питание 5,05 вольта от аккумулятора через 78L05 c двумя электролитами спереди и сзади... На линиях ISP тоже ничего не висит, только подтягивающий резистор на RESETe. Да всё как обычно. И что более всего вводит в ступор - чтение идёт без проблем и считывается именно то, что я туда заливал когда-то (сверял хексы) и верификация проходит образцового файла со считанным. Цитата(satellite-plus @ Mar 13 2007, 13:26)  Попробуйте через другой программатор. К примеру AVR-ISP. Дык программатор рабочий. Он и с этой платой работал раньше, и сейчас работает без проблем с другими платами на AVR.
--------------------
Сделано в Китае. Упаковано в России.
|
|
|
|
|
Mar 14 2007, 00:09
|

Знающий
   
Группа: Свой
Сообщений: 966
Регистрация: 27-05-06
Из: СПб
Пользователь №: 17 499

|
У меня такое было с мегой8 и фирменным isp программатором. Чип здесь не причем, как мне кажется... дело в конкретной схемотехнике. Питание было 3.3 вольта. Я попытался на работе с ноутбука перешивать( обновить софт) трансиверам, в составе которых была мега8. Трансиверов было 5 штук. Только структура ошибок была немного другая- зашивалась туда какая-то лажа- на первом же байте выскакивала ошибка верификации. Сначала я думал что неисправен трансивер, но после того как второй зашитый отказался работать, я попытался прочитать данные из оставшихся трех- все ок. Сигнатура читалась у всех, фьюзы тоже, флешь тоже- только у одного был не залочен- и читался нормально. После того как я запортил оставшиеся три  , решил припаять хвостик к 8-й меге оказавшегося под рукой устройства, тоже кстати с 3-х вольтовым питанием, и попробовать его зашить. Все заработало на ура. Резет везде был подтянут 3к. ноги программирования везде висели в воздухе- никуда не подключены. Пришлось взять трансиверы домой, ини с большого компа и лпт программатора с 5 резисторами прекрасно заработали. после этого я у одного попробовал прочитать незалоченый флешь с помощью isp- все ок. а заливалась снова лажа- верификация на 1-м же байте не проходила.
|
|
|
|
|
Mar 14 2007, 06:55
|
Участник

Группа: Validating
Сообщений: 64
Регистрация: 16-06-05
Пользователь №: 6 073

|
Можно попробовать стереть avreal'ом с ключем -!. Если не поможет внимательно проверять все цепи от разъема программирования до меги. У меня как-то был переход меги128 в читаемое, но нестираемое состояние, вылечилось заменой меги  .
|
|
|
|
|
Mar 14 2007, 11:46
|
Частый гость
 
Группа: Свой
Сообщений: 89
Регистрация: 11-01-05
Из: Беларусь, Минск
Пользователь №: 1 897

|
Была похожая проблема, иногда слетали сигнатуры у ATmega128 и ATmega8. Прграмматор был самодельный STK200 с довольно длинным шлейфом... Программировалось после этого в avreal только с ключиком -!. Слетала сигнатура при прошивке, когда рядом работал киловольтный наносекнудный генератор. Правда и мышка часто на компе зависала.  )
--------------------
ex740104/103 БГУИР
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|