Страница 1 из 1

Маленький вопросик - убил ATMega 16 или нет?

Добавлено: Вс окт 18, 2009 20:45:41
clawham
В общем ситуация - есть моя платка...которую я потихоньку наворачиваю и наворачиваю всякой лабодуй по мере надобности для дома :)

уже не первую сотню раз перепрошивал и со фьюзами игрался до этого и что только не делал - типа всё было гут...всегда 3-4 раза перепроверял потом только питалово и программатор(простые 5 проводков с резисторами 240 омм

так вот....прицепил очередную микруху tpic6595 - это сдвиговый регистр с выходным буффером и умощненными(до 2 ампер) выходом

две его ноги SIN и SCLK поцепил к SPI порту(через который у меня и программатор и нокийский дисплюй и PWM tlc5940 работают исправно) а ногу записи данных на выход завел на свободный пин МК
так вот....сколько прошивал всё было гут...ибо не было на выходы этой микрухи ничего всунуто....а планировалась армада из релюх...
в самой микрухе и 5-тиамперные защитные диоды есть - микруха-то и специализируется как порт-расширитель для релюх :))

воот.....значить наигрался я всё себе решил...прошил ещё раз - всё было гуд...ну и вставил я колодку проводов к релюхам....потом заметил глючек на экране в сграфических символах( у меня там линейка какие включены какие выключены релюхи и что они делают(то вентиляторчик то лампочка то спиралька включенная или выключенная) воот....и я недолго исправляя глючек снова прошиваю и наблюдаю такое:
1) буквально через пол секунды все релюхи начинают трещать в кардебалете...
2) через ещё секунду выбивает программатор с ошибкой записи Lock BIT
3) экран нокии загорается подсветкой и всё...белое поле
4) в прошивальщике кодВижн АВР появляется точка напротив Reading and Verifycation disabed
5) и ещё одна ошибка в догонку - ошибка верификации данных

всё....после этого мега 16 никаких признаков жизни не подавала...программатор упорно предлагал таки проверить подключение и питание контроллера...:(

джитаг и OC фьюзами я давно отключил ввиду отсутствия свободных ног ....

как потом выяснилось мега при прошивке подвешала свои ноги в З состояние а вход записи у сдвиговика КМОС....нажрался сцуко помех(сичас прижал его килоомом к земле и никаких проблем...) а релюшки от мегагерц выдали помехи в питание или последовательный интерфейс и чтото нето прошилось....по ходу дела именно локбиты....фьюзы я и не шил - галочка снята была...

вставил туда мегу 32, перекомпилировал проект прошил(после установки резистора) и всё встало на свои места - работает....но ведь мега 16-то .... не выкидать...это мой первый микроконтроллер....до сих пор всё так хорошо было....аж жаба давит.....покупал его ещё до кризиса....за 18 гривен....:(

Хоть как-то его реанимировать можно или в топку?

Добавлено: Вс окт 18, 2009 23:37:24
Аксель
параллельный прграмматор даст ответ на этот маленький вопросик.

Добавлено: Пн окт 19, 2009 02:33:43
Vaks
clawham Посмотрите здесь http://www.artem.ru/cgi-bin/news?c=v&id=739
Если непоможет, тогда сюда http://www.der-hammer.info/hvprog/
Я HVProg-ом 128-ю атмегу спас, уже хотел выбросить, но затем решил что параллельный прог-ор в хозяйстве пригодиться. Плату неделал спаял на макетке за пару вечеров.

Добавлено: Пн окт 19, 2009 08:43:30
AndyWorld
У меня было что-то на подобии. Две меги 16 в один прекрасный момент перестали прошиваться, и собственно говоря, работать. Долго я над нии плясал, пока не померил мультиком сопротивление по питанию МК. На новой 1.6 Ом между + и -, и земли звонятся 11 с 31 ногой. А на этих МК все оборвано, и земли и по питанию. Ясное дело придется их выкинуть, как бы жаба не душила ))). Что с ними произошло я так и не понял, думаю партия бракованная.

