Die hier beschriebene Karte stellt die Verbindung des PC’s mit der Steuerung über den parallelen
Druckeranschluss her. Weiterhin beinhaltet sie die Stromversorgung der Elektronik und einen Taktgeber
für die Fahrregler. Sie schaltet auch die Fahrspannung ab wenn die Software nicht aktiv ist um
zu verhindern, dass Züge unkontrolliert losfahren.
Nach der Einleitung kann man sich leicht vorstellen, dass die vielen Funktionen zu einer
umfangreichen Gesamtschaltung führen. Daher musste der Schaltplan aufgeteilt werden.
Falls Sie die nachfolgenden Beschreibungen nicht komplett nachvollziehen können, ist dies
kein Problem. Dem technisch Interessierten sollen sie die Funktion beschreiben, zum Aufbau und
Anwendung der Steuerung ist es nicht notwendig, die Arbeitsweise detailliert zu verstehen.
Die Karte wird mit einem parallelen Druckeranschluss verbunden, daher sehen Sie einen 25-poligen
D-Sub-Stecker. Zur Verbindung dient ein Stecker-Buchse-Kabel das alle 25 Pin’s 1:1 miteinander
verbindet. Übrigens muss der Druckeranschluss im BIOS des PC’s in den bidirektionalen Modus
geschaltet werden. Mit den höheren Modi (EPP oder ECP) gibt es nicht nachvollziehbare Probleme,
daher sollten sie nicht verwandt werden. Dass bedeutet auch, dass wirklich sehr alte PC’s, die
diese Einstellmöglichkeit nicht bieten, für dieses Interface nicht geeignet sind.
Die Signale rechts werden Sie auf den folgenden Seiten wiederfinden.
Bei dieser Art der Kopplung ergibt sich dass Problem, dass nicht so viele voneinander
unabhängige Leitungen wie bei der früher verwandten PIO-Karte vorhanden sind. Daher
werden hier die 8 Datenleitungen wechselweise für die Übertragung von Daten oder
Adressen verwandt. Dabei müssen Daten natürlich in beiden Richtungen übertragen
werden können.
Die Leitung „Reset_SteuerPC“ versetzt die Steuerung in den Grundzustand, löscht also alle
Datenspeicher.
Das Signal „/Adressen_PC“ informiert darüber, ob Daten oder Adressen übermittelt werden
sollen. Wenn die Leitungen „/Adressen“ 0 Volt führt, interpretiert die Schaltung die 8 Bits
als Adressen, andernfalls als Daten.
Die Verbindung „/Schreiben_PC“ teilt bei logisch 0 mit, dass Informationen vom PC zur Steuerung
fließen sollen und schaltet dann den Treiber der Datenleitungen des Busses (Bild siehe unten)
in die passende Richtung.
Über die Leitung „/Strobe_PC“ informiert der PC das Interface darüber, dass die
anliegenden Informationen zu verarbeiten sind. Als Reaktion darauf werden zwei Monoflops
(Monostabiler Multivibrator = MMV) in IC5 gestartet. Teil B erzeugt den längeren Impuls,
während er aktiv ist, ist das Interface beschäftigt und teilt dies dem PC über die
Leitung „/BUSY_PC“ mit. Durch diesen Mechanismus kann sicher gestellt werden, dass ein schneller PC
nicht mehr Befehle erteilt als die Steuerung verarbeiten kann.
Teil A von IC5 erzeugt einen etwas kürzeren Impuls. Erst nach dessen Ablauf werden
Adress-Informationen abgespeichert oder ein Schreib-Befehl („Write“-Signal) an die Karten der
Steuerung erteilt. Die kurzen Pausen sind notwendig, weil sich die elektrischen Signale nicht mit
unendlicher Geschwindigkeit verändern und unliebsame Effekte wie zum Beispiel ein Schwingen
auftreten können.
Die Funktion der Gatter in IC4 ist schnell erklärt: sie haben Schmitt-Trigger-Eingänge
und invertieren das ankommende Signal. Sie sorgen also für definierte Zustände der
Signale und stellen dort, wo es nötig ist, den umgekehrten logischen Pegel zur Verfügung.
Ähnlich verhält es sich mit den Nand-Gattern a, b und d in IC7, sie sind einfach als
Inverter geschaltet.
Komplizierter wird es bei den „Nicht-Und“-Bausteinen in IC6. Der Ausgang von Teil a ist nur logisch
0 wenn gleichzeitig folgende Signale aktiv sind:
- Es sollen Daten zur Steuerung übertragen werden
- Die angelegten Informationen sind Adressen
- Der (kürzere) Impuls des MMV in IC5b ist abgelaufen
- Der (längere) Impuls des MMV in IC5a liegt noch an
Das ist die Situation in der die angelegten Daten als Adressen abgespeichert werden müssen,
daher wird über den Inverter IC7a das Signal „Adr_Speichern“ aktiv.
Ähnlich verhält es sich mit IC6b, drei der vier Eingänge sind identisch zu Teil a
verschaltet. Hier wird aber der invertierte Pegel des „“/Adressen“-Signals an den vierten Eingang
gelegt. Der Ausgang erzeugt somit den Befehl „die Daten auf dem Bus sind abzuspeichern“
(„/Write_1“-Leitung).
Wenn der PC von der Steuerung Daten lesen will, wird das Signal „Schreiben“ logisch 1 und „/Strobe“
aktiv (logisch 0) gesetzt. Das Interface leitet dies an die Karten der Steuerung über die
Leitung „/Read“ weiter. Mit dem Strobe-Signal wurde jedoch auch der MMV in IC5b gestartet. Nach
Ablauf der Monoflop-Zeit wird dem PC über die Leitung „Daten gültig“ mitgeteilt, dass er
die anliegenden Daten nun auswerten darf. Auch hier ist also eine kleine Verzögerung eingebaut.
Wer die Arbeitsweise genau nachvollziehen möchte, der kann sich unter „Sonstiges“ die
verschiedenen Impulsdiagramme ansehen. Sie helfen wahrscheinlich, die Abläufe zu verstehen.
Der Schaltplan-Auszug enthält noch zwei Signale zum Bus. Wenn auf einer der Fahrreglerkarten
ein Kurzschluss auftritt, zieht sie die Leitung „/Kurzschluss“ auf Masse. Dies wird über die
Treiber in IC16 an den PC weiter geleitet. Ähnlich verhält es sich im Falle einer
Übertemperatur. Hier sind jedoch drei Inverter so geschaltet, dass sich eine etwas
größere Hysterese, das heißt ein stabiles Umschalten, ergibt.
IC3 ist notwendig weil, anders als bei der PIO-Karte, Adressen und Daten nicht gleichzeitig
übermittelt werden können aber gleichzeitig am Bus der Steuerung anliegen müssen.
Daher wird die zuletzt übertragene Adresse immer in den Flip-Flops gespeichert und liegt
dann über den Treiber in IC2 ständig auf dem Bus an.
Dieser Schaltungsteil stellt den Bus-Treiber für die Daten dar. Im Gegensatz zum vorher
gezeigten Treiber für Adressen kann der Schaltkreis in IC1 jedoch auf zwei Richtungen
umgeschaltet werden.
Hier sind die Bauteile zur Stromversorgung der Karten mit 5 und 12 Volt zu sehen. Weiterhin
unterbricht das Relais die Fahrspannung wenn die 5Volt ausbleiben und verhindert so, dass
Züge im Falle einer Störung unkontrolliert losfahren. Ein nachtriggerbares Monoflop in
IC11a wird gestartet wenn ein Befehl vom PC erteilt wird. Im normalen Betrieb ist dies viele
Dutzend Male pro Sekunde der Fall. Falls jedoch der PC oder die Steuer-Software abstürzen,
kommen keine Impulse mehr an und das Relais fällt ab. So werden auch in diesem
Störungsfall die Züge definitiv angehalten.
Die Platine lässt für die 5- und 12-Volt-Betriebsspannungen verschiedene Varianten zu.
Wenn man diese Spannungen aus einem separaten Trafo erzeugen möchte, muss man den
Brückengleichrichter und zwei kleine Drahtbrücken einlöten. Man kann jedoch auch die
externe Stromquelle für die Fahrspannung der Loks für eine oder beide Spannungen anzapfen.
Dann sind eine oder beide Dioden (D3 und D6) einzulöten.
Dieses Bild zeigt den Taktgeber. Wer ihn mit der früheren Version vergleicht wird einige
Bauteile mehr entdecken. So ist bereits ein Doppel-MMV (IC18) vorgesehen für die in
Entwicklung befindlichen Fahrregler für zwei Fahrtrichtungen. Es kann bis auf weiteres
inklusive seiner externen Beschaltung ersatzlos entfallen.
IC15 ist als Treiber für diverse Signale auf dem Bus zuständig. Ihm sind noch kleine
RC-Glieder nachgeschaltet welche die Flankensteilheit der Signale begrenzen (47Ohm/2,2nF, nicht abgebildet).
Die Daten- und Adressleitungen sind mit einer 10-poligen Stiftleiste versehen. An diese kann man
einen „Diagnose-Adapter“ anschließen. Im einfachsten Falle baut man sich 8 Leuchtdioden mit
Vorwiderständen und einem Treiber-IC (ULN 2803A – siehe Weichenkarte) auf eine kleine Platine.
Diese kann man dann über einen der drei Steckverbinder entweder an die Daten-, Adress- oder
die sonstigen Steuerleitungen anschließen. An jedem der drei Verbinder liegt nämlich an
der gleichen Stelle auch die Betriebsspannung an. Bei einem Test ist jedoch zu beachten, dass an
den Steuerleitungen nicht viel zu sehen ist: das Fahrregler-Taktsignal erzeugt ein Flimmern und
die „/Write“- und „/Read“-Signale sind mit bloßem Auge ob ihrer Kürze nicht zu erkennen.