|
Зависания АВР, это смертельно? |
|
|
3 страниц
1 2 3 >
|
 |
Ответов
(1 - 30)
|
Dec 19 2007, 11:50
|
Местный
  
Группа: Свой
Сообщений: 234
Регистрация: 30-03-07
Из: Одесса
Пользователь №: 26 621

|
Цитата(phantom @ Dec 17 2007, 19:06)  Люди работающие на РIC-ах говорят что зависания в АVR-ках обычная вещь, дескать, поэтому они перешли на ПИКи... Это явление имело место лет 5 назад, до появления Меги8 и последующих тинь - самое веселое, что происходило регулярно - это стирание флеша по неопределенным причинам. Сейчас этого не происходит и причина зависаний может быть только в программных глюках или сбоях питания. Либо наводки на выводы кварцевого резонатора. Собака, кстати -не панацея от зависаний, правильная собака должна иметь двойной цикл сброса - взвод и сброс, процедуры которых должны втыкаться в основном тактирующем прерывании и в главном цикле. Тогда при зависании любого из них произойдет сброс. У атмела такого нет, поэтому сброс собаки лучше вешать в главном цикле с контролем основного тактирующего прерывания посредством флага.
|
|
|
|
|
Dec 19 2007, 12:28
|
Профессионал
    
Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364

|
Цитата Это явление имело место лет 5 назад, до появления Меги8 и последующих тинь - самое веселое, что происходило регулярно - это стирание флеша по неопределенным причинам. По "неопределенным причинам" небыло никогда. У меня все еще катаются в автомобилях тысячи изделий на 2313 и 8515 без каких либо перепрошивок. Была, правда, одна явно бракованная партия 90S8515 (0105), но там флеш не стерался, а просто помирал проц (или начинал делать разное всякое). Если стерался флеш, то это к схемотехнику и разводчику...
|
|
|
|
|
Dec 19 2007, 21:01
|
Участник

Группа: Новичок
Сообщений: 19
Регистрация: 27-03-07
Из: Кривой Рог
Пользователь №: 26 542

|
1)Наиболее частая проблема в питании. Лечится подключением танталового конденсатора 1-10мкФ и керамического конденсатора 0,1мкФ прямо возле ножки питания проца.
2)Использование разъема для подключения ISP программатора в конечном изделии - крайне нежелательно. При невозможности его удаления - разводим плату так, что-бы длина дорожек разъем-проц была минимальная. При этом все его проводники (MISO, MOSI, SCK) должны быть подтянуты к +Uпит.
3)Используем супервизор питания.
При выполнении данных условий - проблемы только в программе.
|
|
|
|
|
Dec 20 2007, 07:02
|

Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 10-02-05
Пользователь №: 2 544

|
Цитата 2)Использование разъема для подключения ISP программатора в конечном изделии - крайне нежелательно. При невозможности его удаления - разводим плату так, что-бы длина дорожек разъем-проц была минимальная. При этом все его проводники (MISO, MOSI, SCK) должны быть подтянуты к +Uпит. И что это дает? Пока ресет не в нуле, то вход в режим программирования просто невозможен. Передо мной лежит плата, на которой разъём программирования находится на расстоянии сантиметров семи от процессора. Никаких "слетаний флэш и ЕЕПРОМ" за несколько лет серийного производсва не замечалось. Супервизора питания на ней нет, только включен BOD. В свои устройства я тоже давно не ставлю супервизор питания. Один раз были жалобы, что у устройства слетает ЕЕПРОМ. Еду разбираться на место. Оказалось, что наладчик не прошил фьюз BODEN. Установил его и как бабка отшептала. С лета ни одного звонка с того объекта небыло, а устойств там порядка четырнадцати. Так что вот так.
|
|
|
|
|
Dec 20 2007, 07:09
|
Участник

Группа: Новичок
Сообщений: 58
Регистрация: 11-01-07
Пользователь №: 24 311

