This is an old revision of the document!
The AD7980 is a 16-bit, successive approximation, analog-to-digital converter (ADC) that operates from a single power supply, VDD. It contains a low power, high speed, 16-bit sampling ADC and a versatile serial interface port. On the CNV rising edge, it samples an analog input IN+ between 0 V to REF with respect to a ground sense IN−. The reference voltage, REF, is applied externally and can be set independent of the supply voltage, VDD. Its power scales linearly with throughput.
The SPI-compatible serial interface also features the ability, using the SDI input, to daisy-chain several ADCs on a single, 3-wire bus and provides an optional busy indicator. It is compatible with 1.8 V, 2.5 V, 3 V, or 5 V logic, using the separate supply VIO.
The AD7980 is housed in a 10-lead MSOP or a 10-lead QFN (LFCSP) with operation specified from −40°C to +125°C.
The AD7980-EP supports defense and aerospace applications (AQEC)
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 AD7980 driver can be used exactly as it is provided.
There are three functions which are called by the AD7980 driver:
SPI driver architecture
The following functions are implemented in this version of AD7980 driver:
Function | Description |
---|---|
char AD7980_Init(void) | Initializes the communication peripheral. |
unsigned short AD7980_Conversion(void) | Initiates conversion and reads data. |
float AD7980_ConvertToVolts(unsigned short rawSample, float vRef) | Converts a 16-bit raw sample to volts. |
This version of AD7980 driver uses the CS Mode 4-Wire, without Busy Indicator mode; the device has to be connected to an SPI-compatible digital host as following:
Signals generated by the driver on the SPI port
HW Platform(s):
This section contains a description of the steps required to run the AD7980 demonstration project on a Digilent Cerebot MX3cK platform.
Following commands were implemented in this version of AD7980 reference project for Cerebot MX3cK board.
Command | Description |
---|---|
help? | Displays all available commands. |
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 PIC32MX320F128H.
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 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 AD7980 demonstration project on a Digilent Cerebot MC7 platform.
Following commands were implemented in this version of AD7980 reference project for Cerebot MC7 board.
Command | Description |
---|---|
help? | Displays all available commands. |
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 AD7980 Arduino demonstration project on a Digilent Cerebot MX3cK platform.
Following commands were implemented in this version of AD7980 Arduino reference project for Cerebot MX3cK board.
Command | Description |
---|---|
help? | Displays all available commands. |
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.