Signal Processing

Highly flexible processing of digitized analog sensor signals

» Posted on 20. Jul 2012

Sensor Signal Processing




ACU block diagram



In complex systems it makes sense to digitize sensor information near by the sensor itself and transmit the data digitally to the host system for further processing, avoiding transmission line noises. Also it is helpful for the main processing unit to receive prepared digital data instead of receiving analog sensor data. As a result the main processing unit can spend more time on higher level related tasks instead of losing processing time by calculating basic signal mathematics and dealing with its ADC peripheral.

ANSARI’s Controlling Unit modules ( ACUx ) help to reach this goal.



The ACUx modules are designed with the focus on following aspects:

  • Being independent of the host system
  • Delivering conditioned sensor data in digital and/or analog form to the host
  • Universal interfacing to various types of sensors
  • Simultaneous and independent/synchronous dual signal paths (e.g. for Sample/Reference) 
  • Handling sensor related needs (like power, temperature, biasing, …)
  • Independent local digital signal processor (64MIPS fix-point DSP) for real time signal processing
  • Local data logging of raw sensor data including time stamps (mini database)
  • Host independent wireless human interface via Bluetooth for servicing, configuring, monitoring, …
  • Multi-Controller system enabling in system upgrading & transparent signal path supervisory
  • Small form factor ( maximum module sizes: 43mm x 23mm x 3mm)



ACUx modules have two independent measuring paths, which can be driven separately or in relation to each other. In any case both paths will be sampled simultaneously by the 16-bit ADCs and the DSP behind them can run any needed calculations while sinking both of the ADC buffers as two separate streams. Final calculated input streams can then be sourced out to the dual onboard 16-bit DACs to again create an analog signal for further processing in the system, or be sent out to the host system via digital paths: PCM, I2S, USB, UART or Bluetooth.

The system can handle the sensor data paths as an uninterruptable stream of sampling data with a maximum sampling rate of 44.1 kHz for each channel. Therefore any sensor signals up to 22 kHz can fully be handled by an ACUx module.

Before sampling the sensor data, the signal levels out of the sensors can be conditioned by means of correcting the zero level and setting a DC offset level if needed for optimized usage of the full ADC dynamic range. In addition a pre-amplifier with +24dB followed by a software configurable gain amplifier in the range of -3dB to +18dB helps to dynamically apply a wide range of a gain to any of the sensor signal paths independently.

A separate MCU, called the Virtual Machine (VM) with 80 MHz, supervisors the DSP and the signal paths to and from the DSP. At the same time the VM runs the Bluetooth stack to enable wireless connections to a remote handheld like an iPhone/iPad to build an access point for configuring the sensor and monitoring the data flow if desired. The VM runs also the USB protocol for a direct connection to a PC.

The DSP and the VM together build one core for the two sensor signal paths over the analog and digital domain handling also the Bluetooth and the USB protocols using one IDE for developing custom specific applications. Additionally a Texas Instruments MSP430 family MCU builds a 2nd core with separate IDE to realize further custom applications in parallel to the first core making this module to a real multitasking platform. A special developed real time operating system (RTOS) called AMOS (ANSARI Micro Operating System) also helps to integrate user applications transparently and faster into the system if desired. The two cores are linked via an internal UART and the processors monitor each other making this module highly reliable in faulty environments. One core can always bring the other core back to normal operation in a fault case!  

Local storage of 4 to 128MB (different ACU variants) can store data locally, which can be accessed by any application at any time like a database. The multi-function interface together with the port map function of the MSP430 MCU allows many different user applications to be realized on the ACUx modules.

Submit a Comment