The AD7291 is a 12-bit, low power, 8-channel, successive approximation analog-to-digital converter (ADC) with an internal temperature sensor.
The part operates from a single 3.3 V power supply and features an I2C-compatible interface. The part contains a 9-channel multiplexer and a track-and-hold amplifier than can handle frequencies up to 30 MHz. The device has an on-chip 2.5 V reference that can be disabled to allow the use of an external reference.
The AD7291 provides a 2-wire serial interface compatible with I2C interfaces. The I2C interface supports standard and fast I2C interface modes. The AD7291 normally remains in a partial power-down state while not converting and powers up for conversions. The conversion process can be controlled by a command mode where conversions occur across I2C write operations or an autocycle mode selected through software control.
The AD7291 includes a high accuracy band gap temperature sensor, which is monitored and digitized by the 12-bit ADC to give a resolution of 0.25°C.
The AD7291 offers a programmable sequencer, which enables the selection of a preprogrammable sequence of channels for conversion.
On-chip limit registers can be programmed with high and low limits for the conversion results; an out-of-range indicator output (ALERT) becomes active when the programmed high or low limits are violated by the conversion result. This output can be used as an interrupt.
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.
HW Platform(s):
The driver contains two parts:
The Communication Driver has a standard interface, so the AD7291 driver can be used exactly as it is provided.
There are three functions which are called by the AD7291 driver:
I2C driver architecture
The following functions are implemented in this version of AD7291 driver:
Function | Description |
---|---|
unsigned char AD7291_Init(void) | Initializes the I2C communication peripheral and configures AD7291. |
void AD7291_SetRegisterValue(unsigned char registerAddress, unsigned short registerValue) | Writes data into a register. |
void AD7291_GetRegisterValue(unsigned char registerAddress, unsigned short* registerValue, unsigned char readsNumber) | Performs a number of reads from a register. |
float AD7291_GetDegreesTemp(void) | Reads the temperature data and converts the result in degrees Celsius. |
void AD7291_GetVoltageConversionResults(unsigned short* data) | Reads the voltage conversion results for the enabled channels. |
This section contains a description of the steps required to run the AD7291 demonstration project on a Renesas RL78G13 platform.
An EVAL-AD7291SDZ has to be interfaced with the Renesas Demonstration Kit (RDK) for RL78G13:
EVAL-AD7291SDZ test point T_SCLK → YRDKRL78G13 J9 connector Pin 1 EVAL-AD7291SDZ test point TDOUT → YRDKRL78G13 J9 connector Pin 3 EVAL-AD7291SDZ J16 connector Pin DGND → YRDKRL78G13 J11 connector Pin 5 EVAL-AD7291SDZ J16 connector Pin VDRIVE → YRDKRL78G13 J11 connector Pin 6 EVAL-AD7291SDZ J15 connector Pin AGND → YRDKRL78G13 J11 connector Pin 5 EVAL-AD7291SDZ J15 connector Pin EXT_VCC → YRDKRL78G13 J11 connector Pin 6
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 I2C communication peripheral and configures AD7291 to perform readings from analog inputs CH1 and CH7. The temperature is also read and displayed on the screen in degrees Celsius.
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).
This section contains a description of the steps required to run the AD7291 demonstration project on a Renesas RX62N platform.
An EVAL-AD7291SDZ has to be interfaced with the Renesas Demonstration Kit (RDK) for RX62N:
EVAL-AD7291SDZ test point T_SCLK (SCL) → YRDKRX62N J2 connector Pin 1 EVAL-AD7291SDZ test point TDOUT (SDA) → YRDKRX62N J2 connector Pin 3 EVAL-AD7291SDZ J16 connector Pin DGND → YRDKRX62N J8 connector Pin 4 EVAL-AD7291SDZ J15 connector Pin AGND → YRDKRX62N J8 connector Pin 4 EVAL-AD7291SDZ J16 connector Pin VDRIVE → YRDKRX62N J8 connector Pin 3 EVAL-AD7291SDZ J15 connector Pin EXT_VCC → YRDKRX62N J8 connector Pin 3
The reference project initializes the I2C communication peripheral and configures AD7291 to perform readings from analog inputs CH1 and CH7. The temperature is also read and displayed on the screen in degrees Celsius.
This section presents the steps for developing a software application that will run on the Renesas Demo Kit for RX62N for controlling and monitoring the operation of the ADI part.
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !