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

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

我想使用 TMDSCNCD28379D、并且想知道这是否可行? 我不需要控制脉冲的占空比;它们只需要相互相等的相移。 例如、根据上图、我每2个 CLK 脉冲打开一个信号、因此每个信号间隔20ns。 是否可以在可预测数量的 CLK 周期内开启和关闭 GPIO、以便能够预测 GPIO 之间的延迟? (例如、始终为1个 CLK 周期、或2、4等) 除了这一点、我不需要使用微控制器、因此除了打开和关闭 GPIO 以及在两者之间延迟外、我不会运行任何指令。
你好,Omer,感谢你的帮助。 是的、ePWM 最好、但我需要的数量超过24个。 我正使用这些脉冲为 PWM 调制器生成32个锯齿波形-因此不需要改变占空比的原因。
我尝试手动切换一个环路内的全部32个引脚、编程不太重、因为我不需要更改占空比等 不过、我只能以最大7MHz 的频率进行切换、而根据数据表、我认为应该可以使用25MHz。 这是我正在使用的代码,我将跳过 GPIO_togglePin ()函数的一些步骤,以尽可能快的速度执行。 不过、它只会导致7MHz 切换、而不会导致25MHz。 您知道我如何以最快的速度进行切换吗?

我只是通过这个线程解决了速度问题的一部分:for 循环添加了一些周期数。 使用背靠背切换而不是 for 循环、其频率为10MHz。 但是、这会出现问题、因为定点 MCU 没有 RPTB 功能。
Daniel、您好!
我能够运行与您的类似的环路、并且我设法实现了 大约25MHz 的 GPIO 切换频率。 我通过优化空间速度和充分优化程序来实现这一点(这可以在项目属性中实现)。 但是、也有一些 可能的问题:

波形明显地跳动、并且 峰值并不总是可预测的。 这可能是因为我使用的示波器 精度不是最高的、也可能是 Launchpad 周围的其他噪声/振荡的影响。
另一个可能的问题是、如果打开优化、则可能会导致程序的其他部分 出现意外行为、具体取决于优化在调试中的表现方式。 如果您愿意、可以尝试一下、但请记住、根据程序的其余部分执行的操作、可能会有一些问题。
此致、
Omer Amir