"Thread:SysConfig"中讨论的其他器件
大家好
我想通过增加相移角来使 EPWM7相对于 EPWM6实现180°的相移、但只会干扰 PHSEN 和 TBPHS 不能满足我的用途。我还需要哪些寄存器来配置?
波形如下,CH5/CH7-EPWM6;CH6/CH8-EPWM7。我希望 EPWM6和 EPWM7的波形在相移后相互补充。



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.
大家好
我想通过增加相移角来使 EPWM7相对于 EPWM6实现180°的相移、但只会干扰 PHSEN 和 TBPHS 不能满足我的用途。我还需要哪些寄存器来配置?
波形如下,CH5/CH7-EPWM6;CH6/CH8-EPWM7。我希望 EPWM6和 EPWM7的波形在相移后相互补充。



尊敬的 Ethan:
为了将一个 ePWM 模块与另一个 ePWM 模块同步、来自主 ePWM 的 SYNCOUT 信号必须连接到从 ePWM 上的 SYNCIN 信号。 在 F28004x 上、不同 ePWM 模块上的 SYNCOUT 和 SYNCIN 信号之间的连接是固定的。 请参阅"时基计数器同步方案"图以查看具体连接。
对于您的用例、唯一可以在 EPWM7上引起相移的 ePWM 模块是 EPWM1和 EPWM4。 是否可以使用 EPWM4和 EPWM7而不是 EPWM6和 EPWM7? 如果不是这样、有一种权变措施可在 EPWM7上引起 SYNCIN 事件、该事件由 EPWM6提供、使用 CLB 和 XBAR。
谢谢!
Luke
,Luke
感谢您的帮助。我使用 EPWM4作为 SYNCOUT 源,、EPWM7接收同步脉冲信号,180°相移控制可以实现。
但在我的测试过程中、发生了以下问题:
工作频率高时、EPWM7波形在相移后丢失。
2.随着工作频率的降低,出现 EPWM7的波形,但 EPWM7A 为高电平,EPWM7B 为低电平。
3、工作频率持续降低、相移后 EPWM7的波形正常、这是我想要的。
上述问题只会在程序初始化后的第一次频率调整过程中出现(从高到低的频率)、并且在随后的调整过程中相移控制是正常的、闭环控制程序如下:


波形如下,CH3/CH4-EPWM4;CH5/CH7-EPWM6;CH6/CH8-EPWM7。






Luke、您好!
感谢您的帮助。我的问题已经解决,问题 的原因是 下降沿和上升沿延迟在高频下过长。
现在有一个新的问题:我的电路是双向 LLC 电路,在前向操作过程中, EPWM7可以实现相对于 EPWM4,的180°相移、但在反向运行时、EPWM4需要相对于 EPWM7实现180,相移。通过阅读 F28004X 的数据手册°EPWM7SYNCIN 寄存器位的 EPWM7SYNOUT 被保留、我写入的相移配置功能将不起作用。
我想知道我的理解是否正确、如果正确、是否有其他方法可以实现 EPWM4相对于 EPWM7的相移控制?
或者、 相对于 EPWM7、EPWM4是否可以实现高级相移?


尊敬的 Ethan:
无法直接通过 F28004x 上的 EPWM7使 EPWM4同步、但是有一种权变措施可以使用 CLB 和 XBAR 实现这一点、正如我之前提到的、我已经在本主题中进行了介绍:
请告诉我、这是否可以解决您的问题。
Luke、您好!
我以前没有使用过 CLB 和 XBAR 函数、对于您推荐的方法、我的理解是:
EPWM7SYNOUT 被发送到 空 GPIO (例如、 GPIO33)端口连接输出 X-BAR。
2.使用 GPIO 端口作为 EXTSYNCIN1并通过输入 x-BAR 将其传输到 ePWM 模块
3.将 EPWM4SYNCIN 配置为101后、配置相移角 TBPHS。
我想知道我的理解是否正确、如果正确、我应该配置哪些寄存器来实现输入/输出 X-BAR 函数?
此外、如何将 EPWM7SYNCOUT 配置为 EXTSYNCOUT?
谢谢!


尊敬的 Ethan:
您的理解与我在上一主题中的解释略有不同,但实际上是一个更简洁的解决方案,因为 CLB 不是必需的:)
要配置 XBAR、我强烈建议使用 SysConfig 来简化此过程。 否则、您可以使用 INPUTxSELECT 寄存器配置 INPUTXBAR 和 OUTPUT1MUX0TO15CFG/OUTPUTxENABLE 寄存器来配置 OUTPUTXBAR。
SYNCSELECT 寄存器用来选择 EPWM7SYNCOUT 作为 EXTSYNCOUT 源。
如果您有任何其他问题、请告诉我
Luke、您好!
我需要实现图中所示的同步效果,、但现在我的程序无法实现预期的控制。 我的程序如下。 您能帮我检查是否存在配置错误吗?
我的理解是、EPWM7SYNOUT 到 EXTSYNOUT、EXTSYNOUT 到 GPIO5和 GPIO5到 EXTSYNCIN1的传输没有实现、但我在数据手册中没有找到相应的寄存器设置

