Skip to content

AD463x Platform Software Architecture

nnaufel edited this page Mar 18, 2022 · 3 revisions

Overview

The architecture employed on this platform is designed to provide a widely accessible Application Programming Interface (API) for software and hardware developers. The DataStorm DAQ is designed to run the Linux operating system. Product evaluation and application development can be done locally on the DataStorm DAQ or remotely via a PC connection using readily available open-source tools.

IIO & LibIIO

Linux provides an Industrial I/O (IIO) subsystem for analog-to-digital or digital-to-analog converters (ADCs, DACs). Linux for the DataStorm DAQ includes full IIO driver support.

LibIIO is a library that has been developed by Analog Devices to ease the development of software interfacing to Linux Industrial I/O (IIO) devices. This library provides an open-source set of services that can be used by a customer application to access a data converter for data streaming and register configuration

The following third party tools have APIs that support IIO.

  • Python
  • MATLAB
  • IIO Oscilloscope
  • ACE

Python support for IIO

Python for ADI Industrial I/O devices (PyADI-IIO) provides device specific Python Interfaces for IIO Drivers. Python developers can access converter data using the PyADI-IIO libraries.

Embedded Linux Software Stack

The diagram below shows an example of the DataStorm DAQ software stack based on the Linux kernel. This is a full capability, standalone system, based on the Linux kernel, with services for networking, data management, and multi-media. It supports a 1080p HDMI display, keyboard, and mouse.

Host PC Software Stack

The embedded stack also fully supports interoperability with remote connected PCs. A typical stack on a PC is shown in the diagram below. Readily available Middleware and drivers allow the use of familiar PC development tools to develop custom applications.

Applications built in MATLAB, Python, or C/C++ can use the LibIIO drivers to access ADI devices that are connected to the DataStorm DAQ.

Remote Development Configuration

Python Application Development

The diagram below shows Python application development on a remote PC.

The DataStorm DAQ is configured with

  • Linux kernel and IIO subsystem
  • AD463x IIO driver
  • IIOD server for network communication

The host PC is configured with

  • Windows (or Linux) LibIIO library
  • PyADI-IIO library
  • Python 3.7 (Command shell or IDE)

C Application Development

The diagram below shows C application development on a remote host PC.

The DataStorm DAQ is configured with

  • Linux kernel and IIO subsystem
  • AD463x IIO driver
  • IIOD server for network communication

The host PC is configured with

  • Windows (or Linux) LibIIO library
  • GCC for C program compilation

MATLAB Application Development

The diagram below shows MATLAB application development on a remote host PC.

The DataStorm DAQ is configured with

  • Linux kernel and IIO subsystem
  • AD463x IIO driver
  • IIOD server for network communication

The host PC is configured with

  • Windows (or Linux) LibIIO library
  • Licensed version of MATLAB and Simulink
  • Communication Toolbox Add-On Installed

Local Development Configuration

Python Application Development

The diagram below shows Python application development locally on a DataStorm DAQ.

The DataStorm DAQ is configured with

  • Linux kernel and IIO subsystem
  • AD463x IIO driver
  • IIOD server for network communication
  • PyADI-IIO library
  • Python 3.7 (Command shell or IDE)


A snapshot of local Python development on the DataStorm DAQ is shown below.


C Application Development

The diagram below shows C application development locally on a DataStorm DAQ.

The DataStorm DAQ is configured with

  • Linux kernel and IIO subsystem
  • AD463x IIO driver
  • IIOD server for network communication


A snapshot of local C application development on the DataStorm DAQ is shown below.



Return to AD463x Platform Architecture


Information on this site was obtained from
Clone this wiki locally