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