Gast
#1316224
Hallo Leute,
ich kenn mich mit Softwareschreiben nicht so gut aus und habe folgende
Problemstellung:
An einem ankommenden Signal soll die High-Zeit TH gemessen werden.
TH kann zwischen 2-5 ms liegen. Die Abweichung zweier
aufeinanderfolgender TH Zeiten darf +/-2% nicht überschreiten (bei TH
zw. +/-20µs und +/-100µs).
Die Low Zeit TL ist ein ganzzahliges vielfaches n von TH. n kann max. 15
sein.
Anschliessend erfolgt nochmals ein Puls mit TH, der gleichlang dem
ersten sein muss, ansonsten handelt es sich umeinen Fehler.
Signal:
_____ _____
___| TH |_____TL = n * TH________| TH |___
Das Signal habe ich an OC1 (PD4) angeschlossen.
Soweit ich bisher gelesen habe, kann man sowas mit dem Inputcapture des
ATMEGA128 erschlagen.
Bei steigender Flanke soll mit der Messung gestartet werden, bei der
nächsten fallenden gestoppt. Dieser Wert TH soll dann auf Gültigkeit
überprüft werden (zw. 2-5ms) und dann als Grundlage für die TL
Berechnung dienen.
Die nächste Steigende Flanke legt die TL Zeit ja fest.
Wie kann ich denn das softwaretechnisch realisieren?
Viele Grüsse und danke für Eure Hilfe!!
Christian