AnsweredAssumed Answered

AD7190 with uC mbed

Question asked by Seight on Sep 11, 2015
Latest reply on Sep 23, 2015 by JellenieR

Dear all, and in particular MaryMc,

 

I am struggling to set the AD7190 correctly. My goal is to use the part at full speed (4.8kHz) with 4 channels as unipolar analog inputs (AINx-AINCOM). I hooked up the ADC to an mbed microcontroller and started with the example code given on the official website AD7190 Ultra-low noise 24-bit Sigma-Delta ADC | mbed

The end setup will be connected to LabVIEW to plot the 4 analog inputs but so far, I have been debugging on a Linux terminal via the Serial interface provided by the mbed microcontroller.

My questions are :

1/ According to the example code (see link above) I configured the part in continuous conversion mode. The falling edge on the DOUT/RDY triggers an interruption. Since I had seen that the pattern (1-2-3-4-1...) on the inputs was not respected, I decided to put the reading of the converted value as the sending inside the interruption. Is there a more efficient way to ensure that I do not miss a sample?

2/ The continuous read mode seems to be more appropriate but I did not succeed in setting it up. The whole interruption scheme relies on the falling edge of DOUT/RDY. If I were to use that mode, since the trigger pin (/RDY) is the same as the data  pin (DOUT), how could I ensure that all samples are received?

3/ Does someone has an example code on a well suited LabVIEW VI for the task?


My current program does:

Reset according to the datasheet

myConfig = 0x00F058; // no chop, no refsel, no burn, refdet, ainx to aincom, buf

myMode = 0x188001; // continuous, sta, internal clk + tristate, Sinc3, no parity checking, no single, no rej60, fsampling

Reading the configuration after to check that the registers are well set

Enables the interruption

Loops in an almost (just a printf) empty while

 

Thank you for the help

Outcomes