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.
This is a Linux industrial I/O (IIO) 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 IIO for more information.
Function | File |
---|---|
driver | drivers/iio/adc/adaq8092.c |
Function | File |
---|---|
driver | drivers/iio/adc/cf_axi_adc_core.c |
include | drivers/iio/adc/cf_axi_adc.h |
The ADAQ8092 driver is a spi-bus driver and can currently only be instantiated via device tree.
Required devicetree properties:
Function | File |
---|---|
EVAL-ADAQ8092 Device Tree | zynq-zed-adv7511-adaq8092.dts |
Configure kernel with “make menuconfig” (alternatively use “make xconfig” or “make qconfig”)
The ADAQ8092 driver depends on SPI
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--]
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.
This specifies any shell prompt running on the target
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#
This specifies any shell prompt running on the target
root:/sys/bus/iio/devices/iio:device1> cat name adaq8092
Read only attribute which returns the ADC sampling rate in Hz.
This specifies any shell prompt running on the target
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