4.5. Analoge Ein-/Ausgabe (2kanalig)

Einleitung

In diesem Kapitel wird eine Baugruppe beschrieben, mit der auf 2 Kanälen unabhängig voneinander je eine DA- oder AD-Wandlung durchgeführt werden kann.

Fast alle elektronisch gesteuerten Geräte und Anlagen sind mit äußeren Schaltungsteilen verbunden, welche Eingabesignale an die Steuerung abgeben, aber auch Ausgabesignale von der Steuerung erhalten. Durch dieses Zusammenwirken der Steuereinheit mit den Eingabe- und Ausgabe-Signalen wird der Zustand einer Anlage überwacht und beeinflusst. Eingabesignale stammen beispielsweise von Endschaltern, Niveaufühlern und Thermostaten. Hierbei liegen vielfach bereits digitale Informationen vor (»EIN«- und »AUS«-Zustände), deren Erfassung, Auswertung und Weiterverarbeitung in digitalen und computergestützten Einrichtungen direkt möglich ist. Auch digitale Werte z.B. zum Ansteuern von Lampen, Relais, Magnetventilen und Schützen können direkt ausgegeben werden.

Neben digitalen Signalen müssen häufig auch analoge Werte überwacht und verarbeitet werden. Beispiele hierfür sind Temperaturmessungen mit Thermoelementen, Drehzahlerfassungen mit Tachogeneratoren und Drehmomentmessungen mit Dehnungsmessstreifen. Obwohl es zum Teil auch hierfür bereits digital arbeitende Meßfühler gibt, verwendet man aus Kostengründen und wegen der Kompatibilität zu bereits bestehenden Anlagenteilen dennoch oft analoge Meßfühler, die häufig einen
Ausgangspegel von 0V bis 10 V besitzen. Dieser Signalbereich muß daher auch von digital arbeitenden Steuereinrichtungen verarbeitet werden können. Hierzu wird der analoge Spannungsbereich von 0 V bis 10 V in Digitalwerte umgesetzt, wozu Analog/ Digital-Wandler (AD-Wandler) dienen. Sollen Analogwerte von der Steuerung ausgegeben werden, so werden die Digitalwerte mit Hilfe von Digital/Analog-Wandlern (DA-Wandler) umgesetzt.

Dieses Kapitel beschreibt Aufbau, Funktion und Einsatz einer Baugruppe, mit der sich DA- und AD-Wandlungen durchführen lassen. Dabei wird eine in der Mikrocomputertechnik übliche Schaltungstechnik angewendet. Die Baugruppe besitzt zwei 8-Bit-DA-Wandler.

Ein AD-Wandler ist nicht vorhanden; daher wird auf die direkte AD-Wandlung nicht eingegangen. Ausführlich beschrieben wird jedoch die AD-Wandlung mit Hilfe eines DA-Wandlers sowie das hierzu erforderliche Steuerprogramm.

Das Prinzip eines DA-Wandlers

Bild 76: Das Prinzip eines DA-Wandlers; die angegebenen Werte sind lediglich Beispiele zum Verständnis der Funktion

Der DA-Wandler von Bild 76 hat drei durch die Schalter S1 bis S3 gebildete Digital-Eingänge und wird daher als 3-Bit-DA-Wandler bezeichnet. In der gezeichneten Schalterstellung ist der Stromkreis, der von der Referenzspannungsquelle UREF, den Widerständen R1 bis R3 und dem Messwiderstand RM gebildet wird, unterbrochen. Wird z.B. S1 geschlossen, so fließt durch R1 und RM ein Strom in Höhe von 4 mA, da UREF = 8 V und R1 = 2 kOhm beträgt. Der Wert von RM = 10 Ohm ist hierbei unbedeutend.

Wird auch S2 geschlossen, fließt mit I2 ein zusätzlicher Strom in Höhe von 2 mA durch RM, weil R2 mit 4 kOhm den doppelten Wert von R1 besitzt. Der Gesamtstrom lges, der jetzt durch RM fließt, beträgt 6 mA. R3 hat mit 8 kOhm den vierfachen Wert von R1. Daher fließt beim Schließen von S3 ein Strom von I3 = 1 mA.

Sind alle drei Schalter geschlossen, dann ergibt sich ein Gesamtstrom von 7 mA. Er setzt sich aus den drei Teilströmen I1 = 4 mA, I2 = 2 mA und I3 = 1 mA zusammen. Am Messwiderstand, der den Gesamtstrom in eine proportionale Spannung umwandelt, entsteht dabei ein Spannungsabfall von UM = 70 mV, der vom Operationsverstärker bis auf die gewünschte maximale Ausgangsspannung in Höhe von 10 V verstärkt wird. Hierzu kann die Verstärkung mit R5 eingestellt werden.

In Bild 77 sind alle Kombinationsmöglichkeiten der Schalter Sl bis S3 zusammengefaßt und die dabei entstehenden Werte von lges, UM und UA angegeben.

S1S2S3IgesUMUA
0000 mA0 mV0 V
0011 mA10 mV1,43 V
0102 mA20 mV2,86 V
0113 mA30 mV4,28 V
1004 mA40 mV5,71 V
1015 mA50 mV7,14 V
1106 mA60 mV8,57 V
1117 mA70 mV10,0 V
S1, S2, S3: 1 = Schalter geschlossen, 0 = Schalter offen

Bild 77: Die Wertetabelle des DA-Wandlers von Bild 76

Bedingt durch die jeweilige Verdoppelung bzw. die 1-2-4-Abstufung der Widerstandswerte von R1, R2 und R3 ergeben sich bei den 8 Kombinationsmöglichkeiten der drei Schalter jeweils gleiche Stromänderungen in Höhe von 1 mA (Bild 77). Der Gesamtstrom wächst dabei von 0 bis auf 7 mA an. Entsprechend erhöht sich der Spannungsabfall am Messwiderstand um jeweils 10 mV. Als Folge davon wächst die Ausgangsspannung U A in sieben Schritten von O V auf 10 V an. Jeder Schritt bewirkt bei dem vorliegenden 3-Bit-DA-Wandler eine Spannungsänderung von etwa 1,43 V.

