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