Вообще, с ОЗУ контроллера при сбросе действительно ничего не происходит. Более того, при выключении питания тоже содержимое ОЗУ сохраняется некоторое время (несколько минут) невредимым. Я это использую в одной разработке следующим образом: есть некое состояние системы, которое вообще было бы неплохо (но не обязательно) восстанавливать после сбоев питания. Однако в EEProm для данного состояния места нет, да и состояние меняется слишком часто чтобы позволить себе запись в ЕЕПром. Выход - храним состояние в ОЗУ. А при старте МК проверяем, в порядке ли состояние в ОЗУ. Если нет - не беда, "холодный" старт. Если же в порядке - ну повезло, старт будет "горячий". Проверка правильности выполняется просто - контрольная сумма, пересчитываемая при каждой записи в "охраняемую" область ОЗУ. Позднее на плату добавился ионистор для поддержки питания МК в течение нескольких десятков секунд для того чтобы сохранить всё в ЕЕПром, при этом обнаружился эффект: при разрядке ионистора и падении напряжения питания до 2.4 в МК вырубается BOD-ом, при этом МК почти перестает потреблять энергию и оставшиеся 2.4 падают до 0.5в в течение нескольких часов. Всё это время состояние ОЗУ сохраняется! Т.е. если ус-во включить - то происходит горячий старт с поднятием состояния из ОЗУ. Вот такие пироги.
|