2.3  Schaltungen und ihre Funktionsweise

 

2.3.1  IO-Platine

 

 

 

 

Bild 13: I/O

 

 

 

 

Einführende Erklärungen zur I/O

in Abschnitt 2.2.4 auf Seite 9, siehe auch Blochschaltbild 2.2.1 auf Seite 8.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Euroformat, LxB im mm: 166x100 ohne Messerleiste, Material: Epoxyd

 

Bild 24: Bestückungsplan:


 

 

Bild 25: IO-Platine Layout Bestückungsseite:

 

 

 

 

Bild 26: Layout Lötseite gespiegelt:

 

Unbenutzte Teile der Platine sind als Massefläche geschaltet.

 

 

 

Bild 27: Funktionsablauf für ein empfangenes Zeichen

 

 


 

 

Funktionsweise des I/O:

 

Wie im Abschnitt 2.2.4 beschrieben, sendet das I/O auf jedes empfangene Zeichen vom Rechner nach einer Wartezeit ein Zeichen zurück. Diese Arbeitsschritte erfordern eine Ablaufsteuerung, siehe Bild 27. Für diese einfache Aufgabe reichen Zähler, Gatter und Flip-Flops aus, ein PLD (programable logic device) ist hier noch nicht notwendig. Drei kaskadierte Zähler MOS-4017 zählen in einer Zeit von 12 ms dezimal von 111 bis 390  Aus dem Zählerstand werden durch Gatter und FF die Zeiträume für die verschiedenen Arbeitsschritte gebildet.  Das I/O bleibt bis zum Empfang eines Infrarotsignals in Wartestellung. Empfängt es ein Signal, wird wie bei einem Trigger der in Bild 27 beschriebene Funftionsablauf ausgelöst:

 

 

 

Zählerstand:

Vorgang:

111 bis 199

Einlesen der seriellen SIR-Pulse in ein Schieberegister.

220 bis 300

Setzen des Strobes, das Steuerbyte (Adresse+Befehl)  wird jetzt von den Busempfängern gelesen.

290 bis 299

Einlesen der parallelen Busdaten in das Senderegister.

 

 

 

303 bis 390

Serielles Senden der eingelesenen Daten.

 

 

Bild 28: SIR-Signal und dessen Abtastung

Bild 28 zeigt den Aufbau eines HP-Standard Infrarot Signals. Es besteht aus 50µs langen Lichtblitzen, im Abstand von 410µs. Die Infrarot-Pulse sind nicht auf einen Träger aufmoduliert, wie es in der Fernsehtechnik üblich ist.  Der erste Puls dient zur Synchronisation des Empfängers, die folgenden Pulse stellen die Datenbits in der Reihenfolge ihrer Wertigkeit von bis  dar. Fehlende Pulse markieren gesetzte Bits. Das im Bild 28 gewählte Beispiel zeigt das SIR-Zeichen 66 (ASCII-Zeichen "B"). Um dessen Einlesen in das Empfangsregister zu ermöglichen, müssen zunächst die Pulse verbreitert und der Signal-Takt regeneriert werden. Die vom I/O erzeugten schmalen Abtastpulse tasten den Zustand des SIR-Bits ab.

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Bild 29: Schaltung des I/O

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Bild 30: Zeitschlitze

 

Um Bauteile zu sparen, wird die zuvor erwähnte Pulsverbreiterung durch die Eigenkapazität der Fotodiode in Verbindung mit einem großen Arbeitswiderstand realisiert. Durch den großen Wert von 1.8 MW ergibt sich zudem noch eine große Ausgangsamplitude, die ausreicht, den Schmittrigger 4093a anzusprechen. Der Taktgenerator 4093b erzeugt eine Frequenz von 24kHz (MP2), sie ist mit den clk des 4017a verbunden. Zur Kaskadierung ist Ausgang "0" des 4017a mit dem clk des 4017b und der "0" des 4017b mit dem clk des 4017c verbunden, das 4017a zählt also die Einer, das -b die Zehner und das -c die Hunderter.  In Wartestellung des I/O hält das FF1 die Zähler auf Reset, also auf dem Zählerstand 111 fest. Empfängt die Fotodiode einen Lichtpuls wird FF1 zurückgesetzt und die  Zähler starten. Der Zählvorgang wird dadurch auf den Anfang der seriellen Aussendung synchronisiert. Durch den freilaufenden Taktgenerator ergeben sich Zeitschlitze von 42µs, um die die Abtastung verschoben werden kann. Dieses Raster reicht aus, um das SIR-Wort sicher abzutasten.

