The AD5592R/ AD5593R offer 8-Channel, 12-Bit, configurable ADC/DAC with on-chip reference and either SPI (AD5592R) or I2C interfaces (AD5593R). This page gives an overview of using the AD5592R/AD5593R firmware example with SDP-K1 EVAL board. The firmware example comprises 3 layers of software (from top to bottom): Console Application Layer, Device No-OS Layer and Platform Drivers (Mbed-OS) layer.
The application layer uses the ADI Console Libraries to create console-based User Interactive (UI). The middle layer of No-OS device library has device specific APIs to interface with AD5592R/93R devices. These APIs allows direct access to device register map in order to read/write device registers. The bottom layer of Platform Drivers is responsible for Low Level Interface. The platform drivers use mbed-os libraries to access low level peripheral (like GPIOs, SPI, I2C, etc). The devices from AD5592R/AD5593R family use SPI and I2C communication interfaces respectively.
The Mbed Platform simplifies the overall software development process by providing the low-level driver support. This reduces the hardware dependency as any Mbed enabled board can be used with same firmware with little modifications (changing a pin mapping).
The SDP-K1 is powered by the USB connection to a PC. The SDP-K1 appears as a USB serial device, and the host PC creates a serial or COM Port that can be connected to connect by Terminal software such as Teraterm, Putty, etc. The serial port assigned to a device can be found using the Device Manager for a Windows based OS.
The EVAL-AD5592R-1SDZ can be connected to the SDP-K1 using the 120-way header and is used for the SPI signals. A separate VDD power supply connection is required, either 5V or 3.3V. This can be wired from the corresponding pin on the SDP-K1 Arduino power header to the J2-1 'VDD' screw terminal.
For the firmware example code set the links as follows
The EVAL-AD5593RSDZ can be connected to the SDP-K1 using fly wires from the Arduino header to the signal pins available on J5 and other headers. The VDD power supply connection can be either 5V or 3.3V. This can be wired from the corresponding pin on the SDP-K1 Arduino power header to the J2-1 'VDD' screw terminal.
The connections to be made between the SDP-K1 and the EVAL-AD55923RSDZ are as follows:
SDP-K1 Arduino Header | EVAL-AD5593RSDZ |
---|---|
SCL/D15 | J5-2 'SCLK' |
SDA/D14 | J5-3 'SDI' |
5V or 3.3V | J2-1 'VDD' |
3.3V | J1-1 'EXT_LOGIC' |
GND | J5-10 'GND' |
For the firmware example code set the links as follows
The EVAL-AD5592R is connected to SDP-K1 through the on-board default 120-pin SDP connector. Meanwhile, the EVAL-AD5593R is connected using the K1's Arduino Header and jumper cables.
Both evaluation boards have 8 I/O pins available on the SMB connectors - I/O 0-7. These connectors are analog inputs or outputs depending on whether the I/Ox pin is configured as ADCs or DACs, or as digital inputs or outputs if the I/Ox pin is configured as a GPIO.
The SDP-K1 is connected to PC through USB cable and appears as a USB disk device. The firmware can be loaded into SDP-K1 board through this USB interface from PC, by copying a firmware image file onto the USB disk.
For developing firmware code for controller boards on the Mbed platform visit the link below.
Source code is hosted here:
Build Guide for Precision Converters MBED firmware (Use below link):
If you have some familiarity with the Mbed platform, the following is a basic list of steps required to start running the code, see below for more detail:
The AD5592R/93R firmware example is configured to have following serial settings:
Configure your serial terminal ( Tera Term) for below settings:
The AD5592R Main Menu looks like below (with Tera Term):
The firmware is designed to be intuitive to use, and requires little explanation, simply enter the letter corresponding to the required command and follow the on-screen prompts.
The console menu application provides the following main features: