Цитата(ivainc1789 @ Dec 15 2009, 19:37)

То есть как? Вкл/выкл нагрузок просаживают питание! А нагрузки-то нехилые: что сс1100, что подсветка (LED) LCD. Как вы обходитесь без стабилизатора, если применяете сс1100???
1100 вместе с процессором при максимальной мощности на TX - до 30 mA, я использую литий-тиониловую батарею с довольно большим внутренним сопротивлением, но проблем по причине просадки не испытываю. Правда, супервизор на 2.9V оказался "великоват". А пара алкалиновых батарей - это уж по крайней мере 2.5V даже когда на грани издыхания, а у 1100 нижняя граница питания - 1.8V. Это с запасом. Вот подсветка LED - да, штука прожорливая. Если, конечно, использовать дешевые модули с желто-зеленой подсветкой...
Цитата
У меня сделано так, что пока батарея свежая - стабилизатор выключен, как только при сильной нагрузке ее напряжение снизится до 2V стаб. включается и уже не откл. в sleep/wakeup. Далее, первое же прерывание от L6920(~LBO) (Vbat = 1.2V) и предупреждаем пользователя "батарея разряжена". Далее, первый же сброс по BOD 1v8 - и попадаем в замкнутый цикл "замените батарею". ИМХО такой подход обеспечит более длит работу от батарей чем вариант без стабилизатора...
Соглашусь, пожалуй. Решение вполне разумное.
Цитата
Об этом то и речь - как это сделать получше. Только нужно учесть, что мало перейти при просыпании в режим 1с, нужно еще и правильно зайти при засыпании в режим 8с. Причем ждать пока окончатся текущие 8с не хотелось бы... Вообщем, наверное тут достаточно использовать вроде только прерывание OC2A, его должно хватить. Остальные процедуры коррекции можно расположить в основной программе. Щас попробую...
Проснувшись по внешнему событию, вполне можно вытащить содержимое таймера с разрешением 1/32 sec. А дальше никто не мешает вести отсчет по границе секунды (по компаратору таймера), не перенастраивая прескалер таймера (1024). И обновлять показание на индикаторе раз в секунду.
Цитата
Сейчас вот подумал: если сс1100 находится в PWD, то стоит ли его это состояние "обновлять" стробом при каждом пробуждении MCU когда нужны только часы (wakeup 1раз в 8 сек)? Для обработки строба сс1100 должен проснуться? Нет ли здесь ресурса для экономии?
Для обработки строба - да, должен проснуться. Это довольно быстро (~40 uS), но если это не требуется прибору - то зачем ?
Цитата
Но появляется риск, что, например, в грозу сс1100 может сбойнуть сам по себе, перейти в состояние IDLE и разрядить батарею...
Сам по себе - вряд ли. Но у меня с "высоковольтным" супервизором была проблема, когда просадка из-за передачи сбрасывала супервизор, а трансивер оставался на передаче, и батарейки были такие, что ЭДС оставалась слишком низкой для "реанимации". На всякий случай пришлось ввести ключ по питанию трансивера...