Infrarot Treibermodul

IFIR ist ein Sende- und Empfangsmodul welches Daten mit infrarotem Licht bei einer Wellenlänge von ca. 900 bis 950nm überträgt. Es können dabei - je nach Bestückungsgrad - Entfernungen von bis zu 5,5m bei genauer Ausrichtung und einem geeigneten Fehlerprotokoll erreicht werden. Das Modul unterstützt vier verschiedene Betriebsarten die darüber entscheiden, in welcher Form die Daten kodiert werden:

Die Betriebsarten und andere Parameter die die Übertragung bestimmen, wie z.B. Baudrate im IrDa-Mode, werden direkt mit einer asynchronen seriellen Schnittstelle zum IFIR gesendet. Dabei legt der Pegel der DTR-Leitung fest, ob das Modul ein Kommando oder Daten zum weitersenden geschickt bekommt.

Inbetriebnahme

IFIR wird über ein 10pol. Flachbandkabel 1:1 an einer asynchronen seriellen Schnittstelle eines Einplatinencomputers angeschlossen. Die Signale sind alle für den Betrieb mit TTL-Pegel ausgelegt. Es ist also kein Direktanschluß an einen PC mit RS232 oder dergleichen vorgesehen. IFIR arbeitet mit einer Betriebsspannung von 5V. Das benutzte Netzteil sollte einen Strom von 1A liefern können, damit keine Spannungseinbrüche den Betrieb verhindern.

Betriebsarten

Im folgenden werden die vier verschiedenen Betriebsarten des Moduls erläutert. Tiefergehende Informationen zur Programmierung der einzelnen Register des Steuerungsbausteins entnehmen Sie bitte dem Datenblatt des CS8130.

IrDa/HPSIR

Das IrDa/HPSIR-Protokoll ist speziel für Datenübertragungen im größeren Umfang ausgelegt, wobei die Leistung beim Senden minimiert wurde. Die Daten können mit einer Baudrate von 1200 bis 115200Baud übertragen werden, wobei Frames mit 6, 7, und 8 Datenbits bzw. 8 Datenbits und ein Paritybit eingestellt werden können. Die Daten der asynchronen seriellen Schnittstelle werden vom CS8130 kodiert und dann über die Sendediode(n) geschickt. Die Kodierung macht aus einer '0' der seriellen Schnittstelle einen Impuls mit der Länge von 3/16 der Baudrate bzw. 3/16 von 115200Baud. Kein Licht bedeutet eine '1'.

ASK(CW)

Dieser Mode arbeitet mit einer 500kHz Trägerwelle, wobei das Vorhandensein einer Trägerwelle einer logischen '0' entspricht und wenn keine Trägerwelle vorhanden ist einer logischen '1'. Die Länge eines Impulse entspricht dem Kehrwert der eingestellten Baudrate (z.B. 1/9600Baud). Dieser Mode wird normalerweise mit Baudraten von 9600, 19200 oder 38400Baud verwendet.

ASK(TV remote)

Diese Betriebsart ist identisch mit der vorhergehenden, wobei aber die Trägerwelle eine Frequenz von 38kHz hat. Die Baudrate liegt bei etwa 2400Baud. Dies entspricht der Übertragungsart, die viele handelsübliche Fernbedienungen von Fernsehern, Videorecordern usw. verwenden. Es ist natürlich möglich, dass Baudrate und Trägerwelle je nach Hersteller variieren können.

Direct

Hier werden die Daten der asynchronen seriellen Schnittstelle direkt zur LED geschickt. Das Signal an der LED entspricht also genau dem der seriellen Schnittstelle. Eine logische '1' der Schnittstelle hat zur Folge, daß die LED aus ist, eine logische '0' schaltet die LED an. Dieser Mode ist aber sehr kritisch, da die LED über längere Zeit eingschaltet sein kann und dadurch beschädigt bzw. sogar zerstört werden kann, da die LED für einen Impulsbetrieb ausgelegt ist. In diesem Mode ist auch die Logik zwischen Senden und Empfang negiert, d.h. dass eine gesendete logische '1' als logische '0' empfangen wird.

Programmierung

IFIR wird nach dem Einschalten direkt über die serielle Schnittstelle mit einer Baudrate von 9600Baud, 8 Datenbits, 1 Stop- und Startbit programmiert. Um in den Programmiermodus zu gelangen, muss zuvor die DTR-Leitung auf '0' gesetzt werden. Nach der entsprechenden Programmierung wird die Leitung wieder auf '1' gelegt und alle anschliessend geschriebenen Daten werden über die Sendediode(n) abgeschickt. Die Kommandos werden nach dem folgenden Schema zum CS8130 übertragen:

D7D6D5D4D3D2D1D0
AD3AD2AD1AD0CD3CD2CD1CD0
D0... D7: Daten der asynchronen Schnittstelle
AD0... AD3: Registeradressen des CS8130
CD0... CD3: Daten des CS8130

Die Daten des seriellen Schnittstelle werden mit dem LSB voran gesendet, d.h. die Kommandos im Einplatinenrechner müssen in den oberen vier Bits die Adresse und in den unteren vier Bits die Daten enthalten.

Beachten Sie bitte: Wenn die Baudrate umgeschaltet wird, gilt diese neue Baudrate auch für den Kommandomode.

www.mct.de