|
Дивайс на mega162., Сбои в работе. Нужен совет. |
|
|
|
Jul 23 2010, 06:01
|
Участник

Группа: Свой
Сообщений: 58
Регистрация: 1-08-05
Пользователь №: 7 242

|
Доброе время суток, уважаемые коллеги.
Есть девайс на меге162+ОЗУ 32кБ. Плата двухслойная. Длина линий шины адреса/данных - 40-50 мм. Разводка неплохая, с обеих сторон свободное место залито полигонами. Тактируется кварцем 16 МГц. Питание 5В подается через тонкий 7 см шлейфик вместе с SPI интерфейсом от головного устройства. Питание на головном устройстве сделано на MC33063.
Проблема такая: иногда на некоторых редких объектах происходит зависание меги162. Также иногда на ней же портятся данные во внутренней ЕЕПРОМ и памяти программ. Встроенные BOD и WDT задействованы. Внешних нет.
Я думаю, что память программ может портиться из за того, что программа перепрыгивает непостижимым образом в область загрузчика, где есть ф-ции работы с SPM. Однако ж там перед программирование проверяются CRC и т.п. Но не смотря на это данные портятся. Иногда даже загрузчик портит сам себя. Грешу на не очень удачную разводку линий тактирования от кварца: длина проводников 2-3 см, с переходом на нижний слой и обратно, кондеры расположены рядом с кварцем - довольно далеко от проца.
Из решений пока только приходит работа от внутреннего RC-генератора... Дело осложняется тем, что в условиях лаборатории этих проблем выявить не удалось.. как только не гоняли. Испытания в лаборатории импульсных помех тоже результата не дали. Поэтому действовать приходится практически наугад.
Может, кто то выскажет свои соображения, пути решения?
|
|
|
|
|
 |
Ответов
|
Jul 30 2010, 01:37
|

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

|
Очень сомневаюсь, что дело в МК и тем более тактировании или разводке...
Программа в MK наверняка использует ICALL / IJMP, данные для которых берутся из внешней памяти, а внешняя память неподконтрольна BOD'у, отсюда и выполнение случайного кода...
Риторический вопрос: Сохраняет ли достоверность и работоспособность внешняя память и защелка во всем диапазоне напряжений от Vbod и до номинального VCC?
Советы: 1. Поместить стек и по возможности все критические структуры данных, содержащие адреса callback'ов, во внутреннюю память МК. 2. Поставить порог Vbod самый большой из возможных (4.3V). 3. Экранировать плату на объекте (использовать металлические корпуса). 4. Для защиты секции бутлоадера использовать соответвующую комбинацию BLB LOCK битов, которая просто непозволит туда писать. (это работает 100%). 5. Для защиты eeprom пользовать его исключительно как storage device, применить дублирование и CRC при записи, и восстановление битой копии при чтении.
PS: Из своей практики, имел дело с серийным устройством m162 +32kb с совершенно дебильной разводкой, так вот с примененными выше советами - из пары сотен таких девайсов (а работают они на подстанциях 10-36КВ), ни один не слетел за последние 5 лет. Бутлоадер в них есть, если BOD отключить флеш слетает моментально - достаточно пару раз выключить и включить.
|
|
|
|
Сообщений в этой теме
eastwind Дивайс на mega162. Jul 23 2010, 06:01 777777 Цитата(eastwind @ Jul 23 2010, 10:01) Мож... Jul 23 2010, 06:41 eastwind Цитата(777777 @ Jul 23 2010, 12:41) При з... Jul 23 2010, 07:45  Палыч Цитата(eastwind @ Jul 23 2010, 11:45) Как... Jul 23 2010, 08:09  777777 Цитата(eastwind @ Jul 23 2010, 11:45) Нет... Jul 23 2010, 08:27   eastwind Цитата(777777 @ Jul 23 2010, 14:27) Я име... Jul 23 2010, 09:43    kosyak© Цитата(eastwind @ Jul 23 2010, 13:43) ...... Jul 24 2010, 20:31  Клим Цитата(eastwind @ Jul 23 2010, 10:45) Нет... Jul 23 2010, 08:34 Savrik Ставте "ловушки" - и по питанию, и по си... Jul 23 2010, 06:58 Палыч Цитата(eastwind @ Jul 23 2010, 10:01) Так... Jul 23 2010, 07:21 Savrik Ну всплеск можно ограничить любыми средствами, сам... Jul 23 2010, 08:06 zombi А есть электролитик по питанию? сразу после ... Jul 23 2010, 15:51 eastwind Цитата(zombi @ Jul 23 2010, 21:51) А есть... Jul 24 2010, 14:32  Dx! Цитата(eastwind @ Jul 24 2010, 18:32) нет... Jul 25 2010, 15:21 andrewkrot А чем занимается Ваша плата? На ней нет реле или и... Jul 23 2010, 16:55 rtfcnf Попробуйте поставить внешний супервизор, отключив ... Jul 23 2010, 18:49 eastwind 1. Поставил на проблемном объекте внешние супервиз... Aug 1 2010, 07:47 Kovrov ИМХО ключево слово - spi интерфейс идет шлейфиком.... Aug 4 2010, 16:37
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|