Libs for using Nucleo STM32F411 periphery
AD5664 Class Reference
#include <AD5664.h>
Public Member Functions | |
AD5664 (SPI _spi, PinName _daccs) | |
void | sendDAC (int instruction, int data1, int data2) |
virtual | ~AD5664 () |
void | SelectCS () |
void | DeselectCS () |
void | writeDAC (char channel, int value) |
void | loadDAC (char channel, int value) |
void | updateDAC (char channel) |
Protected Attributes | |
SPI | spi |
SPI Schnittstelle. | |
DigitalOut | daccs |
Chipselect Pin. |
Detailed Description
Diese Klasse dient zur Ansteuerung des Digital-Analog-Wandlers AD5664 der Firma Analog Devices. Der DAC ist ein 16-Bit Wandler mit 4 Kanälen, Versorgungsspannung von 2,7V bis 5,5V. Die Maximale Settling Time beträgt 7µs (AD5664), und die Genauigkeit liegt bei +-12 LSBs maximum. Angesteuert wird er mittels SCLK, CS und MOSI mit maximal 50 MHz. Zuvor muss die SPI-Schnittstelle definiert werden. Die Chip Select Schnittstelle kann durch die Initialisierung mit Übergeben werden. Es ist darauf zu achten das der Chip bzw die Library nur den SPI-Modus "1" (CLK Standart auf 0 und übernahme mit fallender Flanke) mit einer Datenbreite von 8-Bit unterstützt.
#include "mbed.h" #include "AD5664.h" SPI interface(PB_5, PB_4, PB_3); // SPI Interface und Pins (MISO PB.5 , MOSI PB.4, SCLK PB.3) festlegen int main() { interface.format(8,1); // Interface Format festlegen: 8-Bit, SPI-Modus 1 interface.frequency(1000000); // Übertragungsgeschwindigkeit 1MHz AD5664 device(interface, PB_2); // Eine Instanz des DACs erzeugen, Chipselect ist PB.2 device.loadDAC('D', 0x11FF); // Den Wert 0x11FF in den Kanal D laden device.updateDAC('D'); // Den geladenen Wert am Kanal D ausgeben device.writeDAC('A', 0x89BD); // Den Wert 0x89BD an dem Kanal A direkt ausgeben }
Definition at line 34 of file AD5664.h.
Constructor & Destructor Documentation
AD5664 | ( | SPI | _spi, |
PinName | _daccs | ||
) |
Konstruktor zum Erstellen einer Instanz für einen vorher spezifizierten SPI-Port und Chip Select-Pin. Nach dem Erstellen dieser Instanz werden alle Ausgänge des DACs auf 0 gesetzt.
- Parameters:
-
spi Entsprechner SPI-Port (Datenbreite 8 Bit, SPI Modus 1) daccs Pin für Chipselect
Definition at line 8 of file AD5664.cpp.
Member Function Documentation
void DeselectCS | ( | ) |
Setzt den Chipselect-Pin des Wandlers auf "deselect" bzw. wählt diesen ab.
Definition at line 33 of file AD5664.cpp.
void loadDAC | ( | char | channel, |
int | value | ||
) |
Lädt ein 16-Bit Wert in den eingestellten Kanal. Der Wert wird direkt in das Inputregister geschrieben und kann mit der updateDAC-Funktion in das DAC-Register geschrieben werden
- Parameters:
-
channel Einstellung des Ausgewählten Kanals
- A Lädt Kanal A
- B Lädt Kanal B
- C Lädt Kanal C
- D Lädt Kanal D
- F Lädt alle DACs
Standartwert, falls ein falscher Kanal angegeben wird ist "F"
value 16-Bit Wert
Wird Automatisch in zwei 8 Bit Werte angepasst.
Definition at line 72 of file AD5664.cpp.
void SelectCS | ( | ) |
Setzt den Chipselect-Pin des Wandlers auf "select" bzw. wählt diesen aus.
Definition at line 29 of file AD5664.cpp.
void sendDAC | ( | int | instruction = 0x00 , |
int | data1 = 0x00 , |
||
int | data2 = 0x00 |
||
) |
Funktion zum Beschreiben des Chips mit je 8-Bit. Für genauere Details bitte das Datenblatt lesen
- Parameters:
-
instruction Direkte Anweisungen für den AD5664
Die 8 Instruction-Bits sind wie folgt aufgebaut:
X X C C C A A A
- Die ersten zwei Bits sind don't cares
- Die Befehle C sind wie fogt aufgebaut
- 000 Schreibe Input register N
- 001 Update DAC Register N
- 010 Schreibe Inputregister N und Update alle DAC Register
- 011 Schreibe Inputregister N und Update DAC Register N
- 100 Power Down DAC (siehe Datenblatt)
- 101 Reset (siehe Datenblatt)
- 110 Funktionsregister LDAC (siehe Datenblatt)
- Die Adresse A zum Register N sind wie fogt aufgebaut
- 000 DAC A
- 001 DAC B
- 010 DAC C
- 011 DAC B
- 111 All DACs
data1 Datenbits
ersten 8 Datenbits, bzw. oberen zwei Nibbledata2 Datenbits
zweiten 8 Datenbits, bzw. unteren zwei Nibble - Die ersten zwei Bits sind don't cares
Definition at line 14 of file AD5664.cpp.
void updateDAC | ( | char | channel ) |
Schreibt zuvor eingestellten Wert in das DAC Register (Laden mittels loadDAC-Funktion). Dieser Wert ist dann am Ausgang des entsprechenden DAC-Kanals zu messen.
- Parameters:
-
channel Einstellung des Ausgewählten Kanals
- A Beschreibt Kanal A
- B Beschreibt Kanal B
- C Beschreibt Kanal C
- D Beschreibt Kanal D
- F Beschreibt alle DACs
Standartwert, falls ein falscher Kanal angegeben wird ist "F"
Definition at line 106 of file AD5664.cpp.
void writeDAC | ( | char | channel, |
int | value | ||
) |
Schreibt ein 16-Bit Wert in den eingestellten Kanal. Der Wert wird direkt in das DAC Register geschrieben und der Wert wird direkt ausgegen.
- Parameters:
-
channel Einstellung des Ausgewählten Kanals
- A Beschreibt Kanal A
- B Beschreibt Kanal B
- C Beschreibt Kanal C
- D Beschreibt Kanal D
- F Beschreibt alle DACs
Standartwert, falls ein falscher Kanal angegeben wird ist "F"
value 16-Bit Wert
Wird Automatisch in zwei 8 Bit Werte angepasst.
Definition at line 37 of file AD5664.cpp.
Field Documentation
Generated on Wed Jul 13 2022 17:06:12 by 1.7.2