Полная версия этой страницы:
at91sam7s256
lazarev andrey
Dec 15 2009, 11:03
добрый день.
столкнулся со следующей проблемой.
устройство питается от внешней сети (DC потом стабилизатор на 3.3В), подключается к ПК через USB (крутится тестовая аппликация).
все прекрасно работает какое то время, не засекал точно, потому как не думаю что это так уж прям важно (может 2 часа, может 4, когда как), потом все виснет и не помогает ничего, ни сброс, ни перепрошивка, только вот тыкание паяльником от балды как то оживляет девайс.
и так вопрос?
кто сталкивался с данным эффектом?
что это может быть:
- кривые руки паяльщика (т.е. мои);
- кривая разводка (опять же моя), может быть есть какие то рекомендации, кроме тех, что есть в мануалах;
- кривая прошивка (снова я);
- неправильные номиналы емкостей
бьюсь уже несколько дней с данной проблемой, непонятно куда рыть, вроде бы как понятно что, что-то происходит по питанию, скорее всего.
прошивка взят пример атмела USB Mass storage и переправлен под наши нужды.
читаю память самбой, там fffff везде. может быть не там читаю. вот.
поможите кто можите.
Во-первых, показывайте разводку и схематику. Телепатия нынче не очень работает, активность на солнце высокая.
Во-вторых, что у вас на reset ? RC или супервизор ?
lazarev andrey
Dec 15 2009, 11:29
на ресет ничего нет, только подтянуто на 3.3В через резюк, у него же внутренний сброс.
файлы выложил.
Можно разводку в пдфе ?
Вообще с очень похожими проблемами сталкивался. Было грязное питание, с просадками, и проблемный резет.
Решили супервизором.
aaarrr
Dec 15 2009, 11:35
Резисторы на JTAG'е запаяны? ERASE и TST я бы тоже не оставлял просто так.
Но принимая во внимание "методику оживления", первым делом стоит проверить монтаж.
lazarev andrey
Dec 15 2009, 11:39
эти выводы пытался и так и так, не помогает. в мануале написано, что они могут висеть, потому как у него внутренние резюки на землю есть.
но с замечанием соглашусь, жаль, что не помогает.
а, и да, jtag запаян.
проблема с данной платой началась после того, как попытался прошить через USB, но загрузчик не запустился (до этого запускался), благо что так как все дело "дома", то прошиваю через JTAG.
точнее даже не тогда началась проблема, а когда устройство оставили работать на долгое время.
до этого как то все было в порядке.
но камень я уже перепаял.
Почитайте про подключение кварца. То, как он у вас разведен - это тихий ужас.
Да еще и плата красивым кольцом, по которому петлей земля сплошная... Короче, вся паразитка, которая наводится на землю, бегает по цепям генерации.
Кварц ставите вплотную к процу, после него - емкости на "земляную" ногу рядом, и только потом эту ногу подключаете к общей земле. Специально для этого есть 96-я нога.
Потом, попробуйте поставить супервизор на резет, что-то вроде TS809. Стоит оно копейки.
Теперь поподробнее. При зависании платы, она сбрасывается питанием, или так и остается в "убитом состоянии" ?
Да, от чего питается устройство и каковы в целом условия работы "в поле" ?
lazarev andrey
Dec 15 2009, 13:25
про кварц понял.
в том то и дело, что плата находится в "убитом состоянии" и выводится из него только некими шаманскими способами, типо тыкания паяльника в ножки а потом перепрошивкой.
т.е. даже не прошивается, после того как зависла.
хотя почитав соседнюю ветку про зависание УАРТА решил посомтреть код, нашел парочку мест, может как то влияет, как только протестирую отпишу.
Ага, а попробуйте-ка убитой плате сделать ERASE путем замыкания ножки на 3,3V.
lazarev andrey
Dec 15 2009, 15:23
ок, как только зависнет, ьак сразу и буду опять изголяться на ней.
только она не виснет уже больше двух часов.

радоваться этому или нет, непонятно
aaarrr
Dec 15 2009, 15:28
Цитата(lazarev andrey @ Dec 15 2009, 18:23)

радоваться этому или нет, непонятно
Радоваться не стоит, достаточно того факта, что оно висло раньше. Теперь и через восемь часов нельзя будет ничего утверждать.
Хорошее устройство должно виснуть сразу
lazarev andrey
Dec 15 2009, 15:44
вот и я про тоже.
да я просто немного подправил программу, там я случайно не заметил инициализацию прерываний левых и там еще некоторые гадости.
но никак не возьму в ум как могла потереться флешка...
а, ну еще разик пропаял все (уже начинают терзать сомнения в конт. площадках) м промыл очистителем.
если бы сразу все висло бы и умирало, тогда действительно проще...
aaarrr
Dec 15 2009, 15:53
Цитата(lazarev andrey @ Dec 15 2009, 18:44)

...там я случайно не заметил инициализацию прерываний левых
Кстати, насчет прерываний левых - AIC_SPU прописан?
Цитата(lazarev andrey @ Dec 15 2009, 18:44)

но никак не возьму в ум как могла потереться флешка...
Ну, изнутри это сделать совсем нетрудно.
А проблемы с дальнейшим программированием - "паяльником потыкать надо" - вполне можно отнести к общей глючности процедуры восстановления загрузчика.
lazarev andrey
Dec 15 2009, 16:14
Цитата(aaarrr @ Dec 15 2009, 18:53)

