|
5.3 Ausgänge
Zur Erläuterung der Funktion der Ausgänge soll die folgende Grafik dienen. Das TTL-Signal des Portbausteins (Port A, Bits 4..7 IC6)
gelangt nach einer Pufferung durch einen CMOS-Treiber vom Typ 4050 (IC7) auf einen Spannungsteiler, welcher den Spannungspegel auf 1/5 seines ursprünglichen Wertes herunterteilt. Ein "High" am PIA-Ausgang
wird so von 5V auf 1V herabgesetzt. Es folgt nun der "Polaritäts-Jumper", dessen Funktion mit den zwei kleinen Ersatzschaltbildern auf der nächsten Seite näher erläutert werden soll.
Der
Polaritäts-Jumper besteht eigentlich aus zwei Jumpern, welche immer beide gesteckt sein müssen. Entweder man steckt sie beide senkrecht (Sicht auf die Platine mit MPC- Bus- Stecker nach rechts und ACIA (IC3) nach
oben gehalten), dann erhält man ein negatives Ausgangssignal, oder man steckt beide Jumper waagerecht auf die vier im Quadrat angeordneten Stifte, womit man ein positives Ausgangssignal erhält. Einem "Low" (0V) am Eingang der Ausgangsschaltung entspricht immer auch 0V am Ausgang des Meßmittelinterfaces.
 |
Abb. 13: Schaltung eines Ausgangskanales
Bei den unten angegebenen Ersatzschaltbildern sind die resultierenden Zustände für beide Polaritäten
angegeben: Links für waagerechtes, rechts für senkrechtes Stecken der Jumper. Die Parallelschaltung der vier 8-4-2-1-kodierten Widerstände sei hier einmal mit der Bezeichnung Rges zusammengefasst,
der zu dem resultierenden Widerstand Rges korrespondierende Rückkopplungswiderstand sei mit Rück bezeichnet. Den resultierenden Parallelwiderstandsbetrag kann man sich leicht mit Hilfe der bekannten Regel ermitteln:
 |
Da es sich hier um eine Parallelschaltung von Widerständen handelt, ist der grösste Widerstand (1MOhm) der mit der geringsten binären Wertigkeit (R1) und umgekehrt. Jeder gesteckte Jumper
verringert den Gesamtwiderstandswert Rges. Wenn bei allen vier Widerständen kein Jumper gesteckt ist, so geht der Gesamtwiderstand gegen unendlich. Bei positiver Ausgangsspannung erhält man dann
eine Gesamtverstärkung von 1, bei negativer Ausgangsspannung von 0. (Was wohl nicht sehr sinnvoll sein dürfte).
Alle weiteren Erklärungen gehen aus der folgenden Grafik hervor. Mit U ist die Spannung am
Mittelpunkt des Spannungsteilers (am Ausgang des Treibers 4050) gemeint, die Spannung Ua gelangt direkt an den Meßmittelstecker.
 |
