IR Com - InfraRot Empfänger mit Komando-Funtionen

Von Manuel Magnin, Mail: Info(a)Clinch.ch

Management Summary: Dieses Projekt soll in einfachster Weise mittels einer IR Fernbedienung auf einem PC Funktionen ausführen und eine Software Schnittstelle zur Verfügung stellen.
Als Ersatz für Maus und Tastatur und dafür reicht eine handelsübliche IR Fernbedienung.

Inhalt:
1. Vorwort und Download's
2. Hardware - beschrieb und Aufbau
3. Software - beschrieb
4. Mechanischer Aufbau
5. Versionen, UpDates und zu erledigen
6. FAQ Fragen und Antworten
7. IR-Codes & Anhang

 


1. Vorwort und Download's

Download: IRCOM.exe (IRCOM_Source.zip)
Systemvoraussetzungen: O/S: Win9x, WinME, WinNT, W2k,WinXP CPU: Pentium-III ab 200MHz. RAM: grösser 64MB (Win9x, WinME & WinNT) sonst mindestens 128MB.


2. Hardware - Beschrieb und Aufbau

2. IR-Interface
GrundIdee:
Eine Empfangsschaltung die den UART der RS232 Schnittstelle nutzt
Speziell: Da die Schaltung den UART des PC's für den Empfang verwendet, sind keine zeitkritischen Funktionen nötig. Das heist, es kann der RAM Buffer (FIFO) des UART's verwendet werden (auch ohne IRQ's).
Zur Stromversorgung werden die Steuerleitungen RTS und DTR verwendet ( RTS auf minus & DTR auf plus ).
RC5-Code: Bei RC5 Code in der zweiten Schaltung ist zu beachten, dass der RC5-Code nicht direkt entschlüsselt werden kann, da der Code durch die Start und Stop Bits des Seriellen registers teils vernichtet werden. Die Datenrate des RC5 Codes ist knapp 600BPS ( IR - RC5 = 1.778mS pro Bit, Bit=01 oder 10! ), da aber die digitalen Signale in der Polarität wechseln muss mit dem Doppelten gefahren werden ca. 1200BPS ( 1-Bit = 0.889mS ==> 1124.86 Baud)
Die Berechnung des Uart DIvisors mit der Formel: 8250UART-Divisor = 1843200 / ( 1124.86 * 16 ) = 102.41 = 0x66h }
Die 18 Bits des RC5 Code werden so zu ca. 36Bits, es sind also jeweils 5 Byte die zusammen gehören wenn sie Zeitlich direkt aufeinander folgen.
PCM-Code (SONY): Auch PCM IR-Signale können mit dieser Schaltung einfach dekodiert werden. Die Daten werden mit konstantem Tackt gesendet wobei die Länge des Pulses die Bit-Information enthält. So in unserem Fall wird der UART auf 9600 BPS gesetzt. Bei einem Bit mit dem Wert '0' wird das Zeichen Char(0) empfangen und bei einem '1' wird das Zeichen Char(0xC0h) gelesen (80h + 40h) d.h. das Startbit so wie das höchstwertige- und das zweithöchstwertige Bit sind gesetzt. (Puls für eine '0' < 0.1mS und der Plus für eine '1' ca. 3mS). Total werden 16-Bit übertragen d.g. 0-65'535 Möglichkeiten.

Weiter ist wichtig, dass der IR-Empfänger IC keinen zu hohen Stromverbrauch aufweist, da sonst das Signal am RxD zu niedrig ausfällt.
Die komplette Elektronik kann direkt in das D-Sub-9 Steckergehäuse eingebaut werden

SFH5110.pdf BC547.pdf 1N4007.pdf TSOP.jpg WiderstandFarbCode LM78L05.pdf


3. Software - Beschrieb

Die Software besteht aus dem Betriebssystem, dem Empfangsprogram IRCOM.

3.1 Installation
Beim ersten starten von IRCOM werden alle nötigen Einträge in der Registry erstellt. Alle Einstellungen im Programm IRCOM werden in der Registry abgelegt, so dass diese beim nächsten Programm Start zur Verfügung stehen. Beim starten wir nach den Schnittstellen gescannt COM1..4 für den IR-Empfänger

3.2 Bedienung

Bedienung sollte keine nötig sein



4. Mechanischer Aufbau



5. Versionen, UpDates und zu erledigen

V0.01
V0.011


6. FAQ Fragen und Antworten


 


7. Anhang

7.1 Sony SIRC Protocol (IR-Codes)

Spezifikationen SIRC Protokoll:    
Layer-1 Infra rot 950nm
  Trägerfrequenz 40kHz
  Modulation PWM
  Start Bit 2.4mS
  Logisch "1" 1.2mS / 0.6mS
  Logisch "0" 0.6mS / 0.6mS
Layer-II Packetgrösse 12 / 15 oder 20 Bit
  12 Bit Frame 5-Bit Adresse & 7-Bit Kommando

Modulation SIRC:


Protokoll Beisipiel SIRC


7.2 Philips RC-5 Protocol (IR-Codes)

Das am weitesten verbreitete Protokoll ist von Philips - das RC-5, da am meisten Sender zur Verfügung stehen und die Normierung öffentlich ist.

Spezifikationen Philips R-5 Protokoll:    
Layer-1 Infra rot 950nm
  Trägerfrequenz 36kHz
  Modulation Bi-phase coding (aka Manchester coding)
  Start Bits 3 Bit
  Logisch "1" ( "10" ) 1.778ms
  Logisch "0" ( "01" ) 1.778ms
Layer-II Packetgrösse 14 Bit
  14 Bit Frame 3-Bit-Start, 5-Bit Adresse & 6-Bit Kommando

Modulation Philips RC-5:


Protokoll Beisipiel Philips RC-5



Es gibt eine unglaubliche vielzahl von IR-Protokolen so z.B. die Protokolle von: ITT, JVC, NEC, Nokia NRC17, Sharp, X-Sat, Philips: RC-5, RC-6, RC-MM, RECS80, u.v.m. Die meisten dieser Protokolle habe die Bit-Information in der Pause (Space) nach einem Puls mit Fixer Länge.
Weitere Protokollbeschreibungen in englisch:
http://www.xs4all.nl/~sbp/knowledge/ir/ir.htm

7.3 IR-Detector Schaltung

Das am weitesten verbreitete Protokoll ist von Philips - das RC-5, da am meisten Sender zur Verfügung stehen und die Normierung öffentlich ist.



7.4 RC5 IR-Decoder mit Controller

Für den PC unabhängigen Empfang ist folgende Schaltung geeignet:

Source Code zum Download:
RC5.ASM