Jump to content

    
Sign in to follow this  
zhevak

mega48P переключюлась c ISP на dW

Recommended Posts

Преамбула

Традиционный процесс разработки девайса и написания софта. AVR Studio 4.14 build 589.

Dragon (с выгоревшим стабилизатором. Вместо него перемычка, согласно официальному документу ATMEL). ПО Драгона было подновлено накануне из этой же (4.14.589) Студии. Интерфейс программирования -- ISP.

 

Амбула

После серии (примерно штук пять) циклов стирания-программирования неожиданно чип перестал откликаться. Т.е. вообще перестал как-либо реагировать на Драгон. Вместо Драгона подключил STK500 -- картина та же!

 

Поскольку, при последней операцией программирования у меня было также изменение источника тактовой частоты с внутреннего RC-генератора 8 МГц, на другой внутренний же только на 128 кГц, то сразу же понизил у программатора частоту ISP до максимально возможной. Не помогло. Прошелся вверх/вниз по сетке частот -- бесполезно!

 

На плате изделия вообще ничего не установливал. Только сам чип (корпус TQFP), разъем программатора и пара конденсаторв по питанию. Претензии предъявлять не кому. На плате косяков нет.

 

Далее, делаю глупейший героический поступок, снимаю с платы чип и к ногам припаиваю 28 проводков (МГТФ 0.06 длиной по 3-5 см) и подпаиваю этого "паука" к панельке STK-500. Перевожу программатор в параллельный режим. Чип опознается, стирается, фьюзы читаются, но...

 

