PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SDA2208 - IR - Auswerten mit ATMEL



Kaiser-F
10.07.2006, 19:03
Hallo Leute!

Ich habe eine IR-Fernbedienung, welches mit dem SDA2208-3
Signale über Infrarot sendet. Ich möchte ein Empfängermodul nachbauen.
Leider kann ich aus dem Datenblatt nicht herauslesen, wie ich
die Daten am Atmel auswerten kann... Es steht auch kein Protokoll
dabei wie zB RC5 oder so.

Prinzipiell würd ich gerne wissen, wie die Signale ankommen...

Darum bitte ich Euch, mal einen Blick ins Datenblatt zu werfen und/oder
Erfahrungen oder Ideen zu posten.

Vielen Dank!

Hier der Link zum Datenblatt:
http://www.sir-kaiser.de/upload/SDA2208-3.pdf

uwegw
10.07.2006, 19:45
Die Daten werden anscheinend manchestercodiert seriell gesendet...

Kaiser-F
10.07.2006, 22:21
Hallo und danke für die Antwort!

Also wenn ich das auf Seite 5 richtig verstanden habe:

Unter Composition of Telegram

Wird ein Taster gedrückt (und gehalten), dann wird der bereich "a" gesendet welcher eine Sendung ankündigt sozusagen...

Dann folgt der bereich "c", welcher so lange der Taster gedrückt ist,
fortlaufend gesendet wird.
"c" ist das was auch Seite 6 zu sehen ist oder? die 10 Bits....

Lässt man die Taste los, so wird der bereich"f" gesendet.
damit weiß der Empfäger, dass die taste nun losgelassen wurde.


Wenn man mit Interrupts arbeitet tut man sich wohl leichter denke ich oder?`Das mit dem Manchastercode ist gatnicht so ohne zu programmieren....

Kaiser-F
10.07.2006, 22:23
Da das Startbit immer 1 ist, kann man ja dann seinen timer Synchronisieren...
Schön langsam glaub ich schnall ichs...

Ich geh ins Bett... Gute Nacht!

uwegw
11.07.2006, 11:41
Da das Startbit immer 1 ist, kann man ja dann seinen Timer Synchronisieren...
Ja, das ist der Clou beim Manchestercode: man kann aus dem Datenstrom das Taktsignal zurückgewinnen...

Kaiser-F
27.07.2006, 16:56
Hallo,

Ich habe nun einen Lösungsvorschlag:

Sehen Wir uns mal diese Grafik an:
http://www.sir-kaiser.de/upload/SDA2208-3_Pulse.JPG

Vorschlag1:
Das Presignal (Vorsignal) löst einen Interrupt aus.
Mit diesem Wird der Timer gestellt.

Jetzt wird quasi auf das Startbit gewartet.
Es muss also nochmal an Externer Interrupt die Flanke erkennen,
bevor der Timer abläuft. Läuft der timer zuerst ab, gilt Empfangsfehler.

Löst der Interrupt aus, so wird der timer so eingestellt, dass er nach nem Vierteltakt des folgenden Taktes den Eingang prüft. Dabei wird auch der
Externe interrupt deaktiviert.
Der Timer prüft also immer um ein Viertel versetzt den Eingang.


Vorschlag2:
Das Selbe wie oben, nur dass in jedem empfangstaktzyklus zwei mal der eingang gecheckt wird. Einmal viertelt versetzt und einmal dreiviertelt versetzt. Hier kann man Fehler erkennen.
Die zwei Bits müssen jeweils unterschiedlich sein.


Was sagt ihr dazu?