Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: что это за глюк с флешем на at91sam7s256 ?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
PrSt
Приветствую !

Люди, тут такое дело странное которое завело меня в шоковый ступор. та и не только меня, весь отдел...

прибор отгрузили пол года назад, на днях его вернули
по всем признакам - не работает программа или контроллер, думал что его уранили и кварц сдох.
залез осцилом - не работает, перепаял старый кварц на новый, тоже не работает...
чего я больше всего и боялся, потому что было у меня одно немативированное предположение - что сдохла почему то программа(слетела прошивка) или контроллер погорел от чегото...
хотя почему - нет объяснения

попробовал перепрошить потому что больше ни чего не оставалось.
перепрошилось!
...так и оказалось - слетела сама прошивка в контроллере(в этом устройстве он один).
Тоесть со временем слетела прошивка в самом контроллере, почему я не могу понять что это было? и как с этим бороться...


что это глюк с флешем на at91sam7s256 такой вообще?
это только у меня такой случилось или это есть такое вообще у этого камня, или всего семейства?
я понимаю что flash технология не идеальная, но не на столько же...
первый раз такое случилось.
то что в прибор залазили - наловероятно вообщето.

подскажите пожалуйста и как можно такое в будущем проверять или диагностировать перед выдачей прибора на продажу?
В интернете ни чего подобного я не нашел, как будто у меня у первого это произошло... У нас в отделе ни у кого нет объяснению этому событию, лиш немотивированные предположения

надеюсь что Вы чтото посоветуете мне/нам, потому что вопрос довольно важный.

Заранее спасибо, очень надеюсь на Ваш ответ.

.
aaarrr
На SAM7S64 ничего подобного не наблюдалось.

А нога ERASE как в приборе подключена?
KAlex
Прошивка может стереться при одном условии: при влючении на ноге ERASE был положительный уровень. Например металлическая пылинка между 54 и 55 ногой.
PrSt
Цитата(aaarrr @ Dec 4 2007, 13:09) *
А нога ERASE как в приборе подключена?

ERASE полностью висит в воздухе (подведена на контакты для джампера, каковой не впаян даже)
там врядли контакт был... Спасибо все одно рассмотрю.

Цитата(KAlex @ Dec 4 2007, 13:10) *
Прошивка может стереться при одном условии: при влючении на ноге ERASE был положительный уровень. Например металлическая пылинка между 54 и 55 ногой.

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

Уважаемые коллеги, еще есть какие нибудь мысли у Вас по этому поводу?

.
aaarrr
Цитата(PrSt @ Dec 4 2007, 14:20) *
ERASE полностью висит в воздухе (подведена на контакты для джампера, каковой не впаян даже)
там врядли контакт был... Спасибо все одно рассмотрю.

Вот и ответ. Никогда не полагайтесь на внутренние pull-up/pull-down'ы!
PrSt
Цитата(aaarrr @ Dec 4 2007, 13:26) *
Вот и ответ. Никогда не полагайтесь на внутренние pull-up/pull-down'ы!

дык а какже гарантия производителя? они то гарантируют - вот я и надеюсь.
разве что если брак чипа...
но это уже мною высосанный из пальца вывод...

И что Вы предлагаете, впаять резистор 1к на землю?
я Вас верно понял?
я такого просто ни где не встречал в схемах с этим чипом, по крайней мере не припомню...

.
aaarrr
Цитата(PrSt @ Dec 4 2007, 14:30) *
дык а какже гарантия производителя? они то гарантируют - вот я и надеюсь.
разве что если брак чипа...
но это уже мною высосанный из пальца вывод...

О каких гарантиях Вы говорите? В Electrical Characteristics производитель гарантирует Pull-down Current 135uA @ 3.3VDDIO. Какие из этого сделать выводы - целиком на совести потребителя.

Цитата(PrSt @ Dec 4 2007, 14:30) *
И что Вы предлагаете, впаять резистор 1к на землю?
я Вас верно понял?
я такого просто ни где не встречал в схемах с этим чипом, по крайней мере не припомню...

Именно так.
amw
Да наземлю его прямо.
Производитель ничего по этому поводу не гарантирует - это раз.
А как на счет помех - это два.
Вообще-то на все входы должны быть поданы осмысленные сигналы. Это касается любого продукта.
PrSt
Цитата(amw @ Dec 4 2007, 17:16) *
Да наземлю его прямо.
Производитель ничего по этому поводу не гарантирует - это раз.
А как на счет помех - это два.