Abb. 14: Ersatzschaltbilder für Operationsverstärkerschaltungen
Die Beziehung zur Ermittlung der Verstärkung der Ausgangstreiberschaltung steht oben in der Grafik.
Da die Eingangsspannung bei logisch "High" am Eingang 1V ist, erhält man mit der Verstärkung direkt den Betrag der Ausgangsspannung bei einem logischen "High" in V.
Der Rückkopplungswiderstand Rück ist auf der Platine fest eingelötet und beträgt 1MOhm. Mit diesem Wert erhält man eine Schrittweite von 1V beim schrittweisen Erhöhen der Ausgangsspannung.
Mit einem Wert von 500kOhm für Rück sinkt der Wert für die kleinere Schrittweite von 0.5V ab. Man erreicht dann aber nicht mehr das Maximum/Minimum der Ausgangsspannung von etwa +/-15V,
sondern lediglich einen Maximalwert von etwa +/-8V. Diesen Zusammenhang erläutert die folgende Tabelle.
Alle Widerstandswerte sind in Ohm angegeben. Eine 0 in der entsprechenden Spalte bedeutet, dass
der entsprechende Jumper für diesen Widerstand nicht gesteckt ist, d.h. richtig müsste es unendlich heissen. Zugrunde liegen bei diesen Berechnungen die oben aufgezeigten Beziehungen für
Verstärkungsfaktorberechnungen von Operationsverstärkerschaltungen.
Spannung bei logisch 1 am OP-Eingang= 1Volt, Rückkopplungswiderstand= 500kOhm.
|
R8
|
R4
|
R2
|
R1
|
Parallelwert (Ohm)
|
Ausgang+
|
Ausgang-
|
|
0
|
0
|
0
|
0
|
unendlich (nicht verwenden!)
|
1,0 V
|
0,0 V
|
|
0
|
0
|
0
|
1000
|
1000.0 Ohm
|
1,5 V
|
-0,5 V
|
|
0
|
0
|
500
|
0
|
500,0 Ohm
|
2,0 V
|
-1,0 V
|
|
0
|
0
|
500
|
1000
|
333,33 Ohm
|
2,5 V
|
-1,5 V
|
|
0
|
250
|
0
|
0
|
250,0 Ohm
|
3,0 V
|
-2,0 V
|
|
0
|
250
|
0
|
1000
|
200,0 Ohm
|
3,5 V
|
-2,5 V
|
|
0
|
250
|
500
|
0
|
166,66 Ohm
|
4,0 V
|
-3,0 V
|
|
0
|
250
|
500
|
1000
|
142,857 Ohm
|
4,5 V
|
-3,5 V
|
|
125
|
0
|
0
|
0
|
125,0 Ohm
|
5,0 V
|
-4,0 V
|
|
125
|
0
|
0
|
1000
|
111.111 Ohm
|
5,5 V
|
-4,5 V
|
|
125
|
0
|
500
|
0
|
100.0 Ohm
|
6,0 V
|
-5,0 V
|
|
125
|
0
|
500
|
1000
|
90,909 Ohm
|
6,5 V
|
-5,5 V
|
|
125
|
250
|
0
|
0
|
83,33 Ohm
|
7,0 V
|
-6.0 V
|
|
125
|
250
|
0
|
1000
|
76,923 Ohm
|
7,5 V
|
-6,5 V
|
|
125
|
250
|
500
|
0
|
71,428 Ohm
|
8,0 V
|
-7,0 V
|
|
125
|
250
|
500
|
1000
|
66,666 Ohm
|
8,5 V
|
-7,5 V
|
|
In der untenstehenden Tabelle findet sich in den letzten Zeilen einige Male der Wert "over". Das bedeutet, dass die rechnerische Ausgangsspannung den Betrag der jeweiligen Versorgungsspannung
(+/-15V) übersteigt und der Verstärker somit übersteuert würde. Vermutlich wird sich in einem solchen Betriebsfall eine betragsmässig etwas unter + bzw. -15V liegende Spannung einstellen.
Tabellenparameter für die untenstehende Tabelle: Spannung bei logisch 1 am OP-Eingang= 1Volt, Rückkopplungswiderstand= 1MOhm. (Dies ist die auf dem Prototyp verwandte Version der Ausgangstreiberbeschaltung)
|
R8
|
R4
|
R2
|
R1
|
Parallelwert (Ohm)
|
Ausgang+
|
Ausgang-
|
|
0
|
0
|
0
|
0
|
unendlich (nicht verwenden!)
|
1,0 V
|
0,0 V
|
|
0
|
0
|
0
|
1000
|
1000.0 Ohm
|
2,0 V
|
-1,0 V
|
|
0
|
0
|
500
|
0
|
500,0 Ohm
|
3,0 V
|
-2,0 V
|
|
0
|
0
|
500
|
1000
|
333,33 Ohm
|
4,0 V
|
-3,0 V
|
|
0
|
250
|
0
|
0
|
250,0 Ohm
|
5,0 V
|
-4,0 V
|
|
0
|
250
|
0
|
1000
|
200,0 Ohm
|
6,0 V
|
-5,0 V
|
|
0
|
250
|
500
|
0
|
166,66 Ohm
|
7,0 V
|
-6,0 V
|
|
0
|
250
|
500
|
1000
|
142,857 Ohm
|
8,0 V
|
-7,0 V
|
|
125
|
0
|
0
|
0
|
125,0 Ohm
|
9,0 V
|
-8,0 V
|
|
125
|
0
|
0
|
1000
|
111.111 Ohm
|
10,0 V
|
-9,0 V
|
|
125
|
0
|
500
|
0
|
100.0 Ohm
|
11,0 V
|
-10,0 V
|
|
125
|
0
|
500
|
1000
|
90,909 Ohm
|
12,0 V
|
-11,0 V
|
|
125
|
250
|
0
|
0
|
83,33 Ohm
|
13,0 V
|
-12,0 V
|
|
125
|
250
|
0
|
1000
|
76,923 Ohm
|
14,0 V
|
-13,0 V
|
|
125
|
250
|
500
|
0
|
71,428 Ohm
|
over
|
-14,0 V
|
|
125
|
250
|
500
|
1000
|
66,666 Ohm
|
over
|
over
|
|
5.4 Die serielle RS232 - Schnittstelle
Die serielle Schnittstelle auf dem Meßmittelinterface wurde (wie schon erwähnt) realisiert mit einer ACIA vom Typ 6551 und einem RS 232-Treiber/Empfänger Typ MAX232CPE. Durch den
RS232-Treiber/Empfänger von MAXIM entspricht die Schnittstelle in den elektrischen Kenndaten in allen Fällen der Spezifikation der DIN. Lediglich einige zur Modemsteuerung verwandten Signale
wurden für das Interface nicht vorgesehen. Implementiert wurden folgende Schnittstellenleitungen:
|
PGND
|
an Pin 1
|
Schutzerde
|
protective ground
|
|
TxD
|
an Pin 2
|
Sendedaten
|
transmitted data
|
|
RxD
|
an Pin 3
|
Empfangsdaten
|
received data
|
|
RTS
|
an Pin 4
|
Sendeteil einschalten
|
request to send
|
|
CTS
|
am Pin 5
|
Sendebereitschaft
|
clear to send
|
|
GND
|
an Pin 7
|
Betriebserde
|
ground
|
|
Die Pin-Numerierung gilt nur für die endgültige Platinenlayoutversion, bei der Prototypversion wurde die Numerierung fälschlicherweise vertauscht: Pin 1 (Platine) ist Pin 13 am Stecker, Pin 14 (Platine) ist
Pin 25 am Stecker usw.
Die Schnittstelle überträgt die Daten mit Spannungspegeln, die bei den Datenleitungen für logisch
"High" zwischen -3 und -15V und für logisch "Low" zwischen +3 und +15V liegen müssen. Bei den Steuerleitungen ist es genau umgekehrt. Spannungen zwischen -3V und +3V sind nicht definiert und
dürfen nicht auftreten. Alle weiteren Steuerleitung der ACIA (DCD, Data Carrier Detect, DSR Data Set Ready und DTR Data Terminal Ready) sind entweder auf Masse gelegt (ACIA-Eingänge DSR
und DCD) oder bleiben offen (ACIA-Ausgang DTR). Auf Masse deswegen, weil die ACIA mit TTL-Pegeln arbeitet, welche erst vom MAX232CPE in die RS232-Signale umgewandelt werden.
Der RS232-Treiber/Empfänger von MAXIM (IC1) enthält jeweils zwei RS232-Treiber und Empfänger, welche nach der Spezifikation in der DIN 66020 arbeiten und die Signalumformung
TTL-RS232 und zurück vornehmen. Da die Triggerschwelle für die Eingänge zwischen 0.8V und 2,4V liegt, können auch Schnittstellen betrieben werden, welche zwar ein Datenformat ähnlich der
RS232-Spezifikation verwenden, aber nur TTL-Pegel liefern (z.B. bei Kröplin Messuhren und Fischer-Oberflächenpruefgeräten). Der Baustein arbeitet mit einer einfachen Versorgungsspannung von
+5V und erzeugt die +/-10V für die RS232-Schnittstelle intern durch Spannungsverdopplung und anschliessende Spannungsinvertierung. Zur Einsparung von Bauteilkosten wurde ein Typ verwandt,
welcher für die Ladungspumpen der Spannungserzeugung noch vier externe Kondensatoren benötigt. Von MAXIM sind auch Typen mit fertig integrierten Kapazitäten erhältlich, welche aber fast um das
Doppelte in der Anschaffung teurer sind.
Da RTS als Ausgang und CTS als Eingang geschaltet sind, handelt es sich bei dem Meßmittelinterface
um eine DEE (Daten-End-Einrichtung) oder engl. DTE (Data Terminal Equipment). Die Übertragungsgeschwindigkeit kann per Software von 50 bis 19600 Baud eingestellt werden. Ebenso
ist das Übertragungsprotokoll (1, 1.5, 2 Stoppbits, even/odd/no parity) per Software einstellbar. Für weitere technische Details der Schnittstellenbausteine finden sich Informationen in den entsprechenden
Datenblättern der Hersteller (im Anhang).
Wichtig: Wenn ein RS 232-Gerät angeschlossen wird, so muss darauf geachtet werden, dass die Pins,
welche nicht zu der RS 232-Schnittstelle gehören, nicht mit dem Interface verbunden werden, da diese Leitungen vom Interface teilweise für andere Zwecke benutzt werden. Unter Umständen kann
entweder das Interface oder das RS 232-Gerät zerStört werden.
5.5 Die Adressdekodierung mit EPLD 5C032
Die Adressdekodierung wurde bei der Firma Brankamp bisher mit den unterschiedlichsten Methoden realisiert. Teilweise wurden einige AND-Gatter verschaltet, um die Chip-Select-Signale für die
Busbausteine zu erzeugen, einige Platinen verwenden EPROMS, welche zur Adressdekodierung zweckentfremdet wurden, welche aber nur 8 Bit des Adressbusses verwenden und zudem noch recht
zeitkritisch arbeiten (250-300ns Zugriffszeit sind auf einem 1MHz-Bus fast zu langsam).
Gemeinsamer Nachteil aller bisher verwendeter Schaltungstechniken ist der, dass einige
Adressleitungen nicht verwendet wurden, so dass die entsprechende Platine mehrere Adressen im Speicherbereich des Prozessors belegt. Zusätzlich kam es selten vor, dass die Adress- und
Datenleitungen auf den MPC-Platinen gepuffert wurden, so dass bei mehreren Platinen am Bus die Signalform der Busleitungen nicht mehr optimal war. Messungen an den Busleitungen zeigen, dass die
Taktleitung und andere Steuerleitungen auf dem Bus nach einer Pufferung durch einen Bustreiber erheblich steilere Flanken, geringere Überschwinger an den Flankenecken und stabilere Pegel
aufweisen. Auf dem neuen Interface werden daher alle Bussignale, welche an mehr als einen Chipeingang geschaltet sind, über einen Bustreiber gepuffert.
Zur Adressdekodierung wurde ein EPLD vom Typ 5C032 von Intel vorgesehen. Ein EPLD ist ein löschbarer programmierbarer Logik-Baustein (Erasable Programmable Logic Device). Das EPLD ist
erhältlich in einem 20-poligen DIL-Gehäuse mit 8 Eingängen und 9 Leitungen, welche wahlweise als Eingang oder als Ausgang programmiert werden können und TTL-kompatible Signale verarbeiten. In
einer achtfach aufgebauten 8*8-Matrix können wired-AND Verbindungen hergestellt werden, welche anschliessend in ein OR-Gatter münden (sum of products algorithm).
Die Verbindungen werden technisch durch EPROM-Zellen hergestellt, welche an den Kreuzungspunkten der 8*8-Matrix plaziert sind. Wenn nun eine Verbindung zwischen den beiden sich
kreuzenden Leitungen hergestellt werden soll, so muss die korrespondierende EPROM-Zelle programmiert werden. Über diverse Feedback-Leitungen kann das verknüpfte Signal wieder in die
Schaltung zurückgeführt werden, so dass auch komplexere logische Verschaltungen programmiert werden können. Alle Logik-Signale stehen innerhalb des EPLD's invertiert und nichtinvertiert zur Verfügung.
Zusätzlich kann noch ein sogenanntes Turbo-Bit (ebenfalls eine EPROM-Zelle) gesetzt werden, welches eine etwas höhere Arbeitsgeschwindigkeit durch einen größeren Stromverbrauch bewirkt. Da
die mittlere Durchlaufzeit durch das EPLD ohne Turbo bei etwa 40ns liegt, ist die Turbo-Option für die Anwendung auf dem Meßmittelinterface nicht erforderlich.
Ein Security-Bit verhindert das Auslesen der EPROM-Programmierzellen und damit ein Duplizieren bzw. Analysieren der im EPLD programierten Information. Nach einem Setzen des Security-Bits kann
das EPLD nur durch ein vollständiges Löschen wieder ausgelesen werden. Da die Logik-Information dann ebenfalls entfernt wird, stellt das Security-Bit einen relativ sicheren Schutz des internen
Logikprogramms dar. Da dieses Security-Bit die Entwicklungsarbeit erschweren könnte, wurde auch dieses Bit nicht gesetzt.
Die Programmierung der EPLD's von Intel erfolgt sehr komfortabel durch das Softwaresystem "Schema2", lauffähig auf MS-DOS-kompatiblen Rechnern. Man gibt den Schaltplan der Gatterlogik,
welche man in das EPLD programmieren möchte, mit der Maus grafisch ein, zieht Verbindungen und kann fertige Bauteile aus Bibliotheken abrufen und verwenden. Anschliessend erfolgt durch
nachgeschaltete Programme -sogenannte "post-processors"- eine Umwandlung des Schaltbildes in Bool'sche Gleichungen und weiter über einen "logic optimizer", welche die Logikfunktionen minimiert
und der Architektur des EPLD's anpasst, eine Umwandlung in ein sogenanntes JEDEC-File. Das JEDEC- Format stellt ein standardisiertes Dateiformat zur Übertragung von binären Daten an
EPROM-, GAL- (Gate Array Logic) und EPLD-Programmier-Geräte dar. Mit einem handelsüblichen EPLD-Prommer wurde dann die Logik in das EPLD programmiert. Dabei wird durch Adressierung
einer bestimmten Zelle und anschliessendes impulsartiges Überhöhen der Betriebsspannung auf den vierfachen Normalwert die adressierte EPROM-Zelle "geschossen", d.h. die Verbindung in der
Logik-Matrix dauerhaft hergestellt.
Durch Bestrahlung mit kurzwelligem UV-Licht während einer Dauer von etwa 20min können alle
hergestellten Verbindungen wieder gelöscht werden und das EPLD steht wieder für eine erneute Programmierung zur Verfügung.
Weitere technische Einzelheiten sind in den Datenblättern des Herstellers angegeben.
Eine erklärende Darstellung der Funktionsweise der Adressdekodierung liefert das folgende Schaubild:
Abb. 15: Schaltplan der Adressdekodierung mit EPLD 5C032
Das Adressdekoder-EPLD (IC8) des Meßmittelinterfaces bildet aus einer trivialen
Logik-Verknüpfung der Adressleitungen A2..A15 und dem VMA-Signal vom MPC-Bus die Chip-Select-Signale für die beiden PIAs (IC6 und IC11) und die ACIA (IC2), zusätzlich benötigt der
bidirektionale Bustreiber 74HC245 (IC3) ein Signal zur Steuerung der Datenrichtung (Auswahl der Schreib-Lese-Richtung), welches ebenfalls im Adressdekoder-EPLD (IC8) aus den Adressleitungen,
dem VMA-Signal und zusätzlich der Read-Write-Leitung des Prozessors gebildet wird.
Nur wenn die anliegende Bus-Adresse gültig ist (VMA ist "High"), wenn sie mit der mit dem
Adress-Wahlschalter und der EPLD-Programmierung eingestellten Adresse übereinstimmt und das Read/Write-Signal vom MPC-Bus "High" ist, kann der 74HC245 (IC3) Daten an den Bus senden,
ansonsten liest er vom Bus. So wird auf einfache Weise sichergestellt, dass immer nur maximal ein Bustreiber schreibend auf den MPC-Bus zugreift und somit Kurzschlüsse durch den gleichzeitigen
Zugriff mehrerer Bustreiber vermieden werden. Die Adressleitungen A4..A7 werden über einen 4-Bit-Vergleicher 74HC85 (IC18) mit einem per Adress-Wahlschalter eingestellten 4-Bit Wert
verglichen und das Ausgangs-Signal A=B des Vergleichers wird dem Adressdekoder-EPLD (IC8) zugeführt. Tatsächlich liegt jedoch die Leitung B7 (welche mit A7 verglichen wird) immer fest
verdrahtet auf "Low", da nur acht Platinenadressen erlaubt sind. A7 muss also immer "Low" sein, der DIP-Schalter 4 ist somit don't care.
Zusammenfassend sei hier noch einmal eine Aufstellung der belegten Adressen angegeben. Zuerst erfolgt eine Auflistung der 8 möglichen Basisadressen, auf die sich die weiter unten angegebenen Adress-Offsets beziehen:
$7000, $7010, $7020, $7030, $7040, $7050, $7060, $7070.
Der aktuelle Wert hängt von der Einstellung des 4-poligen Dip-Schalters direkt neben dem der MPC-Bus-Steckerleiste ab. Da nur 8 Adressen von der Software unterstützt werden, ist der
DIP-Schalter 4 kurzgeschlossen und somit don't care. Alle nach der untenstehenden Tabelle nicht belegten Portbits sind nicht angeschlossen und sollten als Ausgänge konfiguriert werden, um Störungen zu vermeiden.
(Anmerkung: PA2 bezeichnet das Bit 2 (das dritte Bit) des Ports A der PIA. Bit 0 ist das erste Bit.)
|
Offset
|
Gerät
|
Belegung
|
|
$0
|
PIA2
|
Port A: Steuerung des Sylvac-EPLD's PA0=Serial Data in PA1=Messen(0)/Einlesen(1) out PA2=Softwareclock beim Einlesen out (steigende Flanke) PA3=Inputs enable(1) disable(0) out
PA7=Taster Meßmittelmodul-Auswahl in, gedrückt=(0)
|
|
$1
|
PIA2
|
Steuerregister Port A
|
|
$2
|
PIA2
|
Port B: PB0=LED auf der Frontplatte out, ein=(1) PB1=Optokoppler out, durchgesteuert=(1)
|
|
$3
|
PIA2
|
Steuerregister Port B
|
|
$4
|
PIA1
|
Port A: PA0..PA7: 8 bit Softwarecodierschalter in
|
|
$5
|
PIA1
|
Steuerregister Port A
|
|
$6
|
PIA1
|
Port B PB0: Input 1 PB1: Input 2 PB2: Input 3 PB3: Input 4 PB4: Output 1 PB5: Output 2 PB6: Output 3 PB7: Output 4
|
|
$7
|
PIA1
|
Steuerregister Port B
|
|
$8
|
ACIA
|
R/W=Low (6802 schreibt) R/W=High (6802 liest) Senderegister (TxD) Empfangsregister (RxD)
|
|
$9
|
ACIA
|
R/W=Low (6802 schreibt) R/W=High (6802 liest) Programmed Reset (Data=d.c.) Read Status Register
|
|
$A
|
ACIA
|
R/W=Low (6802 schreibt) R/W=High (6802 liest) Write Command Register Read Command Register
|
|
$B
|
ACIA
|
R/W=Low (6802 schreibt) R/W=High (6802 liest) Write Control Register Read Control Register
|
|
$C
|
reserviert
|
für spätere Erweiterungen
|
|
$D
|
reserviert
|
|
|
$E
|
reserviert
|
|
|
$F
|
reserviert
|
|
|
5.6 Die Sylvac-Logik
Die Sylvac-Logik dient dazu, Meßmittel mit der schnellen, schon in Abschnitt 3.1.4 beschriebenen
Schnittstelle "System Sylvac" anzusprechen. Dabei werden die Meßmitteldaten zuerst unabhängig vom Prozessor in ein Schieberegister des Typs 4557 mit variabler Länge von 1..64 Bit eingelesen, um
anschliessend vom Prozessor "in Ruhe" mit langsamerer Geschwindigkeit ausgelesen und verarbeitet werden zu können. Zur Steuerung dieser Vorgänge wird wiederum ein EPLD vom Typ 5C032
eingesetzt. Es enthält die erforderliche Logik zur Freigabe der Daten-und Clockleitungen des Schieberegisters, zum Umschalten des Taktsignals vom Meßmittel auf den Prozessor und zur Auswahl
der Eingänge. Zusätzlich zu den Eingängen für Sylvac-Meßmittel kann man noch Schnittstellen betreiben, welche schnelle Datenübertragung bis zu einer Länge von 64Bit mit TTL-Pegeln betreiben.
Die Sylvac-Schaltung wird durch folgenden Schaltplanauszug wiedergegeben:
Abb. 16: Die Schaltung des Sylvac-Eingangs
Das steuernde EPLD ist hier strichpunktiert umrahmt dargestellt. Die intern programmierte Logik ist als
Gatterlogik in diesem Rechteck angedeutet. Links im Bild erkennt man deutlich die zwei Funktionsgruppen für die Eingangs-Signalaufbereitung: Im oberen Teil die
Sylvac-Eingangs-Impedanzwandlung rund um die beiden selbstleitenden J-FETs (Feldeffekt-Transistoren), im unteren Teil die Aufbereitung der TTL-Pegel, welche in Form einer
einfachen Schutzbeschaltung (Serienwiderstand in Verbindung mit zwei über- und unterspannungsableitenden Dioden) mit nachfolgendem Schmitt-Trigger vom Typ 40106 (IC10) realisiert wurde.
Bei der Impedanzwandlung für das Sylvac-Signal handelt es sich um eine Applikation der Firma PAV in der Schweiz, welche diese mir freundlicherweise zur Verfügung stellte. Der Serienwiderstand und
die Zenerdiode dienen zur Ableitung von Über- und Unterspannungen.
Wenn nun das Meßmittel eine logische "1" mit einem Pegel 0V sendet, so leitet der selbstleitende FET
und hält seinen Drain-Anschluss auf 0V. Sendet das Meßmittel eine logische "1" mit -1.5V, sperrt der FET, so dass der Pull-up-Widerstand das Potential des Drain-Anschlusses mit +5V definiert. Es findet
hier also eine Invertierung statt, die aber gewünscht ist, da das Meßmittel seine Daten ebenfalls invertiert aussendet, so dass nach der Eingangsstufe die Daten wieder in nichtinvertierter Logik vorliegen.
Über das Sylvac-EPLD (IC17) steuert der Prozessor die Eingänge des Schieberegisters. Mit dem Signal "Inputs enable" oben rechts im Bild kann man per Software die Eingänge sperren, um so, ohne
von dem Sylvac-Meßmittel durch das Aussenden neuer Daten geStört zu werden, in Ruhe das Schieberegister auszulesen. Über den Jumper "Sylvac/TTL" (J39) kann man zwischen den beiden
Eingangs-Beschaltungen, die oben beschrieben wurden, umschalten, er liegt direkt zwischen dem Sylvac-EPLD (IC17) und dem Platinenrand, die TTL-Eingänge werden durch Stecken über die
beiden Stifte selektiert, welche näher zu der MPC-Bus-Messerleiste liegen. Der Eingang "Reset" invertiert das Reset-Signal vom MPC-Bus, da dort ein Arbeitspegel (während eines Resets) von
"Low" anliegt, wogegen das Schieberegister an seinem "Master -Reset"-Eingang einen positiven Impuls benötigt.
Über den Eingang "Messen/Einlesen" des EPLD's kann man den Takt-Eingang des Schieberegisters vom Meßmittel auf die Prozessorleitung "Softwareclock" legen. Gleichzeitig wird dann der
Dateneingang des Schieberegisters gesperrt. Der Eingang "Softwareclock" liegt (ebenso wie die
Eingänge "Inputs enable" und Messen/Einlesen") direkt an einem Portbaustein PIA (IC11), so dass der Prozessor per Software direkt das Schieberegister takten kann, wenn das Messen/Einlesen-Signal auf
"High" liegt und somit den Eingang "Softwareclock" mit dem Takteingang des Schieberegisters verbindet.
Über die mit "Konfiguration" bezeichneten Jumper direkt neben dem Schieberegister kann die Länge des Schieberegisters + 1 als binärer Zahlenwert von 1 bis 64 Bit eingestellt werden. Eine Länge von 3
Bit müsste also beispiels- 1 weise durch Stecken des Jumpers mit der binären Wertigkeit 2 auf +5V und Stecken aller anderen
Jumper auf 0V konfiguriert werden. In einer endgültigen Platinenlayoutversion könnte hier auch ein DIP-Schalter vorgesehen werden. Der Jumper mit der niedrigsten binären Wertigkeit (J31) liegt am
nächsten zur PIA2 (IC11), die restlichen Jumper (J32..J36) folgen dann in aufsteigender Reihenfolge.
Mit dem Jumper am Datenausgang des Schieberegisters kann zwischen dem invertierenden und dem
nichtinvertierenden Ausgang des Schieberegisters gewählt werden, so dass eine Invertierung der binären Daten aus dem Schieberegister per Software nicht mehr erforderlich ist. Er liegt direkt
zwischen den Konfigurationsjumpern und dem Platinenrand, der nichtinvertierende Ausgang wird durch Stecken über die beiden Stifte gewählt, die näher zum Meßmittelstecker auf der Platine liegen.
|