Adapter zur Steuerung über einen PC (Carrera Autorennbahn)

Für die Einbindung der Autorennbahn in Seminare des Lehrstuhles wurde ein Adapter entworfen, der die Rennbahn mit einen PC verbindet. Aus Sicht der Rennbahn simuliert der Adapter zwei leitungsgebundene Handregler; aus Sicht des PC's meldet er sich als ein USB-Gerät.

Beschreibung der Hardware

Die Abbildung 1 zeigt das Blockschaltbild des PC-Adapters. Die rot dargestellten Komponenten erhalten ihre Versorgungsspannung über die USB-Schnittstelle; die gelb dargestellten von der Steuereinheit – entweder Control Unit oder Black Box – der Autorennbahn.

Blockschaltbild des PC-Adapters
Abbildung 1:   Blockschaltbild des PC-Adapters
  • Schnittstellenwandler:
    Als Schnittstellenwandler kommt der Schaltkreis FT245R von FTDI zum Einsatz. Dieser IC stellt eine parallele Schnittstelle mit acht Datenleitungen und vier Steuersignalen zur Verfügung. Der Schaltkreis besitzt intern einen 128 Bytes großen Puffer für Daten, die von der USB-Schnittstelle empfangen werden und einen Puffer mit 256 Bytes für Daten, die über die USB-Schnittstelle gesendet werden. Die Signale RXF# bzw. TXE# sind low-aktiv und werden vom FT245R geschaltet, wenn Daten aus dem internen Empfangspuffer gelesen bzw. in den Sendepuffer geschrieben werden können. Die an der parallelen Schnittstelle angeschlossenen Komponente aktiviert bei Bedarf das Lese- (RD# – low-aktiv) bzw. das Schreibsignal (WR – high-aktiv) und überträgt die Daten. Die geforderten Zeitabläufe sind in den Abschnitten 3.5 und 3.6 im Datenblatt (Seiten 13 und 14) zu finden.

  • Erzeugung von Steuersignalen:
    In diesem Block wird das Lesesignal der parallelen Schnittstelle (RD#) und zwei Taktsignale (CLK1 und CLK2) zur Übernahme der Daten der parallelen Schnittstelle in einen oder beide der Speicher erzeugt. Das Lesesignal und das Basistaktsignal werden durch je einen unistabilen Multivibrator erzeugt. Für die Steuerung der beiden Speicher wird das Basistaktsignal mit je einem der beiden Adress-Bits (D6 und D7) verknüpft.

  • Puffer:
    Die beiden Puffer entkopeln die parallele Schnittstelle vom nachfolgenden Rest der Schaltung. Damit bleibt der zuletzt übertragene Wert für jeden Verarbeitungskanal erhalten; auch wenn die Signalleitungen der parallele Schnittstelle ihre Spannungspegel ändern.

  • Optische Entkopplung:
    Die optische Trennung verhindert ungewollte Wechselwirkungen der beiden Spannungsquellen – USB-Schnittstelle und Steuereinheit der Autorennbahn. Dazu werden die elektrischen Signale auf der steuernden Seite mit Hilfe eine LED in optische Signale gewandelt. Auf der gesteuerten Seite wandelt eine Photodiode die optischen Signale wieder zurück in elektrische. Die beiden Signalwandlungen erfolgen in einem Bauelement – einem Optokoppler.

  • Digital-Analog-Wandler:
    Der DA-Wandler wandelt den binären Wert, der durch vier Datenbits repräsentiert wird, in 16 Abstufungen der Ausgangsspannung um. Jede dieser Abstufungen entspricht einer Fahrstufe (Geschwingigkeit) des Fahrzeuges auf der Rennbahn. Der Wandler ist als R2R-Netzwerk aufgebaut. Er erzeugt mit vier Teilern jeweils 1/2, 1/4, 1/8 und 1/16 der Referenzspannung und kombiniert diese Teilspannungen zur Ausgangsspannung.

  • Referenzspannung:
    Die Referenzspannung wird vom DA-Wandler genutzt und bestimmt dessen maximale Ausgangsspannung.

Steuerung der Fahrzeuge und Weichen vom PC

Aufbau der Steuerdaten

Der PC-Adapter wandelt die seriellen Daten, die über die USB-Schnittstelle übertragen werden, in Steuerinformationen für die Autorennbahn um, wie sie auch von analogen Handreglern erzeugt werden. Die Geschwindigkeit der Fahrzeuge wird in 16 Stufen geregelt. Zur binären Kodierung dieser Fahrstufen sind vier Bits notwendig. Weiterhin bestzt jeder Handregler einen Taster, mit dem sich das Licht am Fahrzeug ein- und ausschalten lässt und die Weichen gesteuert werden können. Diese Information – Taster gedrückt oder nicht – kann mit einem Bit kodiert werden. Des Weiteren benötigen wir noch Adressinformationen, um einen der beiden Verarbeitungskanäle der Hardware auswählen zu können. Jeder dieser Kanäle simuliert einen Handregler. Da es bei Bedarf möglich sein soll, einen Wert auch gleichzeig auf beide Kanäle auszugeben, werden zwei Bits zur Adressierung verwendet. Die Abbildung 2 zeigt die Aufteilung der Steuerimformationen in einem Datenbyte.

Binäre Informationen in einem Datenbyte
Abbildung 2:   Binäre Informationen in einem Datenbyte

Die Fahrstufe wird als binärer Wert zwischen Null und 15 interpretiert. Beim Taster entspricht eine Null dem deaktiven Zustand – Taster geöffnet – und eine Eins dem aktiven Zustand – Taster geschlossen. Das Bit Sechs steuert den ersten Handregler; das Bit Sieben den zweiten. Die Übernahme der Daten für den gewünschten Verarbeitungskanal erfolgt bei aktivem Steuerbit – also einer Eins an der betreffenden Bitposition. Haben beide Adressbits den Wert Null werden die Daten vom PC-Adapter ignoriert.

Zugriff über die USB-Schnittstelle

FTDI bietet als Hersteller des hier eingesetzeten Schnittstellenwandlers eine sehr umfangreiche Softwareunterstützung. So werden Treiber für verschiedene Betriebssysteme – u.a. Windows, Linux und Mac OS – und eine Bibliothek mit der Schnittstelle zum Treiber zur Verfügung gestellt. Es gibt zwei Typen von Treibern: der D2XX-Treiber erlaubt die direkte Steuerung des USB-Gerätes; der VCP-Treiber nutzt dafür einen oder mehrere virtuelle COM-Schnittstellen. Informationen zur jeweils aktuellen Version der Treiber und Dokumentationen sind auf den Web-Seiten des Herstellers unter http://www.ftdichip.com/Drivers/D2XX.htm bzw. http://www.ftdichip.com/Drivers/VCP.htm zu finden. Das Herunterladen der Software ist ebenso von da aus möglich. Die Schnittstelle des D2XX-Treibers ist in der Programmieranleitung beschrieben. Wichtige Schritte bei der Nutzung von USB-Geräten sind:

  • Das Auffinden des gewünschten Gerätes
  • Der Aufbau einer Verbindung zu dem Gerät
  • Der Austausch von Daten mit dem Gerät
  • Der abschließende Abbau der Verbindung

Dokumentation