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.

28069 ADC采样偏低问题

如题:

配置使用内部电压参考Internal Reference Voltage

在AD端口  加入一个 2.55Vdc的直流电压,

理论ADCResult结果应该是 2.55 / 3.3 * 4096 = 3165

实际DSP AD读取的ADCResult值为:3106

误差 60,请问有遇到过类似问题没?

  • 你可以查看一下芯片手册6.9.2.1.3 On-Chip Analog-to-Digital Converter (ADC) Electrical Data/Timing,从这里您可以 看到ADC的性能指标。

    ADC是存在误差的。ADC的误差有偏置误差,增益误差,积分非线性误差。测试的时候应该考虑这几种误差累加之后的结果。 一个LSB等效0.732mv, 即0.034V.

    如果要求更高的精度,可以进一步做校准,如输入一路参考电压给ADC引脚,然后用软件校准。
  • 你好,
    一个LSB等效0.732mv, 即0.034V.

    这个0.034V是指什么?
  • 你好,除了上述Susan所提的误差之外,采样器件本身也有可能造成误差。请问你的硬件是自己设计还是使用的TI套件?软件是自己编辑的还是TI例程?是否有测试过其他电压值,是否有稳定的60个点的误差?
  • 是自己设计的硬件,
    测试过其他电压,包括其他AD通道,基本都会存在误差30---60个点之间吧,并且都是偏小
    另外3.3V用示波器测过了,也是比较稳定的
  • 此外,测试给定电压以后,测量的是进DSP-AD端口的电压,应该可以排除采样电路上面的问题
  • 你好,
    我将采样保持由
    AdcRegs.ADCSOC0CTL.bit.ACQPS = 0x9;
    修改为
    AdcRegs.ADCSOC0CTL.bit.ACQPS = 0xf;
    采样值正常了,采样频率是20khz

    有一个小疑问:
    采样单个时间:1/45Mhz * (0xf+1 采样保持) + 13cycle转换周期 = 645ns
    16通道全部采样完毕 645ns * 16 = 10.32us

    我现在使用ADC中断,作为主控制中断,PWM启动AD转换---频率20khz
    这个AD转换时间过长,会有什么影响?
  • 请忽略0.034V,这是是28335的相关参数。

    对于28069,参考数据手册的Table 6-27. ADC Electrical Characteristics

    1 LSB has the weighted value of full-scale range (FSR)/4096. FSR is 3.3 V with internal reference and VREFHI - VREFLO for external
    reference
  • 问题按照

    https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/96901     。。处理了

    看起来不是只有我有这个问题

    I connect AN0 to 3.3V and I write the correct value to "AdcRegs.ADCREFTRIM.bit.BG_FINE_TRIM" till I read 4096 to the AdcResultReg.

     EALLOW;
     AdcRegs.ADCREFTRIM.bit.BG_FINE_TRIM = "correct value";
     EDIS;

  • 好吧,谢谢您的分享!
  • 个人认为,采样时间长的话影响不大,最多就是采样点较少。但是采样时间短的话就会有问题,比如你的采样保持窗口时间太短可能导致采样电容充放电不完全,继而导致采样值不准确等等。
  • 你好,

    我试过了,修改不同的   采样保持窗口时间,

    AdcRegs.ADCSOC0CTL.bit.ACQPS = 0x6;

    AdcRegs.ADCSOC0CTL.bit.ACQPS = 0x9;

    AdcRegs.ADCSOC0CTL.bit.ACQPS = 0xf;

    同一个DC输入电压,采样得到的ADResult值,和理论 误差都不一样,

    采样保持时间  也并不是越大越好。

    就比较奇怪,和外网的这两位仁兄的很像,并且 也都是28069的芯片,

    https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/351356#pi320995=2   

    https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/96901     。。