Кстати, насчет прерываний левых - AIC_SPU прописан?
Ну, изнутри это сделать совсем нетрудно.
А проблемы с дальнейшим программированием - "паяльником потыкать надо" - вполне можно отнести к общей глючности процедуры восстановления загрузчика.
нет не прописано такое прерывание.
так дело в том, что глючность загрузчика должна была отойти в сторону, после перепайки камня.
хотя у нас была такая история как то раз с одной из трех пилотных плат, сделанных в резоните.
ну это так история
" развели плату, заказали печать, спаял я лично одну, работает вот примерно так же как и сейчас, не понятно как, как то уже плюнув на мучения, положил вторую пустую плату рядом и с помощью фена и паяльника за пару часов перекинул все что было ну пустую плату и вуаля....все заработало, без каких либо вмешательств"
в данный момент:
- тыкание ножкт erase на 3.3В не помогает.
- ничего не прошивает камень, самба вообще не видит ядро.
- до того как присобачить ножку erase на 3.3В осцильником посмотрел, что на ней делается. там был уровень, ну примерно так 2В, точно не мерял, потому как явно какая то фигня, но в даташите написано что у нее свой внутренний резюк притягивающий на землю.
устройство питается от внешнего источника 24В, дальше DC на 5В они дальше на плате используются, потом стабилизатор на 3.3В от которого как раз и питается камень, обмен по USB земля шины USB соединена с землей устройства....вот...
aaarrr
Dec 15 2009, 16:20
Цитата(lazarev andrey @ Dec 15 2009, 19:14)

нет не прописано такое прерывание.
Напрасно. Оно
должно быть прописано.
Не тыкнуть ERASE на 3.3, а закоротить ERASE на 3.3, подать питание, подождать, снять питание.
После этого чип полностью стирается и должен быть виден отладчику.
lazarev andrey
Dec 15 2009, 16:28
Цитата(_dem @ Dec 15 2009, 19:23)

Не тыкнуть ERASE на 3.3, а закоротить ERASE на 3.3, подать питание, подождать, снять питание.
После этого чип полностью стирается и должен быть виден отладчику.
не помогает
aaarrr
Dec 15 2009, 16:34
Цитата(_dem @ Dec 15 2009, 19:23)

Не тыкнуть ERASE на 3.3
Нет, именно "тыкнуть":
Цитата
In order to erase the Flash, the user must perform the following:
• Power-off the chip
• Power-on the chip with TST = 0
• Assert Erase during a period of more than 220 ms
• Power-off the chip
Then it is possible o return to FFPI mode and check that Flash is erased.
Иначе ничего не сотрется.
Ну как бы это и имелось в виду.
Не "тыкнуть" на включенном питании, а... и далее по тексту.
Вопрос, собственно - что происходит на линиях питания "убитой" платы ? Все хорошо ?
В том числе переходной процесс при включении питания.
Вообще сейчас имеет смысл направить все усилия на воспроизведение проблемы в лабораторных условиях, а то потом неясно будет, что именно ее решило. И со следующей платой придется доставать бубен из заначки.
aaarrr
Dec 15 2009, 21:21
Цитата(_dem @ Dec 15 2009, 23:35)

Не "тыкнуть" на включенном питании, а... и далее по тексту.
Прошу извинить за возможное занудство, но далее по тексту было: "закоротить ERASE на 3.3, подать питание", что не даст нужного эффекта.
Цитата(aaarrr @ Dec 15 2009, 19:34)

Нет, именно "тыкнуть":
Иначе ничего не сотрется.
Ага, таки попутал с самбой, похоже ) Виноват )
lazarev andrey
Dec 16 2009, 12:05
в общем тыкался я тыкался, натыкал что вывод TCK (53) и VddCore (54) где то закорачиваются (150 Ом между ними).
пошаманил паяльником и скальпелем, разорвал эту завязку.
камень стал стабильно прошиваться и определяться.
в данный момент как непонятно когда виснет, но передергиванием питания начинает работать, в следующий "завис" дерну NRST, посмотрим реакцию, предварительный итог монтаж, плохо промыта плата.
aaarrr
Dec 16 2009, 13:08
Цитата(lazarev andrey @ Dec 16 2009, 15:05)

...в следующий "завис" дерну NRST, посмотрим реакцию
Надеюсь, включить его в программе не забыли?
lazarev andrey
Dec 16 2009, 14:27
эм, нет конечно же.
сейчас посмотрю, поразбираюсь что там да как.
дело в том, что это первый девайс на этом камне, да и вообще на АРМ7, поэтому понятное дело, что косяков будет еще много, какое то время

в любом случае спасибо за советы.
ps. Будете переразводить плату, добавьте керамики возле ног чипа на питания, на 3.3 и 1.8. И земли, земли
lazarev andrey
Dec 17 2009, 06:20
кхм-кхм, а собственно зачем переразводить?
я понимаю так что надо нормально паять
промывать тщательнее.
кондюков и так натыкано по даташиту, увеличть емкость, тоже не самый лучший вариант. другое дело что меня смущает толщина проводников. вот наверное в этом направлении надо двигаться и отделить полигон земли процессора от остальной земли, во избежание навоок и прочих гадостей.
Кхм-кхм, разводка кварца на плате - потенциальный источник огромных проблем.
Разводка земли - аналогично. Плата ну очень просит переразводки, не отказывайте.
Да, и добавьте супервизор питания, благо это всего 10-20 центов.
Ну вам надо, чтобы работающий в полуметре мобильный мог резетнуть или повесить плату ?
aaarrr
Dec 17 2009, 08:15
Цитата(_dem @ Dec 17 2009, 11:10)

Да, и добавьте супервизор питания, благо это всего 10-20 центов.
А что, к встроенному BOD'у есть какие-то претензии?
Есть, у нас в партии из 100 штук 3-4 не подымались после мусора на питании. Методом научных перепаек выяснили, что виноваты именно чипы.
Видели один раз, возможно не повезло с партией или с чем еще - "но осадок остался"
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.