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.

ADS8363EVM: Measuring Wrong reading from device.

Part Number: ADS8363EVM
Other Parts Discussed in Thread: ADS8363

Hi

I am using ADS8363 EVM ,the jumpers for M0 and M1 are open stating automatic mode and through SDOA only ,now I was trying to sample data in from same voltage source in two different channels but getting different result.One channel is giving correct result.(when running with  breakpoints in debugging mode).But still some times it also gives wrong results.(when running directly without any breakpoints in debugging mode). I am using host MSP430F5529LP. Checking the value stored in array in mV after conversion and post processing.I am unable to find its  reason.I am also writing the SDI in beginning to turn on REF1 DAC ,by checking using multi-meter i am able to see 2.4 V at that pin on EVM, suggest what may be possible issue.

(Ignore any typo mistake).

PS:also I wanted to work in psedo diffrential mode in mode 4 ,but I am not clearly able to get how to implement that,as its automatic so we need not be definig channel sequence .Plaese also show some light on that .

Edit:1

I checked the analog input voltage at chip also its coming same,also I have assumed it in fully differential mode and grounding the -ve terminal of differential input to ground.

Regards

Anmol

  • Hi Anmol,

    I am looking into this and will get back to you soon.
  • Hi Anmol,

    To make sure that I understand your setup, you are providing a DC voltage to two channels via the J1 header? Can you please provide the converted (binary) output for the channel that is working as expected, as well as for the channel that is not?
  • Hi Evan,

    Yes I am using J1 header for giving input to the board,as I said I was getting correct only in breakpoints mode,when continuously running .It (the correct one) gave  wrong result too.I am using following code to convert the input ADC code to mV . Also I am storing each of two channel in array of 100 to check what values its taking n how much variation is visible.

    **********************************************************************************************************************************************

    void bitloader_ADC16(int reg1,int reg2,int reg3)

    {

    UCB1TXBUF = 0x80;

    UCA0TXBUF = reg1;

    while (!(UCB1IFG&UCRXIFG));

    data1 = UCB1RXBUF;

    UCB1TXBUF = 0x00;

    UCA0TXBUF = reg1;

    while (!(UCB1IFG&UCRXIFG));

    data2 = UCB1RXBUF;

    UCB1TXBUF = 0x00;

    UCA0TXBUF = reg3;

    while (!(UCB1IFG&UCRXIFG));

    data3 = UCB1RXBUF;

    ADC16(data1,data2,data3);

    }

    void ADC16(int D1,int D2,int D3)

    {

    Channel = (D1 & 0x40) >> 6; //0x40 channel no. // 0x20 ADC name

    ADC_No =  (D1 & 0x20) >> 5;

    if(Channel == 1 && ADC_No == 0)

    { sign = 0x10&D1;

    sign = sign>>4;

    ADC_14_11 = D1&0x0F;

    ADC_10_3 = D2;

    ADC_2_0 = (D3>>5);

    ADC_FINAL = (ADC_14_11<<11)|(ADC_10_3<<3)|ADC_2_0; //  0.1907mV is conversion of 1LSB

    ADC_FINAL_mVp = ADC_FINAL*0.0762;

    vx[i] = ADC_FINAL_mVp;

    i++;

    }

    if(Channel == 0 && ADC_No == 1)

    { sign = 0x10&D1;

    sign = sign>>4;

    ADC_14_11 = D1&0x0F;

    ADC_10_3 = D2;

    ADC_2_0 = (D3>>5);

    ADC_FINAL = (ADC_14_11<<11)|(ADC_10_3<<3)|ADC_2_0; //  0.1907mV is conversion of 1LSB

    ADC_FINAL_mVn = ADC_FINAL*0.0762;

    vx2[k] = ADC_FINAL_mVn;

    k++;

    }

    if(i == 100)

    i = 0;

    if(k == 100)

    k = 0 ;

    }

    **********************************************************************************************************************************************

    Regards

    Anmol

  • Hi Anmol,

    As you are seeing a correct value when using breakpoints but not when running automatically, it is possible that your inputs are not settling to the expected level within the given time frame. Can you please provide the following information:

    - Which ADC inputs are you using?
    - What are you using as a signal source (sensor, power supply, etc.)?
    - Can you please use an oscilloscope to capture your input signals while operating the device in automatic mode without any breakpoints?
    - When running in automatic mode, what is the result for each channel? Is the result relatively consistent (only changes by an LSB or two at most)?
  • Hi Anmol,

    I haven't heard back from you regarding my questions above, so I will be closing this thread. If you have any further questions, feel free to respond to this post or begin a new thread.