Post Go back to editing

AD7671 step

Hello 

I connected to input 0 V - code from AD7671 is 32463. It is fine. 

But when I repeat request the code is

32463 32591 32591 32463 32591  .... 

32591 - 32463  = 128  - Where is low signif. bits ?? 

I checked with serial and parallel data mode.

My parallel code is:

AD7671_CS_1;
AD7671_RD_1;


while(GPIO_ReadPin(28));//wait busy

AD7671_CS_0;
AD7671_RD_0;
AD7671_result = GpioDataRegs.GPBDAT.all;

AD7671_RD_1;
AD7671_CS_1;

//start conversion
AD7671_CNVST_1;
AD7671_CNVST_0;
AD7671_CNVST_1;

-------------------------------------

My serial code is 

AD7671_EXT_1;
AD7671_INVSCLK_0;
AD7671_RD_0;
AD7671_CS_1;
AD7671_SCLK_0;
AD7671_CNVST_1;

while(GPIO_ReadPin(28));//wait busy

AD7671_SCLK_0;
AD7671_SCLK_1;
AD7671_SCLK_0;

AD7671_CS_0;

d = 0;
for(j=0;j<16;j++)
{
AD7671_SCLK_1;

if(GpioDataRegs.GPBDAT.bit.GPIO56)//SDOUT
{
d |= (unsigned int)(1<<(15-j));

}
AD7671_SCLK_0;//D9

}

AD7671_result = d;

AD7671_CS_1;
//start conversion
AD7671_CNVST_0;
AD7671_CNVST_1;
AD7671_CNVST_0;

  • Hi ruskuw,

       You mean that your output code is not stable and changing only on two results. There are many possible cause when there is a noisy output or not stable output. On the ADC support circuitry, the reference is important that it should be stable. How did you have force 0V on the input. You can also try tying the analog input to ground and check of this will have stable conversion results. If it is okay for you to share the schematics and scope shot so we can better understand the problem.

    Regards,

    Jonathan

  • You mean that your output code is not stable and changing only on two results.

    + "is not stable" - this is not problem for me in this moment.

    'only two result" - yes, this is problem - 32591 - 32463  = 128 - the difference is bit 6 

    I expected to see values like this -  32591 32584 32468 32599 - with random component of error  of 1 or 2 LSB

    There are many possible cause when there is a noisy output or not stable output. On the ADC support circuitry, the reference is important that it should be stable. How did you have force 0V on the input.

    You can also try tying the analog input to ground and check of this will have stable conversion results.

    + I connected ADC input (with AD8021 buffer ) to AGND. 2.50 ref is OK

    If it is okay for you to share the schematics and scope shot so we can better understand the problem.

    + BUSY + MK SCLK

    Busy+ SDOUT

    schem is the same as in documentation. 2.5 V ref 

  • additionaly, I connected  DC generator (results via parallel interface)

    U DC

    Dec

    Bin

    0 mV

    31567

    31631

    111101101001111

    111101110001111

    50 mV

    31503

    31631

    111101100001111

    111101110001111

    100 mV

    31695

    31759

    111101111001111

    111110000001111

    150 mV

    31759

    31887

    111110000001111

    111110010001111

    LS bits from 0 to 5 is not working.... and always 001111

  • Hi ruskuw,

       Just a clarification, what was the result when the inputs were connected to ground? It should be all zeros when configured in twos compliment. What is your output coding, by the way, Straight binary or twos complement? Would You be able to try a full scale voltage in the analog input. and please share the data that you see.

    Regards,

    Jonathan

  • This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.

    Thank you,
    EZ Admin