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.

TMS320F28069: Piccolo内置的ADC是不是没有内置基准?

Part Number: TMS320F28069
Other Parts Discussed in Thread: REF3030

12位的ADC,理论SINAD是74dB,16位ADC理论SINAD是98.08dB,计算公式SINAD=6.02*ENOB+1.76

查了下C2000各个芯片ADC的SINAD和ENOB数据,如下:

  • 2812:62dB,10.0位
  • 2808/28335:67.5dB 10.9位
  • 28027/28035/28069:不详
  • 280049:68.5dB 11.0位
  • 28075:68.4dB  11.1位
  • 280039:70.4dB 11.4位
  • 28377S:68.4dB 11.1位
  • 28384S:69.0dB 11.2位
  • 28384S:83.4dB 13.5位(16位单端模式)

其中除了Piccolo的几款芯片,其它芯片都能找到SINAD和ENOB的数据。这几款Piccolo芯片的ADC输入范围都是0-3.3V,其它的芯片向2808/2812/28335是0-3.0V,280049以后的新新型号增加了一个内置的2.5V基准,输入电压范围0-2.5V,同时也保留原来的0-3.3V输入范围。从手册数据来看,使用内部2.5V基准时的SINAD指标要更好。

常见的基准芯片,输出电压都要比输入电压低,很多MCU内置基准都是1.2V左右。向Piccolo这样输入3.3V电压,基准也是3.3V,只能是直接把VDDA电源当作基准来使用了。里面搞两个电阻对VDDA分压出1.65V来当基准用的?Piccolo的datasheet中不写SINAD和ENOB,难道是因为比2812的62dB数据还要差?如果我使用VREFHI外接REF3030,外部提供3.0V电压基准,是否指标能达到28335的10.9位ENOB指标?

  • 看一下这份多年前由工程师分享的关于piccolo的ADC的使用建议:

    Piccolo ADC Usage Recommendation.pdf

  • 但是说实话,你问的这些点,就我个人来说还没获取过相关的信息,如果你确实需要了解关于piccolo系列为什么会这么设置ADC模块的话,我可以升级E2E去咨询一下。

  • 测试了一下,28069内部的3.3V基准应该是存在的。我把VDDA和VREFHI从默认的3.3V增加到3.5V,实测测量的电压并没有变化,说明内部基准仍然是3.3V。如果直接用VDDA作为基准,那么VDDA增加以后,测量外部的固定电压,转换值应该会变小。

  • 文章大部分内容都见过,比如丢失第一个采样结果这种问题,已经通过禁用overlap模式解决了。文档最后的部分提到ADC在60M时钟的时候会周期性丢码,INL增加到28个LSB。解决方法是使用30M的ADC时钟,可以改善线性。文档描述的应该是28035。如果我使用的是90M的28069,在ADC时钟是45M的时候是否也会有周期性丢码?是否需要降低频率到22.5M呢?

  • 测试过了没用,28069的ADC无论是45M时钟还是22.5M时钟,测量外部恒定电池电压,结果都是跳动25个LSB左右。

  • 额,我看了一下你的回复,似乎提到的问题你都自己测试过了?

  • 差不多吧。外围能测试的方面基本全部测试过了。就是不规则跳动25个LSB。结果散布太大了。就像一把永远也瞄不准靶子的枪。

    实际ENOB=log2(4096/25)=7.36位,这也太离谱了。

  • 我看了一下其实你的测试比很多我们这边的工程师都测的详细了,可能你现在专注在这块,会比较在意这些指标。

    总的来说非常感谢你的反馈,希望能给以后的工程师一个参考借鉴。

  • 因为产品有个指标一直过不了,芯片外围所有的方法都试了一遍,最后才定位到是28069的ADC精度问题

  • OK,了解了

x 出现错误。请重试或与管理员联系。