Der Blätterkatalog benötigt Javascript.
Bitte aktivieren Sie Javascript in Ihren Browser-Einstellungen.
The Blätterkatalog requires Javascript.
Please activate Javascript in your browser settings.
18 Elektronik 21 2023 AnAlog Power DMA-Controller angeschlossen werden Der DMA-Controller und die DMA-Kanäle dienen zum Datentransfer zwischen Speicher und Peripherie und stellen eine effiziente Möglichkeit dar den Prozessorkern zu entlasten und ihn damit für andere Aufgaben freizustellen ADC als Slave Beim AD7768-1 handelt es sich um einen energiesparenden und leistungsfähigen Sigma-Delta-ADC mit einer Auflösung von 24 bit Wie sich aus Tabelle 1 entnehmen lässt sind der Dezimationsfaktor und der Power-Modus entscheidend für die Ausgangsdatenrate Output Data Rate ODR Ein wichtiges Feature des AD7768-1 ist der Continuous-Read-Modus Die vom ADC ausgegebenen Daten werden im Register 0x6C abgelegt Typischerweise benötigen die Daten im ADC-Register das Spezifizieren einer Adresse vor jeder Schreiboder Lesetransaktion Der Continuous-Read-Modus aber gestattet ein direktes Auslesen der Daten aus dem 0x6C-Register nach jedem Data-Ready-Signal Die vom ADC ausgegebenen Daten liegen im 24-bit-Format vor und werden gemäß Tabelle 2 in Volt umgewandelt Leitungsverbindungen und Datentransfer Der Mikrocontroller ADuCM4050 und der ADC AD7768-1 werden als exemplarische Bauelemente verwendet Die Verbindungen zwischen den jeweiligen Pins gehen aus Bild 4 hervor Das Resetsignal wird vom Pin »GPIO28« der MCU an den Pin »RST 1« des ADC gesendet das Data-Ready-Signal wiederum vom »DRDY 1«-Pin des ADC an den Pin »GPIO27« der MCU Die übrigen Pins werden wie in generischen SPI-Anwendungen verbunden in denen die MCU als Master und der ADC als Slave fungiert »SDI 1« empfängt die Leseund Schreibbefehle für das ADC-Register von der MCU und über »DOUT 1« werden die Ausgangsdaten an die MCU übertragen Interruptbasierter Datentransfer Zum Umsetzen der kontinuierlichen Datenübertragung wird der Pin »GPIO27« verbunden mit DRDY als Interrupt-Trigger verwendet Sobald der ADC ein Data-Ready-Signal an den »GPIO27«- Pin sendet führt die MCU die Callback-Funktion mit den Datentransaktionsbefehlen aus Wie Bild 5 verdeutlicht muss die Datenerfassung zwischen Interrupt Aund Interrupt Berfolgen Mit dem generischen SPI-Treiber von ADI lässt sich die Datentransaktion zwischen ADC und MCU einfach umsetzen Wegen der redundanten Befehle im Treiber wäre die ODR des ADCs jedoch auf 8 kHz begrenzt Um den Ablauf zu beschleunigen wird der Code deshalb auf das absolut notwendige Maß abgespeckt Nachfolgend werden zwei DMA-Übertragungsmethoden vorgestellt Basic-Modus und Pingpong-Modus DMA-Transaktionen im Basic-Modus Vor jeder DMA-Transaktion sind bestimmte SPIund DMA-Einstellungen erforderlich siehe Code-Beispiel in Bild 6 Bei »SPI CTL« handelt es sich um die SPI-Konfiguration »SPI CTL 0x280f« wird von dem für den ADI-SPI-Treiber eingestellten Wert abgeleitet SPI CNT ist die Anzahl der Bild 4 Verbindung der Pins von AD7768-1 und ADuCM4050 Bild Analog Devices Bild 6 Beispielcode für DMA-Transaktionen im Basic-Modus Bild Analog Devices Bild 5 Das Intervall zwischen zwei Interrupts wird für die Datentransfers genutzt Bild Analog Devices