Добавлено: Пн окт 19, 2009 08:53:45
clawham
я это прекрасно понимаю и проще для такого случая из конкурсной работы взять проектик НО!
Если там стоит Локбит запись и верификация запрещены...то....помоему камень - в топку
фьюзы у меня однозначно хорошие :) тут не во фьюзах дело....
The Lock bits can only be erased to “1” with the Chip Erase command.
а как эту комманду в мк послать? собирать ВВпрограммер?чтото как-то лениво :(

Добавлено: Пн окт 19, 2009 08:56:35
clawham
AndyWorld писал(а):На новой 1.6 Ом между + и -, и земли звонятся 11 с 31 ногой.


спасибо! сегодня прозвоню :)
хотя более чем уверен что всё в этом плане с нею гут ибо питание у мя нормальное :) у меня помеха была при прошивке....
покурю раздел о парралельной прошивке....может там можно мегу8 напряч стереть всю х-ню с чипа...

Кстати вопрос по парралельному программированию -
написано в даташите следующее

Код: Выделить всё

The Chip Erase will erase the Flash and EEPROM(1) memories plus Lock bits. The Lock
bits are not reset until the program memory has been completely erased. The Fuse bits
are not changed. A Chip Erase must be performed before the Flash and/or the
EEPROM are reprogrammed.
Note: 1. The EEPRPOM memory is preserved during chip erase if the EESAVE Fuse is
programmed.
Load Command “Chip Erase”
1. Set XA1, XA0 to “10”. This enables command loading.
2. Set BS1 to “0”.
3. Set DATA to “1000 0000”. This is the command for Chip Erase.
4. Give XTAL1 a positive pulse. This loads the command.
5. Give WR a negative pulse. This starts the Chip Erase. RDY/BSY goes low.
6. Wait until RDY/BSY goes high before loading a new command.

мне по ходуд дела эти манипуляции можно и вручную сделать? колодка переключателей с резюками и всё? посадить первый пин линии данных в 1 все остальные 0 и вперед...мне ж надо только очистить чип!
Или ещё и фьюзы выставить надо?

Или всётаки прийдётся делать почти полноценный программер на меге8 с панелькой под мегу 16 и отрабатывать последовательность комманд по убийству фьюзов в дефолт и очистке чипа?

Добавлено: Пн окт 19, 2009 16:57:35
Neekeetos
clawham писал(а):спасибо! сегодня прозвоню :)

Как вариант актуальный для силовых схем :)) - возможно у тебя не мк сгорел а к примеру порт ЛПТ, а прошивка просто слетела. Попробуй найди другой программатор не на лпт

Добавлено: Пн окт 19, 2009 19:37:27
clawham
Neekeetos писал(а):
clawham писал(а):спасибо! сегодня прозвоню :)

Как вариант актуальный для силовых схем :)) - возможно у тебя не мк сгорел а к примеру порт ЛПТ, а прошивка просто слетела. Попробуй найди другой программатор не на лпт


невнимательно читаете уважаемый!
Тут же взял чистый камень мега 32 прошил на той же плате тем же программером и всё гут работает и горя не знает 2-й день :)

Добавлено: Вт окт 20, 2009 14:17:26
Vaks
clawham писал(а):Если там стоит Локбит запись и верификация запрещены...то....помоему камень - в топку
фьюзы у меня однозначно хорошие :) тут не во фьюзах дело....

Локбит-ы стираються, при стирании кристалла, а вот фузы - нет.
И если вы случайно выставили тактирование от внешнего кварца, а именно на это похоже, судя по первому сообщению.
как потом выяснилось мега при прошивке подвешала свои ноги в З состояние а вход записи у сдвиговика КМОС....нажрался сцуко помех(

Тогда есть два варианта, собрать на ла3 генератор 1мгц и подать (при программировании) на xtal1, или найти на программаторе сигнал clc (используеться для i2с) и подать на xtal1 кристалла.
Ну а если вы случайно отключили rst - тогда только парралельный программатор, ну еще можно попросить автора скомпилить прошивку под вашу мегу 32 http://startcd.narod.ru/rstdisbl_mega8/rstdisbl.htm
В самом худшем варианте - убились порты, у меня такое было. Мега 16 работала в качестве таймера, через оптопары, потом непонятно что с ней случилось, вместо 1 - 5v там 0,6 v. Причем прошиваеться (под таймеры были задействованы порты, неотносящиеся к программированию), но 3 порта теперь неработают, пробовал другой проэкт, все те же 0,6v при 1.

Добавлено: Вт окт 20, 2009 15:37:09
clawham
я не буду паять весть программатор и генератор делать не буду там уже итак есть внешний :) просто припаяю 12 проводков(или сколько там надо для парралельного) и напишу на мегу 8 микрокод который просто напросто сотрет чип и запишет фьюзы для тактования от внешнего кварца со включяенным СПИ дальше я всё 5-ю проводками подправить смогу без проблем :)
Спасибо...если локбиты - фигня то зир гут :) просто читал как-то про пики да альтеры...там если поставил прошуть последний раз то это реально последний раз - внутри какая-то проволочка пережигалась физически через которую встроенный прошивальщик питался :)))
ту всё проще - ну и слава богу :)
а весь парралельник-то мне зачем? толку ж с него как с козла молока по большому счету - быстрее шиться не будет, надежности меньше - чем больше проводов тем проще накосячить....так...только разблокировкой заниматься - меги 8 хватит с головой на эти операции :) спаяю на макетке, вставлю мегу 16 и 8, 8-ю прощью микропрограммкой да и пусть она перепрошивает мегу 16 на предмет очистки чипа и фузов :) тем более что они совместимы один в один с 32-й

