CN0531 no-OS Example Project
See projects/cn0531 (doxygen) for the Doxygen documentation.
Supported Evaluation Boards
Overview
The EVAL-CN0531-PMDZ is a precision DAC module designed for applications such as medical instrumentation, test and measurement equipment, industrial control, and scientific research. It features the AD5791, a 20-bit DAC with 1 ppm accuracy and ±1 LSB Integral Non-Linearity (INL). It provides flexibility with support for multiple voltage references and power options, allowing use of onboard or external power supplies and voltage references. The module's compatibility with the SPI Pmod interface enables versatile and precise analog output applications.
Applications
Medical instrumentation
Test and measurement equipment
Industrial control
Scientific and aerospace instrumentation
Hardware Specifications
Power Supply Requirements
The EVAL-CN0531-PMDZ module requires a power supply that can be configured to use either onboard power converters or external power sources. The onboard converters can generate the necessary voltage levels from a single external input, which is usually supplied by a connected development platform. Alternatively, users can choose to supply power directly through external connections, which can be beneficial for integration into systems with existing power infrastructure. The module's voltage range spans from -5V to +5V, allowing it to be flexible for use in various high-precision applications like scientific instrumentation and industrial control. The high power supply rejection ratio and low operating drift provided by the onboard voltage regulators enhance its stability and precision.
No-OS Build Setup
Please see: https://wiki.analog.com/resources/no-os/build
No-OS Supported Examples
This project is organized around the no-OS variant based build flow.
Selecting a variant at build time (--variant <name>) chooses which
application is compiled. The platform main() is a thin dispatcher that
calls example_main(), provided by the selected example. The
initialization data used in the examples is defined in
src/common,
and the platform-specific macros in
src/platform.
IIO Example
This project is an IIOD demo for the EVAL-CN0531-PMDZ board. The IIO example code initializes the AD5791 DAC over SPI and sets up UART communication for IIO transport. The AD5791 DAC is controlled via IIO descriptors, and the main function manages the setup and execution of the IIO application, utilizing IIO buffers for data transfers with the DAC.
The project launches a IIOD server on the board so that the user may connect to it via an IIO client. Using IIO Oscilloscope, the user can configure the DAC and view the output data on a plot.
If you are not familiar with ADI IIO Application, please take a look at: IIO No-OS
If you are not familiar with ADI IIO Oscilloscope Client, please take a look at: IIO Oscilloscope
The No-OS IIO Application together with the AD5791 no-OS driver takes care of all the back-end logic needed to setup the IIO server.
This example is built by selecting the iio variant (see the Build
Command below).
IIO Example over Wi-Fi
Same IIO example as above, but the IIOD transport runs over an ESP8266 Wi-Fi module (UART AT commands) instead of the serial backend. The board connects to the configured access point and the IIO client connects to the reported IP address.
Set the network credentials in the iio_wifi defconfig
iio_wifi.conf
via CONFIG_WIFI_SSID and CONFIG_WIFI_PWD before building, for example:
CONFIG_WIFI_SSID="MyNetwork"
CONFIG_WIFI_PWD="MyPassword"
This example is built by selecting the iio_wifi variant (see the Build
Command below). It is available on the ADuCM/eval-adicup3029 target only.
No-OS Supported Platforms
ADuCM Platform
Used Hardware
Connections
Connect the EVAL-CN0531-PMDZ to the EVAL-ADICUP3029 using the P8 connector.
Plug the USB Type A connector into your PC and the micro USB connector into the EVAL-ADICUP3029.
Build Command
Available variants: iio, iio_wifi.
Available boards: eval-adicup3029.
Replace --variant / --board accordingly.
# point at the CrossCore Embedded Studio install (only if not auto-detected)
export CCES_HOME=/opt/analog/cces/3.0.3
cd no-OS
# build the iio example on the EVAL-ADICUP3029
python tools/scripts/no_os_build.py build \
--project cn0531 --variant iio --board eval-adicup3029
# build the iio example over Wi-Fi (ESP8266)
python tools/scripts/no_os_build.py build \
--project cn0531 --variant iio_wifi --board eval-adicup3029
# build and flash (requires a connected debug probe)
python tools/scripts/no_os_build.py build \
--project cn0531 --variant iio --board eval-adicup3029 \
--probe openocd --flash