world leader in high performance signal processing
This version (15 Nov 2012 18:28) was approved by larsc.The Previously approved version (09 Oct 2012 10:34) is available.Diff

AD7298 - Microcontroller No-OS Driver

Supported Devices

Evaluation Boards

Overview

AD7298

The AD7298 is a 12-bit, high speed, low power, 8-channel, successive approximation ADC with an internal temperature sensor. The part operates from a single 3.3 V power supply and features throughput rates up to 1 MSPS. The device contains a low noise, wide bandwidth track-and-hold amplifier that can handle input frequencies in excess of 30 MHz.

The AD7298 offers a programmable sequencer, which enables the selection of a pre-programmable sequence of channels for conversion. The device has an on-chip 2.5 V reference that can be disabled to allow the use of an external reference.

The AD7298 offers a programmable sequencer, which enables the selection of a preprogrammable sequence of channels for conversion. The device has an on-chip, 2.5 V reference that can be disabled to allow the use of an external reference.

The AD7298 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 device offers a 4-wire serial interface compatible with SPI and DSP interface standards.

The AD7298 uses advanced design techniques to achieve very low power dissipation at high throughput rates. The part also offers flexible power/throughput rate management options. The part is offered in a 20-lead LFCSP package.

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):

Driver Description

The driver contains two parts:

  • The driver for the AD7298 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 AD7298 driver can be used exactly as it is provided.

There are three functions which are called by the AD7298 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 AD7298 driver:

Function Description
unsigned char AD7298_Init(void) Initializes the SPI communication peripheral.
void AD7298_SetPower(unsigned char powerOption) Powers up or powers down the device.
void AD7298_SetControlRegister(unsigned short value) Sets the Control Register.
void AD7298_ConfigConversion(unsigned char repeat, unsigned short channels, unsigned char extRef, unsigned char tSense, unsigned char tSenseAvg) Configures the conversion settings.
void AD7298_GetConversionResult(unsigned short *convData, unsigned char *ch) Returns the conversion value and its corresponding channel index.
float AD7298_CalcTemp(unsigned short value, float vRef) Calculates the temperature in degrees Celsius.
float AD7298_CalcVoltage(unsigned short value, float vRef) Calculates the measured voltage. Vref is considered to be 2.5V.

Downloads

Renesas RL78G13 Quick Start Guide

This section contains a description of the steps required to run the AD7298 demonstration project on a Renesas RL78G13 platform.

Required Hardware

Required Software

Hardware Setup

An EVAL-AD7298SDZ has to be interfaced with the Renesas Demonstration Kit (RDK) for RL78G13:

  EVAL-AD7298SDZ Pin T_CS         →  YRDKRL78G13 J11 connector Pin 1
  EVAL-AD7298SDZ Pin T_DIN        →  YRDKRL78G13 J11 connector Pin 2
  EVAL-AD7298SDZ Pin T_DOUT       →  YRDKRL78G13 J11 connector Pin 3
  EVAL-AD7298SDZ Pin T_SCLK       →  YRDKRL78G13 J11 connector Pin 4
  EVAL-AD7298SDZ Pin PD           →  YRDKRL78G13 J11 connector Pin 9
  EVAL-AD7298SDZ Pin T_SENSE_B    →  YRDKRL78G13 J11 connector Pin 10
  

Reference Project Overview

The reference project samples the input voltage on channel 2 and 3 and displays the values on the LCD. The chip temperature is also displayed simultaneously.

Software Project Tutorial

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.

  • Run the IAR Embedded Workbench for Renesas RL78 integrated development environment.
  • Choose to create a new project (Project – Create New Project).
  • Select the RL78 tool chain, the Empty project template and click OK.

  • Select a location and a name for the project (ADIEvalBoard for example) and click Save.

  • Open the project’s options window (Project – Options).
  • From the Target tab of the General Options category select the RL78 – R5F100LE device.

  • From the Setup tab of the Debugger category select the TK driver and click OK.

  • Extract the files from the lab .zip archive and copy them into the project’s folder.

  • The new source files have to be included into the project. Open the Add Files… window (Project – Add Files…), select all the copied files and click open.

  • At this moment, all the files are included into the project.
  • The project is ready to be compiled and downloaded on the board. Press the F7 key to compile it. Press CTRL + D to download and debug the project.
  • A window will appear asking to configure the emulator. Keep the default settings and press OK.

  • To run the project press F5.

