Wiki

This version (09 Apr 2021 13:39) was approved by Antoniu Miclaus.

AD7799 - Microcontroller No-OS Driver

Supported Devices

Evaluation Boards

Overview

The AD7798/AD7799 are low power, low noise, complete analog front ends for high precision measurement applications. The AD7798/AD7799 contains a low noise, 16-/24-bit Σ-Δ ADC with three differential analog inputs. The on-chip, low noise instrumentation amplifier means that signals of small amplitude can be interfaced directly to the ADC. With a gain setting of 64, the rms noise is 27 nV for the AD7799 and 40 nV for the AD7798 when the update rate equals 4.17 Hz.

On-chip features include a low-side power switch, reference detect, programmable digital output pins, burnout currents, and an internal clock oscillator. The output data rate from the part is software-programmable and can be varied from 4.17 Hz to 470 Hz.

The part operates with a power supply from 2.7 V to 5.25 V. The AD7798 consumes a current of 300 μA typical, whereas the AD7799 consumes 380 μA typical. Both devices are housed in a 16-lead TSSOP package.

Applications
  • Weigh scales
  • Pressure measurement
  • Strain gauge transducers
  • Gas analysis
  • Industrial process control
  • Instrumentation
  • Portable instrumentation
  • Blood analysis
  • Smart transmitters
  • Liquid/gas chromotography 6-digit DVM

Driver Description

The driver contains two parts:

  • The driver for the AD7799 part, which may be used, without modifications, with any microcontroller.
  • The Communication Drivers, 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 AD7799 driver can be used exactly as it is provided.

The Communication Drivers must include SPI transmission methods.

For the SPI method, the AD7799 driver calls three functions:

  • spi_init() - initializes the SPI communication peripheral.
  • spi_remove() – frees memory allocated by the SPI communication driver.
  • spi_write_and_read() – conduct information transfer with the device.

Code Documentation

Source code documentation for the driver is automatically generated using the Doxygen tool and it is available at:

Initialization example

Downloads

resources/tools-software/uc-drivers/ad7799.txt · Last modified: 09 Apr 2021 13:39 by Antoniu Miclaus