|
Цитата(Igor26 @ Dec 20 2007, 11:02)  И что это дает? Пока ресет не в нуле, то вход в режим программирования просто невозможен. Передо мной лежит плата, на которой разъём программирования находится на расстоянии сантиметров семи от процессора. Никаких "слетаний флэш и ЕЕПРОМ" за несколько лет серийного производсва не замечалось. Супервизора питания на ней нет, только включен BOD. В свои устройства я тоже давно не ставлю супервизор питания. Один раз были жалобы, что у устройства слетает ЕЕПРОМ. Еду разбираться на место. Оказалось, что наладчик не прошил фьюз BODEN. Установил его и как бабка отшептала. С лета ни одного звонка с того объекта небыло, а устойств там порядка четырнадцати. Так что вот так. точно-точно, без BOD-а ЕЕПРОМ слетал постоянно, пока я не узнал, что есть такая ВЕЩЬ, как BOD
|
|
|
|
|
Dec 20 2007, 09:10
|
Местный
  
Группа: Свой
Сообщений: 234
Регистрация: 30-03-07
Из: Одесса
Пользователь №: 26 621

|
Цитата(ArtemKAD @ Dec 19 2007, 16:28)  По "неопределенным причинам" небыло никогда. У меня все еще катаются в автомобилях тысячи изделий на 2313 и 8515 без каких либо перепрошивок. Была, правда, одна явно бракованная партия 90S8515 (0105), но там флеш не стерался, а просто помирал проц (или начинал делать разное всякое). Если стерался флеш, то это к схемотехнику и разводчику... ИМХО: "Всякое разное" проц начинает как раз делать от помех по питанию и сбоев тактового генератора - вот это как раз вопрос к разработчику, а процедура запуска стирания флешь не должна запускаться от случайных помех. У Микрочипов хоть программатор и посложнее, но такой лажи с ними ни разу не происходило.
|
|
|
|
|
Dec 20 2007, 12:01
|
Профессионал
    
Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364

|
Цитата ИМХО: "Всякое разное" проц начинает как раз делать от помех по питанию и сбоев тактового генератора - вот это как раз вопрос к разработчику, а процедура запуска стирания флешь не должна запускаться от случайных помех. Просто "разное всякое" без каких либо помех - на столе. Еще раз - просто была такая одна партия... Цитата У Микрочипов хоть программатор и посложнее, но такой лажи с ними ни разу не происходило. Еще не вечер. Я пару месяцев назад переразводил плату ребятам из Луганска по причине неустойчивой работы того самого PIC-а(16f62x). ЗЫ. Просто Атмел раньше начал работать с Флеш-памятью и на данный момент через все грабли уже прошел...
Сообщение отредактировал ArtemKAD - Dec 20 2007, 12:02
|
|
|
|
|
Dec 20 2007, 21:04
|
Местный
  
Группа: Свой
Сообщений: 234
Регистрация: 30-03-07
Из: Одесса
Пользователь №: 26 621

|
Цитата(ArtemKAD @ Dec 20 2007, 16:01)  Еще не вечер. Я пару месяцев назад переразводил плату ребятам из Луганска по причине неустойчивой работы того самого PIC-а(16f62x). ЗЫ. Просто Атмел раньше начал работать с Флеш-памятью и на данный момент через все грабли уже прошел... Флеш и внутренний программатор - немного разные вещи. Стирание флеша у Атмелов инициирует внутренний программер, которого у Атмеловских 89-х в помине не было. А у Микрочипсов внутренние программаторы были уже тогда, когда Атмела еще и в помине небыло. В АВРы Атмелы его воткнули, но сделали его несколько кривовато, хорошо хоть исправили, а то нельзя было бы ими еще до сих пор пользоватся нормально. А Микрочипсы уже во второй итерации своих флеш процессоров ужесточили режим входа в режим программирования, хотя и до этого вроде никто не жаловался.
|
|
|
|
|
Dec 21 2007, 10:56
|
Местный
  
Группа: Свой
Сообщений: 278
Регистрация: 18-01-05
Из: Санкт-Петербург
Пользователь №: 2 031

|
Цитата Люди работающие на РIC-ах если бы эти люди работали не только на PIC-ах, или говорили о зависаниях обоснованно, тогда можно было бы послушать. А так, извиняйте, эти высказывания больше похожи на лозунги фанатов.
|
|
|
|
|
Dec 21 2007, 11:01
|
Профессионал
    
Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364

