[vz-dev] Timestamp < Sekunde, durch AVR-NET-IO

Jakob Hirsch jh at plonk.de
Sun Jan 2 20:23:23 CET 2011


On 31.12.2010 22:09, ITechPro wrote:
> Was ich bisher in Erfahrung bringen konnte wird beim e6 das aktuelle
> Datum in Sekunden seit dem 1.1.1970 00:00:00 UTC [1] in einer
> vorzeichenbehafteten 32bit (uint32_t) Variablen vorgehalten, aus der

Ich hab mir auch mal zwischendurch den Code in services/clock/clock.c
angeschaut. So wie das aussieht, wird dort per timer 50x/s clock_tick()
aufgerufen und dort ticks hochgezählt. Wenn ticks >= 50 ist, wird
timestamp hochgezählt. Man könnte also analog zu clock_get_time() ein
simples clock_get_ticks() machen (oder auch beides mit einer Funktion
abfackeln, aber das ist nur ein Detail). Das wäre also eine Auflösung
von 20ms. Bzw. "ca." 20ms, denn so wie ich die Mail [1] auf
ethersex-devel verstanden habe, die auch JO hier schon verlinkt hat,
kommt das nur so ungefähr hin. Bei niedrigen Leistungen machen 20ms mehr
oder weniger ja kaum was aus, bei hohen schon mehr, aber immer noch
besser als der reine timestamp, oder?
Wenn Multiplikationen nicht allzu teuer auf dem AVR sind, könnte man das
ja dann bequem umrechnen... Ich probier das evt. heut abend einfach mal aus.

Außerdem gibt's noch milliticks (wenn CLOCK_CPU_SUPPORT aktiv ist), bin
nur noch nicht sicher, was das genau ist (ist aber auch nur ein uint8_t).

> Abschließend müssten wir hierfür dann doch einen eigenen volkszähler fork
> von e6 pflegen, da ich derzeit nicht annehme, das derartige Anpassungen/
> Veränderungen in den Hauptzweig übernommen würden.

Haben wir eh schon. Aber ein clock_get_ticks() sollte nicht so das
Problem sein.

> Neben diesen Ansätzen ist es vermutlich auch möglich den Bruchteil einer
> Sekunde Anders zu ermitteln, aber darüber weiss ich leider noch weniger.

Ja. Evt. könnte man über zusätzliche HW (externer Quarz o.ä.) da noch
mehr rausholen, aber dafür kenn ich mich mit der HW zu wenig aus.

> Gruß und einen guten Rutsch

Dito. Bzw. schönes neues Jahr :)

J


[1]
http://www.mail-archive.com/ethersex-devel@list.zerties.org/msg00337.html


More information about the volkszaehler-dev mailing list