Diese recht grobe Auflösung eines 3-Bit-DA-Wandlers wird durch eine größere Zahl von Schaltern und Widerständen verbessert. Bei vier Schaltern ergeben sich bereits 16 Schritte, bei fünf 32 usw. Jeder weitere Widerstand muss dabei den doppelten Wert des vorherigen besitzen, damit er einen nur halb so großen Stromschritt bzw. Ausgangsspannungs-Schritt bewirkt. Bei einem 8-Bit-DA-Wandler nach Bild 76 müssten die acht strombestimmenden Widerstände folgende Werte (jeweils in kOhm) besitzen: 2, 4, 8, 16, 32, 64, 128 und 256.

Hieran erkennt man den entscheidenden Nachteil dieses als »DA-Wandlung nach dem 1-2-4-8-Verfahren« bezeichneten Prinzips: Die strombestimmenden Widerstände weisen sehr unterschiedliche Werte auf, die in der erforderlichen Genauigkeit (bei einem 8-Bit-Wandler etwa ± 0,1 %) nur schwer herstellbar sind. In der Praxis findet man dieses Verfahren daher nur selten. Es zeigt aber deutlich das Prinzip der DA-Wandlung.

Viele DA-Wandler arbeiten nach dem R-2R-Verfahren, mit dem auf einfache Weise eine höhere Genauigkeit als bei der 1-2-4-8-Methode erzielbar ist. Auch in der hier vorgestellten Baugruppe wird das R-2R-Verfahren eingesetzt. Obwohl dabei ein integrierter Schaltkreis eingesetzt wird, dessen Funktion als gegeben hingenommen werden muss, wird die R-2R-Methode vor allem wegen ihrer grundsätzlichen Bedeutung erklärt.

Die Bezeichnung »R-2R« drückt aus, dass die strombestimmenden Widerstände hier nur zwei verschiedene Werte aufweisen, wobei der eine Widerstandswert doppelt so groß wie der andere ist. Da sich der doppelte Wert eines Widerstandes durch die Hintereinanderschaltung zweier gleicher Widerstände bilden lässt, benötigt man sogar nur einen einzigen Widerstandswert für die gesamte Schaltung.

Bild 78: Ein DA-Wandler nach dem R-2R-Verfahren.

Der R-2R-Wandler von Bild 78 besteht aus einer Referenzspannungs-Quelle, vier 2-kOhm-Widerständen, zwei 1-kOhm-Widerständen, drei Umschaltern und einem Amperemeter. Aus insgesamt zehn gleichen Widerständen (mit je 1 kOhm) kann dieses R-2RNetzwerk aufgebaut werden. Meistens setzt man ein R-2R-Netzwerk in integrierter Form ein; bei ihm sind die Widerstände intern miteinander verbunden.

Durch die vorliegende Dimensionierung ergeben sich die Ströme I1, 12 und I3 zu 4 mA, 2 mA und 1 mA, also jeweils um die Hälfte verringert: Bild 79.

Bild 79: Ströme und Spannungen beim DA-Wandler nach dem R-2R-Verfahren.

Zur Berechnung der Strom- und Spannungswerte muss zunächst der Gesamtwiderstand ermittelt werden.

Man beginnt bei R5 und R6, die zusammen betrachtet einen Wert von 1 kOhm besitzen (Bild 79). Hierzu in Reihe liegt R4; dies ergibt einen Wert von 2 kOhm für R4, R5 und R6. Dazu parallel geschaltet ist R3, so dass R3 bis R6 zusammen einen Widerstand von 1 kOhm aufweisen. Mit R2 in Reihe dazu ergeben sich 2 kOhm für R2 bis R6. Diesem Wert ist noch R1 parallel geschaltet, wodurch sich ein Gesamtwiderstand
der Schaltung von 1 kQ ergibt.

Bei einer Spannung von 8 V fließt ein Gesamtstrom von 8 mA, der sich in zwei gleiche Teile für Rl (I1) und R2 aufteilt. Am Widerstand R2 entsteht ein Spannungsabfall von 4 V, so dass an R3 die Differenz zur Gesamtspannung in Höhe von ebenfalls 4 V anliegt. R3 führt einen Strom von 2 mA (12). Für R4 verbleibt ein Strom von 2 mA, der an R4 einen Spannungsabfall von 2 V erzeugt. Hierdurch haben R5 und R6 ebenfalls 2 V, und beide Widerstände führen je einen Strom von 1 mA. Bei der in Bild 78 gezeichneten Schalterstellung ( alle Schalter in Stellung 0) fließt kein Strom durch das Amperemeter.

Wird z.B. S1 umgeschaltet, fließt I1 durch das Amperemeter. Wird auch S2 umgeschaltet, kommt I2 hinzu. Dies gilt auch für S3 und I3. Untersucht man nun alle möglichen Schalterstellungen, so erhält man die gleiche 1-mA-Abstufung des Stromes wie beim DA-Wandler nach dem 1-2-4-8-Verahren (Bild 77).

Statt des Amperemeters kann ein niederohmiger Widerstand in die Schaltung von Bild 78 eingesetzt werden; dadurch entsteht ein dem Strom proportionaler Spannungsabfall, der durch einen nachgeschalteten Operationsverstärker auf die gewünschte Ausgangsspannung gebracht werden kann. Dies wurde bereits in Bild 76 gezeigt.

In praktisch ausgeführten Schaltungen werden die Kontakte eines DA-Wandlers durch Schalttransistoren ersetzt, die sich oft zusammen mit dem R-2R-Netzwerk in einem IC befinden. Für den Einsatz in Mikrocomputern gibt es DA-Wandler, deren Struktur speziell an das Bus-System eines Computers angepaßt ist. Derartige Bausteine besitzen Zwischenspeicher für die digitalen Werte, damit die umzuwandelnden Bits nur einmal für kurze Zeit bereitgestellt werden müssen.

Unabhängig von dem Wandlungsverfahren und der Schaltungstechnik eines DA-Wandlers kann der Zusammenhang zwischen der Bitzahl, der Anzahl der Schritte und der Schrittwertigkeit folgendermaßen ausgedrückt werden:

Anzahl der mögl. Kombinationen = 2n (n = Bitzahl des DA-Wandlers)
Schrittzahl bis zum Maximalwert = 2n-1
Wertigkeit eines Schrittes = U Amax / (2n-1) (UAmax = maximale Ausgangsspannung des DA-Wandlers)

Hier kommt ein 8-Bit-DA-Wandler mit einer maximalen Ausgangsspannung von 10 V zum Einsatz. Hierauf angewendet ergeben sich folgende Werte:

