The AD5628 device is a low power, octal, 12-bit, buffered voltage-output DAC. The device operates from a single 2.7 V to 5.5 V supply and is guaranteed monotonic by design. The AD5628 is available in both a 4 mm × 4 mm LFCSP and a 16-lead TSSOP.
The AD5628 has an on-chip reference with an internal gain of 2. The AD5628-1 has an 1.25 V 5 ppm/°C reference, giving a full-scale output range of 2.5 V; the AD5628-2, has a 2.5 V 5 ppm/°C reference, giving a full-scale output range of 5 V. The on-board reference is off, at power-up, allowing the use of an external reference. The internal reference is enabled via a software write.
The part incorporates a power-on reset circuit that ensures that the DAC output powers up to 0 V and remains powered up at this level until a valid write takes place. The part contains a power-down feature that reduces the current consumption of the device to 400 nA at 5 V and provides software-selectable output loads while in power-down mode for any or all DAC channels.
The outputs of all DACs can be updated simultaneously using the LDAC function, with the added functionality of user-selectable DAC channels to simultaneously update. There is also an asynchronous CLR that updates all DACs to a user-programmable code—zero scale, midscale, or full scale.
The AD5628 utilizes a versatile 3-wire serial interface that operates at clock rates of up to 50 MHz and is compatible with standard SPI®, QSPI™, MICROWIRE™, and DSP interface standards. The on-chip precision output amplifier enables rail-to-rail output swing.
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 AD5628 driver can be used exactly as it is provided.
There are three functions which are called by the AD5628 driver:
SPI driver architecture
The following functions are implemented in this version of AD5628 driver:
|char AD5628_Init(void)||Resets the device and performs several initializations.|
|void AD5628_PowerMode(unsigned char pwrMode, unsigned char channel)||Sets the device in a specific power mode.|
|void AD5628_Reset(void)||Resets the device.|
|void AD5628_SetInputRegister(unsigned long registerValue)||Writes a 32-bit data-word to the Input Register of the device.|