AD7707 Analog Devices, AD7707 Datasheet - Page 41

no-image

AD7707

Manufacturer Part Number
AD7707
Description
Manufacturer
Analog Devices
Datasheet

Specifications of AD7707

Resolution (bits)
16bit
# Chan
3
Sample Rate
n/a
Interface
Ser,SPI
Analog Input Type
Diff-Uni,SE-Bip
Ain Range
Bip (Vref)/(PGA Gain),Bip 10V,Bip 5.0V,Uni (Vref)/(PGA Gain),Uni 10V,Uni 5.0V
Adc Architecture
Sigma-Delta
Pkg Type
SOIC,SOP

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
AD7707BRUZ
Manufacturer:
ADI
Quantity:
1 000
Part Number:
AD7707BRUZ
Manufacturer:
ADI/亚德诺
Quantity:
20 000
Part Number:
AD7707BRUZ-REEL7
Manufacturer:
ADI
Quantity:
1 000
Part Number:
AD7707BRZ
Manufacturer:
ADI/亚德诺
Quantity:
20 000
CODE FOR SETTING UP THE AD7707
The C Code for Interfacing AD7707 to 68HC11 section gives a
set of read and write routines in C code for interfacing the
68HC11 microcontroller to the AD7707. The sample program
sets up the various registers on the AD7707 and reads 1000
samples from the part into the 68HC11. The setup conditions
on the part are exactly the same as those outlined for the
flowchart of Figure 22. In the example code given here, the
DRDY output is polled to determine if a new valid word is
available in the data register.
The sequence of the events in this program are as follows:
1.
2.
C CODE FOR INTERFACING AD7707 TO 68HC11
/* This program has read and write routines for the 68HC11 to interface to the AD7707 and the
sample program sets the various registers and then reads 1000 samples from one channel. */
#include <math.h>
#include <io6811.h>
#define NUM_SAMPLES 1000 /* change the number of data samples */
#define MAX_REG_LENGTH 2 /* this says that the max length of a register is 2 bytes */
Writetoreg (int);
Read (int,char);
char *datapointer = store;
char store[NUM_SAMPLES*MAX_REG_LENGTH + 30];
void main ()
{
char a;
DDRC = 0x04; /* PC2 is an output the rest of the port bits are inputs */
PORTC | = 0x04; /* make the /CS line high */
Writetoreg (0x20); /* Active Channel is AIN1/LOCOM, next operation as write to the clock
register */
Writetoreg (0x18); /* master clock enabled, 4.9512 MHz Clock, set output rate to 50 Hz*/
Writetoreg (0x10); /* Active Channel is AIN1/LOCOM, next operation as write to the setup
register */
Writetoreg (0x40); /* gain = 1, bipolar mode, buffer off, clear FSYNC and perform a Self
Calibration*/
while (PORTC and 0x10); /* wait for /DRDY to go low */
for (a=0;a<NUM_SAMPLES;a++);
}
/* the only pin that is programmed here from the 68HC11 is the /CS and this is why the PC2 bit
of PORTC is made as an output */
{
Writetoreg (0x38); /*set the next operation for 16 bit read from the data register */
Read (NUM_SAMPES,2);
}
Write to the communications register, selecting Channel 1
(AIN1) as the active channel and setting the next operation
to be a write to the clock register.
Write to the clock register setting the CLKDIV bit to 1,
which divides the external clock internally by two. This
Rev. B | Page 41 of 52
3.
4.
5.
6.
7.
assumes that the external crystal is 4.9512 MHz. The
update rate is selected to be 50 Hz.
Write to communication register selecting Channel 1
(AIN1) as the active channel and setting the next operation
to be a write to the setup register.
Write to the setup register, setting the gain to 1, setting
bipolar mode, buffer off, clearing the filter synchroniza-
tion, and initiating a self-calibration.
Poll the DRDY output.
Read the data from the data register.
Repeat Step 5 and Step 6 until the specified number of
samples have been taken from the selected channel.
AD7707

Related parts for AD7707