Anzahl der mögl. Kombinationen = 2^8 = 256
Schrittzahl bis zum Maximalwert = 256-1 = 255
Wertigkeit eines Schrittes = 10 V/255 = 39,22 mV

Blockschaltbild und Arbeitsweise der Analog-E/A-Baugruppe

Bild 80 zeigt das Blockschaltbild der 2kanaligen Analog-Ein/Ausgabe, die im wesentlichen einen Adressvergleicher, zwei DA-Wandler mit Ausgangsverstärkern und zwei Komparatoren mit nachgeschalteten Tri-State-Gattern enthält.

Die Dateneingänge beider 8-Bit-DA-Wandler sind parallel geschaltet und direkt mit den Datenleitungen D0 bis D7 des Systembus verbunden. Jeder DA-Wandler besitzt die Steuereingänge CS (Chip Select) und CE (Chip Enable). Beide müssen gleichzeitig L-Pegel führen, wenn einer der Wandler vom Prozessor Daten erhalten soll.

Die CE-Eingänge der Wandler sind direkt mit dem Bussignal IOW verbunden und nehmen bei jedem E/A-Schreibvorgang L-Pegel an, wenn der Prozessor z.B. einen Digitalwert zur DA-Wandlung ausgibt.

Bild 80: Das Blockschaltbild der 2kanaligen Analog-Ein/Ausgabe.

Über die CS-Eingänge in Verbindung mit den NANO-Gattern IC3.1 und IC3.3 wird gesteuert, welcher DA-Wandler das vom Prozessor auszugebende Datenwort erhält.

Eines der Eingangssignale für die NANO-Gatter wird vom Adressvergleicher geliefert. Dieser schaltet nur dann ein H-Signal auf die Freigabe-Leitung, wenn die Bitkombination der Adressleitungen A4 bis A 7 gleich ist mit der Bitkombination, die mit den Schaltern S1 bis S4 eingestellt ist (Baugruppen-Nummer).

Das zweite Eingangssignal für die NAND-Gatter stammt von der Adressleitung A0, deren Signalzustand durch IC1.1 invertiert auf IC3.1 geführt wird. Hierdurch ist bei L-Pegel an A0 der Wandler 1 ausgewählt, wenn außerdem die Freigabeleitung H-Pegel führt. Für den Wandler 2 ist AO direkt mit IC3.3 verbunden. Somit wird bei H-Pegel an AO und bei richtiger Baugruppen-Nummer der Wandler 2 angesprochen. Durch die Adressleitung A0 erfolgt also die Unterscheidung der beiden DA-Wandler.

Dem Analogausgang jedes DA-Wandlers ist ein Gleichspannungsverstärker nachgeschaltet, der eine Ausgangsspannung zwischen 0V und 10V an die Buchsen OUT1 und OUT2 abgibt. Beide Ausgangssignale sind außerdem mit Komparatoren verbunden, welche an die Buchsen IN1 und IN2 anschließbare äußere Gleichspannungen mit der Ausgangsspannung des jeweiligen DA-Wandlers vergleichen. Dieser Spannungsvergleich wird bei der AD-Wandlung mit Hilfe eines DA-Wandlers benötigt, worauf später noch näher eingegangen wird.

Die Ausgänge der Komparatoren führen über Tristate-Gatter auf die Datenleitungen D0 und D1. Hierdurch kann der Prozessor durch einen Lesevorgang die Schaltzustände der Komparatoren abfragen. IC1.2 invertiert das L-aktive Signal IOR, und IC3.2 verknüpft es mit der Freigabe. Bei L-Signal an IOR und bei gültiger Baugruppennummer gibt IC3.2 beide Tristate-Gatter frei, deren Ausgänge dann gleichzeitig auf den Datenbus durchgeschaltet sind.

Der interne Aufbau des DA-Wandler-Bausteins AD558

Bild 81 zeigt das Anschlussschema und den internen Aufbau des verwendeten DA-Wandlers. Neben den bereits in Bild 78 gezeigten Komponenten Referenzspannungsquelle, R-2R-Netzwerk und Umschalter besitzen die DA-Wandler einen 8-Bit-Eingangsspeicher, eine Übernahme-Logik und einen Pegelverstärker

Bild 81: Anschlüsse und Aufbau des DA-Wandler-Bausteins AD558.

Wenn beide Steuereingänge der Übernahmelogik (CS, Pin 10, und CE, Pin 9) L-Pegel führen, wird das in einen Analogwert umzuwandelnde 8-Bit-Datenwort (D0 bis D7) in den Eingangsspeicher übernommen und verbleibt dort, bis es durch ein neues Datenwort überschrieben wird (Bild 81).

Vom Eingangsspeicher werden die als Analogschalter bezeichneten Umschalter des R-2R-Netzwerkes angesteuert. Da die Ausgangsspannung des Netzwerkes sehr gering ist, wird sie bereits innerhalb des DA-Wandlers verstärkt. Durch die gewählten Verbindungen der verstärkungsbestimmenden Widerstände treten am Ausgang des DA-Wandlers Spannungswerte im Bereich zwischen 0 V (beim Digitalwert 00) und 10 V (beim Digitalwert FF) auf. Je nach Anwendungsfall können auch andere Verstärkungswerte erzielt werden; darüber geben die Datenbücher des Herstellers weiteren Aufschluss.

Die in Bild 80 eingezeichneten Ausgangsverstärker sind außerhalb der DA-Wandler zusätzlich vorhanden. Sie ermöglichen eine exakte Kalibrierung der Schaltung.

Adreßvergleicher und Baugruppen-Nummer

Der Mikroprozessor steuert die Analog-E/A-Baugruppe wie jede andere Eingabe und Ausgabe-Einheit an. Da immer nur eine einzige Einheit aktiviert sein darf, müssen alle im System vorhandenen Eingabe- und Ausgabe-Einheiten unterschiedliche Baugruppen-Nummern besitzen. Aus diesem Grund ist die Baugruppen-Nummer mit Hilfe von Schaltern einstellbar. Ein Adressvergleicher aktiviert die Baugruppe
nur dann, wenn der Prozessor diejenige Adresse aussendet, die der eingestellten Baugruppen-Nummer entspricht: Bild 82.

Bild 82: Baugruppenadresse und Freigabe-Signal

