Spánek a probouzení
Bateriové zařízení má jediné číslo, na kterém záleží: střední proud. Je to vážený průměr režimů, a váha je čas — ne úmysl.
Probouzení je práce, i když se při něm nic nedělá
Krystal se rozbíhá jednotky milisekund, PLL se zachytává další, regulátor napětí se ustaluje. Po celou tu dobu čip bere plný proud a nedělá nic. Zařízení, které se probouzí dvacet milisekund a pak pět milisekund pracuje, tráví osmdesát procent své bdělé energie tím, že se probouzí.
Odtud dvě rady, které jdou proti intuici: probouzet se méně často a na déle je skoro vždy lepší než častěji a nakrátko — a nepoužívat krystal, pokud to jde, protože vnitřní RC oscilátor je připravený za mikrosekundy. Přesnost se pak dohání jen v okamžiku, kdy je opravdu potřeba.
Řády, ve kterých se to pohybuje
| režim | typicky | čím se probouzí |
|---|---|---|
| běh na plné hodiny | 20–80 mA | — |
| sleep (jádro stojí) | 2–10 mA | jakékoli přerušení, okamžitě |
| stop (periferie stojí) | 10–200 µA | pin, RTC — desítky µs až ms |
| standby (RAM se ztrácí) | 0,5–5 µA | jen pin nebo RTC, a je to reset |
Poslední řádek je past: standby ušetří nejvíc a stojí obsah paměti. Zařízení se z něj neprobudí — ono nastartuje, a stav si musí najít někde jinde (zálohované registry, RTC, flash).
Kde se ztrácí ten zbytek
Ve čtyřech mikroampérech, o kterých nikdo neví: pull-up rezistor na sběrnici, dělič na měření napětí baterie, svítící LED „napájení“, plovoucí vstup, který se topí (LogicLab, kap. 1). Deset kiloohmů na 3,3 V je 330 µA — sto šedesátkrát víc než celý spící čip.