Der verwendete Baustein
MAX186 ist ein CMOS-Wandler mit acht
Eingangskanälen bei einer Auflösung von 12 Bit. Er
enthält eine interne Spannungsreferenz mit 4,096V
und benötigt nur ca. 1,5mA an 5V. In ca. 7µs wird
eine sukzessive Approximation mit zwölf Schritten
durchgeführt, so daß Wandlungsraten bis über 100
kHz erreicht werden können.
Die folgende Tabelle zeigt die
Anschlüsse des IC's:
Pin Bezeichnung Funktion
1 CH0 Eingangskanal 0
bis
8 CH7 Eingangskanal 7
9 AGND Masse des Analogteils
10 /SHDN Low: Power-down-Modus (10µA)
11 VREF Referenzspannung 4,096V
12 REFADJ Justiereingang der Referenz
13 AGND Masse des Analogteils
14 DGND Masse des Digitalteils
15 DOUT Serieller Datenausgang
16 SSTRB Statusausgang für laufende Wandlung
17 DIN Serieller Dateneingang
18 /CS Chip-Selekt-Eingang
19 SCLK Serieller Clockeingang
20 VDD Versorgung +5V
Das Schaltbild zeigt den Anschluss des Wandlers an die serielle
Schnittstelle. Der PC stellt an DTR Taktimpulse
bereit, mit denen über RTS Daten seriell in den
Wandler getaktet werden. Serielle Daten des ICs
werden über CTS eingelesen. Der Eingang DSR der
Schnittstelle liest den Statusausgang SSTRB des
Wandlers, um das Ende einer Wandlung erkennen zu
können, was allerdings in der Software meist nicht
nötig ist, weil die Datenübertragung ausreichend
langsam ist. Die erhöhte Ausgangsspannung von ±
12V wird über hochohmige Widerstände in
Zusammenarbeit mit den internen Schutzdioden des
MAX186 begrenzt. Die Stromversorgung erfolgt über
die hochgesetzte TXD-Leitung (BREAK-Zustand).
Die Beschriftung der Eingänge
auf der Platine ist gegenüber der Kanal-Bezeichnung
des MAX186 invertiert, d.h. CH7 der Anschlussklemme entspricht CH0 am MAX186. Dadurch entspricht das
Layout der üblichen Anordnung von Binärzahlen. Die
Umkehrung ist bei der Erstellung von Software zu
beachten.
Der Wandler kennt zahlreiche
Betriebsarten, die beim Start einer Wandlung über
das seriell übertragene Steuerbyte festgelegt
werden. Die Wandlung kann mit internem oder externem
Takt erfolgen. Wählt man den externen Takt, dann
erfolgt die eigentliche Wandlung mit ihrer
sukzessiven Approximation synchron zum
Auslesevorgang. Dabei muss eine symmetrische
Rechteckform eingehalten werden, und es darf eine
Taktrate von 100 kHz nicht unterschritten werden,
weil es sonst durch Entladung des internen
Abtast-Halteglieds zu einer Verschlechterung der Messgenauigkeit
kommen kann. Weil eine ausreichend
hohe Taktfrequenz bei der direkten Programmierung
der Portleitungen nicht sichergestellt werden kann,
wird hier nur mit internem Takt gearbeitet. Die
Taktimpulse des PC dienen nur zur Datenübertragung
und dürfen im Bereich Null bis 10 MHz liegen.
Die Betriebsarten werden über
zwei Bits des Steuerbytes eingestellt. Es stehen
zwei Power-down-Modi zur Verfügung, die nur bei
batteriebetriebenen Geräten von Bedeutung sind. Die
totale Abschaltung aller internen Schaltungsteile
führt zu einer Reduzierung des Versorgungsstroms
auf 2µA. Nach dem erneuten Aktivieren ist jedoch
eine Wartezeit von 50 ms einzuhalten. Eine
schnellere Variante schaltet die interne Referenz
nicht ab und führt zu einer Stromreduzierung auf
30µA. Über die Power-Down-Bits PD1 und PD0 wird
außerdem zwischen internem oder externem Takt
während der Umsetzung umgeschaltet.
Weitere Steuerbits wählen die
Art der Messung aus. Außer den üblichen
massebezogenen Eingängen können Differenzeingänge
gewählt werden, wobei immer zwei Eingänge
zusammenarbeiten. Neben der unipolaren Messung
(0...4,095V) ist für Differenzeingänge auch eine
bipolare Betriebsart (-2,047V ... +2,047V, bezogen
auf den negativen Eingang) möglich. Die aktiven
Eingangskanäle werden über drei Bits (SEL0...SEL2)
gewählt.
Die Übertragung des
Steuerworts beginnt immer mit dem als Startbit
gesetzten MSB. Die folgende Tabelle zeigt den Aufbau
des Steuerbytes:
Bit Name Funktion
7 START immer gesetzt
6 SEL2
5 SEL1 Auswahl des Eingangskanals
4 SEL0
3 UNI//BIP 1=unipolar, 0=bipolar
2 SGL//DIF 1= massebezogen, 0=Differenzeingänge
1 PD1 00: Power-Down 2µA, 01: 30µA, schnell
0 PD0 10: Clock intern, 11: Clock extern
Die Steuerbits SEL0 bis SEL2
wählen den aktiven Eingangskanal aus. Ihre drei
Bits stellen einen Zahlenwert im Bereich 0 bis 7
dar. Es stehen entweder vier Differenzeingänge oder
acht massebezogene Eingänge zur Verfügung.
Bipolare Messungen sind nur für Differenzeingänge
möglich, weil die Eingangsspannungen nur im Bereich
0 bis 5V liegen können. Wählt man
Differenzeingänge, dann muss der negative Eingang
während der gesamten Umsetzzeit eine stabile
Spannung aufweisen, während der positive Eingang
nur kurz abgetastet wird und schnelle Änderungen
verträgt.
SEL0...2 Differenzeingänge
Einzeleingang
0 CH0 gegen CH1 CH0
1 CH2 gegen CH3 CH2
2 CH4 gegen CH5 CH4
3 CH6 gegen CH7 CH6
4 CH1 gegen CH0 CH1
5 CH3 gegen CH2 CH3
6 CH5 gegen CH4 CH5
7 CH7 gegen CH6 CH7
Nach der Übertragung des
Steuerbytes beginnt die eigentliche Umsetzung mit
einer Dauer von maximal 10µs. Dann können zwei
Bytes ausgelesen werden. Das zuerst gelesene
Highbyte enthält die acht höchstwertigen Bits. Das
Lowbyte enthält Nullen in den vier niederwertigen
Bits und vier Datenbits in den Bits 4 bis 7.
Literatur:
[1] Berndt/Kainka, Messen, Steuern und Regeln mit
Word und Excel, Franzis-Verlag 1997