TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS570LS3137: 使用协处理器输出PWM时会有波形不准的情况

Part Number:TMS570LS3137

你好,我使用TMS570LS3137的协处理器输出PWM波形,代码如下:

  1. L01   PWCNT { next=L02,hr_lr=LOW,cond_addr=L02,en_pin_action=ON,pin=20,action=PULSEHI,reg=NONE,data=0};
  2. L02   DJZ { next=PWM_IN_Duty1,cond_addr=L03,reg=NONE,data=0};
  3. L03   MOV64 { next=L04,remote=L01,en_pin_action=ON,cond_addr=L02,pin=20,comp_mode=ECMP,action=PULSEHI,reg=NONE,irq=ON,data=0};
  4. L04   MOV64 { next=PWM_IN_Duty1,remote=L02,en_pin_action=ON,cond_addr=L03,pin=20,comp_mode=ECMP,action=CLEAR,reg=NONE,irq=ON,data=0};

在通常情况下,这样输出的PWM是没有问题的,但是我发现如果主处理器在改变其它HET引脚的输出(如主处理器改变HET4、HET7引脚输出,协处理器通过HET20引脚输出PWM),此时输出的PWM将会不准,我使用如下一段代码进行了实验(协处理器代码不变):

  1. drvSetABSyn((FLOAT32)0.5, 700U);
  2. drvSoftwareDelaySomeMs(10000U);
  3. while(1)
  4. {
  5.     hetREG1->DOUT &= (uint32)(~(((uint32)1U) << 4));
  6.     hetREG1->DOUT |= ((uint32)1U) << 7;
  7.     hetREG1->DOUT |= ((uint32)1U) << 4;
  8.     hetREG1->DOUT &= (uint32)(~(((uint32)1U) << 7));
  9. }

第一行通过修改协处理器的内存输出占空比为50%,频率为700HZ的PWM波形,第二行延时10秒,之后循环控制HET的第四和第七引脚。最终的输出结果如下图:

其中黄线是HET20引脚输出的PWM波形,可以明显看出,在主处理器控制HET引脚前波形是没问题的,在控制后PWM就异常了。

请问发生这个现象的原因是什么?有什么解决方法?

Eirwen:

Hi

感谢您对TI产品的关注!为更加有效地解决您的问题,建议你在美国E2E上发帖 e2e.ti.com/,将由资深的英文论坛工程师为您提供帮助。

,

peng liu:

e2e.ti.com/…/tms570ls3137-when-the-coprocessor-is-used-to-output-pwm-the-waveform-is-inaccurate

赞(0)
未经允许不得转载:TI中文支持网 » TMS570LS3137: 使用协处理器输出PWM时会有波形不准的情况
分享到: 更多 (0)