DT7816

Linux Data Acquisition Real-Time
High-Performance ARM Module forEmbedded Applications
Overview
The DT7816 is a high performance, System on Module(SOM) for data acquisition, featuring an embedded
Cortex-A8 1 GHz ARM processor. For use in embedded
data acquisition and control applications, this real-time
module is an open-source Linux platform with extensive
examples using TI’s SDK Essentials package.

The DT7816 provides 8 analog inputs, 2 analog outputs, DIO,
counter/timer, tachometer, and measure counter functions
along with an embedded ARM processor for real-timeprocessing and analysis of DAQ measurements.

• 16 general-purpose I/O signals that provide digital

Offering outstanding accuracy at a high throughput rate,
the DT7816 provides 8 parallel, 16-bit, 400 kS/s/ch A/Dconverters plus two 16-bit, parallel, 400 kS/s/ch DAC
outputs. Additionally, it provides a tachometer input, and16 general-purpose I/O signals that provide up to 16 DIO,
one 32-bit counter/timer, and one measure/counter.

I/O, counter/timer, measure counter, external digital(TTL) triggers, and external clocks• One tachometer input• Micro SD-Card interface for measurement results
and raw data
• USB-host port for additional SSD hard disk, WirelessLAN, or GSM communication stick• RS232 (3.3 V) serial interface to communicate withPLC• Ethernet and USB client for host communication• Numerous example programs included to get users
up and running quickly

Key Features• High performance, simultaneous data acquisition
module with embedded ARM• 8 simultaneous analog input channels, 16-bit
resolution, up to 400 kS/s/ch, ±10 V input range• 2, 16-bit, high-performance, stimulus waveform

Supported Operating Systems

analog outputs, up to 400 kS/s/ch, ±10 V outputrange• LinuxThe DT7816 block diagram shows the board with the TI AM335x ARM Cortex-A8 processor, FPGA, memory and support
peripherals as well as interfaces for a USB host and client, Ethernet, power, SD card, A/D, D/A, digital I/O, tachometer, andcounters.
(508) 946-5100

1

info@mccdaq.com

mccdaq.com

The callouts above illustrate the outstanding performance of the DT7816. It provides 8 analog inputs, 2 analog outputs, DIO,counter/timer, tachometer, and measure counter functions along with an embedded ARM processor. This real-time module isan open-source Linux platform for real-time processing and analysis.

(508) 946-5100

2

info@mccdaq.com

mccdaq.com

DT7816 Module

Digital I/O Lines

The DT7816 module is an open-source Linux computing
platform offering high speed, simultaneous analog inputs
and outputs. It is ideal for embedded data acquisitionand control applications.

The DT7816 module supports one digital input port,
consisting of 8 digital input lines and one digital output
port, consisting of 8 digital output lines. Users cansynchronously read all 8 digital input lines or write to all 8
digital output lines. Users can also return the value of thedigital input port in the analog input stream to correlate
digital input and other input measurements or update
the value of the digital output port in the analog output
stream.

ARM Processor
The TI Sitara AM3352 ARM processor is used on theDT7816 module. This processor and its associatedperipherals provide an open-source, single-board
computer. The AM3352 supports many different
interfaces, many of which are shared on the configurable
I/O pins. In addition to the AM3352, the DT7816 module
uses an embedded NAND flash and an FPGA.

The 34-pin digital I/O header on the board provides
access to the digital I/O lines through general-purpose
I/O pins. Users can redefine these pins for use as thecounter/timer gate, counter/timer input, counter/timer
output, external clock, or external trigger signal, asrequired by their specific user application.

Analog Input Channels
The DT7816 provides eight analog input channels withinput range of ±10 V. Each analog input channel uses a16-bit analog-to-digital converter (ADC) that provides
simultaneous capture. In addition to acquiring datafrom the analog input channels, the DT7816 supports
the ability to simultaneously acquire the value of thetachometer input, measure counter, and digital input
port in the analog input stream.