Что бы я ни делал, я не могу изменить состояние фьюзов. Генератор не хочет меняться. Установленный бит DWEN не хочет сниматься. К стати, кто его поставил? До кучи, Студия показывает, что бит SPIEN также установлен :( При этом закрашивает его серым цветом и пририсовывает к нему красный знак вопроса.

 

Для справки, вот три байта фьюзов, которые считываются из чипа: FE, 9F, FE.

 

Пробовал снова обратиться к чипу по ISP -- картина прежняя -- чип не откликается.

 

Ничего не понимаю. Это у меня руки такие кудрявые?

 

 

ЗЫ

Сделал второй героический поступок. Отпаял "паука", воткнул в панельку mega48 в ДИПе. Все работает, генератор меняется, БОД задается. DWEN устанавливать не пробовал. Ну его нафиг! Да, мега без индекса P, т.е без пикопауэра.

 

Поскольку изделие предстоит в будущем отдавать в производство, то становится как-то тоскливо, ибо не знаю причины такого "вольного" поведения mega48P. Может, действительно, это я что-то не то или не так делаю. Люди, скажите что-нибудь.

Share this post


Link to post
Share on other sites

Програмировал точно только 5 раз?

В еррате на какие-то АВТ написано, что фузы можно перешить только 25 раз.

Share this post


Link to post
Share on other sites

Имел похожие приключения с Драконом и Мегой48. При подключении "проводочками" для параллельного программирования, происходили постоянные сбои. Думаю, что проблема в "проводочках", т.к. интерфейс достаточно высокочастотный, то при таком соединителе возможны сбои.

Share this post


Link to post
Share on other sites

Вау!!! Еще один баг!

 

На этот раз в движке форума. Не могу ответить 676038.

Браузер ругается так:

Fatal error: Allowed memory size of 31457280 bytes exhausted (tried to allocate 737 bytes) in /home/electronix/electronix.ru/forum/sources/classes/post/class_post.php on line 2264

Предполагаю, что в посте у 676038 отсутствует закрывающий тег [/quоtе].

 

 

Теперь по теме. Чип помер (царствие ему небесное!), но я боролся до конца.

 

Anatomical pathology conclusion

Перед смертью чип перестал "держать" flash-память. Программирование проходило, но верификация --нет. При обратном считывании я обнарудил, что раз от раза несоответствующих байтов становится все больше и больше. Количество циклов программирования к этому времени було уже около 20-30. (Не хилий эндьюрэнс! Пожалуй, поболее будет, чем у легенданых 573РФ5.)

 

В конце концов, чип перстал стираться: некоторые байты после стирания были не равны 0xFF. Еще после десятка стираний отвалилась целая область с 0х0000 по 0х0100. Вместо положенных FF-ов стабильно присутствовали 0х00, сдобренные в двух-трех местах несколькими байтами со случайным кодом.

 

Стоимость чипа тут не причем, я просто хотел узнать у сообщества о пригодности mega48P для серийного производства. Да, совсем забыл! Дата выпуска чипа 49-я неделя 2007 года. По номеру партии ничего сказать не могу (не разбираюсь), а быстро найти доку по расшифровке кода не удалось.

 

Поскольку аналогичных случаев нет, будем пока считать, что это я накосячил. Беру из коробочки следующую жертву. Если будет что интересное, напишу.

Share this post


Link to post
Share on other sites
Стоимость чипа тут не причем, я просто хотел узнать у сообщества о пригодности mega48P для серийного производства

Именно 48Р еще не мучали, но на просто 48 мелкие серии (штук по 100) идут на "ура". У мег бракованные кристаллы бывают, нам попадается примерно 1 контроллер на 200 с различными мелкими странностями, их обычно выкидываем от греха подальше при первом признаке неповиновения. В целом - довольны.

Share this post


Link to post
Share on other sites

Не понимаю, почему есть боязнь устанавливать DWEN?

debugWire - обычная функция, поддерживаемая драконом, причем официально для mega48P, бит этот так же в штатном режиме и сбрасываться. Изучите внимательно хелп по отладке, он с картинками кстате...

Если коротко на пальцах, через ISP прошили программу, фьюзы как надо, включая DWEN на отладку, переходите в отладчик выбрав чип и дракон, он пытаться подсоединиться через dW, иногда у него не получаться, выскакивает ошибка, пробуем ещё раз, если не получилось, тогда передергиваем питание целевой платы, тут 100% подхватывается... Всё можно запускать, останавливать, сбрасывать, отлаживать, после окончания работы лезите в меню (в хелпе эта картинка есть) и жмёте кнопку disable dW, всё, он выходит из отладки сбрасывая DWEN ...

Если на чипе уже установлен DWEN, то открывате проект и сразу идете в отладчик, он аналогично пытается подцепится через dW, если на самом деле dW установлен, и тактовый генератор на чипе работает, и чип живой, то запустив отладку аналогично идёте в меню и нажимаете disable dW....

Естественно во время этого процесса чип должен быть живым, тактовый ген тоже, линии SPI и сброс на начальном этапе вообще подключите напрямую к дракону и незубудьте, что у дракона ещё нужно обязательно подключить вход сенсора напряжения питания целевой платы, это для корректной работы преобразователей лог. уровня.

Share this post


Link to post
Share on other sites
Не понимаю, почему есть боязнь устанавливать DWEN?

debugWire - обычная функция, поддерживаемая драконом, причем официально для mega48P, бит этот так же в штатном режиме и сбрасываться. Изучите внимательно хелп по отладке, он с картинками кстате...

Если коротко на пальцах, через ISP прошили программу, фьюзы как надо, включая DWEN на отладку, переходите в отладчик выбрав чип и дракон, он пытаться подсоединиться через dW, иногда у него не получаться, выскакивает ошибка, пробуем ещё раз, если не получилось, тогда передергиваем питание целевой платы, тут 100% подхватывается... Всё можно запускать, останавливать, сбрасывать, отлаживать, после окончания работы лезите в меню (в хелпе эта картинка есть) и жмёте кнопку disable dW, всё, он выходит из отладки сбрасывая DWEN ...

Если на чипе уже установлен DWEN, то открывате проект и сразу идете в отладчик, он аналогично пытается подцепится через dW, если на самом деле dW установлен, и тактовый генератор на чипе работает, и чип живой, то запустив отладку аналогично идёте в меню и нажимаете disable dW....

Естественно во время этого процесса чип должен быть живым, тактовый ген тоже, линии SPI и сброс на начальном этапе вообще подключите напрямую к дракону и незубудьте, что у дракона ещё нужно обязательно подключить вход сенсора напряжения питания целевой платы, это для корректной работы преобразователей лог. уровня.

Вот поэтому я недолюбливаю дракона и пользую только для высоковольтного программирования. То-ли дело АВРЕАЛ, с бубном танцевать не надо.

Share this post


Link to post
Share on other sites
Вот поэтому я недолюбливаю дракона и пользую только для высоковольтного программирования. То-ли дело АВРЕАЛ, с бубном танцевать не надо.

Очень похоже на правду.

 

Только-что слепил схему на mega48 в DIP-е. На монтажной плате только пенелька, разъем для ISP-программатора, конденсатор по питанию (как положено) и на одной из ножек светодиод с резистором в 2 кОм. (Почему такой большой -- потому-что решил снизить возможное влияние нагрузки на МК, а дополнительный внешний танзистор, в качестве буфера, вешать -- было влом. ЛЭД при таком резисторе загорается -- главное видно, остальное -- не важно.) Но это так, между делом, чтоб было общее представление.

 

А теперь фокус: подключаю к конструкции Драгон и ... могу выполнить всего лишь одну операцию -- считать ИД чипа. И то, только один раз. Если попытаться еще раз считать ИД чипа, то Студия ругается, что не может войти в программный режим и ничего, естественно, не ситывает.

 

Закрываю окно программматора и снова открываю. Снова можно считать только ИД и только один раз. Очень походит на выкаблучивание со стороны Драгона?

 

Ага! Перетыкаю ISP-шнурок (для справки: плоский кабель, длина 20 см) из Драгона в STK-500, и все проблемы уходят.

 

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

 

Ладно, понаблюдаю еще. Тема далеко еще не закрыта.

Share this post


Link to post
Share on other sites

Лично я РЕАЛом не пользуюсь, хватает дракона, какие то конкретные глюки не мешали, кроме общеизвестного выгорающего стабилизотора - решил заменой конденсатора тантал->керамика (обсуждение этой темы было в ветке про дракон), сейчас полёт нормальный. Драконом преимущественно отлаживаю (через dW), прошивка - постольку поскольку или для отладки, в целом доволен, даже подаренную СТК500 (брал дракон во время акции) ни разу не включал!

Share this post


Link to post
Share on other sites
Не понимаю, почему есть боязнь устанавливать DWEN?

...... после окончания работы лезите в меню (в хелпе эта картинка есть) и жмёте кнопку disable dW, всё, он выходит из отладки сбрасывая DWEN ...

Если на чипе уже установлен DWEN, ..... то запустив отладку аналогично идёте в меню и нажимаете disable dW....

 

:1111493779:

Прикупил Дракошу и стал вспоминать как это все делается ... :crying:

 

Прошил DWEN и "попал"! Какое там меню?! Где там desable !?

"Could not connect to AVR Dragon" - и хрен там какое "меню" (при всем том, что Дракон подключен :twak:

В общем - и микруха жива, и с фузом "попал" и Дебаг к Дракону не контачит !!!

Если не трудно КАК ДЛЯ ИДИЁТА что делать? :cranky:

Share this post


Link to post
Share on other sites
Если не трудно КАК ДЛЯ ИДИЁТА что делать? :cranky:

Для начала почитать хелп к студии на дракошу, в частности раздел Command Line Software. Посмотреть что за ключик такой -W и не может ли он помочь...

А вот если стоят лок-биты и при этом включен dwen, то поможет только режим параллельного программирования.

Share this post


Link to post
Share on other sites

Some precautions regarding the RESET line must be taken to ensure proper communication over the debugWIRE interface. If there is a pull-up on the RESET line, this resistor must be larger than 10Kohm, and there should be no capacitive load. The pull-up resistor is not required for debugWIRE functionality. Other logic connected to the RESET line should be removed.

Share this post


Link to post
Share on other sites
"Could not connect to AVR Dragon"

А светодиоды на драконе как горят? Ощущение что он связь с компом потерял...странный глюк конечно, если так, естественно переткнуть ЮСБ и студию, ещё раз говорю про хелп, там расписано что в том числе и что значит разноцветная индикация светодиодов, кстати хелп мааааленький, 5 минут чтения.... С драконом и фьзом попасть нельзя, он параллельное поддерживает.

Share this post


Link to post
Share on other sites
А светодиоды на драконе как горят? Ощущение что он связь с компом потерял...странный глюк ..

Разобрался! :yeah:

Думаю многие попадали на это и еще попадут :wacko:

Как "попадаются" : Чтоб сэкономить в написании текста программы делаем Open file *.asm, копируем текст во вновь создаваемый проект, открытое ВРОДЕ БЫ закрываем, компилим-запускаем ....хрен!

Выскакивает окно в котором хмурый смайлик на картинке поясняет клиенту, что не пожет подлючиться через USB к Дракону! :twak: хотя после включения Драг-а и серии перемигиваний он светит малым зеленым индикатором. :07:

После нескольких ПА танцев с матюками выдавилось окно с пояснением, что в ПРОЕКТЕ указано про контроллер не так как в настройках дебагера, почему он и не запускается, а dW пин включен :biggrin: ...

 

в общем аккуратней с копированием текста в программу - попутно открытое\закрытое может отавить неизладимый след зубов на плате :lol:

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this