Startseite


Communities: 
  • Hardware-FAQ
  • Diskussionsforen
  • RC5-72 Projekt
  • RC5-Proxy
  • Forenarchiv

  • Der Gameport

    Schon früher beim C64, Amiga oder Atari hatte man die Möglichkeit einen Joystick anzuschließen. Diese digitalen Joysticks bestehen aus vier Mikroschaltern, die um 90° versetzt um die Steuerachse angeordnet sind. Bewegt man nun den Steuerknüppel, so wird jeweils der entgegengesetzt zur Bewegungsrichtung liegende Schalter betätigt. Mit dieser Methode lässt sich jedoch nur die Bewegungsrichtung feststellen. Eine betragsmäßige Regulierung der Bewegung ist nicht möglich.

    Viel mehr Möglichkeiten bietet hier der Joystick des PC´s. Da er in Analogtechnik ausgeführt ist, kann man hier zusätzlich zur Bewegungsrichtung auch die Bewegungsintensität erfassen. In einem solchen Joystick befinden sich zwei um 90° versetzte veränderbare Widerstände (Potentiometer). Bewegt man nun den Joystick, so wird ihr Widerstandswert verändert. Dieser Wert wird über einen A/D - Wandler eingelesen.

    Funktionsweise:

    A/D-Wandler


    In Bild 1 ist prinzipiell so ein Analog-Digital Wandler dargestellt. Da an einen Gameport zwei Joysticks angeschlossen werden können, befinden sich vier solcher Wandler hinter dem Gameport. Gestartet wird eine Wandlung, sobald das Reset-Signal kurz auf Masse gezogen wird. Dadurch wird der Kondensator, der beim Einschalten des PC´s geladen wurden, schnell entladen. Durch den Schutzwiderstand R wird der Entladestrom begrenzt. Danach wird der Kondensator langsam über den Poti und R wieder aufgeladen. Auch hier dient R als Schutzwiderstand, falls am Poti 0 Ohm eingestellt werden. Nun kann der Zusammenhang zwischen dem Widerstandswert und der Ladezeit ausgewertet werden. Am Eingang des Komparators wird die Kondensatorspannung dauernd mit einer konstanten Spannung verglichen. Liegt die Kondensatorspannung unterhalb, so ist am Ausgang low-Pegel, andernfalls high-Pegel. Die Länge des Ausgangssignals hängt also wiederum vom Widerstandswert ab. Wenn man nun diese Signaldauer misst kann daraus der Widerstandswert mit folgender Gleichung errechnet werden:

    R= (gemessene Zeit - 24.2µs) / 0.011µs

    Da man ja den Gesamtwiderstand des Poti´s kennt, kann aus Verhältnis des errechneten Widerstands und des Gesamtwiderstandes des Poti´s die Stellung des 'Steuerknüppels' ermittelt werden. Außer dem Steuerknüppel sind am Joystick noch sog. 'Feuerknöpfe' vorhanden, die vom PC ebenfalls eingelesen werden können.

    In der folgenden Abbildung ist der Steckverbinder des Gameports dargestellt.



    Pin Nummer
    Beschreibung
    1
    Versorgungsspannung +5 Volt
    2
    Taste A1
    3
    Potentiometer A X
    4
    GND
    5
    GND
    6
    Potentiometer A Y
    7
    Taste A2
    8
    Versorgungsspannung +5 Volt
    9
    Versorgungsspannung +5 Volt
    10
    Taste B1
    11
    Potentiometer B X
    12
    GND
    13
    Potentiometer B Y
    14
    Taste B2
    15
    Versorgungsspannung +5 Volt

    Tabelle 1 : Pinbelegung

    Wie aus Tabelle 1 zu erkennen ist, sind die Anschlüsse für beide Joysticks auf einem Stecker untergebracht. Dabei unterscheidet A und B die beiden Joysticks. Diese Art und Weise ist zwar sehr unpraktisch, spart jedoch am PC Platz und somit Geld. Erwähnenswert wäre noch, daß der Gameport die einzige Schnittstelle ist, die dem Endgerät die Spannungsversorgung zur Verfügung stellt ( und das gleich mehrfach ). Zusätzlich sind auch noch vier analoge und vier digital Eingänge vorhanden. Dadurch ist es möglich eigene kleine Endgeräte anzuschließen, und auch z.B. für (ungenaue) Meßzwecke die A/D - Wandler Eingänge zu benutzen.

    Die beiden Eingänge für die Taster werden auf der Gamekarte (meist Soundkarte) mit einem Widerstand von 10 kOhm an + 5 Volt gelegt. Sie haben also high-Pegel. Wird nun einer der Taster gedrückt, so wird das Signal kurz auf Masse gezogen (low-side-switch). Die vier Tasten werden über einen einfachen Port eingelesen - sie beeinflussen also keinen Interrupt.

    An den analogen Eingängen sind die Schleifer der Poti´s angeschlossen. Im Joystick sind die Poti´s an einem Ende mit +5 Volt verbunden. Der Gesamtwiderstand eines Poti´s beträgt 100k Ohm. Der A/D Wandler ist natülich nicht wie oben beschrieben diskret aufgebaut, sondern in einem IC integriert. Dieser IC liefert für jeden Analogeingang ein Bit. Zusammen mit den vier Bits der Taster wird ein Byte gebildet, welches über die Adresse der Joystickkarte eingelesen und weiterverarbeitet werden kann.





    Alle Angaben wie immer ohne Gewährleistung !
    © 2001-2016 Alle Rechte vorbehalten. Mit Urteil vom 12. Mai 1998 - 312 O 85/98 - "Haftung für Links" hat das Landgericht (LG) in Hamburg entschieden, dass man durch die Anbringung eines Links, die Inhalte der gelinkten Seite ggf. mit zu verantworten hat. Dies kann - so das LG - nur dadurch verhindert werden, indem man sich ausdrücklich von diesen Inhalten distanziert. Hiermit distanzieren wir uns ausdrücklich von allen Inhalten aller gelinkten Seiten auf unseren Foren.