General Purpose Counter/Timer
The general-purpose counter/timer on the DT7816
module supports the following counter/timer operation
modes:• Event Counting – Counts the number of rising edges
that occur on the counter’s input signal whenever
the gate is active• Rate Generation – Generates a continuous pulse
output signal whenever the gate is active• Non-repeatable one-shot – Generates a single
output pulse whenever the gate is active (afterthe pulse period from the previous output pulseexpires). Any gate signals that occur while the pulse
is being output are not detected.
• Idle – The counter no longer drives the clock output
signal.
Users can program the gate type, counter/timer clock
source, pulse width, pulse output period, and pulse
output polarity.

Input Triggers
The DT7816 module supports the following sources forstarting acquisition:• software trigger• external digital (TTL) positive or negative trigger• threshold trigger
Input Clock
The DT7816 module supports both an internal A/D clock,which is derived from the 48 MHz reference clocked thatis generated from the onboard oscillator, and an external
A/D clock, which can be connected to one of the generalpurpose input signals on the I/O header.

Measure Counter
DT7816 module provides one measure counter. Using thiscounter, you can measure the frequency, period, or pulse
width of a single signal or the time period between twosignals and return the value in the analog input stream.
This is useful for correlating the analog input data withdigital positional data, measuring the frequency of asignal, or as a tachometer. An internal 48 MHz counter isused for the measurement, yielding a resolution of 20.83
ns (1/48 MHz).

If using the internal A/D clock, the sampling frequency
can range from 100 Hz to 400 kHz. If using an external
A/D clock, the maximum sampling frequency is 400 kHz;
there is no minimum sampling frequency.

Tachometer Input
The DT7816 supports a tachometer input signal witha range of ±30 V. The frequency or period between
two edges of the tachometer signal can be measured
to calculate the rotational speed of the high leveltachometer input. The value can then be returned to theanalog input data stream. The starting edge (either risingor falling) of the tachometer signal is programmable. Aninternal 12 MHz counter is used for the measurement.

(508) 946-5100

3

info@mccdaq.com

mccdaq.com

Analog Output Channels

Synchronizing Acquisition on Multiple
Modules

The DT7816 provides two high speed, simultaneous,
16-bit analog outputs an output ranges of ±10 V. The
module provides an update rate up to 400 kS/s/ch.

Use an external clock source that is connected to each
module to synchronize the clocks of multiple modules.
Start acquiring from multiple modules at the same timeby connecting an external trigger to each module. Using
software, you must define one of the general-purpose
input pins on the 34-pin digital I/O header on each
DT7816 module as the external trigger signal and anothergeneral-purpose pin as the external clock signal. Whentriggered, the modules start acquiring data at the sametime at the clock rate of the external clock source.

Analog Output Clock
The DT7816 module supports both an internal D/A clock,which is derived from the 48 MHz reference clock that isgenerated from the onboard oscillator, and an external
D/A clock that you can connect to one of the generalpurpose input signals of the I/O header.
If using the internal D/A clock, the output frequency canrange between 1 Hz and 400 kHz. If using the external
D/A clock, the maximum output frequency is 400 kHz;
there is no minimum frequency.

Software
The DT7816 modules run Linux 3.12 (Debian distribution)with custom loadable kernel modules (LKM) or device
drivers.

Output Triggers

The DT7816 device drivers and numerous example
application programs reside on the DT7816 module.

To start an output operation, the following output
triggers are supported:

Users can power up the module and run the examples
right out of the box!

• software trigger• external digital (TTL) positive or negative

The drivers are loaded when the DT7816 module ispowered up. The device drivers (DT7816 driver andDT7816 USB driver), shown in the block diagram below,
expose the functionality of the module to Linux user
space applications using virtual file interfaces.

Simultaneous Input and Output Operations
The DT7816 supports the ability to continuously acquire
data from the input stream and continuously output datafrom the channels in the output stream simultaneously.
Since the A/D and D/A subsystems have separate clock
signals, input and output functions may also be run
independently.

The DT7816 runs Linux 3.12 with custom loadable kernel modules – specifically device drivers – for the boardhardware. These drivers expose the functionality of the board to Linux user space applications.
(508) 946-5100

4info@mccdaq.com

mccdaq.com

The DT7816 module uses the following virtual files toaccess its subsystems:

