Home > Technologie > Digilent ZYBO-basiertes Oszilloskop mit LabVIEW

Digilent ZYBO-basiertes Oszilloskop mit LabVIEW

0
Advertisement

Digilent ZYBO-basiertes Oszilloskop mit LabVIEW

Dies ist ein einfaches "Oszilloskop" mit Zynq - 7000 und NI LabVIEW. Zur Erfassung von Daten von externen Generator habe ich eingebaute 12-Bit, 1MSPS Analog-Digital-Wandler verwendet.

Zur Erzeugung von Signalen habe ich DAC-Ausgang von STM32F407 verwendet (leider habe ich keinen professionellen Generator), die Sinus-, Dreieck und Rechtecksignal erzeugen. Dies ist eine vorläufige Version des Designs, so werde ich einige Funktionen in Zukunft zu verbessern.

Schritt 1: Download des Basissystems

Digilent ZYBO-basiertes Oszilloskop mit LabVIEW

Zuerst von allen - Download-Basis-Design-System von ZYBO-Seite und aktualisieren Sie es, wenn Sie eine neuere Version von Vivado haben (in diesem Tutorial habe ich Vivado 2015.1 Version verwendet).

Schritt 2: Fügen Sie XADC-Assistent zu Entwurf hinzu

Digilent ZYBO-basiertes Oszilloskop mit LabVIEW

Um analoge Daten über ein digitales Gerät zu erwerben, müssen Sie die ADC-Option - XADC Wizard - hinzufügen. Klicken Sie mit der rechten Maustaste auf das Blockdesign, wählen Sie "IP hinzufügen". Dann finden Sie den "XADC Wizard" und fügen Sie ihn hinzu.

Schritt 3: Konfigurieren des XADC-Assistenten - Registerkarte "Allgemein"

Digilent ZYBO-basiertes Oszilloskop mit LabVIEW

Doppelklicken Sie auf den XADC-Assistenten.

In Basic:

  • Schnittstellenoptionen: AXI4Lite,
  • Startkanalauswahl: Überprüfen Sie den Kanal-Sequenzer
  • AXI4STREAM Option: Deaktivieren Sie AXI4STREAM deaktivieren
  • Timing Mode: Kontinuierlicher Modus

Schritt 4: Konfigurieren des XADC Wizard - Channel Sequencer

Digilent ZYBO-basiertes Oszilloskop mit LabVIEW

In diesem Stadium können Sie die Kanäle auswählen, die Sie verwenden möchten. Es ist wichtig, dass nicht alle Kanäle verfügbar sind - in ZYBO sind: 14, 7, 15, 6. Ich wählte Kanal vauxp6 / vauxn6. Klicken Sie auf OK und schließen Sie den Assistenten

Schritt 5: Beschränken Sie den ADC

Digilent ZYBO-basiertes Oszilloskop mit LabVIEW

Um diesen Schritt auszuführen, können Sie XDC-Constraint-Datei auf ZYBO-Website und ZYBO-Schaltplan verfügbar. Schematic wird benötigt, weil Kanäle konkrete Pins zugewiesen haben. Zu Kanal 6 müssen K14 und N14 Pins zugewiesen werden.

Schritt 6: Synthetisieren Sie Ihr Design!

Sie haben programmierbare Logikteil des Designs erstellt. Synthetisieren Sie Ihr Design und exportieren Sie es in SDK.

Schritt 7: UART konfigurieren

Digilent ZYBO-basiertes Oszilloskop mit LabVIEW

Da unser Design von UART kommuniziert, müssen wir dieses Peripheriegerät im SDK konfigurieren. Initialisieren Sie die Komponente und legen Sie die Baudrate fest, wie auf dem Bild gezeigt.

Natürlich können Sie andere Peripheriegeräte als UART, zum Beispiel Ethernet, USB, ... Jetzt versuche ich, um Ethernet zu konfigurieren, aber das ist sehr komplexe Sache zu tun und ich habe eine Menge Probleme zu konfigurieren.

Schritt 8: Konfigurieren von ADC

Digilent ZYBO-basiertes Oszilloskop mit LabVIEW

Initialisieren der ADC-Komponente über Konfigurationsfunktionen - ähnlich den UART-Konfigurationsfunktionen. Nach diesem Start der ADC - verwenden Sie die Funktion XSysMon_StartAdcConversion (& ADC)

On while-Schleife oder im Interrupt (wenn Sie es konfigurieren) Daten aus Ihrem Kanal nach Funktion lesen:

XSysMon_GetAdcData (& ADC, Kanalnummer + 16)

Denken Sie daran - in Funktion:

XSysMon_SetSeqChEnables (& amp; ADC, 22);

Statt 22 müssen Sie die Kanalnummer + 16 schreiben - dies in Header - Datei von SysMon beschrieben.

Um Rohdaten in Spannung umzuwandeln, können Sie die Funktion XSysMon_RawToVoltage () verwenden, die den float-Wert zurückgibt.

Schritt 9: Daten an LabVIEW senden

Digilent ZYBO-basiertes Oszilloskop mit LabVIEW

Sie können diesen Schritt in der Hauptfunktion durchführen oder Ihre eigene Prozedur schreiben, die auf Interrupts basiert.

Es ist wichtig , dass die Daten , die Sie float * auf char zu konvertieren zu senden.

Wenn Sie Anwendung schreiben - kompilieren und das Gerät programmieren.

Schritt 10: Erstellen Sie das LabVIEW-Programm

Digilent ZYBO-basiertes Oszilloskop mit LabVIEW

Verwenden Sie VISA Serielle Blöcke und Array-Funktionen, um Daten vom ADC zu erfassen. Wandeln Sie Zeichenfolge in Zahl um und erstellen Sie Schieberegister, visualisieren Sie Ihre Daten und machen Sie viele Analysen von Sinus-, Dreieck-, Quadrat-, Rauschsignal. Sie können die for-Schleife durch while-Schleife ersetzen, aber in diesem Fall müssen Sie einen Teil der Daten löschen, um einen Überlauf zu vermeiden.

Schritt 11: Signale erfassen und analysieren!

Digilent ZYBO-basiertes Oszilloskop mit LabVIEW

Wichtig - bei Tests den Spannungsteiler entsprechend der maximalen Spannung des Analog-Digital-Wandlers verwenden. Generierung von Wellen durch Mikrocontroller (in meinem Fall - STM32F407) oder durch Generator - wenn Sie diese Art von Gerät haben.

Tun:

  • Verwenden Sie ethernet oder usb anstelle von seriellem Port,
  • Verwenden Sie Interrupts zum Erfassen und Senden der Daten,
  • Verbessern Sie die LabVIEW-Anwendung
Related Reading