Das im vorhergehenden Kapitel generierte .py-File (Python) erlaubt das einfache Starten und Wiederholen einer Serie von vorher aufgezeichneten Ak- tionen. Zudem ergeben sich durch Bearbeiten dieser Skripte und Automatisieren bestimmter Aufgaben noch größere Vorteile. Mit dem vorherigen Beispiel, bei dem die Überabtastrate und die Auflösung im ACE-Plug-In des AD7380 eingestellt wurden, wird das erstellte Makro bearbeitet, um Eingabeparameter, wie in Bild 7 dargestellt, zu ermöglichen. Man beachte, dass diese Makros standardmäßig execute_macro() genannt werden, diese Bezeichnung sich jedoch in einen anschaulicheren Namen ändern lässt.
Dieses Makro kann nun innerhalb einer Schleife aufgerufen werden, um die unterschiedlichen Werte der Überabtastrate zu durchlaufen (sweep) und anzuzeigen, wie sich das Signal-Rausch-Verhalten verbessert, wenn sich die Überabtastrate erhöht. Es zeigt aber auch den Nutzen, wenn man die zwei zusätzlichen Bits an Auflösung aktiviert (Bild 8).
Als ein Ergebnis greift der Python- Beispielcode auf die exportierten Daten-Files zu, liest die vom ACE-Plug-in gemessenen SNR-Werte aus und zeigt sie über den seriellen Monitor an.
Wie die ermittelten Werte in Tabelle 1 zeigen, verbessert das Überabtasten das Signal-Rausch-Verhalten, aber ab einem bestimmten Punkt werden zwei extra Bits an Auflösung benötigt, um die wahren Vorteile zu erhalten, wenn der AD7380 ein 18-Bit-Wort anstelle eines 16-Bit-Wortes ausgibt.
Wie im Python-Beispiel gezeigt, kann der generierte Code auch in MATLAB exportiert werden, indem in diesem Fall ein .m-File erzeugt wird. Hierbei sind Makros als Funktion definiert, können aber auch bearbeitet werden, um Eingabeparameter zu ermöglichen. Die folgenden MATLAB-Beispiele nutzen dazu das AD7606C-16-Board.
Und wieder können die Vorteile des Überabtastens beim AD7606C-16 einfach durch Automatisieren des ACE evaluiert werden. Bild 9 zeigt eine bearbeitete MATLAB-Funktion, die Parameter wie Durchsatz, Anzahl der Abtastungen, Schnittstellenart (seriell oder parallel), Referenzquelle (intern oder extern), Überabtastungsrate, Anzahl der digitalen Leitungen oder Nutzung des analogen Eingangsbereichs verwendet.
Diese besondere Funktion könnte innerhalb des Haupt-Codes genutzt werden, um die Datenerfassung verschiedener Konfigurationen einfach und schnell zu starten, um mehrere AD7606C-16-Vergleiche durchzuführen, wie:
➔ Signal-Rausch-Verhalten abhängig von der Überabtastrate
➔Leistung abhängig vom Durchsatz
➔ Leistung abhängig vom analogen Eingangsbereich
➔ Interne mit externer Referenz
➔ Serielles Interface mit paralleler Schnittstelle und noch vieles weitere mehr
Man beachte, dass dies nur das AD7606C-16-Beispiel ist, aber abhängig vom zu untersuchenden Produkt können noch viele weitere unterschiedliche Evaluierungsanforderungen auftreten. Ein gutes Beispiel des AD7606C-16 mit verfügbarem Quellcode kann auf wiki.analog.com gefunden werden. Es zeigt, wie man Makros codiert und auch Beispiele, wie man die Daten nachbearbeitet. Das OversamplingSweep.m-Beispiel durchläuft die Überabtastraten und plottet ein Histogramm der Codes für jeden einzelnen Wert.
Wie in Bild 10 dargestellt: Je größer die Überabtastung ist, desto enger liegen die Histogramme der Codes beieinander. Tabelle 2 gibt an, wie sich die Spitze-Spitze-Code-Verteilung durch die Überabtastung reduziert.
Die jüngste ACE-Plattform – das Framework für die neuste Software der Evaluation-Boards – ist dank der Fähigkeit, Makros aufzuzeichnen, ein sehr gutes Werkzeug für jeden Hardware-Entwickler, der die Evaluierung von ADI-Produkten beschleunigen möchte. Diese Makros erlauben die Testautomatisierung mithilfe von bekannten Industrie- Programmiersprachen wie Python oder MATLAB. Das Automatisieren dieser Testaufgaben erlaubt wiederum eine schnellere Produktevaluierungs- und eine kürzere Produktauswahlphase, was in einer schnelleren Markteinführungszeit und kürzeren Hardware-Entwicklungszyklen resultiert. Für diese und andere Themen können immer weiterführender Support in der »En- gineerZone« und weitere Beispiele zur Fernnutzung/-bedienung unter »wiki.analog.com« gefunden werden.
Der Autor
Lluis Beltran Gil
erwarb 2009 seinen B. S.-Titel in Elektrotechnik und 2012 in Wirtschaftsingenieurwesen, beide an der Universitat Politécnica de Valéncia, UPV (Technische Universität Valencia). Nach dem Abschluss kam er 2013 als Applikationsingenieur in die Precision Converter Group zu Analog Devices in Limerick. Derzeit arbeitet Beltran Gil im SAR-DAC-Applikationsteam innerhalb des Geschäftsbereichs Instrumentation. Er arbeitet von Valencia, Spanien aus, wo er seinen M. Sc.-Titel in Elektrotechnik an der Universitat de Valencia, UV, (Universität von Valencia) erwarb.