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
Zum Thema ICP gibt es eine ApplicationNote auf der Seite von Atmel.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.