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.

[参考译文] CAN C2000 MCU通过12位或更多并行数字输出(如CMOS/LVDS)连接外部ADC

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/580772/can-c2000-mcus-interface-external-adc-with-12bit-or-more-parallel-digital-outputs-such-as-cmos-lvds

主题ADC10D020中讨论的其他部件

是否有具有专用接口的MCU?

还是可以在任何MCU上使用GPIO来完成?

有人能建议我使用一些低成本MCU,它可以将外部ADC与2-4个通道连接起来吗?

提前感谢

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

    请参阅以下帖子: e2e.ti.com/.../180.1352万

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

    这确实取决于您要使用的外部ADC所支持的接口以及所需的吞吐量。

    是否有理由不在C2000器件中使用嵌入式ADC?

    汤米
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Tommy:
    我需要更高的采样率ADC (大约10MSPS),这就是我需要外部ADC的原因。
    我还想收集ADC生成的所有样本,所以我认为串行接口不够快?(MCU运行频率一般在100MHz或更低)
    如果正确,我认为我应该使用带有并行接口的ADC (例如 ADC10D020),但迄今为止我找不到任何具有此类并行接口的MCU。
    你能给我一些建议吗?
    谢谢,
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    更具体地说,我计划使用ADC10D020,它具有20MSPS *2通道和CMOS并行数字接口,那么我可以使用C2000中的哪个MCU?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    王宁

    我认为F2837x器件上的uPP并行端口最接近处理吞吐量。  uPP数据速率为50MHz x 12b 50MHz x 8b,与ADC的20MHz x 20b最大输出不匹配。  您可以选择读取ADC示例,如下所示:

    1. 以有效的10MHz x 10b 10MHz x 8b速率进行多路复用,或
    2. 以有效的20MHz x 6b 20MHz x 4b速率并行。

    C674x DSP还具有具有双16b通道的uPP,因此您可以在20MHz x 10b的频率下读取数据。  它们也是ePWM和ECAP,但没有嵌入式模拟或闪存。

    汤米

    [修正了uPP总线宽度从12b到8b]

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

    哦,这对我来说是令人鼓舞的消息。 我以前不知道uPP接口。

    再问一个问题,您认为GPIO或eCAP是否可用于与外部ADC连接? 人们以前做过这件事吗?

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

    ECAP主要用于捕获事件之间的时间戳。 它不能解释数据,所以我要对这点说不。

    GPIO可用于与外部设备连接,但CPU开销非常高,难以控制信号定时和同步。

    我认为您可以接近20MHz,但您需要专用一个协处理器来处理接口,以便主CPU可以自由处理ADC数据和管理其他系统活动。

    双核F2837x中的次C28x CPU应该能够处理该接口。 CLA也可能起作用。

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

    我认为您可以使用ePWM,ECAP,CLA和GPIO的组合与ADC连接。

    ePWM可以为ADC提供输入时钟,并生成CLA触发器。

    ECAP将测量ADC时钟与有效的I/Q数据之间的延迟,以便将ePWM -> CLA触发循环居中。

    如果将ADC数据路由到单个32位GPIO组,则CLA可以在接收到触发器时在数据寄存器上执行32位读取。

    汤米
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的回答。 我现在已经很清楚了。
    但为什么我需要ECAP来生成触发器? 我当时在考虑使用GPIO连接有效的I/Q数据,因此一旦有了一个POSege of I/Q,内核将读取GPIO组,清除中断标志并等待下一个POSege。
    哦,这是因为数据有效与ADC时钟之间存在延迟,所以当内核读取时,GPIO组尚未注册样本数据时,可能会发生这种情况吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    王宁

    是的,ADC时钟与有效数据之间存在延迟。 此延迟可能因设备和工作条件(温度和电压)而异。 最稳定的方案是确定ADC时钟到数据有效延迟,然后在数据有效周期的中点读取GPIO数据。

    ECAP不会直接生成读取触发器。 相反,您需要测量ADC时钟与数据有效延迟的距离(可能在启动时,然后定期测量),以了解存在多少个C2000时钟延迟周期。 此信息可帮助您确定ePWM应在何时生成读触发器。

    我不建议使用GPIO-CPU中断来读取数据,因为CPU中断延迟太多,无法响应有效信号。 相反,可以提前触发ePWM生成的读触发器,以补偿响应时间。

    使用CLA进行读取将释放您的CPU以执行分析和其他系统活动。 它还允许您使用具有CLA的更便宜的单核设备。

    汤米