03 Sep 2012 13:02 · Dragos Bogdan

Digilent Cerebot MX3cK Quick Start Guide

This section contains a description of the steps required to run the AD7298 demonstration project on a Digilent Cerebot MX3cK platform.

Required Hardware

Required Software

Hardware Setup

An EVAL-AD7298SDZ has to be connected to the JE connector of Cerebot MX3cK development board.

  EVAL-AD7298SDZ Pin T_CS         →  Cerebot MX3cK JE connector Pin 1
  EVAL-AD7298SDZ Pin T_DIN        →  Cerebot MX3cK JE connector Pin 2
  EVAL-AD7298SDZ Pin T_DOUT       →  Cerebot MX3cK JE connector Pin 3
  EVAL-AD7298SDZ Pin T_SCLK       →  Cerebot MX3cK JE connector Pin 4
  EVAL-AD7298SDZ Pin PD           →  Cerebot MX3cK JE connector Pin 9
  EVAL-AD7298SDZ Pin T_SENSE_B    →  Cerebot MX3cK JE connector Pin 10
  

Reference Project Overview

Following commands were implemented in this version of AD7298 reference project for Cerebot MX3cK board.

Command Description
help? Displays all available commands.
power= Power on or off the device. Accepted values: 0, 1.
channel= Selects the current channel. Accepted values: 0 - 7.
rawdata? Reads one sample from the selected channel.
voltage? Reads one sample form the selected channel and converts it to voltage.
temp? Reads and displays the temperature in degrees Celsius.
samples= Reads a number of samples of the current channel indicated by the user. Accepted values: 1 - 1024

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.

Software Project Setup

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.

  • Run the MPLAB X integrated development environment.
  • Choose to create a new project.
  • In the Choose Project window select Microchip Embedded category, Standalone Project and press Next.

  • In the Select Device window choose PIC32MX320F128H device and press Next.

  • In the Select Tool window select the desired hardware tool and press Next.

  • In the Select Compiler window chose the XC32 compiler and press Next.

  • In the Select Project Name and Folder window choose a name and a location for the project.

  • After the project is created, all the downloaded source files have to be copied in the project folder and included in the project.

  • The project is ready to be built and downloaded on the development board.

05 Jul 2012 14:45

Digilent Cerebot MX3cK Quick Start Guide - Arduino

This section contains a description of the steps required to run the AD7298 Arduino demonstration project on a Digilent Cerebot MX3cK platform.

Required Hardware

Required Software

Hardware Setup

An EVAL-AD7298SDZ has to be connected to the JE connector of Cerebot MX3cK development board.

  EVAL-AD7298SDZ Pin T_CS         →  Cerebot MX3cK JE connector Pin 1
  EVAL-AD7298SDZ Pin T_DIN        →  Cerebot MX3cK JE connector Pin 2
  EVAL-AD7298SDZ Pin T_DOUT       →  Cerebot MX3cK JE connector Pin 3
  EVAL-AD7298SDZ Pin T_SCLK       →  Cerebot MX3cK JE connector Pin 4
  EVAL-AD7298SDZ Pin PD           →  Cerebot MX3cK JE connector Pin 9
  EVAL-AD7298SDZ Pin T_SENSE_B    →  Cerebot MX3cK JE connector Pin 10
  

Reference Project Overview

Following commands were implemented in this version of AD7298 reference project for Cerebot MX3cK board.

Command Description
help? Displays all available commands.
power= Power on or off the device. Accepted values: 0, 1.
channel= Selects the current channel. Accepted values: 0 - 7.
rawdata? Reads one sample from the selected channel.
voltage? Reads one sample form the selected channel and converts it to voltage.
temp? Reads and displays the temperature in degrees Celsius.
samples= Reads a number of samples of the current channel indicated by the user. Accepted values: 1 - 1024

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.

Software Project Setup

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.

  • Under your Sketchbook directory create a folder called “Libraries”; this folder may already exist.
  • Unzip the downloaded file in the libraries folder.
  • Run the MPIDE environment.
  • You should see the new library under Sketch→Import Library, under Contributed.

  • Also you should see under File→Examples the demo project for the ADI library.
  • Select the ADIDriver example.

  • Select the Cerebot MX3cK board from Tools→Board.
  • Select the corresponding Serial Communication Port from Tools→Serial Port
  • The project is ready to be uploaded on the development board.

23 Jul 2012 16:51

More information

01 Jun 2012 12:21