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.

ADS8686S: Why is my ADS8686S converter displaying inaccurate frequency and amplitude values? I'm using the ADS8686SEVM-PDK

Part Number: ADS8686S
Other Parts Discussed in Thread: , TMS320F28388D

Good afternoon colleagues,
I am working with a TMS320F28388D microcontroller together with an ADS8686S ADC converter. I'am using the ADS8686SEVM-PDK
I had problems programming how to communicate with the ADC, but finally I have been able to do it. I am using the "Parallel Byte" interface with the EMIF of the microcontroller in asynchronous mode.
Once I have managed to set the registers and read the results, I have set the converter to output conversion results using a signal generator.

The ADC is configured as follows in the pictures I am going to show you:

  • ADC Range: +/- 10V 
  • LPF: 15kHz
  • Seqen & Burst : Both disabled (manually)ç
  • Channel 1 of conversion (A & B)

When a DC signal is connected to the ADC, it seems to work fine. Here are some pictures where you can see how the 0-10V signal moves from mid-range ((2^16)/2) to 2^16 (the code I made adjusts the ADC reading so that the code from 0-32768 goes from -10V to 0V and from 32768-65536 goes from 0 to +10V). The DAC has a range of 0-3,3V so in DC the signal from 0 to +10V moves from 1,65V to 3,3V. 

DC SIGNAL

The problem I have is when I put in a sinusoidal signal because as the frequency varies, the amplitude of the signal increases or decreases. I have tried with the signal generator to make changes in frequency and amplitude, and they are independent, so it must be a matter of the ADC conversion.

As you can see from the following photos. I'am connecting a 15 peak to peak V (7,5 peak in each semiperiod). As you can see, when I input this value with 10Hz of frequency, the amplitud is 2,2V from DAC. However, if I increase the frequency to 20Hz, the amplitud decrease and when I decrease the frequency of the signal to 3Hz, the amplitud increase.

In addition, I tested to remain the frequency constant and change the amplitud, and the frequency doesn't change. Only the amplitude with the frequency.

I honestly don't know what is happening with this but is a big problem. 

I would like you could help me. 

I let you the code: 

          GPIO_writePin(CONVST, 1);
   
            GPIO_writePin(CONVST, 0);
  





          

            tramaA = *punteroCS;
             

           
            tramaB = *punteroCS;

                                                     

            tramaA=ajustetramaADC(tramaA);
            tramaB=ajustetramaADC(tramaB);

            signotramaA=tramaA>>15;
            signotramaB=tramaB>>15;
            if(signotramaA==0){

                conversionA=tramaA+32768;
                //conversionA = tramaA & 0xFFFF;
            }
            else{

                conversionA=tramaA-32768;
                //conversionA = tramaA & 0xFFFF) + 1;
            }
            if(signotramaB==0){

                conversionB=tramaB+32768;
               // conversionB = tramaB & 0xFFFF;
            }
            else{

                conversionB=tramaB-32768;
               // conversionB = ~(tramaB & 0xFFFF) + 1;
            }


            *AdcBufPtr1A++ =conversionA;
            *AdcBufPtr1B++ = conversionB;

            convA_DACA=(conversionA>>4) & 0xFFF;
                        convB_DACB=(conversionB>>4) & 0xFFF;
                       
                        DAC_setShadowValue(DACA_BASE, convA_DACA);
                     
                        DAC_setShadowValue(DACB_BASE, convB_DACB);

I let you the graph of the array of AdsBuf to see that this phenomena is not from the DAC and it's from the own conversion.

Thank you in advance,

BR.

