Forum: Mikrocontroller und Digitale Elektronik Ungleichmäßiges Chiptempo?


von Andreas Mühling (Gast)


Lesenswert?

Hallo.

Ich arbeite an einem Projekt mit einem Zilog Z8 Encore (18,432 MHz)
Mikroprozessor. Dabei soll auch eine Art "Uhrenfunktion"
implementiert werden. Gut und schön, also einen Timer gesetzt,
Abweichung gemessen, neuen Reload berechnet (bzw. die Software das tun
lassen).
Nun zeigt sich aber, dass es trotzdem ziemlich ungenau läuft.
Genauer: Die Abweichung ist in sich nicht konstant.

Es passieren z.B. solche Dinge wie:
Abweichung am 1. Tag 5 Sekunden.
Abweichung nach 3 Tagen: 30 Sekunden, nicht etwa 15.

Oder auch:
Messung der (initialen) Abweichung über 6 Stunden - es läuft
(deutlich!) genauer als wenn die Abweichung über 23 Stunden gemessen
wurde (um dann daraus den neuen/richtigen Reload zu berechnen) - was
auch nicht normal sein sollte, da eine längere Zeitspanne auch einen
genaueren Wert der Abweichung liefern sollte, wenn man annimmt, dass
diese linear ist und dass der Chip "gleichmäßig" läuft.

Die Software zur Berechnung ist getestet, also wenn man (per Hand)
Abweichungen eingibt, wird der korrekte Reload Wert berechnet und die
"Messung" kann eigentlich auch nicht schief laufen, und selbst wenn
kann ich mir immer noch keinen Reim auf die scheinbare
"Nicht-Linearität" machen. Ich habe am Anfang auch die Messung /
Berechnung komplett per Hand gemacht und den Wert jeweils fest
eingebaut. Mit ähnlichen Ergebnissen.

Gleich vorweg: Mein Gebiet ist lediglich die Software und es geht mir
auch darum abzuklären ob es daran liegen könnte, bzw. ob jemand von
euch etwas Ähnliches auch schon erlebt hat.

Irgendwelche Ideen?

MfG,
Andy M.

von ---- (Gast)


Lesenswert?

Könnte eine Temperaturschwankung dafür verantwortlich sein (nachts
kalt)?

----, (QuadDash).

von Andreas Mühling (Gast)


Lesenswert?

Hab ich mir auch schon gedacht.
Aber die Schwankung könnte höchstens (wegen der Heizung) zwischen etwa
21 Grad und etwa 15 Grad liegen und diese 6-7 Grad sollten doch
wirklich keinen Unterschied in dieser Größenordnung machen?
Dagen spricht auch, dass dann eigentlich die Messvariante mit 23
Stunden Dauer diesen Unterschied bereits "rausgemittelt" haben sollte
während eine Messung mit nur 6 Stunden dann Tags oder Nachts deutlich
ungenauer laufen sollte.
Aber falls jemand die Erfahrung gemacht hätte, dass ein solcher
Unterschied tatsächlich eine derartige Schwankung der Taktrate
ausmacht, wäre das natürlich ein Ansatz den man näher überprüfen
könnte.

Danke auf jeden Fall.

Andy M.

von Jochen (Gast)


Lesenswert?

Ist der Reload in Hardware oder macht das die Software?
Bei Software muss man ein bisschen aufpassen.

von Steffen (Gast)


Lesenswert?

Z8, lang ist es her.

Könnte es evtl. sein, dass der Einsprung in die ISR Hardwarebedingt +/-
einen Zyklus haben kann?

Nur als Idee, bei den PICs ist es so.

von Andreas Mühling (Gast)


Lesenswert?

Der Reload ist sowohl Hard- als auch Software.
Der Software Reload bleibt immer gleich (1024) und der Hardware Reload
wird entsprechende modifiziert (ursprünglich ist er 17999).
Die Berechnungen richten sich im Grund nach den Erklärungen die man
auch hier irgendwo im Forum finden konnte ("timebase.zip" - an den
Post kann ich mich nicht mehr genau erinnern), also, wenn man die
Berechnungsformel ein bisschen umstellt läuft es im Grunde auf das
Gleiche raus, was da beschrieben wird. Es wird auch einmal pro Sekunde
ein Ausgleichs Reloadwert geladen um evtl. krumme Ergebnisse zu
berücksichtigen.

Aber selbst wenn der Einsprung in die ISR +/- 1 Zyklus versetzt wäre
(angenommen es wäre nicht immer derselbe Wert - das ist es was gemeint
war, nehme ich an?), dann würde also im ungünstigsten Fall jedesmal 1
Zyklus dazukommen oder fehlen, was niemals eine Abweichung von 5
Sekunden nach knapp 24 h erklären könnte (bei den 18 MHz sollte es sich
da noch im ms Bereich abspielen).
Oder habe ich das jetzt missverstanden?

Andy M.

von Steffen (Gast)


Lesenswert?

Na ja, das mit dem Einsprung war nur so ne Idee( hast Du richtig
verstanden). Das könnte evtl. die unregelmäsigen Abweichungen erklären.
Ob das beim Z8 wirklich sein könnte? Wie gesagt, als ich mit dem Z8
gearbeitet habe ist schon verdammt lang her.

War übrigens vor ca. 16 Jahren mein erster Kontakt mit einem MC. Aber
schön zu lesen, dass die immer noch nicht ausgestorben sind. Das
Arbeiten damit hat echt Spass gemacht.

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.