//GPIO5,EXTSYNCOUT
InputXbarRegs.INPUT3SELECT = 5;
GpioCtrlRegs.GPADIR.bit.GPIO26 = 0;
GpioCtrlRegs.GPAPUD.bit.GPIO26 = 0;
GpioCtrlRegs.GPAQSEL2.bit.GPIO26 = 3;
//EPWM7SYNCOUT
EPwm7Regs.TBCTL.bit.SYNCOSEL = 1;//同步输出选择,01:CTR =零:时基计数器等于零(TBCTR = 0x00)
SyncSockRegs.SYNCSELECT.bit.SYNCOUT = 2;//10:选择 EPWM7SYNCOUT
OutputXbarRegs.OUTPUT1MUX0TO15CFG.bit.MUX0 = 1;//01:为 Mux0选择.1输入
OutputXbarRegs.OUTPUT1MUXENABLE.bit.MUX0 = 1;//1:启用 Mux0的各自输出以驱动的 Output1
GpioCtrlRegs.GPAGMUX2.bit.GPIO5 = 1;
GpioCtrlRegs.GPAMUX2.bit.GPIO5 = 1;EPwm7Regs.TBCTL.bit.PHSEN = 0;// 0:不从 TBPHS 加载 TBCTR
EPwm7Regs.TBPHS.bit.TBPHS = 0;//相移角度
//EPWM4SYNCIN 到 EXTSYNCIN1
EPwm4Regs.TBCTL.bit.SYNCOSEL = 0;
SyncSockRegs.SYNCSELECT.bit.EPWM4SYNCIN = 5;//101:选择 EXTSYNCIN1
EPwm4Regs.TBCTL.bit.PHSEN = 1;// 0:不要从 TBPHS 加载 TBCTR
EPwm4Regs.TBPHS.bit.TBPHS = 0;
Luke、您好!
我将 GPIO5配置为输出引脚、但它仍然无法正常工作。 我想这是因为 EPWM7SYNCOUT 没有传输到 GPIO5、而 GPIO5没有传输到 EPWM4SYNCIN。
我不熟悉 X-BAR、也不知道应该配置哪些寄存器来实现我的目标。那么、您能帮我检查是否存在配置错误吗?
下面是我的代码:
//GPIO5-SYNCO 的引脚
GpioCtrlRegs.GPADIR.bit.GPIO5 = 1;
GpioCtrlRegs.GPAPUD.bit.GPIO5 = 0;
GpioCtrlRegs.GPAQSEL1.bit.GPIO5 = 3;
GpioCtrlRegs.GPAMUX1.bit.GPIO5 = 3;//3:输出 XBAR3
GpioCtrlRegs.GPAGMUX1.bit.GPIO5 = 1;
EPwm7Regs.TBCTL.bit.SYNCOSEL = 1;//同步输出选择,01:CTR =零:时基计数器等于零(TBCTR = 0x00)
SyncSockRegs.SYNCSELECT.bit.SYNCOUT = 2;//10:选择 EPWM7SYNCOUT
OutputXbarRegs.OUTPUT3MUX0TO15CFG.bit.MUX14=3;//11:为 Mux14选择.3输入
OutputXbarRegs.OUTPUT3MUXENABLE.bit.MUX14 = 1;//1:启用 Mux14的相应输出以驱动 OUTPUT3
OutputXbarRegs.OUTPUTLATCHENABLE。bit.OUTPUT3 = 1;
OutputXbarRegs.OUTPUTINV.bit.OUTPUT3=1;
EPwm7Regs.TBCTL.bit.PHSEN = 0;// 0:不要从 TBPHS 加载 TBCTR
EPwm7Regs.TBPHS.bit.TBPHS = 0;//相移角度
InputXbarRegs.INPUT5SELECT = 5;//GPIO5使用 X-BAR INPUT5
SyncSockRegs.SYNCSELECT.bit.EPWM4SYNCIN = 5;//101:选择 EXTSYNCIN1
EPwm4Regs.TBCTL2.bit.PRDLDSYNC=2;//10:只有当接收到同步时、才会发生 TBPRD 的影子到活动加载。
EPwm4Regs.TBCTL.bit.SYNCOSEL = 3;//11:禁用 EPWMSYNCO
EPwm4Regs.TBCTL.bit.SWFSYNC = 1;
EPwm4Regs.TBCTL.bit.PHSEN = 1;// 0:不要从 TBPHS 加载 TBCTR
EPwm4Regs.TBPHS.bit.TBPHS = 100;
谢谢!
尊敬的 Ethan:
你为什么把 OUTPUTINV.bit.OUTPUT3配置为1。 我相信这会导致除了生成同步源外、您的 EXTSYNCOUT 始终为高电平。 您是否能够通过示波器观察 GPIO5上的 EXTSYNCOUT? 您的 EPWM7输出和 EPWM4输出是否正常? 也许 EPWM7 PHSEN 未被正确禁用、从而导致 TBCTR 处于一个从两个 ePWM 特征到同时同步异步的恒定循环中。
除了 OUTPUTINV 之外、在正确生成 SYNCOUT 信号并将其发送到 INPUTXBAR5 -> EXTSYNCIN1方面、您的代码看起来是正确的。 如果发现任何其他问题、我将尝试测试您的代码并在明天之前提供反馈。