Durch die Abtastung in der Mitte des SIR-Bits ergibt sich ein  "Sicherheitsabstand" zum Rand des Bits von:

In diesem Abstand werden mögliche Verschiebungen des Abtastzeitpunktes aufgefangen, die durch Differenzen der Taktfrequenzen von Rechner und I/O entstehen könnten. Am Ausgang des Schmittriggers 4093b liegt MP1, hier läßt sich das verbreiterte SIR-Signal messen. Wie bereits erwähnt, gelten bei der SIR-Norm nicht gesendete Pulse als logisch 1, darum invertiert 4093c das Signal, bevor es in das Schieberegister 74164 eingelesen wird. Der Inverter 4093d treibt den Dezimalpunkt einer Sieben-Segmentanzeige zum Anzeigen des Empfangs.

 

Bild 31: Beispiel für UND-Verknüpfung (X= alle Ziffern)

 

 

 

 

 

 

 

 

 

Bild 32: serieller Sendeablauf

Damit ein bestimmter Zählerstand abfragbar ist, müssen die betreffenden Zähler-Ausgänge mit UND verknüpft werden, siehe Bild 31. Für den clk des 74164 werden 1XX und XX3 verknüpft (n = 1X3 ), daraus ergeben sich 9 Pulse bei Zählerstand 113,123,133,...,173,183 und 193, siehe Bild 28 unten: Abtastung. Um eine Verknüpfung zu sparen, die den clk bei 113 ausschließt, wird das SIR-Startbit "SY" zunächst mit in das Schieberegister eingelesen und zum Schluß mit dem letzten clk wieder herausgeschoben. Ab Zählerstand 194 liegt das gesendete Byte in paralleler Form am Ausgang des Registers 74164 vor. Nach einer Wartezeit von 1ms (bei Zählerstand n=220) setzt FF2 den Strobe; die Busempfänger und die Latches der hexadezimalen Anzeigentreiber 4495a,-b übernehmen das Steuerbyte (Adresse + Befehl) vom Empfangsregister. Der adressierte Busteilnehmer hat 2.9 ms Zeit, um seine Daten auf den Datenbus zu geben, danach werden die parallelen Daten in das Senderegister 74165 geladen. Das Gatter 4011b erzeugt von n=290 bis n=299 den Ladebefehl für das 74165 und für die Latches in den Anzeigentreibern 4495c und 4495d. Nach dem Laden des Datenbytes wird bei n=300 das FF2 durch das Signal X0X zurückgesetzt, der Strobe endet. Nun werden die parallelen Daten im SIR-Format zum Rechner übertragen. Bild 32 zeigt die zur Synthese des SIR-Zeichens benötigten Spannungsverläufe. Das Signal 3 besteht aus 9 Pulsen, es entspricht dem SIR-Zeichen '0', alle aussendbaren Pulse sind gesetzt, also logisch auf '0'. Dieses Signal wird durch das Gatter 4081f mit dem Byte aus dem Register moduliert.  Am seriellen Ausgang des 74165 liegt ohne vorheriges clk das erste Bit: "B1" an. Bevor dieses abgefragt werden kann, muß zuvor noch das Startbit übertragen werden. Signal 4 markiert das Startbit, es unterdrückt den clk mit Gatter 4081d und setzt den Ausgang des Gatters 4011c unabhängig von B1 auf High. Das Startbit wird bei n=303 ausgesendet. Bei n=310 gibt Signal 4 das Gatter 4011c zur Datenabfrage frei, die Daten erscheinen invertiert am Ausgang des Gatters. Bei n=313 wird jetzt abhängig von B1 der erste Datenpuls gesendet. Bei n=315 wird das Register getaktet, am Ausgang liegt nun B2, das mit Signal 2 bei n=323 abgefragt wird. Für die folgenden Bits wiederholt sich der Vorgang. Um eine zusätzliche Verknüpfung einzusparen, wird das Register bei n=385 in den Überlauf getaktet, dies hat keinen Einfluß auf die Funktion, weil die Aussendung schon bei n=384 beendet ist. Mit dem 4081a wird bei n=280 das FF1 gesetzt; die Zähler werden resettet, der Funktionsablauf ist beendet. Das I/O ist wieder in Wartestellung.