fk0, легенда (30.05.2013 11:03, просмотров: 57) ответил Лагунов на Здесь вот засада как раз в слежении за питанием. Я обязан записать текущее состояние при отключении питания во время заправки (статус и отпущенные литры). А при многочисленных мелких бросках начинаются коллизии. Главное отловить это очень тяжело.
Не понимаю, зачем привязываться к отключению питания? Писать нужно через каждый литр или как-то так, пока электричество не кончится. И, разумеется, предусматривать, что запись всегда может быть прервана, т.е. по крайней мере вторая копия обязательна. Я вообще про то, что источник питания может находиться в пограничном состоянии выдавая напряжения ниже номинального, с медленным ростом напряжения от уровня ниже номинального (что вообще регламентируется даташитами, часть схем автоматического сброса встроенных в микросхемы -- не запустятся, всё будет глючить до снятия питания), может многократно, несколько (десятков) раз в секунду перезапускать прибор. И чтобы такого не было -- источник питания должен иметь функцию "undervoltage lockout" с гистерезисом.
А порча чего-то за пределами положенного скорей связана таки с работой микроконтроллера при недопустимых напряжениях (должен обязательно сбрасываться), работой самой микросхемы в таком случае (у нас был случай -- RESET у NOR flash в воздухе болтался, и при пограничных состояниях она себе 0-ую страницу стирала пару раз, резистор паяли, чтоб пока процессор в сбросе был вечный RESET -- помогло, а в других микросхемах встроенная схема сброса, но как я уже сказал она может не сработать), обрыв записи из-за сброса контроллера может превратиться в операцию записи не по тому адресу -- это уже больше от интерфейса зависит, в I2C возможно, ряд прерванных операций, из-за многкратных сбросов CPU, может восприниматься как другая операция, а в SPI, например, сигнал Chip Select однозначно завершает обмен, но не будь он притянут резистором или хотя бы pull-up в контроллере -- с болтающихся в воздухе ног микросхема может наловить любые команды записи куда попало.
[ZX]