Description
This module captures voltage signals from 8 analog input channels. It can detect voltage threshold crossing events and send them to the Bpod state machine. On trigger from the state machine, it can log data to an internal microSD card. It can also stream analog signals to a MATLAB GUI for threshold setup and datalogging, or directly to an output module (Analog Output or DDS) for closed-loop applications. Two 3.3V digital i/o lines are provided as a general purpose TTL interface.
Analog Input Module 2 features numerous improvements over its predecessor. The original design used an ADC chip complemented by external analog circuitry for input buffering and bipolar power conditioning. In version 2, these functions (and many more) are consolidated on a single chip: Analog Devices AD7606C-16 data acquisition system. The AD7606C has higher bit depth (16-bit, up from 12), a wider voltage range (up to +/-12.5V), and adds on-chip anti-aliasing, oversampling, and zero-code correction. To minimize noise and reduce the likelihood of ground loops, we completely isolated the analog section of the module from the USB and microcontroller ground. We also added a precision 5V reference output to simplify connection of resistive sensors. Finally, Analog Input Module 2 is powered by PJRC Teensy 4.1 (600MHz ARM Cortex M7), which adds computing and USB bandwidth for custom projects. Our standard firmware uses the extra bandwidth to achieve sampling rates as high as 50kHz, even when streaming from all 8 channels.