Ač je to často uváděno, AXP209 RTC ve skutečnosti NEobsahuje. AXP209 obsahuje pouze blok pro napájení RTC. Je to možné snadno dohledat v dokumentaci k AXP209. RTC je ve skutečnosti až v A20. Taktéž dohledatelné v dokumentaci.
RTC v A20 umí jako oscilátor použít vnitřní RC low power oscilátor a nebo krystalový oscilátor. Pro krystalový oscilátor je nutné mít přípojený vnější krystal 32768Hz. To asi u BPi je ve všech verzích. Ve výchozím nastavení je využit právě ten vnitřní RC oscilátor. Ten je však dost nepřesný. Zkoušel jsem to na dvou čipech a zpožďují se o řádově deset minut za den. Chyba RC oscilátoru ale bude zřejmě značně závislá na teplotě. Je třeba tedy přepnout na vnější krystalový oscilátor (zatím nevím jak). Co jsem zkoumal, Bananian toto přepnutí nedělá a používá RC oscilátor.
AXP209 má zvláštní pin pro baterii pro napájení RTC, ale vypadá to, že pokud tato není připojena, napájí RTC z "hlavní" baterie, pokud je.
Krystal je sice přesný, ale taky ujíždí s kvadrátem teploty. Takže korektní řešení u zařízení s konektivitou je krystal + NTP client...
Co se RTC týká, tak jako nejvtipnější věc pro tohle použití, co jsem zažil, vidím periferii RTT (Real Time Timer) a AT91SAM7Xxxx.
- By default RC oscilátor s výchozí přesností v procentech
- Kalibrace tuším v 256 krocích pomocí hlavního oscilátoru
- Pomalý krystalový oscilátor na čipu není
- Externí vstup frekvence pro hodiny není
- Naštěstí se to dá přepnout na dělený hodiny odvozený z hlavního krystalu, ale přesnost je o řád horší, než s hodinkovým krystalem a musí se pravidelně synchronizovat s externím RTC nebo s NTP.
- Počítá jenom sekundy, zbytek musí řešit SW
Bych docela rád věděl, proč vůbec takovou periferku soudruzi od Atmelu na čip vůbec bastlili... Asi jim na čipu zbylo pár čtverečních mikronů a neměli tam co dát. Ve výsledku je přesnější počítat průchody napájecího napětí v síti nulou...
A nebo http://www.aliexpress.com/item/Free-shipping-1pcs-lot-DS3231-AT24C32-IIC-Module-Precision-Clock-Module-DS3231SN-for-Arduino-Memory-module/32262714896.html i s baterkou a dopravou za 90 centů.