Hi,
We use multiple self clocking ADS1205, connected via isolation circuitry to multiple AMC1210.
To somewhat sync the data of various channels / AMC1210s - we use an external 4kHz sampleclock as S/H for AMC1210.
Because the ADS1205 are selfclocking - Sampleclock and modulatorclock are different time domains.
We use SOSR==32 for the filters - and the integrator in sample and hold mode IMOD=1.
Additionally, we read out the time-measure unit in mode1 for every channel.
After the rising edge of the sample clock - we read out the integrator and the tim.
The idea was that dividing the integrator value by (TIM/SOSR) should compensate for different # of integrations per external sampleclock.
10M / 32 = 312500 / 4000 = 78.125
If TIM is read between 2496 and 2527 - "78" should be the proper divisor.
But running with somewhat constant TIM@2500 - we experience few (est. 1/10) samples with lower readout - which can only be explained as that its not guaranteed that you got 78 filter values in the integrator during 2500 modulator clock cycles using SOSR==32.
I expect that if the filter update happens @ the rising edge of the sample clock - this value gets lost - and in the end we have TIM=2500 but only 77 filter values integrated.
Is this what happens ?
Some workaround could be to reduce SOSR - because this makes the error smaller - if happens.
Another option could be to use integrator oversampling mode - and reset the filter using MFE after every readout.
If all 4 modulators had the same clock - there would be the chance to sync the 4khz edge with the modulator clock -
but with 4 different freerunnig modulatorclocks - such a setup cannot work properly ?
rgds.