This is an old revision of the document!
The AD5541A, AD5600 are single, 16-bit, serial input, unbuffered voltage output digital-to-analog converter (DAC) that operate from a single 2.7 V to 5.5 V supply.
The DAC output range extends from 0 V to VREF and is guaranteed monotonic, providing ±1 LSB INL accuracy at 16 bits without adjustment over the full specified temperature range of −40°C to +125°C. The AD5541A is available in a 3 mm × 3 mm, 10-lead LFCSP and 10-lead MSOP. The AD5541A-1 is available in a 3 mm × 3 mm, 8-lead LFCSP.
Offering unbuffered outputs, the AD5541A, AD5600 achieve a 1 μs settling time with low power consumption and low offset errors. Providing low noise performance of 11.8 nV/√Hz and low glitch, the AD5541A, AD5600 are suitable for deployment across multiple end systems.
The AD5541A, AD5600 use a versatile 3-wire interface that is compatible with a 50 MHz SPI, QSPI™, MICROWIRE™, and DSP interface standards.
The goal of this project (Microcontroller No-OS) is to be able to provide reference projects for lower end processors, which can't run Linux, or aren't running a specific operating system, to help those customers using microcontrollers with ADI parts. Here you can find a generic driver which can be used as a base for any microcontroller platform and also specific drivers for different microcontroller platforms.
The driver contains two parts:
The Communication Driver has a standard interface, so the AD5541A driver can be used exactly as it is provided.
There are three functions which are called by the AD5541A driver:
SPI driver architecture
The following functions are implemented in this version of AD5541A driver:
Function | Description |
---|---|
char AD5541A_Init(void) | Initializes the communication peripheral and configures LDAC pin. |
void AD5541A_SetRegisterValue(unsigned short registerValue) | Sends to DAC register through SPI the 16-bit data-word. |
float AD5541A_SetVoltage(float outVoltage, float vRef) | Sets the output voltage. |
HW Platform(s):
This section contains a description of the steps required to run the AD5541A demonstration project on a Digilent Cerebot MX3cK platform.
Following commands were implemented in this version of AD5541A reference project for Cerebot MX3cK board.
Command | Description |
---|---|
help? | Displays all available commands. |
voltage= | Sets the DAC output voltage. Accepted values: 0 - 2.5 |
voltage? | Displays last written value. |
register= | Writes to the DAC register. Accepted values: 0 - 65535. |
register? | Displays last written value. |
Commands can be executed using a serial terminal connected to the UART1 peripheral of PIC32MX320F128H.
The following image shows a list of commands in a serial terminal connected to processor’s UART peripheral.
This section presents the steps for developing a software application that will run on the Digilent Cerebot MX3cK development board for controlling and monitoring the operation of the ADI part.
This section contains a description of the steps required to run the AD5541A demonstration project on a Digilent Cerebot MC7 platform.
Following commands were implemented in this version of AD5541A reference project for Cerebot MC7 board.
Command | Description |
---|---|
help? | Displays all available commands. |
voltage= | Sets the DAC output voltage. Accepted values: 0 - 2.5 |
voltage? | Displays last written value. |
register= | Writes to the DAC register. Accepted values: 0 - 65535. |
register? | Displays last written value. |
Commands can be executed using a serial terminal connected to the UART1 peripheral of dsPIC33FJ128MC706A.
The following image shows a list of commands in a serial terminal connected to processor’s UART peripheral.
This section presents the steps for developing a software application that will run on the Digilent Cerebot MC7 development board for controlling and monitoring the operation of the ADI part.
This section contains a description of the steps required to run the AD5541A chipKIT demonstration project on a Digilent Cerebot MX3cK platform.
Following commands were implemented in this version of AD5541A chipKIT reference project for Cerebot MX3cK board.
Command | Description |
---|---|
help? | Displays all available commands. |
voltage= | Sets the DAC output voltage. Accepted values: 0 - 2.5 |
voltage? | Displays last written value. |
register= | Writes to the DAC register. Accepted values: 0 - 65535. |
register? | Displays last written value. |
Commands can be executed using the serial monitor.
Carriage return has to be selected as a line ending character. The required baud rate is 9600 baud.
The following image shows a list of commands in the serial monitor.
This section presents the steps for developing a chipKIT application that will run on the Digilent Cerebot MX3cK development board for controlling and monitoring the operation of the ADI part.