|
Цитата Стирание флеша у Атмелов инициирует внутренний программер, которого у Атмеловских 89-х в помине не было. Не знаю у кого как и когда стирается флеша, но я такого безобразия с 1998-го не наблюдал. Единственное - у 90S2343 мог не запускаться внутренний RC-генератор, что могло выглядеть как стирание шлешки. Никаких особых защит и подтяжек НИКОГДА не делал. На RESET на старых AT90S ставил супервизор (простейший), на новых не ставлю ни емкостей ни подтяжек. Условия эксплуатации - автомобиль. Объемы - за 40 тыс.. ЗЫ. Кстати, а кто иннициировал у Атмелов часто наблюдавшееся у старых чипов (особенно на 90S1200) стирание сигнатуры чипа  ? То-же SPI ?!
Сообщение отредактировал ArtemKAD - Dec 21 2007, 11:03
|
|
|
|
|
Dec 23 2007, 15:45
|
Участник

Группа: Новичок
Сообщений: 19
Регистрация: 27-03-07
Из: Кривой Рог
Пользователь №: 26 542

|
Цитата И что это дает? Пока ресет не в нуле, то вход в режим программирования просто невозможен. Передо мной лежит плата, на которой разъём программирования находится на расстоянии сантиметров семи от процессора. Никаких "слетаний флэш и ЕЕПРОМ" за несколько лет серийного производсва не замечалось. Супервизора питания на ней нет, только включен BOD. Все зависит от того, используются ли в проекте силовые устройства. При некоторых условиях по нулевому проводу идут такие помехи, что не помогает ни качественная разводка, ни опторазвязка. В этом случае шаманство с длиной проводов бывает спасает. Вот и решайте невозможен самопроизвольный переход в режим программирования или нет.
|
|
|
|
|
Dec 23 2007, 17:12
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
Цитата(oran-be @ Dec 19 2007, 13:50)  Это явление имело место лет 5 назад, до появления Меги8 и последующих тинь - самое веселое, что происходило регулярно - это стирание флеша по неопределенным причинам. Ни-ра-зу. 1998-2000 годы, 90s1200, 90s2313, сотни изделий, "комнатные" условия, правда, но никаких супервизоров не было. Ничего не слетало, даже EEPROM. У 90s1200, правда, EEPROM использовалось только на чтение, содержимое прописывалось программатором, и код записи в EEPROM напрочь отсутствовал, но у 90s2313 EEPROM использовалось на полную катушку. С 1999 года - 90s4433, 90s8515, поблизости питающее устройство рентгенаппарата, правда, тут уже стояли супервизоры, 1171СП42, после замены 90s4433 на mega8 и 90s8515 на mega8515 супервизоры были выброшены, но и до этого пару сот установок успели сделать.
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Dec 23 2007, 17:52
|

Знающий
   
Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768

|
Цитата(ReAl @ Dec 23 2007, 20:12)  Ни-ра-зу. 1998-2000 годы, 90s1200, 90s2313, сотни изделий, "комнатные" условия, правда, но никаких супервизоров не было. Ничего не слетало, даже EEPROM. У 90s1200, правда, EEPROM использовалось только на чтение, содержимое прописывалось программатором, и код записи в EEPROM напрочь отсутствовал, но у 90s2313 EEPROM использовалось на полную катушку. у меня другие данные по крайней мере по 90s1200.Девайс-маломощный(10Вт) ТВ передатчик примерно штук 20 производства МИСИ(Москва).Частый слет EEPROM,как правило,после бросков питания.Условия,правда,не комнатные,неотапливаемые боксы.Но ЕЕPROM также использовался только на чтение,код записи отсутвовал.Мало того,чип был переведен в режим отключения ISP(PIN RESET использовался как порт IO).Вылечил переходом на tiny2313 c переносом всех констант во флеш.
--------------------
"Hello, word!" - 17 errors 56 warnings
|
|
|
|
|
Dec 23 2007, 17:58
|
Местный
  
Группа: Свой
Сообщений: 446
Регистрация: 12-03-06
Из: Москва
Пользователь №: 15 142

