Forum: Mikrocontroller und Digitale Elektronik ATMEGA128 Input Capture Fragen zur Zeitmessung


von Christian (Gast)


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

von STK500-Besitzer (Gast)


Lesenswert?

Zum Thema ICP gibt es eine ApplicationNote auf der Seite von Atmel.

von Christian (Gast)


Lesenswert?

Ist das die AVR135?

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.