Nur wenn die Bitkombination auf den Adressleitungen A4 bis A7 der mit den Schaltern S1 bis S4 eingestellten Bitkombination entspricht, gibt der 4-Bit-Vergleicher IC2 an seinem Ausgang »A=B« ein H-Signal ab. Es wird hier als Freigabesignal bezeichnet.

In Bild 82 ist das Ausgangssignal des Adressvergleichers für den DA-Wandler 1 mit IC3.1, für die Komparatoren mit IC3.2 sowie für den DA-Wandler 2 mit IC3.3 verknüpft. Nur bei der richtigen Baugruppen-Nummer kann daher die Analog-Ein/Ausgabe Daten empfangen oder an den Prozessor abgeben.

Der Prozessor gibt stets eine vollständige 8-Bit-Adresse an A0 bis A7 aus, wenn er eine Eingabe- oder Ausgabe-Einheit anspricht. Bei dem hier durchgeführten Adressvergleich werden jedoch die Adressleitungen A0 bis A3 nicht berücksichtigt. Daher steht nicht der volle Adressbereich von 00H bis FFH mit 256 verschiedenen Adresswerten zur Verfügung, sondern mit den Schaltern S1 bis S4 können lediglich 16 verschiedene Signalzustände (Baugruppen-Nummern) eingestellt werden.

Da diese Schalter den vier höherwertigen Adress-Bits A4 bis A7 zugeordnet sind, kann die Baugruppen-Nummer nur die Werte 0XH bis FXH annehmen. Das X steht hier für die vier niederwertigen Adress-Bits A0 bis A3, die beim Adressvergleich nicht benutzt werden:

Bild 83: Die Bildung der Baugruppen-Nummern auf der 2kanaligen Analog-Ein/Ausgabe.

Im folgenden werden diese Schalterstellungen zugrundegelegt:

S4 (A7)S3 (A6)S2 (A5)S1 (A4)
ONOFFONON
0100

Hierdurch ergibt sich die Baugruppen-Nummer 4XH. Prinzipiell kann jede der 16 möglichen Baugruppen-Nummern verwendet werden. Es ist aber darauf zu achten, dass sämtliche Eingabe- oder Ausgabe-Baugruppen eines Mikrocomputer-Systems unterschiedliche Adressen besitzen; andernfalls kann es zu Schäden am Gerät kommen.

Adressierung und Schreib/Lese-Steuerung

Bild 84: Adressierung und Schreib/Lese-Steuerung

Die Adressleitungen A4 bis A7 besitzen die in Bild 84 angegebenen Signalzustände, die der Baugruppennummer 4XH entsprechen. Da die Adressleitungen A1 bis A3 nicht angeschlossen sind, kann ihr logischer Pegel 1 oder 0 sein. Dies wird in der Tabelle durch die Bezeichnung X ausgedrückt.

Zum Betriebszustand 1:

Da die Schreibleitung IOW und die Leseleitung IOR beide H-Pegel (1-Signal) führen, werden weder Daten in die Baugruppe geschrieben, noch werden die Zustände der Komparatoren abgefragt. Der Signalzustand der Adressleitung A0 ist daher beliebig. In diesem Betriebszustand verhält sich die Baugruppe passiv. Dennoch muss dieser Fall beachtet werden, da er immer auftritt, wenn der Prozessor eine Speicherzeile mit der Adresse XX4XH anspricht.

Zum Betriebszustand 2:

Der Prozessor steuert die Schreibleitung IOW auf L-Pegel. In diesem Betriebszustand sendet er Daten zur DA-Wandlung an die Baugruppe. Da die Adressleitung A0 einen L-Pegel aufweist, erhält der DA-Wandler 1 diese Daten (siehe auch Bild 80). Wegen der nicht benutzten Adressleitungen A1 bis A3 kann der Wandler 1 unter folgenden Adressen angesprochen werden: 40H, 42H, 44H, 46H, 48H, 4AH, 4CH und 4EH. Diese Mehrfach-Adressierung ist durch die einfache Schaltung bedingt, die nicht alle Adressleitungen zur Adressbildung verwendet. Von den acht genannten Adressmöglichkeiten wird hier der Wert 40H verwendet, um Daten an den DA-Wandler 1 auszugeben.

Zum Betriebszustand 3:

Die Schreibleitung IOW führt weiterhin L-Pegel, aber die Adressleitung A0 hat H-Pegel. Da diese Leitung A0 bei H-Hegel den Wandler 2 auswählt, werden die Prozessordaten jetzt unter den folgenden Adressen an den DA-Wandler 2 ausgegeben: 41H, 43H, 45H, 47H, 49H, 4BH, 4DH und 4FH. Hier wird der Wert 41H verwendet.

Zum Betriebszustand 4:

IOW liegt wieder auf H-Pegel, aber die Leseleitung IOR führt L-Pegel. Aus Bild 80 ist zu entnehmen, dass jetzt die Tri-State-Gatter der Baugruppe aktiviert sind und die Ausgänge beider Komparatoren auf den Datenbus schalten. In diesem Betriebszustand fragt der Prozessor die Schaltzustände der Komparatoren ab. Da die Adressleitung A0 hieran nicht beteiligt ist, kann sie H- oder L-Pegel haben. Das Lesen der Daten kann unter 16 verschiedenen Adressen (von 40H bis 4FH) erfolgen. Hier wird der Wert 40H verwendet.

Der Betriebszustand, daß IOW und IOR gleichzeitig L-Pegel haben, tritt nicht auf. Liegt eine andere Adresse als die gewählte Baugruppen-Nummer vor, dann ist die Baugruppe nicht aktiv (wie im Betriebszustand 1).

Stromlaufplan der Baugruppe

Bild 85 zeigt den Stromlaufplan der 2kanaligen Analog-Ein/Ausgabe-Baugruppe. Im Anschluss daran werden die bisher noch nicht behandelten Schaltungseinzelheiten erklärt.

Bild 85: Der Stromlaufplan der 2kanaligen Analog-E/A-Baugruppe

Die drei Betriebsspannungen der Baugruppe in Höhe von 5 V, 12 V und -12 V werden von den Kondensatoren C1 bis C3 abgeblockt. Alle TTL-Schaltkreise (IC1 bis IC3 und IC6) sind an die 5-V-Versorgung angeschlossen, die DA-Wandler (IC4 und IC5) erhalten +12 V und der 4fach-Operationsverstärker (IC7) ±12 V;

