1

Téma: Zálohované RTC

Vypadá to, že zařízení nemá zálohované RTC - po zapnutí se vždy nastaví čas na 1.1.2022 a opraví se až po spojení s časovým serverem. To je docela nepříjemné, protože u událostí, které vzniknou předtím, nejsem schopen čas zjistit (jedině zpětně dopočítat podle uptime). Běžně čas naběhne rychle za pár sekund, ale v případě nefunkční sítě to může být několik hodin.

Jelikož se jedná pravděpodobně o konstrukční záležitost, nelze očekávat v rozumné době žádnou úpravu. Lze k zařízení připojit nějaký externí RTC čip třeba přes 1-Wire?

2

Re: Zálohované RTC

Interní RTC v procesoru je, ale není aktivní pokud je vypnuto napájení. To platí pro aktuální HW - SDS BIG a SDS STSW.
Proto je potřeba použít externí RTC.

Externí RTC lze připojit přes I2C sběrnici, dostupnou u BIG/BIG2 na konektoru SC2.
To znamená ale vhodný doplňující HW.
Viz např. referenční design desky SW-RELE6 (kde není RTC ale je tam popis I2C sběrnice).

Byla úvaha o aktivaci zálohovaného RTC v rámci aktualizované desky BIG2, tzn. doplnění součástky krystalu,
zatím se to řeší (jestli se to na desku fyzicky vleze) pro finální verzi "BIG2 DP DS84". Uvidíme.
Ale všechny současné HW varianty (BIG, STSW, "BIG2 DP") toto nepodporují (fyzicky nemají osazen potřebný krystal).

Pozn.
- Interní RTC si zachovává čas, tak dlouho dokud je zapnuto napájení, tedy "přežije" např. reset systému apod.
- SDS zpětný výpočet podle UpTime využívá, viz např. stránka "LOG/HISTORY" ve webové administraci

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

3

Re: Zálohované RTC

Děkuji za odpověď. Chtěl bych se ještě zeptat na zapojení konektoru S2C. Údajně jsou tam jen piny, nemám teď SDS u sebe. Uvažujeme totiž připájet tam konektor, aby v případě, že  bude zákazník potřebovat zálohované RTC, mohl si ho tam sám "docvaknout".

4

Re: Zálohované RTC

Konektor SC2.

https://wiki.merenienergie.cz/subdom/wiki/index.php?title=I2C

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

5

Re: Zálohované RTC

Děkuji, nemohl jsem to najít.

6

Re: Zálohované RTC

adamn napsal:

Konektor SC2.

https://wiki.merenienergie.cz/subdom/wiki/index.php?title=I2C

V odkazu se píše, že přídavná deska SW-RTC se chystá. Jak to vypadá časově? Je to otázka měsíců nebo spíš roků? My ten zálohovaný čas asi budeme potřebovat, takže když tak si nějakou desku v pár kusech vyrobíme sami.

Jinak musím (jako věčný tazatel) SDS vychválit, funguje nám bezchybně (až na občasné chyby smile, ale ty jsou většinou promptně řešeny). Pokud si vytvoříme knihovny (v podstatě c moduly, které se musí vložit do cílového programu) ovladačů různých připojených zařízení, dá se z toho celkem rychle vytvořit zařízení pro ovládání všeho možného.

7

Re: Zálohované RTC

Návrh bude připraven na konci 2022 nebo začátku 2023, ale výroba nejdříve v 2023.
Pokud si to zvládnete vyrobit sami, můžeme se domluvit i na takovém řešení (pošlu gerber + osazovák).

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

8

Re: Zálohované RTC

adamn napsal:

Pokud si to zvládnete vyrobit sami, můžeme se domluvit i na takovém řešení (pošlu gerber + osazovák).

Ano, měli bychom zájem, asi to pro nás dost spěchá a aplikace je na tom dost závislá. Můžete to poslat na můj e-mail?

9

Re: Zálohované RTC

Informace zde:
https://wiki.merenienergie.cz/subdom/wiki/index.php?title=SDS_BIG:_SW-RTC-COM-O6

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

10

Re: Zálohované RTC

V dokumentaci je uvedeno:

V případě, že nechcete aby SDS využívalo NTP, lze NTP v nastavení vypnout. Čas pak musíte celému systému dodat sami, zápisem do příslušných indexů (viz seznam).

(viz seznam) bohužel není odkaz a v systémových proměnných nějak nemohu najít nic, kam bych mohl hodnotu času uložit. Mohu si samozřejmě v aplikaci místo času z SDS načítat čas z RTC a případně jej pak synchronizovat s časem, získaným z NTP - tako kombinace mi připadá nejlepší. Výše zmíněný text však napovídá, že se dá čas v SDS nastavit programově.

Ještě dotaz: čas z NTP se načítá pouze jednou po spuštění nebo se nějak pravidelně občerstvuje?

11

Re: Zálohované RTC

Funkce SDS_set_RTC() - vyžaduje to mít nainstalován aktuální firmware.

NTP - pravidelně.

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

12

Re: Zálohované RTC

Obvod zálohovaného RTC DS3231 na I2C funguje. Pouze drobnost k funkci SDS_I2C_rw, ta vrací při úspěchu vždy 0 a ne počet přenesených bytů, což mi ani tak moc nevadí, když všechno proběhne dobře.

13

Re: Zálohované RTC

Dokumentace k funkci je opravena.

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

14

Re: Zálohované RTC

Super, to se mi hodí.

Ještě bych prosil o radu, jak synchronizovat čas v systému z obvodu RTC.

15

Re: Zálohované RTC

Celkový způsob bude záviset na konkrétní aplikaci (kterou neznám).

Princip ovšem bude vesměs stejný.

Za běhu si SDS získává čas, z NTP serveru, a samo si to zapíše do svého interního RTC. Viz nákres na wiki.
Pokud NTP server nemá, musíte čas do SDS dodat "ručně", přes funkci SDS_set_RTC().
Kde aktuální čas vezmete, je otázka konkrétní aplikace.

Samozřejmě důležité je obousměrně synchronizovat obě RTC - interní v SDS a vaše externí.
Protože po vypnutí napájení se interní RTC nuluje (nemá zálohu - to neplatí pro BIG2-DP-DS84, kde nic z tady toho už nebude potřeba dělat).
To znamená, že po zapnutí SDS, za předpokladu že ve vašem externím je platný zálohovaný čas, je potřeba co nejdříve do SDS čas z tohoto externího RTC přepsat (funkce SDS_set_RTC).
A naopak, do vašeho externího RTC je potřeba zapsat (zapisovat pravidelně) platný čas, jakmile je (nějak) znám. To už se udělá přes vhodnou I2C komunikaci dle použitého chipu.

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !