Other Parts Discussed in Thread: TMS320F28375D, C2000WARE, SYSCONFIG
主题中讨论的其他器件: C2000WARE、 SysConfig
您好
我将 TMS320F28375D 用于应用。 我将通过使用 CPU1中的计时器0来生成 ADC SOC。 我的 PWM 信号由 CPU2生成。 我可以以任何方式同步 CPU1中的计时器0和 CPU2中的 ePWM 吗?
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.
Other Parts Discussed in Thread: TMS320F28375D, C2000WARE, SYSCONFIG
您好
我将 TMS320F28375D 用于应用。 我将通过使用 CPU1中的计时器0来生成 ADC SOC。 我的 PWM 信号由 CPU2生成。 我可以以任何方式同步 CPU1中的计时器0和 CPU2中的 ePWM 吗?
尊敬的 Murali:
可以、IPC_SYNC()函数可 用于同时启动 CPU 计时器和 EPWM。
作为当前设置的替代方案、您是否可以在 CPU1上使用 ePWM 模块生成 ADC SOC? 您可能已经注意到、在一些单 CPU ePWM 示例中、"TBCLKSYNC"位用于同时启动多个 ePWM 的计时器。 还有一个"GTBCLKSYNC"位可被用于启动多个 CPU 上多个 ePWM 的定时器。
要使 ePWM 模块在不同内核上同时启动、您需要使用该"GTBCLKSYNC"(全局时基时钟同步)位。 如果您想查看、可以查看过去的 E2E 中与此类似的案例的描述: e2e.ti.com/.../3780146
此致、
艾里森
尊敬的 Allison:
我已经研究了它。 但我需要在一个开关周期中获取几个样本、例如10个样本。 如果我的理解是正确的、则使用单个 ePWM 模块生成 SOC 无法获得这么多的样本。 我也无法在同一通道上使用多个 EPWM 模块进行采样来获取过采样信号。 是否有使用 IPC_sync()函数的示例可以供我研究? 我在 C2000Ware 中没有找到任何信息。
谢谢!
穆拉利
尊敬的 Murali:
正确、 根据您的需要、ePWM 将无法在一个开关周期内支持足够的样本。
F2837xD 有一个使用 IPC_SYNC()的示例- IPC_ex2_GPIO_SysConfig 示例位于 {C2000Ware}\driverlib\f2837xd\examples\dual\ipc.you 可以使用 IPC_sync 函数同步两个内核。 仅当另一个内核也达到 IPC_SYNC 函数时、才会返回此函数。 以下是 CPU1和 CPU2使用标志31进行同步的示例:
在 CPU1侧: IPC_SYNC (IPC_CPU1_L_CPU2_R、IPC_FLAG31);
在 CPU2侧: IPC_SYNC (IPC_CPU2_L_CPU1_R、IPC_FLAG31);
使用 IPC_SYNC 后、您应该能够在一个 CPU 上启动 CPUTimer、并在另一个 CPU 上启动 EPWM、以便在 CPU 同步后恰好在同一时间开始。
此致、
艾里森