
The AD7091R is a 12-bit successive approximation analog-to-digital converter (ADC) that offers ultralow power consumption (typically 349 µA at 3 V and 1 MSPS) while achieving fast throughput rates (1 MSPS with a 50 MHz SCLK). The AD7091R uses advanced design and process techniques to achieve this very low power dissipation at high throughput rates. The part also features an on-chip, accurate 2.5 V reference.
Operating from a single 2.7 V to 5.25 V power supply, the part contains a wide bandwidth track-and-hold amplifier that can handle input frequencies in excess of 7 MHz. The AD7091R also features an on-chip conversion clock and high speed serial interface. The conversion process and data acquisition are controlled using a CONVST signal and an internal oscillator.
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 different microcontroller platforms.
The driver contains two parts:
The Communication Driver has a standard interface, so the AD7091R driver can be used exactly as it is provided.
There are three functions which are called by the AD7091R driver:
SPI driver architecture
The following functions are implemented in this version of AD7091R driver:
| Function | Description |
|---|---|
| char AD7091R_Init(void) | Initializes the SPI communication peripheral. |
| void AD7091R_SoftwareReset(void) | Initiate a software reset of the device. |
| unsigned short AD7091R_ReadSample(void) | Initiates one conversion and reads back the result. |
| void AD7091R_PowerDown(void) | Puts the device in power-down mode. |
| void AD7091R_PowerUp(void) | Powers up the device. |
| float AD7091R_ConvertToVolts(short rawSample, float vRef) | Converts a 12-bit raw sample to volts. |
HW Platform(s):
This section contains a description of the steps required to run the AD7091R demonstration project on a Digilent Cerebot MX3cK platform.
The AD7091R demonstration project for PIC32MX320F128H consists of three parts: the AD7091R Driver, the PmodAD6 Demo for PIC32MX320F128H and the PIC32MX320F128H Common Drivers.
All three parts have to be downloaded.
A PmodAD6 has to be connected to the JE connector of Cerebot MX3cK development board.
The following commands were implemented in this version of AD7091R reference project for Cerebot MX3cK board.
| Command | Description |
|---|---|
| help? | Displays all available commands. |
| reset! | Initiates a software reset. |
| power? | Displays the power status of the device. |
| power= | Powers on/off the device. Accepted values: 0 - Power off. 1 - Power on. |
| voltage? | Initiates a conversion and displays the captured voltage. |
| register? | Initiates a conversion and displays the value from the register. |
Commands can be executed using a serial terminal connected to the UART1 peripheral of PIC32MX320F128H.
The following image shows a generic list of commands in a serial terminal connected to processor’s UART peripheral.
This section presents the steps for developing a software application that will run on the Digilent Cerebot MX3cK development board for controlling and monitoring the operation of the ADI part.
This section contains a description of the steps required to run the AD7091R demonstration project on a Digilent Cerebot MC7 platform.
Following commands were implemented in this version of AD7091R reference project for Cerebot MC7 board.
| Command | Description |
|---|---|
| help? | Displays all available commands. |
| reset= | Initiates a software reset. Accepted value: 1. |
| power= | Powers up or down the device. Accepted values: 0 - 1. |
| voltage? | Initiates a conversion and displays the captured voltage. |
| register? | Initiates a conversion and displays the raw data in decimal format. |
Commands can be executed using a serial terminal connected to the UART1 peripheral of dsPIC33FJ128MC706A.
The following image shows a list of commands in a serial terminal connected to processor’s UART peripheral.
This section presents the steps for developing a software application that will run on the Digilent Cerebot MC7 development board for controlling and monitoring the operation of the ADI part.
This section contains a description of the steps required to run the AD7091R chipKIT demonstration project on a Digilent Cerebot MX3cK platform.
Following commands were implemented in this version of AD7091R chipKIT reference project for Cerebot MX3cK board.
| Command | Description |
|---|---|
| help? | Displays all available commands. |
| reset= | Initiates a software reset. Accepted value: 1. |
| power= | Powers up or down the device. Accepted values: 0 - 1. |
| voltage? | Initiates a conversion and displays the captured voltage. |
| register? | Initiates a conversion and displays the raw data in decimal format. |
Commands can be executed using the serial monitor.
Carriage return has to be selected as a line ending character. The required baud rate is 9600 baud.
The following image shows a list of commands in the serial monitor.
This section presents the steps for developing a chipKIT application that will run on the Digilent Cerebot MX3cK development board for controlling and monitoring the operation of the ADI part.
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !