大家好、
我不熟悉微控制器。 目前、我正在尝试了解 TI 控制套件中需要应用于 PMSM 控制的 Example_2833xEqep_pos_speed。 我一直处于 由 ePWM 触发的中断状态、我的代码如下所示:
#IF (CPU_FRQ_150MHz)
#define CPU_CLK 150e6
#endif
#IF (CPU_FRQ_100MHz)
#define CPU_CLK 100e6
#endif
#define PWM_CLK 5e3 // 5kHz (300rpm) EPWM1频率。 频率 可以在此处更改
#define SP CPU_CLK/(2*PWM_CLK)
#define TBCTLVAL 0x200E //向上向下计数、时基= SYSCLKOUT
void initEpwm()
{
EPwm4Regs.ETSEL.All=0x0A;// PRD 上的中断
EPwm4Regs.ETPS.All=1;
EPwm4Regs.ETFLG.All=0;
EPwm4Regs.ETCLR.All=0;
EPwm4Regs.ETFRC.All=0;
EPwm4Regs.PCCTL.All=0;
EPwm4Regs.TBCTL.ALL=0x0010+TBCTLVAL;//启用定时器
EPwm4Regs.TBPRD=SP;
}
我不确定两个中断之间的时间间隔是多久 、这取决于我标记为红色的两个寄存器、如果我想每0.1ms 计算一次速度和位置、我应该将值更改为什么。
谢谢、
杨善