

The AD7606 is a high-performance, 16-bit Analog-to-Digital Converter (ADC) IC manufactured by Analog Devices. It is designed to convert analog signals into precise digital data, enabling seamless integration of real-world signals into digital systems. The AD7606 features simultaneous sampling of up to 8 input channels, making it ideal for applications requiring high accuracy and speed.








The AD7606 is a versatile ADC IC with the following key technical specifications:
| Parameter | Value |
|---|---|
| Resolution | 16-bit |
| Number of Input Channels | 8 |
| Input Voltage Range | ±10 V, ±5 V (software-selectable) |
| Sampling Rate | Up to 200 kSPS per channel |
| Power Supply Voltage | 5 V (analog) / 3.3 V (digital) |
| Input Impedance | 1 MΩ |
| Interface | Parallel or Serial (SPI) |
| Operating Temperature Range | -40°C to +85°C |
The AD7606 is available in a 64-lead LQFP package. Below is a summary of the key pins:
| Pin Name | Pin Number | Description |
|---|---|---|
| VDD | 1, 2 | Analog power supply (5 V). |
| VSS | 3, 4 | Analog ground. |
| REFIN/REFOUT | 5 | Reference input/output pin. |
| VINx (x=1-8) | 6-13 | Analog input channels (up to 8). |
| BUSY | 14 | Indicates ADC conversion status (active high during conversion). |
| CS | 15 | Chip select for SPI interface (active low). |
| RD | 16 | Read enable for parallel interface (active low). |
| CONVST | 17 | Conversion start signal. |
| D[0:15] | 18-33 | Parallel data output pins (16-bit). |
| SCLK | 34 | Serial clock for SPI interface. |
| SDATA | 35 | Serial data output for SPI interface. |
| RESET | 36 | Resets the ADC to its default state (active low). |
| AVCC | 37 | Digital power supply (3.3 V). |
| AGND | 38 | Digital ground. |
For a complete pinout, refer to the official datasheet provided by Analog Devices.
Below is an example of interfacing the AD7606 with an Arduino UNO using the SPI interface:
#include <SPI.h>
// Define SPI pins for AD7606
const int CS_PIN = 10; // Chip Select pin
const int CONVST_PIN = 9; // Conversion Start pin
const int BUSY_PIN = 8; // Busy pin
void setup() {
// Initialize serial communication for debugging
Serial.begin(9600);
// Configure SPI settings
SPI.begin();
SPI.setClockDivider(SPI_CLOCK_DIV16); // Set SPI clock speed
SPI.setDataMode(SPI_MODE0); // SPI mode 0
SPI.setBitOrder(MSBFIRST); // Most significant bit first
// Configure control pins
pinMode(CS_PIN, OUTPUT);
pinMode(CONVST_PIN, OUTPUT);
pinMode(BUSY_PIN, INPUT);
// Set initial pin states
digitalWrite(CS_PIN, HIGH);
digitalWrite(CONVST_PIN, LOW);
}
void loop() {
// Start a conversion
digitalWrite(CONVST_PIN, HIGH);
delayMicroseconds(1); // Pulse width for CONVST
digitalWrite(CONVST_PIN, LOW);
// Wait for conversion to complete
while (digitalRead(BUSY_PIN) == HIGH);
// Read data from AD7606
digitalWrite(CS_PIN, LOW); // Select the ADC
uint16_t adcData = SPI.transfer16(0x0000); // Read 16-bit data
digitalWrite(CS_PIN, HIGH); // Deselect the ADC
// Print the ADC data
Serial.println(adcData);
delay(1000); // Wait before the next conversion
}
No Output Data:
Incorrect or Noisy Data:
Communication Errors:
ADC Not Responding:
Q: Can I use the AD7606 with a 3.3 V analog power supply?
A: No, the AD7606 requires a 5 V analog power supply (VDD). However, the digital power supply (AVCC) operates at 3.3 V.
Q: How do I select the input voltage range?
A: The input voltage range (±10 V or ±5 V) can be selected using the RANGE pin or through software configuration.
Q: What is the maximum sampling rate of the AD7606?
A: The AD7606 supports a maximum sampling rate of 200 kSPS per channel.
Q: Can I use the AD7606 with fewer than 8 input channels?
A: Yes, you can use fewer channels by leaving the unused VINx pins unconnected. Ensure proper termination to avoid noise interference.
For further details, refer to the official datasheet provided by Analog Devices.