User applications can perform standard file operations
such as open, close, read, and write on the virtual files
to access and control the hardware or to send data to theUSB host through an IN endpoint and receive data fromthe USB host through an OUT endpoint.

• /dev/dt7816-ain – Analog input subsystem.
• /dev/dt7816-aout – Analog output subsystem.
• /dev/dt7816-din – Digital input subsystem.
• /dev/dt7816-dout – Digital output subsystem.
• /dev/dt7816-tach – Tachometer input subsystem.
• /dev/dt7816-measure – Measure counter subsystem.
• /dev/dt7816-ctr-tmr – Counter/timer subsystem.
• /dev/dt7816-stream-in – Input stream.
• /dev/dt7816-stream-out– Output stream.

For instance, to access the digital input subsystem on
the DT7816 module, the application uses the virtual filehandle for the digital input subsystem (/dev/dt7816-din)
as follows.
1. Open the file /dev/dt7816-din, thereby allowing
access to the digital input subsystem.

DT7816 USB device functionality is accessible to userspace embedded applications using the following files:

2. If supported, configure parameters for the digital
input subsystem using IOCTL commands.

• /dev/dt7816-ep1in - EP1 IN endpoint.
• /dev/dt7816-ep1out - EP1 OUT endpoint.
• /dev/dt7816-ep2in - EP2 IN endpoint.
• /dev/dt7816-ep2out - EP2 OUT endpoint.
• /dev/dt7816-ep3out - EP3 OUT endpoint.
• /dev/dt7816-ep4out - EP4 OUT endpoint.
• /dev/dt7816-ep5out - EP5 OUT endpoint.

3. Read from the file, which in turn, reads the value ofthe digital input port and returns a value.
4. Close the file.

DT7816 example programs allow users to get up and running applications.

(508) 946-5100

5info@mccdaq.com

mccdaq.com

DT7816 Example Programs

Ordering Summary

The DT7816 ships with many example programs that demonstrate thecapabilities of the hardware. They also illustrate how user programscommunicate with the DT7816 drivers using file I/O commands and IOCTLs.
All examples are written in ANSI C, are open source, and include make files
that allow them to be built using the TI SDK tool chain and cross compilers.
Users can build these example programs, use them to test their hardware,and modify them as needed to get up and running quickly.
The following example programs are provided:• aio-in – Performs an asynchronous analog input operation, generating
a sine wave, triangle waveform, or sawtooth waveform• function-gen – Performs an asynchronous analog output operation,generating a sine wave, triangle, or sawtooth waveform using Direct
Digital Synthesis.
• aout-single – Performs a synchronous write operation on the analog
output channel.
• clk-gen – Uses the counter/timer to generate an output clock.
• common – Includes common functions used by the other example
programs.
• usb-loopback – Demonstrates use of the gadget USB driver to senddata from a host application to the DT7816 using and OUT USB pipe
and to receive data from the DT7816 using IN USB pipe.
• digio – Performs a synchronous write operation on the digital output
port, and then reads back the value that was output by performing a
synchronous read operation on the digital input port.
• dt7816-calibration – A command-line program that calibrates theanalog input and analog output circuitry.
• sig-analyzer – An embedded web server and signal analyzer. It
acquires data from two analog input channels and performs and FFTon the data. The results are displayed to a client’s web browser whenconnected to the device.
• fir-filter - Performs an input stream and an output stream operation
simultaneously and continuously. Data from the input stream is filteredand then output from the analog output channel.
• web-server – An embedded web server that performs most of thefunctions of the DT7816 module and saves the acquired data to a file.

(508) 946-5100		
DT7816-Datasheet		

6HARDWARE• DT7816 – 8-channel, Simultaneous ARM DAQ
ModuleACCESSORIES• DT7816 Accessory Kit – Includes STP781X
Screw Terminal Panel, EP405 USB To Serial
TTL Debug• Cable, EP394 Power Supply, USB Cable, andEthernet Cable
OR ORDER SEPARATELY• STP781X – Screw Terminal Panel• EP405 – USB to Serial TTL Debug Cable• EP394 – +5 V DC Power Supply and Cable

info@mccdaq.com

mccdaq.com
June 2017. Rev 11© Measurement Computing Corporation