Pedro

  • Hi Pedro,

    Can you test your input signal with the EVM GUI software and PHI controller card which is included in the EVM PDK instead of you TMS320F28388D microcontroller? You can try parallel interface and parallel byte interface in the GUI and check the captured data&waveform in Time Domain page of the GUI. Please let me know your test result.

    I'm sure our EVM and ADS8686S ADC should work for sinewave analog signal because we already verified such input signal, so it might be a setup issue. I have few questions about your test:

    • What's your out impedance setting on signal generator?
    • Did you modify any component on ADS8686SEVM or just use default resistor and capacitor on the ADC input?

    I assume you connected the sinewave signal to J1 or J9 on the EVM, let me know if not. 

    Regards,

    Dale

  • Hi Dale,

    Thank you very much for your answer. I have finished my work today but tomorrow I will try the PHI controller and see in the GUI this issue. Then, I will see the out impedance setting on the signal generator.

    About the modifications on the ADS8686SEVM, we removed the R28 in order to feed the board with an external regulator in T1. In addition, I am putting the signals using T4 (ADCB) and T2 (ADSA) terminals, I don't use the J's SMA connectors.

    Tomorrow I update this issue with the PHI results and the impedance of the generator. Thank you very much Dale. 

    Best Regards,

    Pedro

  • Hi Pedro,

    Thanks for your information. When you use PHI card and the EVM GUI, you can keep R28 empty and still provide an external +3.3V power supply on T1 for DVDD or you can solder R28 back for using the EVM_DVDD power supply from the PHI card, however you will have to provide an external +5.5V on pin 3 of T1 so that U3 LDO on the EVM board can generate +5V power supply for AVDD of the ADC (I hope you already provided an external +5.5V power supply when you did the tests while using your TMS320F28388D microcontroller), a jumper should be installed on pin 2-3 on JP7 on the EVM board.

    Using T4 and T2 for sinewave signal input is ok since you are not testing AC performance.

    Looking forward to seeing your result tomorrow.

    Regards,

    Dale

  • Hi Dale,

    Yes, I feed the Evaluation card with the T1 terminal giving 5.5V for AVDD and 3.3 for DVDD. For sure I installed the jumper from JP7 as you said, I made sure to look at the power schematics at the time before powering the board externally. I measured in the test points and I measured the 5.5V, the 5V of AVDD from LDO and the 3.3V of DVDD. 

    I used the PHI with the GUI and I got the same results as with the microcontroller. I tested on the oscilloscope by clicking on the ADC input and the function generator signal is displayed as it should be, varying only the frequency and keeping the signal amplitude constant.

    - With Vpeak-peak=15V (7,5V peak each semiperiod) and f=10Hz. As you can see, the GUI doesn't get the whole amplitude (6,5-7V peak)

    - With Vpeak-peak=15V (7,5V peak each semiperiod) and f=20Hz. The amplitude reduce a lot to 4V peak, Vpeak-peak of 8V when I increase the frequency.

    - With Vpeak-peak=15V (7,5V peak each semiperiod) and f=2Hz. The amplitude increases with respect to the 10Hz signal when I reduce the frequency to 2Hz and it does seem to give the 15V peak-to-peak.

    Those photos above is using the Ch2 ADCA and those from yesterday with the oscilloscope from Ch1 ADCB so both ADCA and ADCB suffers this issue. I have not proved channels from 3-7 from ADCA and ADCB but I guess it could not matter. 

    I have tried with the GUI to use other filters (39kHz and 376kHz) and I observe the same phenomenon. As I told you yesterday, the continuous signals are going well. I put values in DC on positive and negative and it measures fine. It measures the 1,9V-2V from the CAP when the pins are not used what is right

    I don't know what can be happening but it's very strange this phenomenon. 

    I expect you could get any clue about what is going on. 

    Thank you in advance Dale, I will wait for your answer.

    Pedro

  • Hi Pedro,

    I think there is a large capacitance on the signal chain from the output of your signal generator to the terminal block (ADC) on the EVM. I would suggest to

    • Check your black cable, use SMA cable and SMA connectors on the EVM. I usually used SMA cable and connector while testing AC signal, not terminal blocks.
    • Use a low capacitance probe of oscilloscope or just remove it from the signal path.

    Are you sure the output impedance of your signal generator is low, constant, resistive?

    Regards,

    Dale

  • Hi Dale,

    Sorry for my late reply. I am right now in a working trip and I won't be in the lab until next week. 

    I Will check if wechave SMA terminals in the lab, I'm nota sure. Do you think that there is capacitance? When I increase the frequency, the amplitude of the Signal reduces (the module). Based on the 1/wC impedance of a capacitance, if I increase the frequency, the impedance is lower so the amplitude should increase. However, as I said to you, I checked at the entrance of the terminals from T4 and T2 and the input signal is okey. When I come back to I show you a photo comparing them.

    About the impedance of the oscilloscope, I Will have to check It. 

    I had in mind to check when I come back to see where in the schematic the Signal changes the amplitude compares with the input one. 

    I thought that if a short circuit was accidentally made (I dont have anu evidence about It), how It would be related to this issue.

    Thank you very much Dale, we keep in contact for this problema and see how can be solved.

    BR,

    Pedro

  • Hi Pedro,

    If the impedance is pure resistive, the amplitude should not change with signal frequency. This ADC has 1Mohm resistive input impedance, so the voltage measured by the ADC is actually the voltage from the divider of input impedance and source resistance, so either the output impedance of your signal generator or the impedance of signal path which might have a large capacitance was changed. 

    Please let me know once you have any update.

    Regards,

    Dale

  • Hi Dale,

    Sorry for my late reply, I was on a job trip. And sorry too for this thread because I was making a big mistake. As yu can see from the signal generator, with the CH2 I am using, I thought that the input frequency was 10Hz, 20Hz, etc... But it was 10kHz, 20kHz, etc... So the programmable input filter was attenuating the input signal. What I have seen anyway is that with the 376kHz filter, the input signal starts to attenuate a bit at 20kHz when theoretically by filter theory, it should start attenuating at 37.6kHz, a decade before the cutoff frequency.

    Thank you very much for your time Dale and sorry for all the mess with this thread because of a silly mistake I made.

    Have a nice week.

    Regards,

    Pedro

  • Hi Pedro,

    No problem. Thanks for your clarification which is very helpful for me to understand the "issue" you described, 10Hz vs. 10Hz is quite different for ADS8686S ADC. The filter in this ADC is not standard Butterworth filter, what you observed is possible, I do not have the detailed data at the specific frequency, the following figure is shown in the datasheet:

    Regards,

    Dale  

  • Hi, Dale

    I have a question about a document you made that you explained the ADC protection for this ADS8686S https://www.ti.com/lit/pdf/sbaa462

    There is something I don't understand and is the "Maximum continuous overstress voltage ( VEOS_Max)" that you used to select the PTC. What is this parameter and in which part of the datasheet appears? I would be very pleased if you could explain this parameter to me.

    Thank you,

    Pedro

  • Hi Pedro,

    This is not a parameter of ADC or other component, it actually is maximum EOS voltage that could occur in your system. For example, if you are designing a analog input module and your end customers possibly connect 24V power supply to analog input terminal, you will have to consider this condition and design a protection circuit in front of ADC to protect your ADC from any potential damage, 28~30V fault voltage can be considered as VEOS_Max with a margin.

    Regards,

    Dale

  • Thank you very much Dale!

    Have a nice week,

    Pedro