====== Ansteuerung ====== Zur Ansteuerung der Karte wird ein Programm benötigt, welches direkt an den Parallelport schreiben kann. Unter Windows kann man zum Testen beispielsweise [[http://www.specosoft.com/en/zlportio.html|ZLPORTIO]] verwenden. Eine komplexere Linux-Lösung ist zur Zeit in Arbeit. Die feritge Karte wird über die beiden Jumper so eingestellt, daß die Datenleitung D7 des Parallelports an einem Strobe-Eingang des Demultiplexer (IC1) und der 2. Stobe-Eingang auf 0-Signal liegt. (Wird eine 2. Karte parallel zur ersten betrieben so ist bei dieser der 1. Strobe-Eingang auf Masse zu legen und der 2. Über die Jumper mit D6 zu verbinden.) Nochmal zur Erinnerung: Die ersten 4 Bit dienen zur Adressierung des Ausgangssignals. Das 5. Bit legt den Zustand des angesprochenen Ausgangs fest. Bit 7 und 8 (in unserem Fall duch die Jumpereinstellung nur Bit 8) steuern durch ein 0-Signal die Datenübernahme. Z.B. ===== Ausgangskanal 0 einschalten: ===== ^Datenleitung ^Dezimal ^Hexadezimal ^ |7 6 5 4 3 2 1 0 | | | |1 0 0 1 0 0 0 0 | 144 | 90 | |0 0 0 1 0 0 0 0 | 16 | 10 | Was ist passiert? * Schritt 1 (Ausgabe von dezimal 144) Über D0 - D3 wurde der Kanal 0 angewählt. D4 legt fest, daß der Ausgang auf 1 gehen soll. D7 sagt aus, daß die Karte noch nicht reagieren soll. * Schritt 2 (Ausgabe von dezimal 16) Adresse (D0 -D3) und die Signalleitung D4 behalten ihren Zustand bei. D7 schaltet auf 0 und gibt somit die Übernahme der Daten auf den Adressierten Ausgangakanal frei. Der Ausgang schaltet auf 1 Von der schaltungstechnischen Seite wurde im 1. Schritt die Adresse an den Demultiplexer angelegt und das Ausgangssignal an die J und K Eingänge der Flip-Flops gelegt. Durch das 1-Signal über D7 am Strobeeingang wurde jedoch verhindet, daß eine negative Flanke am Takteingang der Flip-Flops erscheint. Durch Umsetzen von D7 auf 0 wird in Schritt 2 diese Flanke erzeugt und das Flip-Flop Übernimmt den Eingangszustand auf den Ausgang. ===== Ausgangskanal 5 einschalten: ===== ^Datenleitung ^Dezimal ^Hexadezimal ^ |7 6 5 4 3 2 1 0 | | | |1 0 0 1 0 1 0 1 | 149 | 95 | |0 0 0 1 0 1 0 1 | 21 | 15 | Was ist passiert? * Schritt 1 (Ausgabe von dezimal 149) Über D0 - D3 wurde der Kanal 5 angewählt. D4 legt fest, daß der Ausgang auf 1 gehen soll. D7 sagt aus, daß die Karte noch nicht reagieren soll. * Schritt 2 (Ausgabe von dezimal 21) Adresse (D0 -D3) und die Signalleitung D4 behalten ihren Zustand bei. D7 schaltet auf 0 und gibt somit die Übernahme der Daten auf den Adressierten Ausgangakanal frei. Der Ausgang schaltet auf 1 ===== Ausgangskanal 5 ausschalten: ===== ^Datenleitung ^Dezimal ^Hexadezimal ^ |7 6 5 4 3 2 1 0 | | | |1 0 0 0 0 1 0 1 | 133 | 85 | |0 0 0 0 0 1 0 1 | 5 | 5 | Was ist passiert? * Schritt 1 (Ausgabe von dezimal 133) Über D0 - D3 wurde der Kanal 5 angewählt. D4 legt fest, daß der Ausgang auf 0 gehen soll. D7 sagt aus, daß die Karte noch nicht reagieren soll. * Schritt 2 (Ausgabe von dezimal 5) Adresse (D0 -D3) und die Signalleitung D4 behalten ihren Zustand bei. D7 schaltet auf 0 und gibt somit die Übernahme der Daten auf den Adressierten Ausgangakanal frei. Der Ausgang schaltet auf 1 Zum schalten eines Kanals werden also immer 2 Schritte benötigt. Im ersten Schritt werden die Daten festgelegt und im 2. Schritt wird das Übernahmesignal für die gewünschte Karte erzeugt.