mikrocontroller.net

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


Autor: Sören T. (stimmy)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

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

MfG Spess

Autor: Volker Schulz (volkerschulz)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sören T. (stimmy)
Datum:

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

Autor: Mario (Gast)
Datum:

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

Autor: Volker Schulz (volkerschulz)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: MarioT (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Volker Schulz (volkerschulz)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Alex Fxxxx (electronicfox)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Volker Schulz (volkerschulz)
Datum:

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

Volker

Autor: MarioT (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.