Die folgenden Erklärungen beziehen sich auf den DA-Wandler 1. Sie gelten aber ebenso für den anderen Kanal, der lediglich andere Bauteilnummern besitzt. Die analoge Ausgangsspannung des Wandlers 1 wird über R5 auf den nicht-invertierenden Ausgangsverstärker IC7.1 geführt. Mit R7 erfolgt der exakte Null-Abgleich des Kanals 1, der beim Digitalwert 00H genau 0 V an der Buchse OUT1 abgeben soll.

Da beim Digitalwert FFH am Ausgang von IC4 (Pin 16) bereits eine Spannung von etwa 9,8 V auftritt, braucht IC7.1 nur ganz gering zu verstärken, um den gewünschten maximalen Ausgangsspannungswert von 10 V zu erzielen. Mit R11 kann die Verstärkung von IC7.1 im Bereich von 1 bis 1,3 eingestellt werden. Wie der Null-Abgleich und die Kalibrierung des maximalen Ausgangsspannungswertes im einzelnen geschieht, kann hier nicht ausgeführt werden .

Die Buchse IN1 ermöglicht den Anschluß einer äußeren Gleichspannung, deren Höhe durch den Komparator 1 (IC7.2) mit der Ausgangsspannung des DA-Wandlers 1 verglichen wird. Durch die Schutzbeschaltung am invertierenden Eingang von IC7.2 wird die angeschlossene Spannung im positiven Bereich auf 12 V und im negativen auf 0,7 V begrenzt. Hierdurch erhält der invertierende Komparatoreingang im Prinzip nur positive Eingangsspannungswerte zwischen 0 V und 10 V (wie der nicht-invertierende Eingang).

Solange die Spannung des DA-Wandlers kleiner ist als die äußere Spannung, liegt der Ausgang von IC7.2 (Pin 8) auf -12 V. Dies entspricht in dieser Schaltung L-Pegel. Erreicht die DA-Wandler-Spannung den Wert der äußeren Spannung oder liegt sie darüber, schaltet der Komparatorrausgang auf + 12 V um.

Der Widerstand R15 und die Germaniumdioden D1 und D2 dienen zur TTL-Anpassung der Komparator-Ausgangsspannung für das Tristate-Gatter IC6.1. D1 begrenzt die positive Spannung auf ungefähr +5,3 V. D2 schließt die negative Spannung bis auf etwa 0,3 V kurz. Beides sind zulässige Werte. R15 begrenzt den fließenden Strom

Beispiele zur DA-Wandlung

Die “Analoge Ein-/Ausgabe (2kanalig)” ist für den Mikrocomputer-Einsatz ausge- legt. Sie wird daher stets in Verbindung mit einem Prozessor betrieben, der die Baugruppe mit Hilfe eines Programms ansteuert. Dei folgenden Anwendungs- beispiele sollen zum Gesamtverständnis dieser Vorgänge beitragen und einige Einsatzmöglichkeiten zeigen.

Die direkte DA-Wandlung eingegebener Werte

Zur Erklärung der Arbeitsweise des DA-Wandlers in Verbindung mit dem Mikroprozessor zeigt Bild 86 eine Anordnung, wie sie z.B. bei der Inbetriebnahme der Baugruppe aufgebaut wird. Die an den Schaltern der 8-Bit-Parallel-Eingabe (siehe Kapitel 4.1) eingestellten Datenwerte werden dabei mit Hilfe eines Programms vom Prozessor gelesen und an den DA-Wandler ausgegeben, der sie in Analogwerte umsetzt.

Bild 86: Ein Aufbau zur direkten DA-Wandlung.

Nachfolgend ist das Steuerprogramm für diese DA-Wandlung wiedergegeben, das sich z.B. im Speicher ab der Adresse F800 befindet. Dabei wird von den Adressen 01H für die 8-Bit-Parallel-Eingabe und 40H für den DA-Wandler ausgegangen

Speicher-adresseBefehl in Maschinen-spracheBefehl in Assembler-spracheBemerkung
F800DB 01IN 01Lese die Daten der Eingabebaugruppe mti der Nummer 01H in den AKU ein
F802D3 40OUT 40Gebe den Akkuwert an die Ausgabebaugruppe Nr. 40H aus (Kanal 1 des DA-Wandlers)
F804C3 00F8JMP 0F800Gehe zum Programmanfang zurück und wiederhole den Vorgang

Bild 87: Das Flußdiagramm zur einfachen DA-Wandlung mit der oben wiedergegebenen Befehlsfolge.

Der erste Befehl (IN 01) bewirkt das Lesen der Daten der 8-Bit-Parallel-Eingabe in den Akkumulator der CPU.

Durch den Befehl OUT 40 wird der Akku-Inhalt an den DA-Wandler 1 ausgegeben und dort in eine entsprechende Spannung zwischen 0 V und 10 V umgewandelt. Sie kann am Ausgang OUT1 abgenommen werden.

Der letzte Befehl JMP 0F800 schliesst die Programmschleife und bewirkt so, dass der beschriebene Vorgang ständig wiederholt wird. Jede Veränderung der Eingabeschalter der 8-Bit-Parallel-Eingabe ergibt eine Ausgangsspannung, die dem Jeweils eingestellten Digitalwert entspricht.

Im praktischen Einsatz werden die an einen DA-Wandler ausgegebenen Digitalwerte meist durch umfangreiche Signalverarbeitungs-Prozesse gewonnen, an denen logische und mathematische Programmschritte beteiligt sind. Die nächsten Beispiele zeigen einige Möglichkeiten hierzu.

Der DA-Wandler als Sägezahn-Generator

Durch ein einfaches Steuerprogramm kann ein DA-Wandler so betrieben werden, daß er eine sägezahnförmige Ausgangsspannung wie in Bild 88 abgibt.

Bild 88: Der Verlauf der Sägezahn-Spannung.

Eine Sägezahnspannung nach Bild 88 entsteht, wenn der DA-Wandler vom Prozessor in ständiger Wiederholung zuerst den Datenwert 00, danach 01, dann 02 usw. bis zu demjenigen Wert erhält, der dem Spitzenwert von 2 V entspricht.

