Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: mega48P переключюлась c ISP на dW
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
zhevak
Преамбула
Традиционный процесс разработки девайса и написания софта. 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 также установлен sad.gif При этом закрашивает его серым цветом и пририсовывает к нему красный знак вопроса.

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

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

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


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

Поскольку изделие предстоит в будущем отдавать в производство, то становится как-то тоскливо, ибо не знаю причины такого "вольного" поведения mega48P. Может, действительно, это я что-то не то или не так делаю. Люди, скажите что-нибудь.
Black Pahan
ИМХО, проще забить и перепаять 30-рублёвую микруху. Ну убили одну микрюху при отладке - всяк бывает.
fmdost
Програмировал точно только 5 раз?
В еррате на какие-то АВТ написано, что фузы можно перешить только 25 раз.
676038
[quote name='zhevak' date='Aug 14 2008, 19:35' post='454412']
Имел похожие приключения с Драконом и Мегой48. При подключении "проводочками" для параллельного программирования, происходили постоянные сбои. Думаю, что проблема в "проводочках", т.к. интерфейс достаточно высокочастотный, то при таком соединителе возможны сбои.
zhevak
Вау!!! Еще один баг!

На этот раз в движке форума. Не могу ответить 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 года. По номеру партии ничего сказать не могу (не разбираюсь), а быстро найти доку по расшифровке кода не удалось.

Поскольку аналогичных случаев нет, будем пока считать, что это я накосячил. Беру из коробочки следующую жертву. Если будет что интересное, напишу.
Sat360
Цитата(zhevak @ Aug 15 2008, 08:40) *
Стоимость чипа тут не причем, я просто хотел узнать у сообщества о пригодности mega48P для серийного производства

Именно 48Р еще не мучали, но на просто 48 мелкие серии (штук по 100) идут на "ура". У мег бракованные кристаллы бывают, нам попадается примерно 1 контроллер на 200 с различными мелкими странностями, их обычно выкидываем от греха подальше при первом признаке неповиновения. В целом - довольны.
Angelo
Не понимаю, почему есть боязнь устанавливать DWEN?
debugWire - обычная функция, поддерживаемая драконом, причем официально для mega48P, бит этот так же в штатном режиме и сбрасываться. Изучите внимательно хелп по отладке, он с картинками кстате...
Если коротко на пальцах, через ISP прошили программу, фьюзы как надо, включая DWEN на отладку, переходите в отладчик выбрав чип и дракон, он пытаться подсоединиться через dW, иногда у него не получаться, выскакивает ошибка, пробуем ещё раз, если не получилось, тогда передергиваем питание целевой платы, тут 100% подхватывается... Всё можно запускать, останавливать, сбрасывать, отлаживать, после окончания работы лезите в меню (в хелпе эта картинка есть) и жмёте кнопку disable dW, всё, он выходит из отладки сбрасывая DWEN ...
Если на чипе уже установлен DWEN, то открывате проект и сразу идете в отладчик, он аналогично пытается подцепится через dW, если на самом деле dW установлен, и тактовый генератор на чипе работает, и чип живой, то запустив отладку аналогично идёте в меню и нажимаете disable dW....
Естественно во время этого процесса чип должен быть живым, тактовый ген тоже, линии SPI и сброс на начальном этапе вообще подключите напрямую к дракону и незубудьте, что у дракона ещё нужно обязательно подключить вход сенсора напряжения питания целевой платы, это для корректной работы преобразователей лог. уровня.
taranoid
Цитата(Angelo @ Aug 15 2008, 10:55) *
Не понимаю, почему есть боязнь устанавливать DWEN?
debugWire - обычная функция, поддерживаемая драконом, причем официально для mega48P, бит этот так же в штатном режиме и сбрасываться. Изучите внимательно хелп по отладке, он с картинками кстате...
Если коротко на пальцах, через ISP прошили программу, фьюзы как надо, включая DWEN на отладку, переходите в отладчик выбрав чип и дракон, он пытаться подсоединиться через dW, иногда у него не получаться, выскакивает ошибка, пробуем ещё раз, если не получилось, тогда передергиваем питание целевой платы, тут 100% подхватывается... Всё можно запускать, останавливать, сбрасывать, отлаживать, после окончания работы лезите в меню (в хелпе эта картинка есть) и жмёте кнопку disable dW, всё, он выходит из отладки сбрасывая DWEN ...
Если на чипе уже установлен DWEN, то открывате проект и сразу идете в отладчик, он аналогично пытается подцепится через dW, если на самом деле dW установлен, и тактовый генератор на чипе работает, и чип живой, то запустив отладку аналогично идёте в меню и нажимаете disable dW....
Естественно во время этого процесса чип должен быть живым, тактовый ген тоже, линии SPI и сброс на начальном этапе вообще подключите напрямую к дракону и незубудьте, что у дракона ещё нужно обязательно подключить вход сенсора напряжения питания целевой платы, это для корректной работы преобразователей лог. уровня.

