ACE-Software trifft Python oder MATLAB

Datenwandler schnell evaluieren

22. Mai 2023, 8:00 Uhr | Von Lluis Beltran Gil

Fortsetzung des Artikels von Teil 1

Evaluierungsaufgaben mit Python automatisieren

 Bearbeiten der Python-Funktion, um Eingabeparameter zu nutzen
Bild 7. Bearbeiten der Python-Funktion, um Eingabeparameter zu nutzen
© Analog Devices

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.

Anbieter zum Thema

zu Matchmaker+
 Befehle einer Schleife, die die Überabtastraten durchläuft und die zwei zusätzlichen Bits an Auflösung ein- und ausschaltet
Bild 8. Befehle einer Schleife, die die Überabtastraten durchläuft und die zwei zusätzlichen Bits an Auflösung ein- und ausschaltet.
© Analog Devices

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.

SNR des AD7380 abhängig von der Überabtastrate
SNR des AD7380 abhängig von der Überabtastrate.
© Analog Devices

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.

Evaluierungsaufgaben mit MATLAB automatisieren

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.

Bearbeitete MATLAB-Funktion, um Eingabeparameter nutzen zu können
Bild 9. Bearbeitete MATLAB-Funktion, um Eingabeparameter nutzen zu können.
© Analog Devices

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

 

Bild 10. Das Code-Histogramm zeigt die Verbesserung des Signal-Rauschverhaltens mit der Überabtastrate. Ein einfaches Skript erlaubt es, die vielen möglichen Überabtastraten (bis zu 256) zu durchlaufen (sweep)
Bild 10. Bild 10. Das Code-Histogramm zeigt die Verbesserung des Signal-Rauschverhaltens mit der Überabtastrate. Ein einfaches Skript erlaubt es, die vielen möglichen Überabtastraten (bis zu 256) zu durchlaufen (sweep).
© Analog Devices

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.

Tabelle 2. Codeverteilung des AD7606C-16  abhängig von der Überabtastrate
Tabelle 2. Codeverteilung des AD7606C-16 abhängig von der Überabtastrate.
© Analog Devices

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.

Zusammenfassung

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

 

Gil Lluis Beltran von Analog Devices
Gil Lluis Beltran von Analog Devices.
© Analog Devices

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.


  1. Datenwandler schnell evaluieren
  2. Evaluierungsaufgaben mit Python automatisieren

Das könnte Sie auch interessieren

Verwandte Artikel

Analog Devices GmbH