Wiki

This version (06 Feb 2023 16:13) was approved by Antoniu Miclaus.

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 (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.

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

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.

02 Mar 2011 15:16

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#

Show device name

This specifies any shell prompt running on the target

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.

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

More Information

resources/tools-software/linux-drivers/iio-adc/adaq8092.txt · Last modified: 06 Feb 2023 16:10 by Antoniu Miclaus