Für einen Laborversuch im 4. Semester mit dem Ziel, praktische Erfahrung mit Analog-Digital-Wandlern zu erfahren und die Anwendung einfacher Programmierung in zu üben, wurde ein einfaches Peripherie-Gerät mit einem A/D-Wandler LTC1296 und einem DA-Wandler MPC4911 entworfen, der über ein SPI-Interface oder einfach mit GPIO-INPUT- und OUTPUT-Befehlen der Steuerleitungen angesteuert werden können.
Moderne Systeme mit Raspberry Pi Hardware und einer Raspbian grafischen Bedienoberfläche ermöglicht das komfortable Entwickeln und Testen von Programmen mit der Programmiersprache „Python“ mit vollem Zugang zu allen GPIO-Pins. Auf diesen I/O-Leitungen wird im Versuch für den A/D-Konverter bitweise die nötige Puls-Reihenfolge programmiert. Abtastraten von bis zu 40.000 Werte pro Sekunde sind erreichbar.
Für die Wandlung von analogen Eingangsspannungen wie auch für die Ausgabe von Digitalwerten werden Wandler mit einem seriellen SPI-Interface verwendet. Das ermöglicht einmal den Betrieb in Einzelschritten bzw. bitweise („Bit-banging“) zum Kennenlernen des Protokolls wie auch mit höherer Geschwindigkeit unter Nutzung des hardware-SPI-Interface des RasPi.
Der Eingang des ADC ist mit einer Schutzschaltung gegen zu hohe oder auch Eingangsspannungen mit der falschen Polarität geschützt. Der Messbereich liegt bei 0 – +4096 mV für den 12 Bit Wandler entsprechend 4 mV / Bitstufe.
Auf der Interface-Platine befindet sich weiter ein langsamer Sinusgenerator (~0,6 Hz) als mögliche Signalquelle für Versuche zur Abtastrate und dazu ein Spannungsteiler, der die Mitte des Messbereichs als Spannungswert ausgibt.
Mit dem Trimmer 5K lässt sich die Verzerrung des SIN-Generators justieren.
Die Raspi-CPU wird mit 5V betrieben, seine digitalen I/O-Leitungen arbeiten jedoch nur bis 3.3V und werden mit höheren Spannungen beschädigt. Daher wird die Verbindung zwischen diesem Interface und dem Raspi-GPIO-Stecker etwas aufwändiger. Zum Glück gibt es nur eine Leitung vom Interface zum Raspi (SDIN-MISO), die auf 3.3V begrenzt werden muss. Alle anderen gehen vom Raspi zum Interface, wo der 74HCT245 Baustein im Interface mit der geringeren Spannung von 3.3V problemlos aktiviert werden kann.
Der 74HCT245 treibt auch den Strom für die Signal-LEDs wie SCLK, MISO, MOSI, DATA. Mit dem Treiberbaustein ist eine Länge des Flachbandkabels (24 Leitungen) bis 0,6m und mehr möglich. Die Leitungen DATA, CS und CLK des A/D-Wandlers sind zusätzlich auf BNC-Buchsen herausgeführt, um einen Anschluss an ein Oszilloskop und damit eine Bilddarstellung zu ermöglichen.
Um bei einer schwankenden Versorgung mit 5V eine Referenzdiode mit 4.1V sicher betreiben zu können, muss eine Stromquelle wie LM334 eingesetzt werden, die auch bei unter einem Volt Differenz noch einen konstanten Strom liefert.
Mit diesem A/D-D/A-Interface können bei geringem Aufwand Spannungen mit 12 Bit Auflösung gemessen und mit 10 Bit Auflösung Spannungen ausgegeben werden. Ersetzt man den MCP4911 durch einen pinkompatiblen MCP4921, so können auch 12Bit-Ausgaben realisiert werden.
Benutzt man die SPI-Hardware des RasPi mit entsprechender Treibersoftware, so sind hohe Abtastraten erreichbar, machen die Programmierung aber wesentlich komplizierter.
Der erforderliche Geräteaufwand für Spannungsmessungen und -auswertungen mit einer Rechnerschnittstelle bleibt mit einem solchen Versuchsaufbau recht überschaubar.
Das Gerät wurde so ausgelegt, dass es dem rauhen Laborbetrieb mit z.T. unerfahrenen oder unaufmerksamen Bedienern weitgehend gewachsen ist.