This is an old revision of the document!
The EVAL-CN0552-PMDZ is a PMOD form-factor evaluation board for the AD7746, a high resolution, Σ-Δ capacitance-to-digital converter (CDC). The architecture features inherent high resolution (24-bit no missing codes, up to 21-bit effective resolution), high linearity (±0.01%), and high accuracy (±4 fF factory calibrated).
The CN0552 has two capacitive inputs with each channel that can be configured as single-ended or differential. The capacitance input range is ±4.096 pF at a maximum bulk capacitance of 17 pF but is capable of extending up to ±50 pF with a maximum bulk capacitance of 200 pF which can be balanced by a programmable on-chip, digital-to-capacitance converter (CAPDAC).
Figure 2. CN0552 Block Diagram
The output data rate is adjustable from 9.1 sps to 90.9 sps, with the 16.1 sps setting providing strong rejection of both 50Hz and 60Hz power line noise. The CDC also provides temperature measurement with a resolution of 0.1°C and accuracy of ±2° C for temperature compensation and system calibration.
The CN0552 is compatible with I2C PMOD platform boards, with an I/O voltage from 2.7 V to 5.5 V.
Figure 3. I2C Connection
The Digital communication on the EVAL-CN0552-PMDZ is accomplished using a new standard I2C PMOD port.
Connector P2 | |
---|---|
Description | Pin(s) |
INT | 6 |
RST | 5 |
SCL | 4 |
SDA | 3 |
GND | 2 |
IOVDD | 1 |
There are two device driver solutions that are provided for controlling the EVAL-CN0552-PMDZ using the no-OS device driver on the EVAL-ADICUP3029 platform and Linux device driver on the Raspberry Pi platform.
1. EVAL-ADICUP3029
2. Raspberry Pi
Similarly, utility software such as iio_info, IIO Oscilloscope, PyADI-IIO, and etc. can be used for both the EVAL-CN0552-PMDZ on Raspberry PI and on ADICUP3029.
The EVAL-CN0552-PMDZ can be used with ADICUP3029.
Figure 4. Software Architecture
Here is a video on how to use the CN0552 with the ADICUP3029:
The following is the list of items needed in order to replicate this demo.
There are two basic ways to program the ADICUP3029 with the software for the CN0552.
Using the drag and drop method, the software is going to be a version that Analog Devices creates for testing and evaluation purposes. This is the EASIEST way to get started with the reference design.
Importing the project into CrossCore is going to allow you to change parameters and customize the software to fit your needs, but will be a bit more advanced and will require you to download the CrossCore toolchain.
The software for the ADICUP3029_CN0552 demo can be found here:
Prebuilt CN0552 Hex File
Complete CN0552 Source Files
To build the project from the source, follow the instructions in the no-os wiki.
The EVAL-CN0552-PMDZ can be used with a Raspberry Pi.
The following is a list of items needed in order to replicate this demo.
In order to control the EVAL-CN0552-PMDZ 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 Linux.
Write the image and follow the system configuration procedure.
Follow the Hardware Configuration procedure under Preparing the Image: Raspberry Pi in the Kuiper Images page, substituting the following lines in config.txt:
dtoverlay=rpi-cn0552
Below is a copy of the device tree overlay:
rpi-cn0552.dtbo
To set up the circuit for evaluation, consider the following steps:
To be able to connect your device, the software must be able to create a context. The context creation in the software depends on the backend used to connect to the device as well as the platform where the EVAL-CN0552-PMDZ is attached. Two platforms are currently supported for the CN0552: Raspberry Pi using the ADI Kuiper Linux and the ADICUP3029 running the no-OS AD7746 demo project. The user needs to supply a URI which will be used in the context creation.
The Libiio is a library for interfacing with IIO devices.
Install the Libiio package on your machine.
The iio_info command is a part of the libIIO package that reports all IIO attributes.
Upon installation, simply enter the command on the terminal command line to access it.
iio_info
iio_info -u ip:<ip address of your ip>
Example:
iio_info -u serial:<serial port>
Examples:
There are different commands that can be used to manage the device being used. The iio_attr command reads and writes IIO attributes.
analog@analog:~$ iio_attr [OPTION]...
Example:
analog@analog:~$ iio_attr -a -C
The iio_reg command reads or writes SPI or I2C registers in an IIO device. This is generally not needed for end applications, but can be useful in debugging drivers. Note that you need to specify a context using the -u qualifier when you are not directly accessing the device via RPI or when you are using the ADICUP3029 platform.
analog@analog:~$ iio_reg -u <context> <device> <register> [<value>]
Example:
iio_reg -u ip:<ip address> ad7746 0x02
Access the DMM panel to see the instantaneous reading of the input capacitances and the device temperature.
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.
Follow the step-by-step procedure on how to install, configure, and set up PYADI-IIO and install the necessary packages/modules needed by referring to this link.
After installing and configuring PYADI-IIO in your machine, you are now ready to run python script examples. In our case, run the ad7746.py found in the examples folder.
D:\pyadi-iio>python examples/ad7746.py
Press enter and you will get these readings.
EVAL-CN0552-PMDZ 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