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.
工具/软件:Code Composer Studio
您好,
我正在使用 TI LaunchPad 测试 两个 DSP 之间的 PWM 同步.... 我有两个 LaunchPad 我正在使用一个 DSP-1板的 EPWM4 作为其他 DSP-2板的同步信号.....
我正在检查示波器上两个 DSP 板的 EPWM1A。。 两个董事局的职责相同,为0.75%...... 我正在连接 PWM 信号的 sanpshot…
黄色的一个是 DSP-1板 EPWM1A PWM 脉冲.....
蓝色的一个是 DSP-2板 EPWM1A PWM 脉冲...
我无法理解为什么两个 PWM 不能完全匹配????...
为什么黄色一条的下降与蓝色一条的上升相匹配?????
为什么两个 DSP 板的上升沿和下降沿都不完全匹配???
我看到 TBSTS 寄存器 的 SYNCI 位 ..it 被设置为1…… 当 EXTSYNCIN1在调试模式下发生时...
您好!
[引用 user="vishal sapara"]
我无法理解为什么两个 PWM 不能完全匹配????...
[/报价]
您使用的是什么相位配置? 在 DSP-1中、用于生成同步输出的脉冲是什么?在 DSP-2中、TBPHS 配置是什么?
这些设置可能会添加偏移。
[引用 user="vishal sapara"]
为什么两个 DSP 板的上升沿和下降沿都不完全匹配???
[/报价]
如果同步已正确配置并正常工作-由于同步脉冲生成、DSP-2中输入的同步等涉及的延迟、边沿之间的周期差异可能仍然很小 但这可以通过 TBPHS 进行调节。
[引用 user="vishal sapara"]
为什么黄色一条的下降与蓝色一条的上升相匹配?????
[/报价]
我想不出具体的原因。 为了确保确实发生同步-您可以在 DSP-2中关闭 PHSEN、观察输出、然后启用 PHSEN。 这样、您将同步 PWM 输出。
非常感谢您的回复。
您使用的是什么相位配置? 在 DSP-1中、用于生成同步输出的脉冲是什么?在 DSP-2中、TBPHS 配置是什么?
我正在从 DSP-1生成 ePWM、并使用该 PWM (EPWM4A)进行同步输入 、并将其连接到 DSP-2中的 GPIO-32 、然后通过 INPUTXBAR-5将其连接到 DSP-2中的 EXTSYNCIN1 以实现 EPWM1A 同步。 并启用 TBPHS 相位加载、从而发生 EXTSYNCIN1事件... 下面是我的 PWM 配置 。
我在两个 DSP 中使用相同的 PWM 配置...
EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN;//向上计数
EPwm1Regs.TBPRD = EPWM1_TBPRD;//设置定时器周期
EPwm1Regs.TBCTL.bit.PHSEN = TB_ENABLE;//禁用相位加载
EPwm1Regs.TBPHS.bit.TBPHS = 0x0000;//相位为0
EPwm1Regs.TBCTR = 0x0000;//清除计数器
EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1;//时钟与 SYSCLKOUT 的比率
EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV1;
//将影子寄存器加载设置为零
EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;
EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;
EPwm1Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO;
//设置比较值
EPwm1Regs.CMPA.bit.CMPA = 0;//设置比较 TBPRD 的一半值
EPwm1Regs.CMPB.BIT.CMPB = 0;//设置 TBPRD 的比较 B 值暂停
//设置操作
EPwm1Regs.AQCTLA.bit.CAU = AQ_CLEAR;//在事件 A 上设置 PWM1A、递增计数
EPwm1Regs.AQCTLA.bit.CAD = AQ_SET;//在事件 A 上清除 PWM1A、递减计数
EPwm1Regs.AQCTLB.bit.CBU = AQ_CLEAR;//在事件 B 上设置 PWM1B、递增计数
EPwm1Regs.AQCTLB.bit.CBD = AQ_SET;//在事件 B 上清除 PWM1B,倒计数
//去带设置
EPwm1Regs.DBCTL.bit.OUT_MODE = DB_FUL_ENABLE;//红色和馈电均有效
EPwm1Regs.DBCTL.bit.POLSEL = DB_ACTV_HIC;//高电平有效互补(AHC)。 EPWM7B 反相。
EPwm1Regs.DBCTL.bit.IN_MODE = DBA_RED_DBB_FED;//EPwm1A 是 FED 和 RED 的源
EPwm1Regs.DBRED = ePWM_死 区;//上升沿上的死区延迟为2us
EPwm1Regs.DBFED = ePWM_死 区;//下降沿上的死区延迟为2us
我想不出具体的原因。 为了确保确实发生同步-您可以在 DSP-2中关闭 PHSEN、观察输出、然后启用 PHSEN。 这样、您将同步 PWM 输出。
我在示波器上看到 过当我不将 SYNC 信号用于其他 DSP-2时...
示波器中的蓝色一个脉冲表示它的运行方式是滚动方式...当我连接 SYNC 信号时...蓝色一个脉冲相对于 黄色一个变得稳定,它现在不是滚动方式,这意味着它与黄色同步.....
如果同步已正确配置并正常工作-由于同步脉冲生成、DSP-2中输入的同步等涉及的延迟、边沿之间的周期差异可能仍然很小 但这可以通过 TBPHS 进行调节。
我在软件中做了一个更改,现在我能够完全同步两个 PWM……我之前使用50%占空比的 PWM (EPWM4A),它用于同步目的……现在我使用1%占空 比的 PWM (EPWM4A),它用于同步目的 同步目的..
我的问题是,脉冲打开时间对同步 的影响是什么??
ePWM 频率为3kHz… 用于同步的 PWM 也具有3kHz 开关频率...... ePWM 时钟为100MHz、是内部 PLL 时钟的一半、200MHz。
您好!
您应该知道 PWM 现在以同步方式运行。
不过,我建议作出一些改动。
对于 DSP-1、由于同步与此 DSP 无关、因此应禁用同步。
EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE;
这应该只对 DSP-2打开。
为了实现同步、无需使用 PWM4。
您可以使用 DSP-1 PWM1来生成 SyncOut。 请参考 TBCTL[SYNCOSEL]寄存器并根据您的要求进行选择。
您需要进一步配置 SYNCSEL.SYNCOUT 并在 GPIO/输出 XBAR 中配置为同步输出。
此外、如上所述、将 PWM4A 用作两个 PWM 的同步信号没有任何问题。 您将仅出于同步生成的目的而浪费 PWM4、而如上所述、还有其他方法可以执行此操作。
[引用 user="vishal sapara"]我的问题是,脉冲导通时间对同步 事件的影响是什么??
导通时间不应影响导通时间、除非导通时间跨越多个 PWM 周期。 同步是根据输入的上升沿进行的。