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
Files
Function |
File |
|
|---|---|---|
driver |
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
adaq8092reg: SPI slave select number
Function |
File |
|---|---|
EVAL-ADAQ8092 Device Tree |
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