The AD5449 is a CMOS, 12-bit, dual-channel, current output digital-to-analog converter (DAC). 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. 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 AD5449 driver can be used exactly as it is provided.
There are three functions which are called by the AD5449 driver:
SPI driver architecture
The following functions are implemented in this version of AD5449 driver:
|unsigned char AD5449_Init(void)||Initialize the communication with the device.|
|void AD5449_SetRegisterValue(unsigned short command, unsigned short dataWord)||Sends a 16-bit value to the Input Shift Register of the device.|
|unsigned short AD5449_GetRegisterValue(unsigned char dacChannel)||Reads 12-bit data form DAC register A or DAC register B.|
|void AD5449_Setup(unsigned short setupWord)||Enables specific options available for the device.|
This section contains a description of the steps required to run the AD5449 demonstration project on a Renesas RL78G13 platform.
An EVAL-AD5449SDZ has to be interfaced with the Renesas Demonstration Kit (RDK) for RL78G13:
EVAL-AD5449SDZ Pin /SYNC (CS) → YRDKRL78G13 J11 connector Pin 1 EVAL-AD5449SDZ Pin SDIN (MOSI) → YRDKRL78G13 J11 connector Pin 2 EVAL-AD5449SDZ Pin SDO (MISO) → YRDKRL78G13 J11 connector Pin 3 EVAL-AD5449SDZ Pin SCLK (SCLK) → YRDKRL78G13 J11 connector Pin 4 EVAL-AD5449SDZ Pin LDAC (LDAC) → YRDKRL78G13 J11 connector Pin 9 EVAL-AD5449SDZ 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 and continuously writes values to DAC register, generating a signal. The values that are written to the device are also displayed on LCD.
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).