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
尊敬的团队:
我想使用 ePWM 生成低于脉冲的电流。
每31ms 应重复此模式。
根据我的理解、总周期为31ms、应 以固定宽度540us 和910us 生成两个低电平脉冲。
根据我的理解、如果我们使用所需的值进行递增-递减计数器和 CMPA 负载、并且计数器始终与计数器进行比较、并且 如果匹配、它会检查 AQCTLA 是否使 EPWMA 变为高电平和低电平。
请告诉我、是否可以使用 ePWM 生成此类脉冲? 如果是、请提供概念或代码片段。
谢谢你。
此致、
Upender Reddy M
您的帖子已分配给专家。 他们很快就会回来。 感谢您的耐心等待。
编辑:哎呀、Devin 打败了我。
惠特尼
您好!
感谢您的澄清。
目前、我正在尝试 生成 PWM、如上所述。 下面是我的配置、并针对不同脉冲切换新的周期和比较值。
EPwm1Regs.TBPRD = 1406;周期为2ms
EPwm1Regs.CMPA.half.CMPA = 395;占空比为540us
EPwm1Regs.TBCTR = 0;//清除 TB 计数器
EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN;//对称
EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE;//相位加载被禁用
EPwm1Regs.TBCTL.bit.PRDLD = TB_SHADOW;
EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_DISABLE;
EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1;// TBCLK = SYSCLKOUT
EPwm1Regs.TBCTL.bit.CLKDIV = 6;//TB_DIV1;
EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADODE;//CC_SHADOW;
EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;
EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;// CTR 上的负载=零
EPwm1Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO;// CTR 上的负载=零
EPwm1Regs.AQCTLA.bit.CAU = AQ_SET;
EPwm1Regs.AQCTLA.bit.CAD = AQ_CLEAR;
//中断,我们将在其中更改比较值
EPwm1Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO;//ET_CTR_ZERO;//选择零事件上的 INT
EPwm1Regs.ETSEL.bit.INTEN = 1;//启用 INT
EPwm1Regs.ETPS.bit.INTPRD = et_1st;//et_3rd;//在第三个事件发生时生成 INT
每当中断低于 ISR 时、iam 切换周期和 compa 值。 切换的初始值为0。
_interrupt void epwm1_ISR (void)
{
//更新 CMPA 和 CMPB 值
//update_compare (&epwm1_info);
切换++;
if (toggle ==1)
{
EPwm1Regs.TBPRD = 1406;
EPwm1Regs.CMPA.half.CMPA = 395;
}
否则、如果(TOGGLE == 2)
{
EPwm1Regs.TBPRD = 20374;
EPwm1Regs.CMPA.half.CMPA = 510;
TOGGLE = 0;
}
其他
{
}
//清除此计时器的 INT 标志
EPwm1Regs.ETCLR.bit.INT = 1;
//确认此中断以接收来自组3的更多中断
PieCtrlRegs.PIEACX.ALL = PIEACK_Group3;
}
但能够在示波器周期上看到变化(2ms 和29ms)、但宽度不变、保持初始值(EPwm1Regs.CMPA.half.CMPA = 395;)
根据我在影子模式下当 TBCTR 达到零时的理解、影子寄存器值将加载到活动寄存器中。
请告诉我如何解决这个问题? 请参阅附加脉冲文件(Hope 之前也随附)
谢谢你。
此致、
Upender Reddy M