ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
27 ноября
159212 Топик полностью
Chum_A (17.06.2009 13:07, просмотров: 93) ответил Хитрый китаец на Накидайте соображения по контролю целостности данных в ОЗУ микроконтроллера, пожалуйста.
В части выделки овец, ИМХО существенно зависит от объекта управления. На некоторых объектах актуально, например, дублирование аппаратуры. Т.е. если обнаружен сбой ОЗУ, то это повод передать управление резервному каналу. Бывает, что и аппаратную поддержку контроля данных делают. Для программного контроля в литературе (источник не помню) предлагалось, в частности, критические куски обсчитывать два раза или разными алгоритмами и сравнивать результаты. Полезно контролировать диапазон возможных значений входных данных и кодов состояния программных автоматов (см. в соседней ветке дискуссию про CRC в канале связи). Из личного опыта: При включении нагрузок (асинхронные двигатели до 5 кВт) по ~380 формировалась импульсная помеха проходящая в цепь 5В как "иголка" в "+" и в "-" приводящая иногда к срабатыванию BOD в контроллере. По условию задачи повторное включение нагрузки не допускалось ранее, чем через 5 мин после отключения. В ОЗУ хранилися массив кодов состояния нагрузок (с CRC). После рестарта контроллера, при целом СRC, состояние нагрузок восстанавливалось, т.е. разрешалось включение ранее не включавшихся, включались бывшие включенными (за время восстановления контроллера включенные контакторы не успевают "отпустить") и отрабатывалась задержка для отключенных. При проведении многочисленных опытов сбоев в ОЗУ при срабатывании BOD замечено не было. Но это конкретное ОЗУ (кстати, внешнее) в конкретной схеме при конкретных помехах.