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.
现象:
两个独立的 DSP (TMS320F28069PAG)分别生成固定频率(20kHz)和固定占空比(50%)的 PWM。 使用示波器测试两个 DSP 的 PWM 波形。 将 PWM 上升沿之一设置为触发)。 此时、两个 DSP 以相同的频率和相同的占空比输出 PWM、但 PWM 之间存在相对运动。 两个 DSP 晶振的频率为20MHz、内部时钟为90MHz。 所有电路保持不变。
两个 DSP 晶振的频率为20MHz、内部时钟为90MHz。 所有电路保持不变。
ePWM 配置如下:
EPwm1Regs.TBCTL.bit.PRDLD = TB_SHADOW;
EPwm1Regs.TBPRD = EPWM1_TIMER_TBPRD;
EPwm1Regs.CMPA.half.CMPA = EPWM1_TIMER_TBPRD;
EPwm1Regs.CMPA.half.CMPAHR = 0;
EPwm1Regs.CMPB = EPWM1_TIMER_TBPRD;
EPwm1Regs.TBPHS.ALL = 0;
EPwm1Regs.TBCTR = 0;
EPwm1Regs.TBPHS.Half.TBPHS = 0;
EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN;
EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE;
EPwm1Regs.TBCTL.bit.PHSDIR = TB_UP;
EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_DISABLE;
EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1;
EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV1;
EPwm1Regs.TBCTL.bit.FREE_SOFT = 3;
EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_Zero_PRD;
EPwm1Regs.CMPCTL.bit.LOADBMODE = CC_CTR_Zero_PRD;
EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;
EPwm1Regs.AQCTLA.bit.ZRO= AQ_SET;
EPwm1Regs.AQCTLA.bit.PRD= AQ_CLEAR;
您好!
由于两个 DSP 的 ePWM 时钟不同步 、因此 PWM 之间存在相对运动。 您可能需要使用时基同步方案来同步2个 PWM、其中一个 DSP 的 EPWM1可用于同步另一个 DSP 中的 PWM。
谢谢
Vasudha
Vasudha 的建议是正确的、您应该使用 PWM 的外部同步机制。
如果您希望消除缓慢的长期漂移同步、则可以将相同的时钟源共享给两个器件。 这应该使它们保持非常相似、只会因微小的 PLL 差异而变化。
此致、
Cody