Батарея есть пак литиевых кубышек. Промышленная, то есть гарантирует как ёмкость, так и температурный диапазон (-40..+60). Так что её не обсуждаем

К этой батарее прицепляется девайс, который должен раз в минуту опрашивать 4 датчика МИДА-13П ( http://www.nponts.ru/downloads/pdf/13p.pdf ), причём датчики питаются от девайса (по непроверенным данным каждый датчик лопает 1,5-2 мА). И ещё 4 дискретных входа "на землю".
Полученные данные сохраняются в память и сливаются по GPRS (Siemens_MC52i) раз в сутки.
Ещё на плате должны стоять I2C часы (RTC) и их данные сохраняются при каждом измерении.
В принципе, МК, модем и датчики могут работать от 3,6 вольт. RTC такой, думаю, не сложно будет подобрать. Это хорошо.
Вот такое ТЗ.
Как думаю решать. Заказчик хочет AVR, выбрал ATmega328P. Потом, если что, сгоню до требуемого объёма флеша, ибо 328/168/88/48 совместимы по пинам.
МК спит, просыпается раз в минуту (или около того) по вачдогу. ИМХО самый экономичный вариант. Пока не знаю, нужно ли точно раз в минуту, но судя по тому, что запоминается значение часов при измерении, можно +-лапоть.
Проснувшись, подаёт питание на датчики (чем лучше? Самими лапами МК или внешним драйвером?). Пока те приходят в себя (время в ДШ нет, да и ИМХО тупой мост там, но думаю пару мс надо) обмеряю дискретные входы. Потом датчики. Анализирую значения (если они близки к аварийным надо немедленно вызывать базу). Если всё ОК, снова спать.
При наступлении суток включаю питание модема мосфетом (ибо во сне он лопает 50 мкА) и передаю.
На первый взгляд всё хорошо и понятно. Но есть ряд моментов.
1. Чем это дело питать? Потребление меняется от микроампер, до сотен мА (в момент передачи модемом). Нужен экономичный БП.
2. Как питать модем? Из-за сильного потребления при передаче сейчас (у существующей полумакетной версии девайса от предыдущего разработчика) на плате стоит доп. аккумулятор. От него хочется избавиться, плюс это лишняя утечка на свой заряд. Ионистор, боюсь, не отдаст необходимый ток. Есть идея питать модем от отдельного БП, запускаемого МК. Или даже на самом МК собрать степдаун и запускать только когда нужна передача. Посоветуйте.
3. Где хранить данные? Одно измерение, это больше 80 байт. Флеш прожорливые, может есть экономичные ОЗУ? На I2C и т.п.
4. Надо либо избавиться от внешнего RTC, либо сделать его максимально экономичным. Сейчас там стоит DS1307 с внешней батарейкой. Это не только потребление, но и ненадёжность, т.к. я не уверенн что батарейка выдержит необходимый диапазон (-40+60). Значит либо питать RTC надо от основной батареи без резервирования, либо как-то собирать средствами атмеги.
Может есть RTC с ОЗУ совмещённые?