Für den Bereich von 0 V bis 2 V sind 51 Schritte erforderlich (33H). Dies ergibt sich daraus, daß der vorliegende 8-Bit-DA-Wandler maximal 255 Schritte ausführen kann und der höchste Ausgangsspannungswert 10 V beträgt. Jeder Schritt bewirkt eine Spannungserhöhung von 39,22 mV (siehe Seite 456). Nach dem Erreichen des gewünschten Wertes von 2 V beginnt der Prozessor wieder von vorn mit der Ausgabe des Datenwertes 00H.

Jeder der ausgegebenen Digitalwerte wird vom DA-Wandler in eine Spannung umgewandelt. Dies geschieht schrittweise, so dass die Sägezahnspannung nicht linear ansteigt, sodern einen treppenförmigen Anstieg besitzt (siehe Ausschnitt in Bild 88), der durch ein nachgeschaltetes Tiefpassfilter beseitigt werden kann.

Die Frequenz der Sägezahnspannung wird durch das Steuerprogramm bestimmt. Dabei sind niedrige Frequenzwerte leicht erzielbar, nach oben hin besteht aber durch die Arbeitsgeschwindigkeit des Prozessors bei etwa 1 kHz eine Grenze.

Das folgende Beispiel zeigt die Programmierung eines Sägezahngenerators für einen Spannungsverlauf nach Bild 88. Hierbei liegt wieder der Aufbau von Bild 86 zugrunde. Die 8-Bit-Parallel-Eingabe dient jetzt dazu, die Frequenz der Sägezahnspannung im Bereich von etwa 10 Hz bis 735 Hz zu beeinflussen. Der Programmaufbau und alle Befehle können dem Flussdiagramm (Bild 89) entnommen werden. Das Assemblerprogramm benutzt die Adressen 0lH für die 8-Bit-Parallel-Eingabe und 40H für den DA-Wandler.

Hier noch einige Hinweise zum Programm für den Sägezahngenerator:

  • Der Anfangswert des C-Registers (hier 33H) bestimmt die Anzahl der Schritte zu
    je 39,22 mV.
  • Der Anfangswert des B-Registers (hier 00H) bestimmt den Minimalwert der Sägezahnspannung.
  • Der Maximalwert der Sägezahnspannung wird durch beide Register beeinflußt.
  • Bei einer höheren Sägezahnspannung ergibt sich durch die größere Schrittzahl
    zwangsläufig eine geringere Frequenz und umgekehrt.
  • Entfällt der Programmteil »Verzögerungszeit« ganz, so entsteht die höchste mögliche
    Frequenz (beim angeführten Beispiel etwa 1,2 kHz).
  • Negative Ausgangsspannungen können durch eine nachgeschaltete Zusatzschaltung
    zur Pegelverschiebung erzielt werden.

Bild 89: Flussdiagramm und Programm für den Sägezahn-Generator

Der DA-Wandler als Dreieck-Generator

Das folgende Beispiel beschreibt die Erzeugung einer Dreieck-Spannung mit Hilfe eines DA-Wandlers: Bild 90.

Bild 90: Der Verlauf der Dreieck-Spannung.

Die Berechnung der Konstanten für den Minimal- und den Maximalwert der Spannung von Bild 90:

Da dem Datenwert 1 eine Spannung von 39,22 mV entspricht, müßte für die Minimalspannung von 0,5 V der Dezimalwert 12,75 an den DA-Wandler ausgegeben werden. Dies ist nicht möglich, daher wird der nächst höhere Wert 13 (0DH) gewählt. Für den Maximalwert der Ausgangsspannung in Höhe von 1,5 V wäre der Dezimalwert 38,25 auszugeben. Hierfür wird der Wert 38 gewählt. Die Differenz zwischen dem Maximalwert und dem Minimalwert entspricht der Schrittzahl, die sich in diesem Beispiel zu: 38 – 13 = 25 (19H) ergibt.

Das Steuerprogramm für den Dreieckgenerator ist folgendermaßen aufgebaut:
Zuerst wird der Wert 0DH an den DA-Wandler ausgegeben, der daraus eine Ausgangsspannung von 0,5 V erzeugt. Anschließend erhöht der Prozessor schrittweise den Ausgabewert, bis eine Ausgangsspannung von 1,5 V erreicht ist. Hierzu sind 25 Schritte erforderlich. Nach dem Erreichen des Maximalwertes wird die Ausgangsspannung wieder in 25 Schritten verringert, wodurch sie von 1,5 V auf 0,5 V abfällt. Diese Vorgänge werden ständig wiederholt. Dabei ergibt sich durch die Arbeitsgeschwindigkeit des Prozessors eine Frequenz von etwa 1,4 kHz.

Bild 91 zeigt das Flußdiagramm und alle Programmschritte des Dreieckgenerators.

Das Programm benutzt die Adressen 0lH für die 8-Bit-Parallel-Eingabe und 40H für
den DA-Wandler.

Bild 91: Flußdiagramm und Programm für den Dreieck-Generator

Abschließend noch einige Hinweise zum Programm des Dreieckgenerators:

  • Der Akku-Anfangswert bestimmt die Minimalspannung der Dreieckschwingung.
  • Der Wert des Registers B bestimmt die Spitze-Spitze-Differenz der Dreieckspannung.
  • Bei größerer Amplitude ergibt sich eine geringere Frequenz und umgekehrt.

Der DA-Wandler als Sinus-Generator

Mit Hilfe einer Tabelle, die alle Spannungswerte der gewünschten Kurvenform in digitaler Form enthält, kann ein beliebiger Kurvenverlauf der Ausgangsspannung eines DA-Wandlers erzielt werden. Als Beispiel hierzu soll der Prozessor zusammen mit dem DA-Wandler eine sinusförmige Spannung nach Bild 92 erzeugen

Bild 92: Der Verlauf der Sinus-Spannung.

Eine Spannung nach Bild 92 entsteht, wenn der Prozessor möglichst oft innerhalb einer Periode diejenigen Digitalwerte an den DA-Wandler ausgibt, die den Augenblickswerten der Spannungskurve entsprechen. Alle Werte der gewünschten Kurvenform sind in einer Tabelle gespeichert, wobei etwa 100 Werte pro Periode bereits eine recht gute Annäherung an die Sinusform ergeben.

