This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AMC1210: fluctuating data

Part Number: AMC1210
Other Parts Discussed in Thread: AMC1204

Hi Tom,
I am using SPI interface to read AMS1210. However I am getting fluctuating data register values for fixed DC voltage input given at AMC1204 input.
The configuration registers programmed are as follows.
Control Parameter : 0x0010
Sinc filter: 0x0F1F
Intergrator Parameter: 0x0000
High Level Threshold: 0x7FFF (default)
Low Level Threshold: 0x0000(default)
Comparator : 0x0000 (default)
Control Register: 0x2000
Clock Divider: 0x0810
I have tried by making integrator ON, however there is no effect.
What can be the reason for the fluctuation? How to make the data stable?

  • Hi Monika,

    Are you able to read back the AMC1210 registers and verify that they are set the way you expect them to be? Can you give a little more feedback on what you mean by 'fluctuating data'? Seeing a few LSB's toggle would not be out of the ordinary.
  • I am able to read the register values. Every 1s I am polling the ACK pin. If set, reading Interrupt register, I am getting appropriate ACK flag set for all the 4 modules. However data register reads values in which almost all 16 bits are fluctuating when tested for input varying from -240mv to +240mv. (e.g. for input voltage of -240mv, 12 LSBs were continuously changing, 4MSBs are constant).
    I am able to see the clock and data from AMC1204 on scope. Is there any way to verify correctness of this bit stream?
  • Hi Monika,

    If you have a digital scope, you should be able to turn on 'high resolution' mode and use the scope itself as a means to verify the bit stream. Couple things I noticed though, you seem to be writing to the CONTROL register 2x, is this right? Also, the clock divider option in the AMC1210 unfortunately acts more like a divide by N counter and it does not give a 50/50 duty cycle clock to the modulators. What is the speed of the clock you provide to the AMC1210 and how fast is your SPI interface?
  • Hi Tom,

    Thanks for the reply.

    In the Control register I have set MIE bit to enable Interrupt flags to be get set in Interrupt register.

    The input clock to AMC1210 in 32MHz. However the maximum clock for AMC1204 is 20MHz. Hence divisor of 2 is set. However what you said is true. The duty cycle gets reduced asI the divisor is increased. My SPI interface can go upto 10MHz. Right now I am testing at 2MHZ.

    One problem has got fixed. AMC1210 DVDD  was 3.3V, whereas AMC1210 was generating clock at 5V level. After changing DVDD to 5V, the fluctuation has reduced to lsb 8 bits. Still I am not getting full scale output for input of 250mV. The code generated is maximum 0xA1XX. Also the scale is not symmetric on both sides of Zero.

    Pl.  fix it.

    Thanks & Regards

    Monika

  • Are you still polling at 1 second intervals? You need to look at the update rate of the AMC1210 based on your filter settings and modulator clock. You have to read all data from the part at a speed that allows you to read the data registers between filter updates, otherwise you can get corrupted data since the register content could potentially get updated while you are reading it.
  • Dear Tom,

         Does it mean I should read on interrupt only? Today I will try to read on interrupt and see if any improvement is observed.

    What about duty cycle? Does it has any effect on the output?

    Regards

    Monika

  • Hi Monika,

    Duty cycle will impact the accuracy of the AMC1204, but should not cause large fluctuations in the data. Do you see any improvement reading on the interrupt?
  • Hi Monika,

    Are you getting better results with the interrupt?
  • Hi Tom,
    It seems to be some hardware issue. After putting AC termination on clock and data line of AMC1204 , the results are improved.
    However for some channels it is working without the terminations(I have populated 8 channels with 2 AMC1210 and 8 AMC1204). So still not arrived at any conclusion.
    LSB 8 bits are any way fluctuating, which is obvious as per your earlier reply and might be taken care by averaging.

    Thanks