The EVAL-CN0554-RPIZ is a flexible, general-purpose multichannel mixed-signal analog input/output (I/O) module. The 16 single-ended analog outputs are software configurable, with ranges of 0 V to 5 V, ±5 V, 0 V to 10 V, and ±15 V. Eight channels of fully differential analog input are provided with hardware selectable input ranges of ±2.5 V and ±25 V. The circuit is designed to mount directly on top of a Raspberry Pi, providing this popular single board computer an analog input/output interface. Software control is accessible through the Linux industrial input/output (IIO) framework.
EVAL-CN0554-RPIZ Circuit Evaluation Board
The EVAL-CN0554-RPIZ has three main connectors: the 40-pin connector which mounts the board on top of the Raspberry Pi, the 30-pin DAC connector which has the 16 analog output channels and relevant digital I/O, the 30-pin ADC connector which has the 16 analog input channels and relevant digital I/O. EVAL-CN0554-RPIZ Connectors
Need details on the input connector and what to inputs go to what pin on the connector and ADC!
The table below shows the different configurations for each jumper header.
|Shorted Pins 1 and 3, and Pins 2 and 4
|Shorted Pins 3 and 5, and Pins 2 and 6
|0 V to 27.5 V
Need details on the output connector and which connections go where on the DAC channels
Need details on which pins this is on for the RPI and which outputs they affect
The EVAL-CN0554-RPIZ has nine jumper headers, eight are for selecting the attenuation of the eight pairs of analog inputs and one is for setting the write protection of onboard EEPROMs EVAL-CN0554-RPIZ Jumper Headers
To set up the complete system, follow these steps:
For the device to run, the SD card should be loaded with Analog Devices Kuiper Linux, a distribution based on Raspbian from the Raspberry Pi Foundation. It incorporates Linux device drivers for ADI products as well as tools and other software products designed and created with ease of use in mind. The reasoning behind creating this distribution is to minimize the barriers to integrating ADI hardware devices into a Linux-based embedded system.
Access to the embedded system can be through a remote PC connected either via LAN cable or Wi-Fi.
In order to control the EVAL-CN0554-RPIZ from the Raspberry Pi, you will need to install ADI Kuiper Linux on an SD card. Complete instructions, including where to download the SD card image, how to write it to the SD card, and how to configure the system are provided at Kuiper Images. Write the image and follow the system configuration procedure.
For the Linux kernel to identify the device connected to the expansion header, update the device tree overlay. A Device Tree Overlay contains information about additional connected hardware, the EVAL-CN0554-RPIZ for this case. The overlay file is already included in the SD card and just needs to be matched to the EVAL-CN0554-RPIZ.
Follow the Hardware Configuration procedure under Preparing the Image: Raspberry Pi in the Kuiper Images page, substituting the following lines in config.txt:
This brings up the file in the terminal. Scroll down until the line that begins with “dtoverlay” is found; then, whatever it currently is, change it to:
Need to add overlay here since it isn't in Kuiper
Save the file by Ctrl + X command. Reboot the system by typing on the command prompt:
analog@analog:~$ sudo reboot
There are two main tools which a user has the option to interact with the EVAL-CN0554-RPIZ.
The EVAL-CN0554-RPIZ can be evaluated using IIO Oscilloscope. Customers can use the debug tab and the DMM tab. Various controls and diagnostics are available in these plug-ins.
The debug tab provides direct access to IIO device and channel attributes, as well as the registers of the EVAL-CN0554-RPIZ components. The IIO attributes and registers can be read and written for advanced configuration and information.
The DMM tab provides the ADC readings for the AD7124-8.
PyADI-IIO is a python abstraction module for ADI hardware with IIO drivers to make them easier to use. This module provides device-specific APIs built on top of the current libIIO python bindings. These interfaces try to match the driver naming as much as possible without the need to understand the complexities of libIIO and IIO.
This demo uses a PyADI-IIO example script. This script will show the single-tone frequency with calibrated output power in dBm.
.../pyadi-iio/examples $ python3 cn0554_example.py
Update image, file name, and location
Github link for the python sample script: CN0554 Python Example
Receive software update notifications, documentation updates, view the latest videos, and more when you register your hardware. Register to receive all these great benefits and more!
End of Document