на землю говоришь... , если следовать логике, то можно или даже тогда нужно
- возможность такая у меня тоже есть, но про то что его на землю я ни где не встречал, ни в одной схеме, поэтому даже и не предпологал что так с этим пином нужно поступать.
ну помехи там врядли могли повлиять, опять таки я не исключаю и этого, я про это уже думал и откинул эту версию, врядли.
я его на землю таки и кину, но все таки с резистором на 1кОм

.
KAlex
Цитата(amw @ Dec 4 2007, 18:16) *
Да наземлю его прямо.

А если кристалл будет залочен, а потом его надо будет перешить(J-Link), то что? Ногу отпаивать?
amw
Цитата(PrSt @ Dec 4 2007, 17:31) *
на землю говоришь... , если следовать логике, то можно или даже тогда нужно
- возможность такая у меня тоже есть, но про то что его на землю я ни где не встречал, ни в одной схеме, поэтому даже и не предпологал что так с этим пином нужно поступать.

Это не критерий.
Цитата
ну помехи там врядли могли повлиять, опять таки я не исключаю и этого, я про это уже думал и откинул эту версию, врядли.
я его на землю таки и кину,

Я видел. При испытаниях на молниезащиту. Встроенные подтяжки как правило высокоомные. При разряде молнии вблизи работающего устройства может наводить помеху, достаточную для срабатывания логики.
Цитата
но все таки с резистором на 1кОм

Смысл внешнего Pull-Down?
Если этот пин нужен, например для перепрошивки, то на джампер его, но без Pull-Down.
PrSt
Цитата(amw @ Dec 5 2007, 12:15) *
Смысл Pull-Down?
Если этот пин нужен, например для перепрошивки, то на джампер его, но без Pull-Down.


для перешивки я спользую пин TST
на который подается на 10секудн VCC (для востановления SAM-BA из ROM) и чип стирается.