Eine Sinuskurve ist durch die Zahlenwerte der ersten Viertelperiode vollständig definiert; alle anderen Werte lassen sich daraus ableiten. Die erforderliche Tabelle enthält daher nicht die Werte einer ganzen Periode, sondern nur einen Teil davon. Verwendet man eine Tabelle mit den Sinuswerten der ersten Halbperiode zwischen 0 Grad und 180 Grad, so muss der Prozessor die fehlenden Bereiche berechnen.
Hierbei ist es wichtig, die gleiche Rechenzeit für jeden der zwei Abschnitte zu erhalten, da sonst zusätzliche Verzerrungen auftreten.

Zum Erzielen eines geringen Rechenaufwandes enthält die Tabelle die Sinuswerte für eine vollständige positive Halbperiode im Abstand von 5 Grad. Die Werte der negativen Halbperiode werden vom Prozessor berechnet.

Bild 93: Die Kurve für die Wertetabelle des Sinus-Generators.

Die Halbwelle von Bild 93 ist aus 36 Werten zusammengesetzt. Da die kleinste Einheit der Spannung 39,22 m V beträgt, tritt beim Spannungsmaximum von 4 V als höchster Tabellenwert 102 (66H) auf.

Zur Bildung der 5-V-Mittellinie von Bild 92 addiert der Prozessor während der positiven Halbperiode eine entsprechende Konstante (S0H) zum jeweiligen Tabellenwert. Das Ende der Tabelle erkennt der Prozessor am Wert FFH, der aber nicht ausgegeben wird. Während der negativen Halbwelle wird der jeweilige Tabellenwert vom Wert der Mittellinie subtrahiert. Die vollständige Schwingung entsteht so durch zweimalige Verwendung der Wertetabelle.

Bild 94 zeigt das Flußdiagramm und alle Programmschritte des Sinusgenerators. Das Programm benutzt die Adresse 40H für den DA-Wandler. Die Frequenz der Sinusschwingung beträgt etwa 400 Hz. Zum Erzielen einer kleineren Amplitude sollte ein Spannungsteiler verwendet werden, damit die Auflösung in vertikaler Richtung nicht verschlechtert wird. Eine feinere Abstufung in horizontaler Richtung erhält man z.B. mit einer 3-Grad-Wertetabelle statt der hier benutzten 5-Grad-Abstufung.

Bild 94: Flußdiagramm und Programm für den Sinus-Generator; Tabelle: Seite 476

Tabellenwerte und Labels zu Bild 94 (DB ist eine Anweisung zum Eingeben von
Datenbytes):

Die Analog/Digital-Wandlung mit einem DA-Wandler

Mit der hier vorgestellten Analog-Ein/Ausgabe-Baugruppe (vgl. Bilder 80 und 85) können auch Analog/Digital-Umwandlungen durchgeführt werden, obwohl die Baugruppe nur DA-Wandler besitzt. Das Prinzip der AD-Wandlung mit Hilfe eines DA-Wandlers wird in Bild 95 gezeigt.

Bild 95: Der Einsatz des DA-Wandlers zur AD-Wandlung.

Zur AD-Wandlung mit Hilfe eines DA-Wandlers ist neben dem Wandler eine Steuerlogik und ein Komparator erforderlich; siehe Bild 95. Die Steuerlogik gibt einen Digitalwert an den DA-Wandler aus, der ihn in die Spannung U OUT umwandelt. Diese liegt am nicht-invertierenden Eingang des Komparators an. Der Analog-Eingang der Schaltung, an dem die in einen Digitalwert umzuwandelnde Spannung UIN angeschlossen wird, ist mit dem invertierenden Komparatoreingang verbunden.

In Abhängigkeit der Spannungswerte von U IN und U OUT führt der Komparator Hoder L-Pegel an seinem Ausgang: Ist die Spannung des DA-Wandlers kleiner als die Eingangsspannung, so liegt am Komparator-Ausgang L-Pegel an. Der Komparatorausgang führt H-Pegel, wenn die Ausgangsspannung des DA-Wandlers gleich oder größer ist als die analoge Eingangsspannung.

Der Ausgang des Komparators ist mit der Steuerlogik verbunden und wirkt auf diese ein. Solange der Komparator L-Pegel abgibt, erhöht die Steuerlogik den Digitalwert für den DA-Wandler. Jeder neue Digitalwert wird wieder in eine Spannung umgewandelt. Anschließend wird der Schaltzustand des Komparators erneut überprüft.

Sobald der Komparator-Ausgang von L- auf H-Pegel umschaltet, ist die DA-Wandlung abgeschlossen, da der von der Steuerlogik an den DA-Wandler ausgegebene Digitalwert der analogen Eingangsspannung entspricht. Der gefundene Digitalwert (D0 … D7) kann an den Ausgängen der Steuerlogik abgenommen werden. Je nach der Arbeitsweise der Steuerlogik unterscheidet man verschiedene Verfahren der AD-Wandlung mit Hilfe eines DA-Wandlers.

Häufig eingesetzt wird das Zählverfahren, bei dem die Steuerlogik sehr einfach aufgebaut ist, das aber eine ziemlich große Wandlungszeit besitzt. Besonders schnell arbeitet die Sukzessive Approximation (schrittweise Annäherung), die auch als Wägeverfahren bekannt ist. Das gelegentlich verwendete Nachlaufverfahren liegt in seiner Arbeitsgeschwindigkeit zwischen den beiden genannten Methoden.

Für jedes Verfahren ist eine andere Schaltung erforderlich, wenn die Steuerlogik in TTL- oder CMOS-Technik aufgebaut wird. Setzt man für die Steuerlogik jedoch einen Mikroprozessor ein, so kann im Prinzip jede Wandlungsmethode mit der gleichen Schaltung realisiert werden, indem jeweils ein anderes Mikrocomputer-Steuerprogramm verwendet wird. Hier wird nur das Zählverfahren in Verbindung mit einem Mikrocomputer behandelt.

Das Prinzip der AD-Wandlung nach dem Zählverfahren

Bild 96 zeigt das Prinzipschaltbild eines AD-Wandlers nach dem Zählverfahren, der aus den Teilen Start/Stop-Oszillator, 8-Bit-Binärzähler, DA-Wandler und Komparator besteht und die Steuertasten Reset und Start besitzt.

Bild 96: Der AD-Wandler nach dem Zählverfahren

