The AD5415 is a CMOS, 12-bit, dual channel, current output digital-to-analog converter. This device operates from a 2.5 V to 5.5 V power supply, making it suited to battery-powered applications and other applications. As a result of being manufactured on a CMOS submicron process, this part offers excellent 4-quadrant multiplication characteristics, with large-signal multiplying bandwidths of 10 MHz. The applied external reference input voltage (VREF) determines the full scale output current. An integrated feedback resistor (RFB) provides temperature tracking and full scale voltage output when combined with an external current to voltage precision amplifier. In addition, this device contains the 4-quadrant resistors necessary for bipolar operation and other configuration modes. This DAC uses a double buffered, 3-wire serial interface that is compatible with SPI®, QSPI™, MICROWIRE™, and most DSP interface standards. In addition, a serial data out pin (SDO) allows daisy-chaining when multiple packages are used. Data readback allows the user to read the contents of the DAC register via the SDO pin. On power-up, the internal shift register and latches are filled with 0s, and the DAC outputs are at zero scale.
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 Renesas platforms.
The driver contains two parts:
The Communication Driver has a standard interface, so the AD5415 driver can be used exactly as it is provided.
There are three functions which are called by the AD5415 driver:
SPI driver architecture
The following functions are implemented in this version of AD5415 driver:
|unsigned char AD5415_Init(void)||Initialize the communication with the device.|
|void AD5415_SetRegisterValue(unsigned short command, unsigned short dataWord)||Sends a 16-bit value to the Input Shift Register of the device.|
|unsigned short AD5415_GetRegisterValue(unsigned char dacChannel)||Reads 12-bit data form DAC register A or DAC register B.|
|void AD5415_Setup(unsigned short setupWord)||Enables specific options available for the device.|
This section contains a description of the steps required to run the AD5415 demonstration project on a Renesas RL78G13 platform.
An EVAL-AD5415SDZ has to be interfaced with the Renesas Demonstration Kit (RDK) for RL78G13:
EVAL-AD5415SDZ Pin /SYNC (CS) → YRDKRL78G13 J11 connector Pin 1 EVAL-AD5415SDZ Pin SDIN (MOSI) → YRDKRL78G13 J11 connector Pin 2 EVAL-AD5415SDZ Pin SDO (MISO) → YRDKRL78G13 J11 connector Pin 3 EVAL-AD5415SDZ Pin SCLK (SCLK) → YRDKRL78G13 J11 connector Pin 4 EVAL-AD5415SDZ Pin LDAC (LDAC) → YRDKRL78G13 J11 connector Pin 9 EVAL-AD5415SDZ Pin /CLR (CLR) → YRDKRL78G13 J11 connector Pin 10
With the Applilet3 for RL78G13 tool the following peripherals have to be configured:
Choose to generate the Transmit/receive function for the CSI10 and configure the interface with the following settings:
Configure TM00 as an interval timer:
Disable the watchdog timer:
The reference project initializes the device, sets the DAC output to middle scale, writes a value to DAC register and then reads it back.
This section presents the steps for developing a software application that will run on the Renesas Demo Kit for RL78G13 for controlling and monitoring the operation of the ADI part.
Two software applications have to be used: Applilet3 for RL78G13 (a tool that automatically generates device drivers for MCU peripheral functions) and IAR Embedded Workbench for Renesas RL78 (the integrated development environment).