The AD7328 is an 8-channel, 12-bit plus sign, successive approximation ADC designed on the iCMOS (industrial CMOS) process. iCMOS is a process combining high voltage silicon with submicron CMOS and complementary bipolar technologies. It enables the development of a wide range of high performance analog ICs capable of 33 V operation in a footprint that no previous generation of high voltage parts could achieve. Unlike analog ICs using conventional CMOS processes, iCMOS components can accept bipolar input signals while providing increased performance, dramatically reduced power consumption, and reduced package size. The AD7328 can accept true bipolar analog input signals. The AD7328 has four software-selectable input ranges, ±10 V, ±5 V, ±2.5 V, and 0 V to +10 V. Each analog input channel can be independently programmed to one of the four input ranges. The analog input channels on the AD7328 can be programmed to be single-ended, true differential, or pseudo differential. The ADC contains a 2.5 V internal reference. The AD7328 also allows for external reference operation. If a 3 V reference is applied to the REFIN/OUT pin, the AD7328 can accept a true bipolar ±12 V analog input. Minimum ±12 V VDD and VSS supplies are required for the ±12 V input range. The ADC has a high speed serial interface that can operate at throughput rates up to 1 MSPS.
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 AD7328 driver can be used exactly as it is provided.
There are three functions which are called by the AD7328 driver:
SPI driver architecture
The following functions are implemented in this version of AD7328 driver:
|unsigned char AD7328_Init(unsigned char internalRef, unsigned char coding)||Initializes AD7328.|
|void AD7328_SetRegisterValue(unsigned char registerAddress, unsigned short registerValue)||Writes data into a register.|
|void AD7328_SetRange(unsigned char channel, unsigned char range)||Select one analog input range per analog input channel.|
|void AD7328_SequenceSetup(unsigned char sequenceMode, unsigned short channelSequence)||Configures the channel sequence feature.|
|void AD7328_SetPower(unsigned char powerMode)||Selects a power mode of the AD7328.|
|void AD7328_ChannelSetup(unsigned char channelMode, unsigned char channelIndex)||Selects the configuration of the eight analog inputs and selects the analog input channel for the next conversion.|
|void AD7328_SampleRead(unsigned short *sampleValue, unsigned char *channelId)||Reads one sample from the device.|
|float AD7328_CalcVoltage(unsigned short value, unsigned char chIndex, float vRef)||Converts the raw data read from a channel to volts.|
This section contains a description of the steps required to run the AD7328 demonstration project on a Renesas RL78G13 platform.
An EVAL-AD7328SDZ has to be interfaced with the Renesas Demonstration Kit (RDK) for RL78G13:
EVAL-AD7328SDZ Pin CS → YRDKRL78G13 J11 connector Pin 1 EVAL-AD7328SDZ Pin DIN → YRDKRL78G13 J11 connector Pin 2 EVAL-AD7328SDZ Pin DOUT → YRDKRL78G13 J11 connector Pin 3 EVAL-AD7328SDZ Pin SCLK → YRDKRL78G13 J11 connector Pin 4 EVAL-AD7328SDZ Pin GND → YRDKRL78G13 J11 connector Pin 5
The reference project samples the input voltage on channels 0 through 6 and displays the values on the 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.