Forum: Mikrocontroller und Digitale Elektronik Raspberry Pi Systemzeit


von Oliver B. (oliver_b338)


Lesenswert?

Hallo zusammen,

für ein Projekt untersuche ich wie die Uhrzeit auf dem Raspberry Pi 
aufgebaut ist. Sowohl Hardwareseitig also auch Softwareseitig. Da der 
Raspberry ja keinen Real-Time Clock besitzt wird ja beim ausschalten des 
Pi die Uhr nicht weiter betrieben. Um Sie aktuell zu halten wird ja 
meistens NTP verwendet aber das ist für mich alles eher nebensächlich. 
Ich möchte wissen wie die Systemzeit während des Betriebs läuft. 
Irgendwoher muss ja ein Signal kommen oder sowas kommen. Ein Interrupt 
oder ein System Call. Mich interessiert auch wie da der Prozessor 
mitspielt.

Ich habe folgenden Artikel gefunden:
http://yosh.ke.mu/article/raspberry_pi_getting_time

Hier spricht der Verfasser davon, dass ein 1MHz Timer existiert der etwa 
alle 1µs ein Register hochzählt. Da Frage ich mich, wo kommen diese 1MHz 
her bzw. wie wird dieser Takt erzeugt und wie kann ich das 
nachvollziehen?
Wenn ich mir die Implementierung des Verfassers und das Datenblatt des 
Broadcom BCM2835 anschaue, dann müsste es irgendwas mit System Timer von 
S. 172 zu tun haben. Oder bin ich hier voll auf dem Holzweg.
Aber wie hängt das dann am Ende alles zusammen?

Sorry wenn das alles ein bisschen verwirrend geschrieben ist.

von Simon B. (nomis)


Lesenswert?

Oliver B. schrieb:
> Ich möchte wissen wie die Systemzeit während des Betriebs läuft.
> Irgendwoher muss ja ein Signal kommen oder sowas kommen. Ein Interrupt
> oder ein System Call. Mich interessiert auch wie da der Prozessor
> mitspielt.
>
> Wenn ich mir die Implementierung des Verfassers und das Datenblatt des
> Broadcom BCM2835 anschaue, dann müsste es irgendwas mit System Timer von
> S. 172 zu tun haben. Oder bin ich hier voll auf dem Holzweg.
> Aber wie hängt das dann am Ende alles zusammen?
>
> Sorry wenn das alles ein bisschen verwirrend geschrieben ist.

Und sorry, wenn ich nur mit Halbwissen antworte.

Generell ist es so, dass in modernen Applikations-CPUs ein relativ 
komplexes Clock-Framework implementiert ist, wo die Clock-Signale zu den 
verschiedenen Peripherals geroutet werden bzw. die auch umgekehrt die 
Peripherals ihren Takt von unterschiedlichen Clocks bekommen können. Das 
hat viel mit Stromsparen zu tun: je langsamer etwas läuft - oder gar 
abgeschaltet ist - desto weniger Strom braucht man.

Will sagen: Das ist alles typischerweise kompliziert.

Bei dem Raspberry Pi kommt noch dazu, dass der ARM-Core ja eigentlich 
nur ein Peripheral des Broadcom-Videocores ist. Ich habe mir die Clocks 
des RPi nie im Detail angesehen, insofern kann ich Dir nicht sagen, 
woher nun die Systemzeit genau kommt, aber die von Dir genannte Webseite 
bietet da schon sinnvoll wirkende Informationen.

Viele Grüße,
        Simon

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.