你好 我在使用贵司的 TMS320F28335进行 NPC 型三电平程序调试时 发现 UVW 三相 每次在相电压 由 负脉冲 转换为 正脉冲的时候 发生第一个正脉冲丢掉的情况 实际软件计算出来了 第一个正脉宽,但是 PWM 硬件没有执行 PWM 设定如下,开关频率2000HZ, 采样频率 也是2KHZ, 即500us 一次 以 U 相的为例, 设定如下 EPMW1 A CAU= 1 EPMW1 A CAD= 2 EPMW1 B CAU= 1 EPMW1 B CAD= 2 DB. INMODE =2 DB. POLSEL= 2 DB. OUTMODE= 3 DB.RED=300 DB.FED=300 PWM 初始相位都为0 ,CMP 映射模式, 每次CTR=PRD 时加载新值 最终的 输出的PWM1B 对于NPC 三电平的U 相T1管, PWM1A 为 T3管 当 U 相在负半周期内, CMP 的值一直为PRD,此时T1一直为低电平,在 U 相由负半周转换为正半周时的第一个脉冲, 此时 程序会算出一个新CMP ,且CMP 肯定是大于0 小于PRD 的值 即在负半周期的第20个周期 当计数器走到CTR= PRD 时, EPWM1B 需要由原来的 CMP=prd (此时 和之前的20个周期该通道一直低电平),更新为 一个新的CMP 值,且在此位置,由于新CMP 值小于当前CTR值 此时CTR值肯定等于PRD ,且是减计数,该通道需要由低电平翻转为高电平, 但实际测试 PWM 在此位置没有动作, 但在后续的19个周期内,动作正常 我们的程序在2407的 DSP 上也运行过,程序是一样的,没有该现象, 所以我们很迷惑为什么会出现这个现象,2407和28335的PWM 有何不同? 另外 在别的书上看到,说CTR=0 和CTR=PRD 时如果设定CMP 值也是0 或者PRD时,某些情况下会延时一个周期才有波形输出,请问我上面提到的问题是否就是类似的某些情况,具体是什么原因导致的呢? 此种情况该如何解决, 我尝试过 把工频负半周时的 CMP 由PRD 改为 PRD-1 ,丢的第一个脉冲能发出了,但出了新问题 与该通道互补的 T3管子会 在本来全高的位置冒出很多窄脉冲,(估计是脉宽=2的脉冲再被死区放大,输出了 2+300宽带的脉宽了) 以上问题还请TI 的老师帮助解决,
Nancy Wang:
请去c2000论坛咨询。
e2echina.ti.com/…/