IRCFG v2.0beta (26.09.2001)

Konfiguriert den UART der Chips der Winbond W83877 und W83977-Familie für die Benutzung des IrDA-Anschluß.

Autor: Florian Becker (ir@flobecker.de)


1. Idee und Geschichte

Auf meinem Mainboard (ein Gigabyte GA586ATX) befindet sich der W83877TF-Chip von Winbond, der unter anderem die seriellen Schnittstellen zur Verfügung stellt. Das interessante daran ist, daß man den COM2 umschalten kann, so daß man an vier Pins, die sich auf dem Mainboard befinden, eine IrDA-Schnittstelle anschließen kann. So weit so schön.
Doch leider fehlt in meinem BIOS die Option, diese Umschaltung vorzunehmen. Ich habe zwar an Gigabyte geschrieben und sie gebeten, mir doch ein modifizieres Update zu schicken, doch das habe ich nie bekommen. Also habe ich mir mit Hilfe der Dokumentation des Chips ein Programm geschrieben, daß diese Konfiguration vornimmt. Seitdem läuft mein selbstgebauter Infrarotport einwandfrei.
Das war also Version 1, inzwischen habe ich es erweitert um auch andere Modis und noch die Chips der Familie W83977 zu unterstützen, das ist die Version 2.00 . Es können jetzt fast alle Optionen, die der Chip im Zusammenhang mit IrDA zur Verfügung stellt, angesprochen werden, au&zslig;erdem wird der vorhandene Chip automatisch erkannt. Leider kann ich die neuen Möglichkeiten bei mir nicht testen, also bin ich auf Feedback angewiesen.
Dank an Dschen Reinecke! Auf seiner Homepage (www.infrarotport.de) findet ihr unter anderem auch die Anleitung für den Infrarotport.

Download IRCFG v2.0beta (20,9kb)

Falls nötig: Download IRCFG v1.0 (18,4kb)

2. Funktion

IRCFG konfiguriert direkt den Controller-Chip um, was üblicherweise das BIOS machen sollte, aber dies ist aus irgendeinem Grund bei einigen BIOS nicht implementiert worden.
Auf Details der Funktion des W83877TF verzichte ich hier, unten findet ihr die URL der Dokumentation des Chips. Teilweise zitiere ich einfach nur technische Details, ohne zu wissen, was das wirklich ist.
Es gibt also die Möglichkeit, den zweiten, seriellen Port (COM2), entweder ganz normal als seriellen Ausgang zu verwenden oder statt dessen als Infrarot-Schnittstelle zu verwenden. Bei der zweiten Alternative lassen sich verschiedene Modis und Protokolle auswählen, sowie weitere Optionen angeben.

Syntax:
ircfg detect
oder
ircfg com2={MODE}[{OPTIONS}]

detect ircfg stellt fest, ob ein unterstützter Chip vorhanden ist es werden keine Einstellungen vorgenommen

MODE der Modus für den seriellen Controller, einer der folgenden:
serial normaler, serieller Modus
irda wie irda1, sollte für die meisten Anwendungen gehen
irda1 IrDA, IRTX active pulse 1.6µs, IRRX demodulated into SINB
irda2 IrDA, IRTX active pulse 3/16 bit time, IRRX demodulated into SINB
askir1 ASK-IR, IRTX inverted, IRRX routed to SINB
askir2 ASK-IR, IRTX inverted & 500kHz clock, IRRX routed to SINB
askir3 ASK-IR, IRTX inverted, IRRX demodulated into SINB
askir4 ASK-IR, IRTX inverted & 500kHz clock, IRRX demodulated into SINB

OPTIONS weitere Einstellungen für den gewählten Modus
+fullduplex Fullduplex-Übertragung (default für IRDA und ASKIR)
+halfduplex Halfduplex-Übertragung
{+|-}txw4c vor dem Senden eine 4 Zeichen entsprechende Periode nach dem letzten Empfangen abwarten, anschalten (default)/ausschalten
{+|-}rxw4c vor dem Empfangen eine 4 Zeichen entsprechende Periode nach dem letzten Senden abwarten, anschalten (default)/ausschalten
{+|-}tx2inv Invertierung des SOUTB/IRTX-Pins anschalten/ausschalten(default)
{+|-}rx2inv Invertierung des SINB/IRRX-Pins anschalten(default)/ausschalten

Beispiele:
Den meisten dürfte wohl folgende Einstellung reichen, damit betreibe ich meinen TFDS4500-IrDA-Transmitter.
ircfg com2=irda

Und wenn man COM2 ganz normal verwenden will, einfach eingeben:
ircfg com2=serial

Der Modus askir4, jedoch mit Halfduplex und beide Pins nicht invertiert:
ircfg com2=askir4+halfduplex-rx2inv

3. Hardware- und Softwarevorraussetzung

3.1 Hardware
Benötigt wird natürlich ein unterstützter Chip, also einer aus der Reihe Winbond W83877 und W83977. Erfolgreich getestet wurde es bisher mit dem W83877TF und W83877F.
Diese Chips finden sich auf den Mainboards von Gigabyte, erfolgreich getestet wurde es bisher mit dem GA586ATX und dem GA586GA5HX.
Möglicherweise funktioniert es auch mit verwandten Chips und Boards, sagt mir dann am besten bescheid!

3.2 Software
Soweit ich es gestestet habe, funktioniert es unter DOS 7.0 als auch in der DOS-Box von Windows 95. Müßte aber auch unter ähnlichen System arbeiten.

4. weiter Informationen

5. Disclaimer
Ich übernehme selbstverständlich für keine entstehenden Schäden und Datenverluste die Verantwortung. (Ich habe aber bisher noch keine Klagen gehört.)

Fehler und Verbesserungsvorschläge an mich: ir@flobecker.de

26.09.2001 Florian Becker