Other Parts Discussed in Thread: TMS320F28075
尊敬的专家:
我的工作是 在微控制器 Piccolo (TMS320F28075)上开发一个用于电机控制的应用。
我对 CMPSS2子系统进行了编程、以通过跳变区保护 EPWM2。
下面是我的设置:
Cmpss2Regs.CTRIPHFILCTL.bit.SAMPWIN = 31;
Cmpss2Regs.CTRIPHFILCTL.bit.THRESH = 30;
Cmpss2Regs.CTRIPHFILCLKCTL.bit.CLKPRESCALE = 2;
Cmpss2Regs.CTRIPHFILCTL.bit.FILINIT = 1;
为了验证我 的代码的有效性、我在实验室进行了一些试验测试。
成功证明当我施加 高于阈值(115mA)的直流电流(130mA)时、跳匣区域会强制使 PWM 信号处于高电平。
因此、 如果我施加阶跃输入信号、一切都正常 。
然后、我通过施加具有相同振幅(脉冲振幅再次为150mA)的脉冲信号执行了一些实验测试。
我证实了这一点 如果脉冲宽度低于10ms、子系统 CMPSS2不会触发跳变区 。
此外、我验证了寄存器 Cmpss2Regs.COMPHSTS.bit.COMPHLATCH 始终为0。
总结:
-一切运行良好, 一个步进输入信号;
- cmpss 不 适用于宽度小于10ms 的脉冲信号。
为什么 CMPSS 的运行取决于信号的宽度?
我计算出 数字滤波器的宽度为(SAMPWIN+1)/(SYSCLK/(CLKPRESCALE+1))=32/(12000000000/3)=800ns
此致、
贝尼托