Вот поэтому я недолюбливаю дракона и пользую только для высоковольтного программирования. То-ли дело АВРЕАЛ, с бубном танцевать не надо.
zhevak
Цитата(taranoid @ Aug 17 2008, 11:28) *
Вот поэтому я недолюбливаю дракона и пользую только для высоковольтного программирования. То-ли дело АВРЕАЛ, с бубном танцевать не надо.

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

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

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

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

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

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

Ладно, понаблюдаю еще. Тема далеко еще не закрыта.
Angelo
Лично я РЕАЛом не пользуюсь, хватает дракона, какие то конкретные глюки не мешали, кроме общеизвестного выгорающего стабилизотора - решил заменой конденсатора тантал->керамика (обсуждение этой темы было в ветке про дракон), сейчас полёт нормальный. Драконом преимущественно отлаживаю (через dW), прошивка - постольку поскольку или для отладки, в целом доволен, даже подаренную СТК500 (брал дракон во время акции) ни разу не включал!
GeorgyBey
Цитата(Angelo @ Aug 15 2008, 10:55) *
Не понимаю, почему есть боязнь устанавливать DWEN?
...... после окончания работы лезите в меню (в хелпе эта картинка есть) и жмёте кнопку disable dW, всё, он выходит из отладки сбрасывая DWEN ...
Если на чипе уже установлен DWEN, ..... то запустив отладку аналогично идёте в меню и нажимаете disable dW....


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

Прошил DWEN и "попал"! Какое там меню?! Где там desable !?
"Could not connect to AVR Dragon" - и хрен там какое "меню" (при всем том, что Дракон подключен twak.gif
В общем - и микруха жива, и с фузом "попал" и Дебаг к Дракону не контачит !!!
Если не трудно КАК ДЛЯ ИДИЁТА что делать? cranky.gif
Qwertty
Цитата(GeorgyBey @ Aug 19 2008, 00:43) *
Если не трудно КАК ДЛЯ ИДИЁТА что делать? cranky.gif

Для начала почитать хелп к студии на дракошу, в частности раздел Command Line Software. Посмотреть что за ключик такой -W и не может ли он помочь...
А вот если стоят лок-биты и при этом включен dwen, то поможет только режим параллельного программирования.
Pyku_He_oTTyda
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.
Angelo
Цитата
"Could not connect to AVR Dragon"

А светодиоды на драконе как горят? Ощущение что он связь с компом потерял...странный глюк конечно, если так, естественно переткнуть ЮСБ и студию, ещё раз говорю про хелп, там расписано что в том числе и что значит разноцветная индикация светодиодов, кстати хелп мааааленький, 5 минут чтения.... С драконом и фьзом попасть нельзя, он параллельное поддерживает.
GeorgyBey
Цитата(Angelo @ Aug 19 2008, 10:11) *
А светодиоды на драконе как горят? Ощущение что он связь с компом потерял...странный глюк ..

Разобрался! yeah.gif
Думаю многие попадали на это и еще попадут wacko.gif
Как "попадаются" : Чтоб сэкономить в написании текста программы делаем Open file *.asm, копируем текст во вновь создаваемый проект, открытое ВРОДЕ БЫ закрываем, компилим-запускаем ....хрен!
Выскакивает окно в котором хмурый смайлик на картинке поясняет клиенту, что не пожет подлючиться через USB к Дракону! twak.gif хотя после включения Драг-а и серии перемигиваний он светит малым зеленым индикатором. 07.gif
После нескольких ПА танцев с матюками выдавилось окно с пояснением, что в ПРОЕКТЕ указано про контроллер не так как в настройках дебагера, почему он и не запускается, а dW пин включен biggrin.gif ...

в общем аккуратней с копированием текста в программу - попутно открытое\закрытое может отавить неизладимый след зубов на плате lol.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.