Сам же пин ERASE заложен и в схеме и плате, но досе ни разу не использовался у меня так и не получилось через этот пин стереть контроллер - ни разу.
...пробовал несколько раз подавать на него VCC, и он так и не стирался
...я это даже гдето тут на форуме описывал, но так ни кто и не смог помоч 8(
что стирает ли этот пин - не знаю, я не смог, потому что ни разу не получилось у меня.
То что он стирает в принципе я верю и не сомниваюсь - просто я не смог этого добиться ни разу.

поэтому стираю через TST, подобно, как описывал я тут - http://projects.org.ua/forum.phpbb2ru/viewtopic.php?t=1228


.
Master
Цитата(PrSt @ Dec 5 2007, 13:28) *
для перешивки я спользую пин TST
на который подается на 10секудн VCC (для востановления SAM-BA из ROM) и чип стирается.
Вот Вам ещё одна версия, хотя Вы вероятно её считаете маловероятной smile.gif
Если данную процедуру воспроизвёл клиент, где окажется Ваша прошитая программа? wink.gif Правильно, именно там.

Цитата(PrSt @ Dec 5 2007, 13:28) *
поэтому стираю через TST, подобно, как описывал я тут - http://projects.org.ua/forum.phpbb2ru/viewtopic.php?t=1228
->
Цитата
SAM-BA - это встроеный в контроллер загрузчик, по-нашему, bootloader.
Он записывается из флеш.
Где его, при наличии кривых рук, можно благополучно убить.
Мощно! Ни добавить, ни отнять lol.gif
PrSt
Цитата(Master @ Dec 5 2007, 13:14) *
Вот Вам ещё одна версия, хотя Вы вероятно её считаете маловероятной smile.gif
Если данную процедуру воспроизвёл клиент, где окажется Ваша прошитая программа? wink.gif Правильно, именно там.

Мощно! Ни добавить, ни отнять lol.gif

да-да-да, подмечено ловко, я даже улыбнулся как Вы красиво это связали с этой проблемой, однако чуточку дело обстоит не в полузу вашего мнения...
объясню почему - у книента такой возможности нет, у него нет спц разъема для проведения этих действий. Более того как выяснилось вчера у других наших соьтрудников которые были свиделенем его "умирания" , прошивка сдыхала постепенно... тоесть прибор не включался с первого раза, а потом с второго-третьего включался. а потом вообще "сдох"... так что клиенты-пользователи тут не причем
прошивка, точнее сама flash подглюкивала и перед этим. среди нескольких десятков - это единственный случай.
предположить что это брак микросхемы можно - но я уже как 2 дня эту мысл выбрасываю из головы - не верится.
а Вы что думаете уважаемые?
...кстати могла ли так прошивка записаться, что она так быстро сдохла?

.
strr
Вставлю и свои 5 копеек.
У меня такая же радость случалась на ATmega16. Понимаю что не АРМ, но сути это не меняет. В мелкой серии из нескольких десятков (50-60) устройств 3 оказалось с такими же признаками. Работало, потом происходил отказ - Было видно что устройство проходит инициализацию, но дальше... Перепрошивка помогала, но не надолго. Через 3-20 дней опять происходило снова.
Я грешу на некачественные контроллеры. Я вижу что ты из Харькова - вероятно приобретаешь контроллеры на космодроме. Я там же их брал. Есть предположение что попадаются немного "китайские" контроллеры.
Harbour
Единственное что приходит в голову - программа юзает (на запись) ту часть flash, для которой в errata заявлено 100 циклов записи/стирания (lockbits и прочее).
amw
Цитата(strr @ Dec 5 2007, 17:01) *
Вставлю и свои 5 копеек.
У меня такая же радость случалась на ATmega16. Понимаю что не АРМ, но сути это не меняет. В мелкой серии из нескольких десятков (50-60) устройств 3 оказалось с такими же признаками. Работало, потом происходил отказ - Было видно что устройство проходит инициализацию, но дальше... Перепрошивка помогала, но не надолго. Через 3-20 дней опять происходило снова.
Я грешу на некачественные контроллеры. Я вижу что ты из Харькова - вероятно приобретаешь контроллеры на космодроме. Я там же их брал. Есть предположение что попадаются немного "китайские" контроллеры.

К стати да.
Давно было - забыл.
Наблюдал такое на старых AVR AT90S8515.


Цитата(Harbour @ Dec 6 2007, 07:22) *
Единственное что приходит в голову - программа юзает (на запись) ту часть flash, для которой в errata заявлено 100 циклов записи/стирания (lockbits и прочее).

Дык с его ресурсом, может и основной flash.
PrSt
Цитата(amw @ Dec 6 2007, 11:03) *
К стати да.
Давно было - забыл.
Наблюдал такое на старых AVR AT90S8515.

Угу, про такое много кратно слышал, и от тебя по моему тоже.
поэтому я склоннен верить этой версии

но хочу реально разобраться потому что мало ли что еще может быть в дальнейшем.

.
_4afc_
Цитата(PrSt @ Dec 6 2007, 16:31) *
но хочу реально разобраться потому что мало ли что еще может быть в дальнейшем.


Копайте ноги Erase, TST, JTAG - они должны быть жёстко на землю в готовом изделии о чём подробно написано в документации Атмела - читайте внимательно!

Контроллер также не любит медленного наростания питания.
Может придти помеха по USB - в ЭВМ нет фильтров по питанию.
Но это обычно приводит лишь к подвисанию контроллера или сбросу.
ATname
Цитата(PrSt @ Dec 5 2007, 15:44) *
да-да-да, подмечено ловко, я даже улыбнулся как Вы красиво это связали с этой проблемой, однако чуточку дело обстоит не в полузу вашего мнения...
объясню почему - у книента такой возможности нет, у него нет спц разъема для проведения этих действий. Более того как выяснилось вчера у других наших соьтрудников которые были свиделенем его "умирания" , прошивка сдыхала постепенно... тоесть прибор не включался с первого раза, а потом с второго-третьего включался. а потом вообще "сдох"... так что клиенты-пользователи тут не причем
прошивка, точнее сама flash подглюкивала и перед этим. среди нескольких десятков - это единственный случай.
предположить что это брак микросхемы можно - но я уже как 2 дня эту мысл выбрасываю из головы - не верится.
а Вы что думаете уважаемые?
...кстати могла ли так прошивка записаться, что она так быстро сдохла?

.

У Вас некорректно выполненна разводка задающего генератора чипа. Все признаки этого налицо.
У Atmel'а вообще дохленькие задающие, что на ARM что на AVR. Ради интереса можете глянуть уровень сигнала на генераторе осциллом, узнаете много интересного.
PrSt
Цитата(_4afc_ @ Dec 7 2007, 15:42) *
Копайте ноги Erase, TST, JTAG - они должны быть жёстко на землю в готовом изделии о чём подробно написано в документации Атмела - читайте внимательно!

Контроллер также не любит медленного наростания питания.
Может придти помеха по USB - в ЭВМ нет фильтров по питанию.
Но это обычно приводит лишь к подвисанию контроллера или сбросу.

вот что написано в даташите 6175BS–ATARM–04-Nov-05
на счет TST к земле
The TST pin integrates a permanent pull-down resistor of about 15 k to GND, so that it can be left unconnected for normal operations.

на счет Erase к земле
It integrates a permanent pull-down resistor of about 15 k to GND, so that it can be left unconnected for nor-mal operations.

так что вендор рекомендует или разреает его в воздухе оставлять
я так и сделал.
все как по даташиту...

про то что его садить на GND ни где не могу найти - убедительно прошу, ткните меня пожалуйста носом, где про это в даташите написано, плиз...?
или может это в другом какомто документе?
если можно - документ и раздел или страница.
Также есть возможность, при производстве впаивать резисторы МЛТ-0.125 на 0...1кОм, вместо перемычки.


с подвисанием и питанием вопрос рассматриваю тоже...
...поставил внешний супервизор MCP100-315 и его выход соеденил с NRST - не всегда помогапет, если при включении есть дребезг по 220 то все также удается подвесить контроллер или программу, так что супервизор не сильно то и помог.
USB нет в этом приборе

может стоит включить в программе WatchDog?
и модифицировать программу на предмет присутствия там WatchDog?
или это не в ту степь я смотрю как на метод устранения?
Но все же хочется найти первоисточник проблеммы а не подставлять костыли к уже готовой реализации.

.


Цитата(ATname @ Dec 7 2007, 18:14) *
У Вас некорректно выполненна разводка задающего генератора чипа. Все признаки этого налицо.
У Atmel'а вообще дохленькие задающие, что на ARM что на AVR. Ради интереса можете глянуть уровень сигнала на генераторе осциллом, узнаете много интересного.

честно говря мне не приходилось убеждаться в том что на ARM что на AVR дохленькие задающие денераторы... поэтому не стану ничего говорить, бо не знаю...
Уровни достаточно сильные, амплитуда синусоиды около 3В. Синусоида чистая, фаза не дрожит... все в порядке.
В чем тогда некорректность и какая связь между генератором и фактом испорчевания программы?
...может я чегото не знаю?

.
ATname
Цитата(PrSt @ Dec 10 2007, 12:27) *
честно говря мне не приходилось убеждаться в том что на ARM что на AVR дохленькие задающие денераторы... поэтому не стану ничего говорить, бо не знаю...
Уровни достаточно сильные, амплитуда синусоиды около 3В. Синусоида чистая, фаза не дрожит... все в порядке.
В чем тогда некорректность и какая связь между генератором и фактом испорчевания программы?
...может я чегото не знаю?

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

Сбой генератора может приводить к "слёту" флэша (более того, ещё и не таким "чудесам") причем когда ему вздумается. Проверено на RF приложениях, тоже мучались, пока не наткнулись на умных людей. Какие-то супостаты выпускают чип где граунд находится между контактами генератора, и в доке есть бла-бла на тему почему так. Исправили свою печать, и "слёт" флэша как рукой сняло.

Чёй-то я 3В на генераторе AT91SAM7X256 даже на ЕК не видел. sad.gif
PrSt
Цитата(ATname @ Dec 13 2007, 21:13) *
Если посмотрите распиновку генератора, то увидите, что рядом с контактами самого генератора имеет место быть пин граунда. Так вот именно на этот пин и надо разводить емкости кварца, причем в этой цепи ничего иного быть не должно. Сам граунд должен цеплятся с другой стороны пина.

Сбой генератора может приводить к "слёту" флэша (более того, ещё и не таким "чудесам") причем когда ему вздумается. Проверено на RF приложениях, тоже мучались, пока не наткнулись на умных людей. Какие-то супостаты выпускают чип где граунд находится между контактами генератора, и в доке есть бла-бла на тему почему так. Исправили свою печать, и "слёт" флэша как рукой сняло.

Чёй-то я 3В на генераторе AT91SAM7X256 даже на ЕК не видел. sad.gif

хм... и радует и огорчает что это не у одного меня на этом семействе проявлялось... Значит это не брак чипов, и это уже радует.

интересно также - как же это может зависеить состояние флэшки от разводки кварца на печатке...

А вам не трудно поподробнее пояснить это?
...уверен это будет многим интересно и полезно!

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

Однако, я когда запускал плату, то исследовал пульсаци на шине питания и земли, и что земля что питание - пульсируют на 2..5мВ, что можно сказать идеально.
Вы дествительно думаете это както может привести к тому с чем я столкнулся???
В принципе может быть Вы и правы, на фоне того что предлагалось ранее - это найболее вероятная причина, но просто я логику не вижу в связи этих 2х вещей (флэш и разводка кварца), поясните мне плиз, просветите.

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