|
Цитата(ReAl @ Dec 23 2007, 20:12)  Ни-ра-зу. 1998-2000 годы, 90s1200, 90s2313, сотни изделий, "комнатные" условия, правда, но никаких супервизоров не было. Ничего не слетало, даже EEPROM. У 90s1200, правда, EEPROM использовалось только на чтение, содержимое прописывалось программатором, и код записи в EEPROM напрочь отсутствовал, но у 90s2313 EEPROM использовалось на полную катушку. Возможно время спада питания при выключении было мало. Анализировали сбои EEPROM в 2313 при многократных вкл/выкл: - если нет кода записи - нет сбоев - защита кода записи проверками снижает вероятность, но не исключает Ввели 1171СП42, сбои практически исчезли. Выяснилось, что сбой генератора, например касание пальцами, сносит EEPROM примерно с вероятностью 5%. Появились меги, сбои от питания и генератора исчезли. Было пара раз из нескольких десятков тысяч, подозрение на статику, поскольку разряд на ногу иногда сносит по-прежнему, но это уже за гранью допустимого.
|
|
|
|
|
Dec 24 2007, 17:20
|
Профессионал
    
Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364

|
Цитата Все зависит от того, используются ли в проекте силовые устройства. При некоторых условиях по нулевому проводу идут такие помехи, что не помогает ни качественная разводка, ни опторазвязка. В этом случае шаманство с длиной проводов бывает спасает. Э-э-э... Как бы Вам помягче сказать. Отправьте своего разводчика платы на курсы повышения квалификации лет на 20. Т.к. влияние помех "по нулевому проводу" и "шаманство с длиной проводов" это прямой диагноз - хреновая разводка платы.
|
|
|
|
|
Dec 25 2007, 11:42
|
Участник

Группа: Новичок
Сообщений: 19
Регистрация: 27-03-07
Из: Кривой Рог
Пользователь №: 26 542

|
Цитата(ArtemKAD @ Dec 24 2007, 19:20)  Э-э-э... Как бы Вам помягче сказать. Отправьте своего разводчика платы на курсы повышения квалификации лет на 20. Т.к. влияние помех "по нулевому проводу" и "шаманство с длиной проводов" это прямой диагноз - хреновая разводка платы. Не могу с Вами согласиться. Опыт показал, что отсутствие проводов на выводах ISP или подтягивание их потенциала к питанию через достаточно низкоомные 5-10кОм резисторы, очень положительно сказывается на надежность функционирования устройства, особенно в условиях мощных электромагнитных помех, распространяющихся по землям и по эфиру. И дело здесь не в плохой разводке платы.
|
|
|
|
|
Dec 25 2007, 15:23
|
Профессионал
    
Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364

|
Цитата При заземлении этих ног проблема уходила. Конечно, в 85х5 пи этом приходилось жертвовать SPIем. А мужики-то и не знают 8-) . Особенно когда предусматривалось переписывание ПО по штатным ногам устройства. Штатно питание было 7-20В. А при подаче 5В по штатным ногам можно было писать AVR... И без каких либо загрузчиков! Цитата ЕЕПРОМ, как известно, и Атмелы про это писали, при пониженном напряжении может сходить с ума при попытке записи в него. Этот глюк остался и ячейку ЕЕПРОМ с адресом 0 опытные шаманы не используют, поскольку если что, то она страдает первой. Этот "глюк" с таким-же успехом присутствует и во внешних EEPROM. Связан он с особенностью этого типа памяти - необходимости высокого напряжения для записи ячеек.
|
|
|
|
|
Dec 26 2007, 09:17
|
Местный
  
Группа: Свой
Сообщений: 234
Регистрация: 30-03-07
Из: Одесса
Пользователь №: 26 621

