This is an old revision of the document!
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
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
The table below shows the different configurations for each jumper header.
Jumper Configuration | Input Range |
---|---|
Shorted Pins 1 and 3, and Pins 2 and 4 | ±13.75 V |
Shorted Pins 3 and 5, and Pins 2 and 6 | 0 V to 27.5 V |
No Connection | 2.5 V |
Use an image here or a table with the reference designator and options
The chip select is configurable to be routed to 3 general purpose I/O pins of the board, digital pins 8, 9 and 10, allowing multiple boards using SPI communications protocol to be stacked up.
Terminal block P3 is the power supply input (input range:+9.5V to +36V DC). The EARTH terminal can be connected to an external earth connection, to the GND terminal or left floating if an external earth connection is not used.
Hardware
Software
Documentation
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:
dtoverlay=rpi-cn0554
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.
In order to run the current Python example, a few additional steps need to occur. Once the next version of Analog Devices Kuiper Linux gets released (2021_R2), these steps will be removed.
git clone https://github.com/analogdevicesinc/libad9166-iio
cd libad9166-iio
cmake ./CMakeLists.txt
make
sudo make install
cd bindings/python
sudo pip install -r requirements_dev.txt
cmake ./CMakeLists.txt
sudo make
sudo make install
Step 2: Clone the latest pyadi-iio from github
git clone https://github.com/analogdevicesinc/pyadi-iio
Step 3: Installation of libatlas-base-dev linux packages
sudo apt-get install libatlas-base-dev
Then choose 'Y' if were asked to continue.
After all these requirements has been loaded in the Raspberry Pi, example found in ~/home/analog/pyadi-iio/examples for CN0554 can now be executed.
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: CN0511 Python Example
EVAL-CN0554-RPIZ Design & Integration Files
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