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.

[参考译文] TMS320F28379D:EMIF 时钟速度降低至 25MHz 的可能性

Guru**** 2847390 points

Other Parts Discussed in Thread: TMS320F28379D, ADS4222

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1586965/tms320f28379d-possibility-of-emif-clock-speed-reduction-to-25mhz

部件号: TMS320F28379D
主题中讨论的其他器件: ADS4222

您好团队:

我正在使用 Texas Instruments 的 TMS320F28379D、需要连接 12 位 ADC ADS4222、该 ADC 具有 12 位并行输出和 65MSPS 的采样率。 但是、应用要求只有 ADC 的 25MSPS。 TMS320F28379D 的 UPP 外设满足 25MSPS 要求、但只有 8 位数据宽度。 因此、我计划使用 EMIF 接口来读取 ADS4222。 ADC 没有控制引脚、如 CS、RAS、CAS、OE 等。 并且它将 CLK 作为 EMIF 时钟的输入、我想 EMIF 可以直接与 ADC 连接、无需任何外部胶合逻辑、如 FPGA 或 CPLD 等 但是、EMIF 使用数据总线也使用地址总线、但 ADS4222 只有一条 12 位数据总线。 因此、我认为 EMIF [0:11]的数据总线将连接到 ADS4222、其他 4 个数据引脚[12:15]将连接到 GND 以读取 0。 因此我们可以读取 12 位数据。 但是、地址引脚将保持未连接状态。 我打算使用一个虚拟地址来读取 ADS4222。 因此,我对这种方法的可行性有以下疑问:
1.这种使用虚拟地址将 ADS4222 读取为突发数据(例如,通过连接 EMIF 时钟和 12 个数据引脚 D[0:11]来读取 512 个字节)是否正常?


2.最大的问题在于 EMIF 时钟频率。 ADS4222 的最大采样率为 65MSPS 65MHz、该应用仅需要 25MHz。 但是、TMS320F28379D 的 EMIF 时钟在 100MHz 或 200MHz 上运行、可通过 CLK_CFG_REGS 的 PERCLKDIVSEL 寄存器进行配置。 但我无法找到任何其他配置位来将 EMIF 时钟降低到 25MHz。 因此、是否无法将 EMIF 时钟降低到 25MHz? 否则、不可能使用 EMIF 读取 ADS4222、因为它只需要 65MHz 的最大时钟、而不需要 100MHz。 您能否澄清一下是否可以通过任何方式将 EMIF 时钟降低到 25MHz? 另一个问题是 ADC 具有 DDR 能力、这是一个必要条件、因为我们需要对两个传感器进行采样、但 EMIF 仅支持 SDR。

如果 EMIF 无法在 25MHz 上运行、我想探索 CLB 来与 12 位 ADC 连接。 但另一个问题是逻辑块只有 8 个输入、而不是 12 个。 由于有 4 个 CLB 实例、因此可以组合 2 个 CLB 以获取 12 个输入并设计逻辑块、使其在 25MHz 或 25MSPS 时读取 ADC。 由于 CLB 还必须生成时钟、我不确定是否能够在该吞吐量下实现。 请在此问题上提供指导、我们将非常感谢您的帮助和指导。

谢谢您、

Bhargav Sakia.

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

    尊敬的 Bhargav:

    我想我们没有使用 EMIF 行为进行连接、也没有示例代码或示例设置。  

    在异步模式下、器件会将这些地址解释为分配给特定位置的 SRAM 存储器。  对于 ASRAM、您不需要时钟、应能够通过编程设置/选通和保持值来控制访问时间。 出于您的目的、延长保持持续时间可用于连接 ADS4222 器件的较慢时钟

    如果 EMIF 无法在 25MHz 上运行、我想探索 CLB 以连接 12 位 ADC。 但另一个问题是逻辑块只有 8 个输入、而不是 12 个。 由于有 4 个 CLB 实例、因此可以组合 2 个 CLB 以获取 12 个输入并设计逻辑块、使其在 25MHz 或 25MSPS 时读取 ADC。 我不确定是否能够在该吞吐量下实现、因为 CLB 还必须生成时钟

    在这种情况下、考虑到 ADC 的数据吞吐量和使用的引脚数、我认为这不是很高效。 您可以在 CLB 之间有效地路由输入和输出以将多个 CLB 组合在一起、以及利用 ePWM 模块生成时钟。 我们还提供了演示此 https://www.ti.com/lit/an/sprad62/sprad62.pdf 的应用手册、 您可以查看是否可能做到这一点、但通常情况下、该方法为没有 uPP 和 EMIF 外设的器件保留

    此致、

    彼得