|
Цитата(ArtemKAD @ Dec 25 2007, 19:23)  А мужики-то и не знают 8-) . Особенно когда предусматривалось переписывание ПО по штатным ногам устройства. Штатно питание было 7-20В. А при подаче 5В по штатным ногам можно было писать AVR...
И без каких либо загрузчиков! Что-то в этой части текста присутствует какой-то хотический смысл - вся конструкция напоминает чистый оксюморон. Пообстоятельнее разъяснили бы, какие такие 7-20В, куда и откуда 5В? Цитата(ArtemKAD @ Dec 25 2007, 19:23)  Этот "глюк" с таким-же успехом присутствует и во внешних EEPROM. Связан он с особенностью этого типа памяти - необходимости высокого напряжения для записи ячеек. Внешние ЕЕПРОМ обычно имеют внутренний супервайзер, который срабатывает раньше, чем наступают глюки. ЕЕПРОМка в этом случае возвращает NACK, если она И2Цсная, либо ошибку в статусе. С Атмеловскими не работал, ни Микрочиповские работают именно так. И ваще, при недостатке питания, если схеме умножения не разовьет должного напряжения, то записи просто не должно произойти, а не произойти запись по случайному адресу. Этот глюк говорит о том, что не схема умножения сходит с ума, а мультиплексор. Это явно ошибка разработчиков чипа.
|
|
|
|
|
Dec 26 2007, 10:56
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(oran-be @ Dec 25 2007, 15:16)  При заземлении этих ног проблема уходила. Конечно, в 85х5 пи этом приходилось жертвовать SPIем. Pull-down 5-10k недостаточно было? Тогда бы и SPI остался. По сабжу ни разу ничего не слетало просто так. Слет'а EEPROM'а на AVR'ке в глаза не видел, хоть в коде используется и запись и чтение всегда. флеш слетал, но далеко не по вине Atmel'а, а при таких условиях: 1) a. Прошит бутлоадер. b. Используется 5-ти вольтовая внешняя память в которой могут храниться указатели на функции. c. BOD на 2.7V. либо 2) a. Прошит бутлоадер. b. Выключен BOD, нет супервизора. Причем если от 1) можно еще как-то защититься - перемычками, двойными-тройными проверками перед записью страницы, задержкой перед стиранием и т.п., то от 2) никакие "финты" в бутлоадере не спасают. Цитата(SasaVitebsk @ Dec 26 2007, 13:41)  Причину выясняли. Если использовать хороший блок питания, то проблемы исчезают. Но дело в том, что мы делали изделие с внешним блоком питания. А обычно использовался китайский. Сделали часть изделий со своим встроенным импульсным блоком питания - ни одного случая вылета не наблюдалось. Слеты скорее всего были связаны с "кратковременными просадками" питания - у МК портится содержимое регистров в т.ч. PC, надо бы его сбрость, а супервизор "зевает", МК прыгает на случайный участок кода, потом когда питание восстанавливается - этот участок кода выполняется и алес.
|
|
|
|
|
Dec 26 2007, 17:02
|
Профессионал
    
Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364

|
Цитата Что-то в этой части текста присутствует какой-то хотический смысл - вся конструкция напоминает чистый оксюморон. Пообстоятельнее разъяснили бы, какие такие 7-20В, куда и откуда 5В? Ну если все еще не понятно объясняю чуть иначе. Плата со стабилизатором 78L05 и 90s8515 на RESET-е которого стоит супервизор на 4,2В. Ноги 90s8515 используемые при программировании (SPI) использовались как два входа и один выход. При этом до срабатывания супервизора (Uп=7-20В) это обычные ноги, а при сработавшем супервизоре (Uп=...-5В) это ноги ISP. За 4 года выпуска таких плат проблем со случайным слетанием флешки от внешних сигналов на ногах SPI обнаружено небыло.
Сообщение отредактировал ArtemKAD - Dec 26 2007, 17:03
|
|
|
|
|
Dec 29 2007, 11:13
|
Местный
  
Группа: Свой
Сообщений: 234
Регистрация: 30-03-07
Из: Одесса
Пользователь №: 26 621

|
Цитата(Serj78 @ Dec 29 2007, 00:27)  Опытные шаманы не используют несколько ячеек с начала памяти  Ну что. Я - падйолкой. Очень Опытные Шаманы, чтущие законы Мерфи, прочитав лет 10 назад еррату на Мегу103, воздержались от применения АВРов до тех пор, пока другие, менее опытные шаманы не перестали рассказывать о аномальных явлениях, происходящих с кристаллами АВР. После этого Очень Опытные Шаманы, чертыхаясь, переписали основную массу драйверов, написанных менее опытными шаманами(некоторые из которых непонятно было, как они ваще работали) после чего в использовании АВРов начали наблюдаться некоторые признаки стабильности и комфорта. Чего всем и желаю в Новом году.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|