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.

[参考译文] TMDSCNCD28379D:使用32个 GPIO 生成32个精确的相移脉冲

Guru**** 2502205 points
Other Parts Discussed in Thread: TMDSCNCD28379D

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1213535/tmdscncd28379d-using-32-gpios-to-generate-32-precisely-phase-shifted-pulses

器件型号:TMDSCNCD28379D

你好。 我想生成32个相移脉冲信号、如下所示:

我想使用 TMDSCNCD28379D、并且想知道这是否可行? 我不需要控制脉冲的占空比;它们只需要相互相等的相移。 例如、根据上图、我每2个 CLK 脉冲打开一个信号、因此每个信号间隔20ns。 是否可以在可预测数量的 CLK 周期内开启和关闭 GPIO、以便能够预测 GPIO 之间的延迟? (例如、始终为1个 CLK 周期、或2、4等) 除了这一点、我不需要使用微控制器、因此除了打开和关闭 GPIO 以及在两者之间延迟外、我不会运行任何指令。

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

    Daniel、您好!

    尽管只有24个通道、但我认为使用 ePWM 生成这些信号将是最佳解决方案。 唯一另外一种方法是手动切换环路内的全部32个引脚(保持每个引脚延迟一段时间、在每次 GPIO 切换之间有延迟等)、这 可能有点重编程。 它的用途是什么?

    此致、

    Omer Amir

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

    你好,Omer,感谢你的帮助。 是的、ePWM 最好、但我需要的数量超过24个。 我正使用这些脉冲为 PWM 调制器生成32个锯齿波形-因此不需要改变占空比的原因。

    我尝试手动切换一个环路内的全部32个引脚、编程不太重、因为我不需要更改占空比等 不过、我只能以最大7MHz 的频率进行切换、而根据数据表、我认为应该可以使用25MHz。 这是我正在使用的代码,我将跳过 GPIO_togglePin ()函数的一些步骤,以尽可能快的速度执行。 不过、它只会导致7MHz 切换、而不会导致25MHz。 您知道我如何以最快的速度进行切换吗?

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

    我只是通过这个线程解决了速度问题的一部分:for 循环添加了一些周期数。 使用背靠背切换而不是 for 循环、其频率为10MHz。 但是、这会出现问题、因为定点 MCU 没有  RPTB 功能。

    e2e.ti.com/.../faq-c2000-gpio-faq

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

    Daniel、您好!

    我将尝试自己测试一些东西、看看可以实现什么速度、我将尝试在明天之前与您联系。

    此致、

    Omer Amir

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

    Daniel、您好!

    我能够运行与您的类似的环路、并且我设法实现了 大约25MHz 的 GPIO 切换频率。 我通过优化空间速度和充分优化程序来实现这一点(这可以在项目属性中实现)。 但是、也有一些 可能的问题:

    波形明显地跳动、并且 峰值并不总是可预测的。 这可能是因为我使用的示波器 精度不是最高的、也可能是 Launchpad 周围的其他噪声/振荡的影响。

    另一个可能的问题是、如果打开优化、则可能会导致程序的其他部分 出现意外行为、具体取决于优化在调试中的表现方式。 如果您愿意、可以尝试一下、但请记住、根据程序的其余部分执行的操作、可能会有一些问题。

    此致、

    Omer Amir