andreasw3058
18.05.2008, 14:04
Hallo zusammen,
also ich habe folgendes vor ein R F I D- Signal das in Manchester-Codiert ist auszuwerten. Dazu habe ich Frage. Ich habe folgendes gemacht.
Ein Interrupt der für den Timer1 zuständig ist, Kommt eine Flanke H wird der Timer1 gestartet, bei einer Flanke auf L gestoppt.
Dann habe ich eine Zeit T, ich ermittle die Zeit für die Zwei Möglichkeiten T1(für die 0110) und T2(für die 010), T2 muss dabei kleiner T1 sein .
Jetzt will ich die zeit T1/4 vergleichen mit T2/2 , den da befinde ich mich mitten in dem bit.
1Frage : Da Die Zeit bei jedem Datenbit neu berechnet wird , kommt es doch auch am Ende zu keiner Daten unsymetrie oder Zeit Verschiebung ? oder ??
2 Frage : suche eine Möglichkeit für folgende Problem.
Da ich jetzt den Eingang z.B. PIND.1 (mega8) Abtasten will , brauche ich den Timer2 der die AbtastZeit verfolgt , und ein ZeitInterrupt auslöst um den Eingang direkt nach der Flanke die zeit verstreichen zu lassen , und dann abfragen was für wert.
Es soll Aber bei jeder Flanke neu synchronisieren, mit der neuen zeit(die ja immer neu Berechnet wird). Das Problem habe ich jetzt aber bei… wenn ich 11 habe wird in der ersten 1 in der Mitte abgetastet und dann durch die Zeit T1/4 in dem Übergang 11 und erst in der Mitte der zweiten 1. Also 1,2,3,4,…. . Wobei die 2 und 4 , …. nicht gebraucht werden.
Da es bei jeder Flanke neu eingestellt wird kann es ja nicht weiter als 6 Schritte gehen.
Nach dem Abtasten will ich die Bits in Zweier Pakete fassen und auswerten in 10 o. 01 , die Fehler ausfiltern!
Könnte mir einer da Helfen oder Tipps geben!
Wie findet ihr die Vorgehens Weise ?
LG andi
also ich habe folgendes vor ein R F I D- Signal das in Manchester-Codiert ist auszuwerten. Dazu habe ich Frage. Ich habe folgendes gemacht.
Ein Interrupt der für den Timer1 zuständig ist, Kommt eine Flanke H wird der Timer1 gestartet, bei einer Flanke auf L gestoppt.
Dann habe ich eine Zeit T, ich ermittle die Zeit für die Zwei Möglichkeiten T1(für die 0110) und T2(für die 010), T2 muss dabei kleiner T1 sein .
Jetzt will ich die zeit T1/4 vergleichen mit T2/2 , den da befinde ich mich mitten in dem bit.
1Frage : Da Die Zeit bei jedem Datenbit neu berechnet wird , kommt es doch auch am Ende zu keiner Daten unsymetrie oder Zeit Verschiebung ? oder ??
2 Frage : suche eine Möglichkeit für folgende Problem.
Da ich jetzt den Eingang z.B. PIND.1 (mega8) Abtasten will , brauche ich den Timer2 der die AbtastZeit verfolgt , und ein ZeitInterrupt auslöst um den Eingang direkt nach der Flanke die zeit verstreichen zu lassen , und dann abfragen was für wert.
Es soll Aber bei jeder Flanke neu synchronisieren, mit der neuen zeit(die ja immer neu Berechnet wird). Das Problem habe ich jetzt aber bei… wenn ich 11 habe wird in der ersten 1 in der Mitte abgetastet und dann durch die Zeit T1/4 in dem Übergang 11 und erst in der Mitte der zweiten 1. Also 1,2,3,4,…. . Wobei die 2 und 4 , …. nicht gebraucht werden.
Da es bei jeder Flanke neu eingestellt wird kann es ja nicht weiter als 6 Schritte gehen.
Nach dem Abtasten will ich die Bits in Zweier Pakete fassen und auswerten in 10 o. 01 , die Fehler ausfiltern!
Könnte mir einer da Helfen oder Tipps geben!
Wie findet ihr die Vorgehens Weise ?
LG andi