IRCFG v2.0beta (26.09.2001)
konfiguriert den UART der Chips der Winbond W83877 und W83977-Familie
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 Verfgung
 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 anschlieen kann. So weit so schn.
 Doch leider fehlt in meinem BIOS die Option, diese Umschaltung vorzunehmen.
 Ich habe zwar an Gigabyte geschrieben und sie gebeten, wir 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 luft 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 untersttzen, das ist die
 Version 2.00 . Es knnen jetzt fast alle Optionen, die der Chip im 
 Zusammenhang  mit IrDA zur Verfgung stellt, angesprochen werden, auerdem 
 wird der vorhandene Chip automatisch erkannt.
 Leider kann ich die neuen Mglichkeiten bei mir nicht testen, also bin ich 
 auf Feedback angewiesen.

 Dank an Dschen Reinecke! Auf seiner Homepage findet ihr unter anderem auch 
 die Anleitung fr den Infrarotport. URL steht unter Punkt 4.

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 Mglichkeit, 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 auswhlen, sowie weitere Optionen angeben.

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

 detect        ircfg stellt fest, ob ein untersttzter Chip vorhanden ist
               es werden keine Einstellungen vorgenommen
 
 MODE          der Modus fr den seriellen Controller, einer der folgenden:
  serial       normaler, serieller Modus
  irda         wie irda1, sollte fr die meisten Anwendungen gehen
  irda1        IrDA, IRTX active pulse 1.6s, 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 fr den gewhlten Modus
  +fullduplex  Fullduplex-bertragung (default fr 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 drfte 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 
  Bentigt wird natrlich ein untersttzter 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.
  Mglicherweise 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. Mte aber auch unter hnlichen System arbeiten.
 
4. weiter Informationen
 * weitere Infos zum Thema IrDA gibts auf
   Dschen Reineckes Infrarot-Port Seite
    http://www.infrarotport.de/
 * die Winbond W83877TF - Dokumentation findet man hier: 
   Winbonds Electronics Corp.
    http://www.winbond.com/sheet/877tf.pdf
 * die Winbond W83977TF - Dokumentation findet man hier: 
   Winbonds Electronics Corp.
    http://www.winbond.com/sheet/977tf.pdf
 * ein paar verwandte Chips gibts hier:
   Winbonds Electronics Corp.
    http://www.winbond.com/product/overview/personal/p_c0253-1.htm

5. Disclaimer
 Ich bernehme selbstverstndlich fr keine entstehenden Schden und
 Datenverluste die Verantwortung. 
 (Ich habe aber bisher noch keine Klagen gehrt.)
 
Fehler und Verbesserungsvorschlge an mich: ir@flobecker.de 

26.09.2001 Florian Becker 
