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.
团队、
我们的客户正在提供 f28p650的 c2000ware PWM 死区生成示例、此示例可在不同的死区配置中配置6个模块。
根据示例代码、它们在具有以下死区设置(400和200)的 ePWM4输出上测试有源高互补模式、但会产生没有死区的互补 PWM (请参阅随附的示波器快照)、您能检查相同的内容吗? ?
此外、在时钟树中配置 PWMclock2的除法/2会产生200.0 MHz 的 PWM 时钟(尽管它显示为100 MHz )、除法/1会提供100MHz。在 SysConfig 工具(1.17)中、您能否检查相同的内容。
Ty、
CY (针对客户)
谢谢。
Chris、您好!
检查 RED 和 FED 的影子模式加载启用可修复死区生成的问题。
拉胡尔
拉胡尔
很高兴您能够解决这个问题
此致
西达尔特
是的、感谢您的努力、Rahul 和最新消息。
根据您的离线消息、如果 PWM 频率仍然是问题、请告知我们。
我们将暂时使该线程保持打开状态。
再次感谢您、
克里斯
大家好、Chris 和 Rahul、
除了 Rahul 提到的内容外,当前使用 C2000Ware 5.00.00.00版本生成的 SysConfig 代码,要启用死区影子加载模式,请确保选中启用红色阴影模式和启用 FED 影子模式的复选框。
在下一个 C2000Ware 版本中、我们已更新设置以正确配置是否禁用了死区影子加载模式。
user5948470 说:此外、时钟树中 PWMclock 的除法/2配置会产生200.0 MHz 的 PWM 时钟(虽然它显示为100 MHz) 、除法/1会给出100MHz、在 SysConfig 工具(1.17)中、您能不能再检查一下?
Chris、
我检查了时钟树. 它根据 EPWMCLKDIV 的值生成代码并使用 driverlib 函数 SysCtl_setEPWMClockDivider () 设置 EPWM 模块的时钟。
请检查 device.c 文件、并告诉我在您选择不同的分频器值时它是否发生变化。
此致、
哈迪
你好,Hadi,谢谢你的 答复,
我想我知道是什么导致了这个问题,我检查了自动生成的代码,它设置值1和2而不是0和1分别为/1和/2分频器,请参阅下面的代码管理。
此外、我在独立模式下使用 SysConfig 工具(1.18.0+3266)生成源文件、这意味着不使用编译器时间调用。
此外,注意到在你自动生成的代码输入参数是宏和我的版本它的常数值,你知道如何配置它以使用宏吗?
尊敬的 Rahul:
如您所见、driverlib 函数正在使用 EPWMCLKDivider 的枚举来处理所有调用。
如果使用 C2000ware 版本5、将自动生成宏。
此致、
哈迪
Hadi,
感谢您的回复、正如您在 SysConfig 文件顶部下方附加的快照中看到的、该文件提到使用 c2000ware 5.0版本保存。 但是、正如我提到过的 、我将在保存文件时 手动 使用该工具而不是使用 CLI 调用、不确定这是否有区别。
Rahul、
抱歉、我们在发布版本5后修复了此功能。
要解决此问题,您需要替换 中的函数 SysCtl_setEPWMClockDivider ()。 使.xdt 有效 C2000ware 目录中的文件: C2000Ware_5_00_00_00\driverlib\.meta\device\functions_c\Clocktree] 、下面提供了函数:
SYSCTL_setEPWMClockDivider (SYSCTL_EPWMCLK_DIV_Θ` evice_CLK_EPWM_DIV `D);
此致、
哈迪