Die Axiom Measurement & Control AX5214H ist eine digitale I/O-Karte mit 48 Kanälen. Sie wird an einen ISA-Bus angeschlossen und ähnelt einem Paar 8255-Chips. In der Tat könnte es ein Paar 8255-Chips sein, aber ich bin mir nicht sicher. Wenn jemand einen Treiber für einen 8255 entwickelt, sollte er sich den ax5214-Code ansehen, ein Großteil der Arbeit ist bereits erledigt.

1. Installation

loadrt hal_ax5214h cfg="<config-string>"

Der Konfigurationsstring besteht aus einer hexadezimalen Anschlussadresse, gefolgt von einer 8-stelligen Zeichenfolge aus "I" und "O", die Gruppen von Pins als Eingänge und Ausgänge festlegt. Die ersten beiden Zeichen legen die Richtung der ersten beiden 8-Bit-Blöcke von Pins (0-7 und 8-15) fest. Die nächsten beiden legen Blöcke von 4 Stiften fest (16-19 und 20-23). Das Muster wiederholt sich dann, zwei weitere Blöcke von 8 Bits (24-31 und 32-39) und zwei Blöcke von 4 Bits (40-43 und 44-47). Wenn mehr als eine Karte installiert ist, folgen die Daten für die zweite Karte auf die erste. Ein Beispiel: Der String "0x220 IIIOIIOO 0x300 OIOOIOIO" installiert Treiber für zwei Karten. Die erste Karte befindet sich an Adresse 0x220 und hat 36 Eingänge (0-19 und 24-39) und 12 Ausgänge (20-23 und 40-47). Die zweite Karte befindet sich an der Adresse 0x300 und hat 20 Eingänge (8-15, 24-31 und 40-43) und 28 Ausgänge (0-7, 16-23, 32-39 und 44-47). Es können bis zu 8 Karten in einem System verwendet werden.

2. Pins

  • (bit) ax5214.<boardnum>.out-<pinnum> — Steuert einen physikalischen Ausgangspin.

  • (bit) ax5214.<boardnum>.in-<pinnum> — Verfolgt einen physikalischen Eingangspin.

  • (bit) ax5214.<boardnum>.in-<pinnum>-not — Verfolgt einen physikalischen Eingangspin, invertiert.

Für jeden Pin ist <boardnum> die Platinen-Nummer (beginnt bei Null) und <pinnum> die Nummer des E/A-Kanals (0 bis 47).

Beachten Sie, dass der Treiber von aktiven LOW-Signalen ausgeht. Dies ist erforderlich, damit Module wie OPTO-22 korrekt funktionieren (TRUE bedeutet Ausgang EIN oder Eingang unter Spannung). Wenn die Signale direkt ohne Pufferung oder Isolierung verwendet werden, muss die Inversion berücksichtigt werden. Der In-HAL-Pin ist TRUE, wenn der physikalische Pin niedrig ist (OPTO-22-Modul unter Spannung), und FALSE, wenn der physikalische Pin hoch ist (OPTO-22-Modul aus). Der in-<pinnum>-not HAL-Pin ist invertiert - er ist FALSE, wenn der physikalische Pin low ist (OPTO-22-Modul unter Spannung). Durch Anschluss eines Signals an den einen oder anderen Pin kann der Benutzer den Zustand des Eingangs bestimmen.

3. Parameter

  • (bit) ax5214.<boardnum>.out-<pinnum>-invert — Invertiert einen Ausgangspin.

Der Parameter -invert bestimmt, ob ein Ausgangspin aktiv high oder aktiv low ist. Wenn -invert auf FALSE steht, wird der physikalische Pin durch das Setzen von HAL out- pin TRUE auf low gesetzt, wodurch ein angeschlossenes OPTO-22-Modul eingeschaltet wird, und durch FALSE auf high gesetzt, wodurch das OPTO-22-Modul ausgeschaltet wird. Wenn -invert TRUE ist, wird durch das Setzen des HAL out-Pins TRUE der physikalische Pin auf high gesetzt und das Modul ausgeschaltet.

4. Funktionen

  • (funct) ax5214.<boardnum>.read — Liest alle digitalen Eingänge auf einer Karte.

  • (funct) ax5214.<boardnum>.write — Schreibt alle digitalen Ausgänge auf einer Karte.