Mit der neuesten ACE-Plattform von Analog Devices können Makros aufgezeichnet werden, sodass die Evaluierung von Projekten beschleunigt wird, schlussendlich aber auch die gesamte Entwicklung und damit die Time-to-Market.
Mit Evaluation-Boards (EVBs) und der dazugehörigen ACE-Software (Analysis, Control, Evaluate) können Entwickler einfach die Leistung und Plug-and-play-Fähigkeit von Analog-Devices-Produkten evaluieren. Die grafische Bedienoberfläche (GUI) ist ein intuitives Hilfsmittel, um den zu untersuchenden Baustein zu konfigurieren und mit ihm zu kommunizieren. Allerdings kann das Evaluieren sämtlicher Eigenschaften von komplexeren Produkten mit vielen unterschiedlichen Funktionen sehr zeitintensiv sein, wenn die sich wiederholenden Aufgaben nicht automatisiert sind.
Deshalb ist es wertvoll, zu wissen, wie man ein Makro aufzeichnet und wie man es in Python- und MATLAB-Umgebungen einsetzt, um bestimmte Evaluierungsaufgaben zu automatisieren, ohne dass man dazu komplexen Software-Code für einen Controller schreiben muss (Bild 1).
Die in diesem Fachartikel genutzten Beispiele mit den Bausteinen AD7380 und AD7606C-16 automatisieren die gesamte Bedienerinteraktion, durchlaufen viele unterschiedliche Konfigurationen, starten die Datenwandlung und geben anschließend die Ergebnisse aus. Diese Beispiele werden im Beitrag dazu genutzt, die Leistungsvorzüge, die ein überabtastendes Digitalfilter für einen Analog-Digital-Wandler (ADC) bietet, automatisiert zu untersuchen. Obwohl sich die Betrachtung auf die beiden Bausteine AD7380 und AD7606C-16 fokussiert, gelten die Erkenntnisse auch für andere ADI-Produkte und Applikationen.
ADI bietet viele Möglichkeiten, neu eingeführte Produkte und deren Leistungsfähigkeit und Eigenschaften zu untersuchen. Die Evaluierungs-Boards bestehen aus einer Leiterplatte (PCB), die mit den Hauptkomponenten – z. B. einem A/D-Wandler (ADC) – und den nötigen Begleitprodukten, wie Spannungsreferenzen, Treibern, Taktquellen, Stromversorgung etc. bestückt ist. Dazu kommt noch eine Software, die die Leistungsfähigkeit dieser Komponente aufzeigt. Sie stellt die realen Daten, die mit dieser Plattform erfasst werden können, dar. Seit mehreren Jahren wird für diese Aufgabe die ACE-Software genutzt.
Innerhalb der ACE-Plattform besitzt jedes Produkt ein Plug-in, das die Bauteilkonfiguration vereinfacht, indem man über ein übersichtliches GUI, in dem man einfach navigieren kann, auf die Registerbelegung zugreift.
Beim ADC-Beispiel zeigt die ACE-Software typischerweise die Rohdaten als Signalform oder Histogramm an und berechnet mit FFTs die AC-Leistungsmetriken wie SNR (Signal-Rauschverhältnis) oder THD (Klirrfaktor). Nachfolgend wird gezeigt, wie alle diese Prozeduren automatisiert werden können, ohne dass man dazu Software entwickeln muss.
Bild 2 zeigt das AD7380-Plug-in in der Chip-Ansicht, bei der mehrere Schaltflächen vorhanden sind, um den Baustein einfach zu konfigurieren:
➔ REF erlaubt die Auswahl entweder einer internen oder externen Referenz.
➔ OSC ermöglicht das Überabtasten und stellt die Überabtastrate ein.
Bild 3 zeigt das AD7606C-16 Plug-in in der Chip-Ansicht mit mehreren Schaltflächen, die in dunklerem Blau hervorgehoben sind und die unter anderem für Folgendes verwendet werden können:
➔ Auswahl des analogen Eingangsbereichs pro Kanal durch Klicken auf das PGA-Symbol
➔ Auswahl der Überabtastrate
➔ Auswahl der Referenzquelle, entweder intern oder extern
➔ Konfigurieren der Kalibrierfunktionen für Offset/Verstärkung/Phase
➔ Konfigurieren der Diagnosefunktionen
Obwohl diese Beispiele die Bausteine AD7380 und AD7606C-16 adressieren, liegt der Fokus dieses Artikels nicht nur auf diesen Bausteinen, sondern auch darauf, mit ACE wiederkehrende Evaluierungsaufgaben zu automatisieren. Jedes ACE-Plug-in hat dazu sein eigenes GUI-Layout. Da die Produkte jedoch immer komplexer werden und mehr Funktionen beinhalten (z. B. Diagnose, Kalibrierung etc.), wird es auch komplexer und aufwendiger, all diese Funktionen manuell zu testen. Der Fernzugriff mit ACE bietet die Möglichkeit, Parameter einzustellen oder nacheinander durchlaufen (sweep) zu lassen, z. B. die unterschiedlichen Überabtastraten nacheinander zu verwenden und zu messen, wie sich dabei das Signal-Rausch-Verhalten verbessert.
Einrichten des ACE-Fernzugriffs
Bevor man anfängt, Code zu erstellen, um ACE aus der Ferne zu bedienen, muss die Kommunikation mit ACE über folgende Schritte eingerichtet werden (Bild 4):
➔ Öffnen von ACE und auf Settings gehen
➔ In den IPC-Server-Tab gehen und sicherstellen, dass dieser aktiviert ist
➔ Sicherstellen, dass ein Port zugeteilt ist, bevorzugt 2357
Aufzeichnen eines Makros und Erstellen von Skripten
ACE hat ein Macro-Tool-Menü, um die Konfiguration und die Schritte der Bausteininteraktion aufzuzeichnen und sie in eine Makro-Datei zu schreiben.
Ist ein Makro einmal erstellt, kann es genutzt werden, um alle Schritte automatisch zu wiederholen. Die folgenden Punkte erklären, wie man ein Makro erstellt:
➔ ACE öffnen und zu Tools >> Macro Tools gehen.
➔ Die Befehlsschaltfläche zur Makro-Aufzeichnung auf der rechten Seite innerhalb des blau gekennzeichneten Bereichs in Bild 5 anklicken.
➔ Durchführen der Bausteininteraktionen, wie Ändern der Parameter, Eingeben von Werten in Register der Speicher-Map, Erfassen von Daten etc. Das Command-Fenster wird gefüllt, wenn mit der GUI navigiert und mit ihr interagiert wird.
➔ Sind alle einzugebenden Aktionen/Einstellungen aufgezeichnet, bestätigt man – am gleichen Ort wie vorher – mit der Schaltfläche Stop Recording Macro Commands. Das Befehlsfenster wird daraufhin automatisch angezeigt.
Als Beispiel konfiguriert der Anwender während der Aufzeichnung des Makros die Überabtastrate und die Auflösung des Wandlers, nur mit den in Bild 2 erklärten Schaltflächen. Das Befehlsfenster sieht dann wie in Bild 5 aus.
In diesem Fenster können alle aufgezeichneten Schritte überprüft und auch jeder unerwünscht automatisch generierte Schritt übersprungen oder abgebrochen werden (in Bild 5 rot markiert), bevor man das ganze Programm in ein auswählbares Sprach-Skript exportiert.
Ist eine Makro-Datei einmal erstellt, kann sie gespeichert und wieder abgespielt werden, um die zuvor gemachten Schritte erneut auszuführen. ACE besitzt eine eingebaute Funktion, um Skripte zu generieren, die die aufgezeichneten Aktionen in einer Sprache nach Wahl unterstützen (Bild 6). Um dies durchzuführen, sind folgende Schritte als nächstes notwendig:
➔ Klicken auf das Generate-Icon auf der rechten Seite (im blau hervorgehobenem Bereich in Bild 5), um das Script-Generator-Fenster zu öffnen.
➔ Wählen der gewünschten Sprache wie C#, MATLAB oder Python und auf Export drücken.
Dieser Code kann dann zur Ausführung in eine IDE (Integrated Development Environment, integrierte Entwicklungsumgebung) exportiert werden. Und dort können dieser Code als Basis genutzt und zusätzliche Funktionen wie die Messgerätesteuerung hinzugefügt werden, um einen automatisierten Testaufbau für Messungen zu erhalten. In den hier genutzten Beispielen werden Visual-Studio-Code oder MATLAB genutzt, um eine Signal-Rausch-Analyse durchzuführen – diese verwenden nur das Produkt-Evaluierungs-Board ohne weiteres Equipment. Um Code-Beispiele zum Manipulieren, zum Speichern oder zum Plotten der gesammelten Daten zu erhalten, wie in den nächsten Kapiteln gezeigt, besucht man wiki.analog.com und wählt dort das gewünschte Evaluierungs-Board aus.