Добавлено: Вт окт 20, 2009 16:03:54
Аксель
Можно вообще не паять прводки при параллельном программировании:

Берёте ещё одну мегу16 - пишете под неё свой код.


К вашей "глючной" меге подводите питание +5, на ресет +12 и изолируете его полоской изоленты\кембрика\бумажки.

насаживаете сверху мегу16 с подготовленным микрокодом.

подаете +12 и +5 на меньше секунды.

Вуаля, имеете мегу с исправленными фузами (ну это от рук програмера зависит - как напишет)

Итого: верхняя мега программирует нижнюю.

Добавлено: Вт окт 20, 2009 16:24:37
Аксель
clawham писал(а):только разблокировкой заниматься - меги 8 хватит с головой на эти операции :) спаяю на макетке, вставлю мегу 16 и 8, 8-ю прощью микропрограммкой да и пусть она перепрошивает мегу 16 на предмет очистки чипа и фузов :) тем более что они совместимы один в один с 32-й



...разница таки есть и несовместимость есть местами. Но если нет разницы в плане записи основных фузов :) 16 и 32 меги, и желаеться попаять проводки, то вместо изобретения велосипеда можно поискать и найти уже готовое с мегой8 для мега32. Артем занимался - один из спонсоров конкурса.

Добавлено: Вт окт 20, 2009 17:31:31
clawham
да не буду я морочиться с программатором полноценным я просто сделаю прошывку для меги 8 чтоб она тупо делала 2 комманды - очистка чипа и запись классных фузов :)))

Добавлено: Вт окт 20, 2009 18:01:23
Аксель
Дык, то что сделал Артем для меги 32 именно то, что хотите сделать вы для меги 16.


http://www.artem.ru/cgi-bin/news?c=v&id=739

Добавлено: Вт окт 20, 2009 20:10:53
clawham
а чё там делать? 5 минут вдумчивого читания да десяток проводков :) помоему никакого криминала вообще :) - просто муторно....панелька для меги 16 панелька для меги 8 платку надо найти макетную..у меня не осталось большого куска :)
Хотя вот сопротивление вроде вообще во все стороны отсутствует что между питанием и землей что между землей и ножками ....
2 мегаома тестер ничего не показал :( ну....попробую - отпишусь :) главное - что при стирании чипа локбиты херятся...
хотя тогда ж не должно было ничего мешать спи программированию..я ж локбиты не писал...вообще не трогал......блин...ну в общем попробую а там видно будет :)

Добавлено: Вт окт 20, 2009 23:40:04
Аксель
Мы тут пообщались с clawham через ЛС, и похоже он выбрал один интересный способ восстановления :)).

...Я тут ножки питания померял на меге16 (вынутой из парапрога) + и - в одну сторону не "звонятся", в другую 537 Ом.

Добавлено: Ср окт 21, 2009 12:46:57
Foks
537 Ом это по идее диод для защиты от переполюсовки. В другую сторону не звонится наверно потому что питания, которое получает микросхема от щупов измерительного прибора не достаточно для запуска кристалла, и ток минимален, что прибор и показывает как большущее сопротивление.

Добавлено: Ср окт 21, 2009 14:33:10
clawham
у меня почему то и диодов то не видно на ножках :( а на щупе - 7 вольт присутствует да и мега сама с индексом Л - тобиш и 3.3 вольта для неё - питание :)
в общем сделаю разблокирование и посмотрим что будет :)

Локбиты буду писать такие:
Low byte - C2
high byte - C9

кварц у меня стоит внешний и источник такта внешнего есть если что...но на первый раз пусть стоит 1 мегагерц внутренний :)