Die Reset-Taste dient dazu, den 8-Bit-Binärzähler auf null zurückzusetzen, wodurch die Zählerausgänge Q0 bis Q7 L-Pegel annehmen. Nach Betätigung der Start-Taste gibt der Start/Stop-Oszillator Taktimpulse ab, die den Zählerstand von null an fortlaufend erhöhen. Jeder Zählerstand wird vom DA-Wandler in eine Analogspannung (UouT) umgewandelt, die der Komparator mit der Eingangsspannung UIN vergleicht.

Erreicht die Ausgangsspannung des DA-Wandlers den Wert der Eingangsspannung, so schaltet der Komparator um und unterbricht den Takt des Start/Stop-Oszillators. Die Anzahl der bis dahin abgegebenen Taktimpulse entspricht dem Digitalwert der Eingangsspannung, der an den Zählerausgängen Q0 … Q7 abgenommen werden kann.

Während des Zählens ändert sich ständig der Zählerstand. Daher darf der Digitalwert erst nach dem Stoppen des Oszillators ausgewertet werden. Als Meldesignal hierzu kann das Komparator-Ausgangssignal dienen, das am Ende eines Wandlungsvorgangs von L- auf H-Pegel wechselt.

Bei kleinen Analogwerten ist schon nach wenigen Schritten der dazugehörige Digitalwert ermittelt, bei großen Werten dauert es entsprechend länger. Die Wandlungszeit des Zählverfahrens hängt daher stark von der Höhe der Analogspannung ab. Dieser Nachteil verbietet den Einsatz des Zählverfahrens für schnelle AD-Wandlungen, wie sie z.B. bei der Sprachdigitalisierung erforderlich sind. Für viele Anwendungen in der industriellen Meß-, Steuer- und Regelungs-Technik reicht aber die mit diesem Verfahren erzielbare Wandlungszeit völlig aus. Sie beträgt beim hier vorgestellten System etwa 3 ms pro Volt Analog-Eingangsspannung.

Der Einsatz des Mikroprozessors zur AD-Wandlung

Bild 97: Ein Aufbau eines AD-Wandlers mit dem Mikrocomputer

Die in einen Digitalwert umzuwandelnde Spannung U IN zwischen 0 V und 10 V ist hier an den Analogeingang IN1 der zweikanaligen Analog-Ein/Ausgabe angeschlossen. Auf der 8-Bit-Parallel-Ausgabe (siehe Kapitel 4.2) wird der ermittelte Digitalwert angezeigt. Bei einem Vergleich der Bilder 96 und 97 stellt man fest, dass die CPU die Funktionen des Start/Stop-Oszillators, des 8-Bit-Binärzählers und der Reset- und Start-Steuerung übernehmen muss. Bild 98 zeigt das Flussdiagramm für das entsprechende Programm.

Bild 98: Das Flußdiagramm zur AD-Wandlung nach dem Zählverfahren; vgl. den Aufbau in Bild 97.

Erläuterungen zu Bild 98:

Zur AD-Wandlung gibt die CPU zuerst den Zähleranfangswert 00H an die AnalogEin/Ausgabe aus. Dieser Vorgang entspricht der Betätigung der Reset-Taste. Als Zähler wird dabei ein CPU-Register verwendet, das durch einen Befehl den Wert 00H annimmt.

Innerhalb der Baugruppe wird der von der CPU empfangene Datenwert in eine Analogspannung umgewandelt und mit der Spannung U IN verglichen. Nach einer kurzen Verzögerungszeit, die zur Signalverarbeitung innerhalb des DA-Wandlers erforderlich ist, fragt die CPU den Schaltzustand des Komparators ab. Dies entspricht in Bild 96 der Verbindung zwischen dem Komparator-Ausgang und dem
Start/Stop-Oszillator. Beim Komparator-Schaltzustand L-Pegel erhöht die CPU den Datenwert um 1, gibt diesen neuen Wert an den DA-Wandler aus und prüft den Komparator erneut. Dieser Vorgang geschieht so oft, bis der Komparator auf H-Pegel umschaltet. Das Erhöhen des Zählregisters erfolgt dabei durch Inkrementieren, wobei der Registerinhalt jeweils um den Wert 1 erhöht wird.

Der beim Umschalten des Komparators auf H-Pegel vorliegende Zählerstand wird an die 8-Bit-Parallel-Ausgabe übergeben und von dieser angezeigt. Danach beginnt die CPU wieder von vorn mit der Ausgabe des Wertes 00H usw.

Auf der nächsten Seite finden Sie das vollständige Programm zur AD-Wandlung nach dem Zählverfahren. Es benutzt das Register B als Zählregister. Der DA-Wandler wird unter der Adresse 40H angesprochen und die 8-Bit-Parallel-Ausgabe unter der Adresse 02H. Die erforderliche Wartezeit von etwa 50 Mikrosekunden wird mit Hilfe des Unterprogramms WARTE gebildet.

Das Steuerprogramm für den AD-Wandler nach dem Zählverfahren:

LabelBefehleKommentare
START:MVI B,00Zählregister (B) auf Null setzen
AUSDA:MOV A,BAusgabe des momentanen Zählerstandes
OUT 40an den DA Wandler 1
CALL WARTEWarte Wandlungszeit des DA-Wandlers und
IN 40Schaltzeit des Komparators ab
ANI 01Nur Bit 0 berücksichtigen (Komparator 1)
JNZ AUSGAHat der Komparator H- oder L-Pegel am Ausgang?
Bei H: Wandlung ist beendet. Absprung
zum Programmteil »Ausgabe des Zählerendwertes
an die 8-Bit-Parallelausgabe« gehen
INR BBei L: Wandlung fortsetzen, Zählregister erhöhen
JMP AUSDAund zum Programmteil »Ausgabe des Zählerstandes
an den DA-Wandler 1 « gehen
AUSGA:MOV A,BAusgabe des Zählerendwertes (B-Reg.)
OUT 02an die 8-BitParallel-Ausgabe,
Anzeige des ermittelten Digitalwertes
JMP STARTBeginne von vorn, leite neue AD-Wandlung ein
WARTE:MVI A,08Unterprogramm zur Zeitverzögerung. Es bildet eine
WART1:DCR AWarteschleife mit einer Verzögerungszeit
JNZ WART1von etwa 50 Mikrosekunden
RETEnde des Unterprogramms
Rückkehr zum Hauptprogramm
Steuerprogramm für den AD-Wandler nach dem Zähl verfahren

Bestückungsplan

Verdrahtungsplan


Weitere Informationen

Dokumente