Forum: Mikrocontroller und Digitale Elektronik RC5 Fernbedinung am AVR über Tsop1738 in ASM


von Sören T. (stimmy)


Lesenswert?

Hallo,
ich weiß zwar, dass dieses Thema im Forum schon oft besprochen wurde.
Aber ich hätte trotzdem gerne Hilfe bei meinem Projekt.

Ich habe eine TTS35AI Technisat-Fernbedienung für meine SAT-karte.
Ich habe ein TSOP1738, welches, wie im Kristallkopfhörer zu hören, die 
Fernbedienung empfängt.
Zudem habe ich herausgefunden, das sie RC5 sendet. 
http://lirc.sourceforge.net/remotes/technisat/TTS35AI

Wie würde nun ein kurzes ASM Programm aussehen, was das Empfangene in 
R16 schreibt?




Ich hoffe ihr könnt mir helfen.
MfG

von Stefan B. (stefan) Benutzerseite


Lesenswert?

In der Codesammlung sind Routinen dafür. Die könntest du auf deinen 
unbekannten AVR anpassen. Alternative wenn es nicht ASM sein muss: 
BASCOM-AVR hat eine RC5 Routine eingebaut. Die komplette Kommandosequenz 
ist aber größer als das 8-Bit Register R16!

von spess53 (Gast)


Lesenswert?

Hi

AVR410: RC5 IR Remote Control Receiver on tinyAVR and megaAVR devices

MfG Spess

von Volker S. (volkerschulz)


Lesenswert?

Sören Timm schrieb:
> Wie würde nun ein kurzes ASM Programm aussehen, was das Empfangene in
> R16 schreibt?

Das klingt fuer mich ein bisschen nach "Kann mir mal einer ein Programm 
schreiben, dass das macht?"...


> Ich hoffe ihr könnt mir helfen.

Wenn Du etwas konkreter wirst, gerne.


Volker

von Sören T. (stimmy)


Lesenswert?

Konkreter...
Wie soll ich überhaupt die IR-Signale, die vom Ic kommen, in Bits 
umwandeln?

von Mario (Gast)


Lesenswert?

Als was kommen denn bei Dir die IR-Signale vom IC. Wenn man das weis 
kann man vieleicht weiter helfen.

von Volker S. (volkerschulz)


Lesenswert?

Sören Timm schrieb:
> Konkreter...
> Wie soll ich überhaupt die IR-Signale, die vom Ic kommen, in Bits
> umwandeln?

Bei RC5 kommen vom TSOP die demodulierten Signale in Form von 
Manchester-Code. Guck Dir mal folgende Seite an:

http://www.mikrocontroller.com/de/IR-Protokolle.php

Hier im Forum schwirren diverse Decoder-Routinen umher. Unter anderem 
von Peter.

Im Prinzip wartest Du auf das erste Start-Bit, synchronisierst auf das 
zweite, wartest 440µs und checkst dann alle 889µs den Pin-Status. 
Fallende Flanke innerhalb eines Bits = 0, steigende Flanke = 1, keine 
Aenderung = Fehler / keine Uebertragung.

Volker

von MarioT (Gast)


Lesenswert?

willst Du nur den Befehl (6Bit) in R16 oder vorher auch die 
Adressbits(welche Fernbedienung 5Bit) auswerten? Das 2te Startbit wird 
aber auch manchmal als Befehlsbit verwendet.

von Volker S. (volkerschulz)


Lesenswert?

MarioT schrieb:
> willst Du nur den Befehl (6Bit) in R16 oder vorher auch die
> Adressbits(welche Fernbedienung 5Bit) auswerten? Das 2te Startbit wird
> aber auch manchmal als Befehlsbit verwendet.

Korrekt. Wird das zweite Startbit benutzt, wird auch gerne von RC5x 
gesprochen. Aber das ist alles unter bereits gepostetem Link erklaert.

Ich nehme mal an, dass der TO sich nicht wirklich mit dem RC5-Protokoll 
beschaeftigt hatte und deswegen auf EIN Register kam. Habe ja weiter 
oben schonmal geschrieben, dass ZWEI Byte optimal waeren. Darin kann 
man alle Bits der Uebertragung festhalten und hat noch Platz fuer eine 
Markierung der Byte-Reihenfolge (wichtig bei externer Logik!).

Volker

von Alex F. (electronicfox)


Lesenswert?

Hallo!

Bei mir steckt der Code im register "command".
http://electronicfox.el.funpic.de/IR-Controller_TY45018.html
wenn du dir die kurze Routine rausschneidest und "command" auf das PORT 
kopierst, wird dir dann der Code binär am Port ausgegeben. Wenn du ein 
STK500 hast, siehst du es dann an die LEDs. AN = 0, AUS = 1. Mit dem 
Befehl "com command" kannst du den Wert invertieren so dass AN = 1, AUS 
= 0 bedeutet.
Meine Routine orientiert sich stark nach der "RC5.asm" die man ergoogeln 
kann oder sogar hier gefunden wird.

von Volker S. (volkerschulz)


Lesenswert?

Oh, ich sehe gerde dass ich das weiter oben noch NICHT erwaehnt 
hatte... War wohl in einem anderen Thread.. ;) Sorry.

Volker

von MarioT (Gast)


Angehängte Dateien:

Lesenswert?

Hallo  Sören Timm
Ich habe Dir mal Teile von meinem Projekt hochgeladen(so als Idee). 
Vieleicht kannst Du Dir was zusammenkopieren. Bei mir geht es sehr gut.

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.