ATMEGA128 Input Capture Fragen zur Zeitmessung

Gast #1316224
Lesenswert?
• ▲
▼
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren