This version (05 Jan 2021 17:00) was approved by Ioana Chelaru.The Previously approved version (05 Jul 2013 14:07) is available.Diff

Supported Devices

Evaluation Boards

Reference Circuits


The AD7476/AD7477/AD7478 are, respectively, 12-bit, 10-bit, and 8-bit, high speed, low power, successive approximation ADCs. The parts operate from a single 2.35 V to 5.25 V power supply and feature throughput rates up to 1 MSPS. Each part contains a low noise, wide bandwidth track-and-hold amplifier that can handle input frequencies in excess of 6 MHz.

The conversion process and data acquisition are controlled using CS the serial clock, allowing the devices to interface with microprocessors or DSPs. The input signal is sampled on the falling edge of CS and the conversion is initiated at this point. There are no pipeline delays associated with these parts.

The AD7476/AD7477/AD7478 use advanced design techniques to achieve very low power dissipation at high throughput rates. The reference for the parts is taken internally from VDD. This allows the widest dynamic input range to the ADC. Thus, the analog input range for the parts are 0 V to VDD. The conversion rate is determined by the SCLK.

01 Oct 2012 13:41 · Dragos Bogdan

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.

Driver Description

The driver contains two parts:

  • The driver for the AD74xx part, which may be used, without modifications, with any microcontroller.
  • The Communication Driver, where the specific communication functions for the desired type of processor and communication protocol have to be implemented. This driver implements the communication with the device and hides the actual details of the communication protocol to the ADI driver.

The Communication Driver has a standard interface, so the AD74xx driver can be used exactly as it is provided.

There are three functions which are called by the AD74xx driver:

  • SPI_Init() – initializes the communication peripheral.
  • SPI_Write() – writes data to the device.
  • SPI_Read() – reads data from the device.

SPI driver architecture

The following functions are implemented in this version of AD74xx driver:

Function Description
char AD74xx_Init(char partNumber) Initializes the device.
void AD74xx_PowerDown(void) Powers down the device.
void AD74xx_PowerUp(void) Powers up the device by performing a dummy read.
unsigned short AD74xx_GetRegisterValue(void) Reads the conversion value.
float AD74xx_ConvertToVolts(unsigned short rawValue, float vRef) Converts a raw sample to volts.
resources/tools-software/uc-drivers/ad7476.txt · Last modified: 05 Jan 2021 15:46 by Ioana Chelaru