ADAQ8092

ADAQ8092 14-Bit, 105 MSPS, μModule Linux device driver.

The ADAQ8092 is a 14-bit, 105 MSPS, high-speed dual-channel data acquisition (DAQ) μModule solution. The device incorporates signal conditioning, an analog-to-digital (ADC) driver, a voltage reference, and an ADC in a single package via system in package (SiP) technology. μModule solutions simplify the development of high-speed data acquisition systems by transferring the design burden, component selection, optimization, and layout from the designer to the device. The ADAQ8092 enables a 6× footprint reduction.

Supported Devices

Evaluation Boards

Description

This is a Linux industrial I/O (Linux Industrial I/O Subsystem) subsystem driver, targeting RF Transceivers. The industrial I/O subsystem provides a unified framework for drivers for many different types of converters and sensors using a number of different physical interfaces (i2c, spi, etc). See Linux Industrial I/O Subsystem for more information.

Source Code

Status

Source

Mainlined?

git

No

Files

Function

File

driver

drivers/iio/adc/adaq8092.c

Example Linux Device-Tree Initialization

The ADAQ8092 driver is a spi-bus driver and can currently only be instantiated via device tree.

Required devicetree properties:

  • compatible: Should always be adaq8092

  • reg: SPI slave select number

Function

File

EVAL-ADAQ8092 Device Tree

zynq-zed-adv7511-adaq8092.dts

Enabling Linux driver support

Configure kernel with make menuconfig (alternatively use make xconfig or make qconfig)

Note

The ADAQ8092 driver depends on SPI

Adding Linux driver support

Configure kernel with make menuconfig (alternatively use make xconfig or make qconfig)

Linux Kernel Configuration
    Device Drivers  --->
    <*>     Industrial I/O support --->
        --- Industrial I/O support
        -*-   Enable ring buffer support within IIO
        -*-     Industrial I/O lock free software ring
        -*-   Enable triggered sampling support

              *** Analog to digital converters ***
        [--snip--]

        <*>   Analog Devices ADAQ8092 uModule Data Acquisition Module

        [--snip--]

Hardware configuration

Driver testing / API

Each and every IIO device, typically a hardware chip, has a device folder under /sys/bus/iio/devices/iio:deviceX. Where X is the IIO index of the device. Under every of these directory folders reside a set of files, depending on the characteristics and features of the hardware device in question. These files are consistently generalized and documented in the IIO ABI documentation. In order to determine which IIO deviceX corresponds to which hardware device, the user can read the name file /sys/bus/iio/devices/iio:deviceX/name. In case the sequence in which the iio device drivers are loaded/registered is constant, the numbering is constant and may be known in advance.

root:/> cd /sys/bus/iio/devices/
root:/sys/bus/iio/devices> ls
iio:device0  iio:device1

root:/sys/bus/iio/devices> cd iio:device1

root:/sys/bus/iio/devices/iio:device1# ls -l
drwxr-xr-x 5 root root    0 Jan 22 08:19 .
drwxr-xr-x 4 root root    0 Jan 22 08:19 ..
drwxr-xr-x 2 root root    0 Jan 22 08:19 buffer
-r--r--r-- 1 root root 4096 Jan 22 08:19 dev
-rw-r--r-- 1 root root 4096 Jan 22 08:19 sampling frequency
-rw-r--r-- 1 root root 4096 Jan 22 08:19 in_voltage0_label
-rw-r--r-- 1 root root 4096 Jan 22 08:19 in_voltage1_label
-rw-r--r-- 1 root root 4096 Jan 22 08:19 sampling frequency
-r--r--r-- 1 root root 4096 Jan 22 08:19 name
drwxr-xr-x 2 root root    0 Jan 22 08:19 power
drwxr-xr-x 2 root root    0 Jan 22 08:19 scan_elements
lrwxrwxrwx 1 root root    0 Jan 22 08:19 subsystem -> ../../../../../bus/iio
-rw-r--r-- 1 root root 4096 Jan 22 08:19 uevent

root:/sys/bus/iio/devices/iio:device1#

Show device name

root:/sys/bus/iio/devices/iio:device1> cat name
adaq8092

ADC sampling frequency (sampling_frequency)

Read only attribute which returns the ADC sampling rate in Hz.

root@analog:/sys/bus/iio/devices/iio:device1# cat sampling_frequency
105000000
root@analog:/sys/bus/iio/devices/iio:device1# echo 200000000 > sampling_frequency
-bash: echo: write error: Invalid argument

More Information