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.

[参考译文] TMS320F2.8377万S:最大ADC采样率。

Guru**** 2046040 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/584025/tms320f28377s-maximum-adc-sampling-rate

部件号:TMS320F2.8377万S

尊敬的先生:

我正在进行 一个结构健康监测项目。 其中我要求 ADC具有最大可能的采样速率(分辨率为8位的10MSPS左右就足够了)。这种采样速率在短时间内大约为0.25秒。

我有TMS320F2.8377万s启动板。 其数据表显示,它具有4个ADC,采样速率为3.5MSPS 12位分辨率。 我是否可能以某种方式将所有具有一定间隔的3.5 置于此间隔内,并获得4*ADSP=14MSPS采样速率(请查看文档的第一页: http://www.ti.com/lit/ds/sprs881c/sprs881c.pdf)。 如果是,请告诉我这样做的方法。 或者,我是否可以将ADC的分辨率降低到8位以获得更多的采样率。  存储 此0.25秒采样数据的内存空间和速度问题如何?

但同样,launchpad PIN只显示ADCA和ADCB的信息,它们只有两个ADC,其中还有另外两个。  

以供参考。 我是一个新手,喜欢洗手台和这样的电子设备。 在此之前,我使用了Arduino uno板。 请帮助我理解这一点。   

谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    为什么没有人回复此查询?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Mandal,

    尽管性能将是一个问题,但通过交错ADC来提高采样率肯定是可行的。 如果您需要~8位分辨率,这可能是可行的。

    表5-51给出了ADC转换时间。 "12位模式下的ADC时序(SYSCLK周期)"。 从该表中可以发现,ADC在SYSCLK的/4 (CPU以200MHz运行时通常为)中运行时的转换时间为44个周期。 最小S+H为75ns @ 200MHz = 15个周期。 因此,两次采样之间的总ADC时间至少需要为59个周期。 如果您想要10MSPS,则必须每20个周期进行一次采样。 4个ADC时,每个ADC每80个周期采样一次,即> 59个,因此可以。

    要生成触发器,您可能需要使用2个同步的ePWM,每个周期为80个周期。 每个ePWM都可以为两个ADC生成触发器。

    就内存而言,10MSPS * 0.25 秒= 2.5M采样。 每个示例都是12位,因此它们需要一个完整的16位字。 芯片RAM多达106K x 16,因此您肯定需要一个连接到EMIF外围设备的外部存储器。 DMA应该可以将ADC样本移动到EMIF,EMIF也可以在没有CPU干预的情况下写入外部存储器。

    至于性能,请查看数据表"ADC特性(12位单端模式)"中的ENOB部分。 在这种交错的情况下,ADC不是以锁定步进的方式运行,因此我们必须考虑“异步ADC”的性能规范。 对于ZWT软件包(BGA),这是10.9 位,对于PTP pacakge (QFP),这是9.7 位。 两者都应该可以,但请注意,单核F2.8377万x启动板使用PZP软件包,在这种情况下,该软件包的性能非常差,因此“不支持”。 PZP封装也只有2个ADC已固定,因此,如果您想使用启动板作为开发平台,则可能需要使用F28.3779万D双核启动板。

    除了非锁定步长性能下降之外,由于ADC到ADC的增益,偏移和线性不匹配,交错ADC还会为您提供一些非常重要的音调。 我们在数据表中将ADC到ADC的增益和偏移误差指定为+/-4 LSB和+/-2 LSB (均为典型值),因此我认为您应该可以满足8位性能要求。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢Devin,

    如果您说将分辨率降低到8会引起性能问题,那么最好使用12位分辨率,而不是8位分辨率。
    一个修正是,我必须对数据采样0.25毫秒,而不是0.25秒,所以我需要2.5K*16位来存储这些数据,我认为可能没有任何外部存储器。 (是否可以使用闪存存储此数据?)
    同样,正如您所说,一个ADC需要59个SYSCLK周期来进行整个采样过程,那么其采样率将为59个采样@200MHz=3.3898MSPS。
    因此,可能有两个3.38 2*ADC=6.779MSPS。

    由于我的要求不是那么严格,我可能会倾向于在初步研究时,以较低的采样速度进行。

    我不明白“异步ADC”的确切含义。
    这是否意味着,我不能使用两个具有触发器的ADC,这些触发器在每个ADC的周期之间具有时间间隔(以获得双倍采样率)。因为我的设备不支持它?
    或者我可以做这件事吗?
    什么是"非锁定步骤"。

    对不起,如果我问了一些愚蠢/基本的问题。 由于我对这些事情不熟悉,因此只需阅读数据表就很难理解所有内容。
    再次感谢您的宝贵知识。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Mandal,

    让我们从锁定步骤/异步情况与软件包开始:

    在某些情况下,芯片上的4个不同的ADC模块可能会相互干扰。  如果您以锁定步骤操作它们- ADC同时开始和结束转换-则不会产生干扰,您将获得最大的ADC性能。  如果ADC完全异步运行,或具有固定相位差异(交叉存取就是这种情况),则性能处罚会因软件包而异。  在BGA ZWT软件包上,ENOB从11.1 位降级到10.9 位(不是显著降级)。  在QFP 176引脚PTP封装上,ENOB从11.1 位降级到9.7 位...这是一种明显的降级,但它仍应满足您的要求。  在QFP 100引脚PZP封装上,ENOB从11.1 位降级为“不支持”(注:这是F2.8377万S启动板使用的封装)。  您仍然可以通过这种方式配置ADC,但我们不支持此配置中的ENOB规范(因为性能不佳)。  在这种情况下,将性能降低到8-bits...it不会有任何问题,因为您可以使用非锁定步骤的ADC。  请注意,在这种情况下,您仍将获得12位结果...性能不会那么好(但它仍应优于理想的8位ADC)。  

    对于采样率,您可能希望低于最大采样率,以便为触发器留出一定的余量,并且您可能希望将S+H持续时间增加到最小值以上(取决于信号调节电路的低阻抗, 如果您想从ADC输入上的外部R-C获得任何低通滤波)。  10MSPS运行良好,因为您可以以2.5MSPS的速率运行3个ADC中的每一个,并且有足够的裕度超过~3.4 MSPS最大速度。

    2.5K x 16内存位置在内部设备SRAM中应该没有问题。  您可以使用闪存模拟EEPROM,但我认为它的速度不足以实时存储数据(您可以将数据存储在SRAM中,然后根据需要保存到闪存中)。