X3-SD16 Data Acquisition Board with 16x 144ksps Adc, 16x 192ksps Dac and Spartan 3A FPGA

20 Years Experience

X3-SD16 board with analogue in and out using sigmadelta converters for data acquisition applications with a Spartan3A DSP FPGA.
http://www.innovative-dsp.com/

PCI Express XMC Module, 16 Channel, 144ksps Adc, 192ksps Dac, 24-bit Analog Input & Output with Spartan3A DSP FPGA and x1 PCIe lane.

FAQ
Made in USA, sold and supported in UK.
  • Sixteen Simultaneous Input Channels
  • 105 dB SFDR
  • -120 dB Noise Floor
  • Sixteen Simultaneous Output Channels
  • Differential instrumentation inputs with programmable +/-1, +/-5 and +/-10 V ranges
  • +/-10V output range
  • Programmable oversampling modes
  • Xilinx Spartan3A DSP, 1.8M gate FPGA
  • 4MB SRAM
  • Programmable PLL timebase
  • Framed, software or external triggering
  • Log acquisition timing and events
  • 48 bits digital IO on J16
  • Power Management features
  • XMC Module (75×150 mm)
  • PCI Express (VITA 42.3)

The X3-SD16 module is easily adapted for use in virtually any type of system. Our XMC carrier adapters offer conduction and convection cooling and are available for a range of interfaces including Desktop PCI, Desktop PCI Express, Cabled PCI Express, CompactPCI, and PXI/PXI Express. This module is also readily installed into Innovative Integration’s eInstrument Embedded PC, SBC-ComEx Single-Board Computer, and Andale Data Loggers.

The data acquisition board has 16 channels of simultaneous 24 bit analogue to digital converters delta-sigma. The maximum sample rate is 144ksps. The analogue to digital converters have built in a lowpass filter with cutoff at half the samplerate, and a programmable gain amplifier which gives input ranges of +/-1V, +/-5V and +/-10V. The converter (ADS1278) is a delta-sigma device.

The board also has 16 channels of simultaneous 24 bit digital to analogue converters. These can be clocked at upto 192ksps and have built in lowpass filters and voltage range +/-2V. Samples can be streamed from the host via the memory direct to the DACs.

The X3-SD16 has an onboard PLL which can be driven by an onboard reference oscillator or by an offboard reference clock. Alternately the user can supply an external clock. Triggering of the start of samples can be done by software or an external active high LVTTL signal.

The X3-SD16 also has 44 bits of user digital IO. This can be read or written to as a 32 bit register from the host, or if the user modifies the logic, can be used to interface to a variety of digital devices such as serial, parallel ports, I2C devices etc. The Spartan3 device supports LVTTL.

Data acquisition control, signal processing, buffering, and system interface functions are implemented in a Xilinx Spartan3A DSP FPGA, 1.8M gate device. Two 512Kx32 memory devices are used for data buffering and FPGA computing memory. The data acquisition board has a single lane PCI Express interface to the host which can sustain 160MB/s to the host.

The X3-SD16 is supported by Malibu, a set of C++ libraries to use the board under Windows and Linux. This includes example programs to use the board to setup the logic, acquire samples and stream them to disk, and a Wave program to stream samples from host to Dacs.

The logic can be fully customized using VHDL and MATLAB using the FrameWork Logic toolset. The MATLAB BSP supports real-time hardware-in-the-loop development using the graphical, block diagram Simulink environment with Xilinx System Generator.

  • Analogue to Digital Converter(s) = TI ADS1278
  • FPGA = Xilinx Spartan3A DSP – XC3SD1800A
  • Digital to Analogue = TI PCM1681

The board comes complete with working logic (Framework Logic) and software drivers (Malibu). Please see the data flow diagram.

The simplied data flow from Adc(s) to host application works as follows. Samples from the Adc(s) are clocked into the FPGA. The samples are packed where necessary for efficient use of the RAM chips. The RAM is used as a virtual FIFO to decouple the continuous stream of the Adc(s) from the block transfer nature of PCIe. The user application sets the packetsize. When a whole packet of data is available in the RAM, the PCIe DMA controller does a bus master transfer to the host memory. At configuration time the device drivers reserve physical memory for this purpose. When the transfer is complete, the DMA controller sends an interrupt to Malibu which then copies the packet from the busmaster area to virtual memory and then fires an event in the User application with a reference to the data.

On X3-SD16 the Adc memory is 2MB.

The simplified data flow in the reverse direction for host to Dac(s) is similar. Onboard RAM is configured as a virtual FIFO between the PCIe and the Dac(s). When there is room in the RAM chips for a packet of samples, the PCIe DMA controller interrupts the host, which then signals the application to provide a packet of samples. The samples are copied from virtual memory to physical memory and then the PCIe DMA controller copies them into RAM. As data is flowed to the DAC(s) the RAM has more space for more packets and so the process is repeated.

On X3-SD16 the Dac memory is 2MB.

  • Vibration Measurement
  • Audio and Acoustic Testing
  • Recording and Playback
  • Data acquisition

These videos may be helpful in learning about using the FPGA on this board.