完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好!
我使用的是C28x芯片,利用其中2组PWM(共4路PWM输出口)作为驱动信号。我的设置方式为: EPWMxA与EPWMxB之间有死区,死区方式为DB_ACTV_HIC。 然后我发现,如果在程序运行时点HALT,EPWM 的A/B两个输出中一定有一个是输出为高的(即一高一低)。但是这样对我的硬件会造成损害。 我的理解是,因为我把EPWM配置成了互补的方式,所以当程序停下来的时候两者仍是处于互补状态的,所以一定是A/B两个口一个为高一个为低。 我的问题是,有没有办法在我HALT的时候,让EPWM输出全部归零? 或者如果是现实中假设电路出于保护的原因需要封闭PWM输出,那么我要如何设置才能使所有的PWM A/B口都为0,而不是一高一低地停下来? 谢谢各位! |
|
相关推荐
6 个讨论
|
|
Emily1225 发表于 2020-6-11 20:11 谢谢你,我用的是CCS4,好像没有看到breakpoint可以设置properties。 能不能请你告诉我在哪里设?给个截图也行。 谢谢。 或者换个方式说,如果我的EPWM正在正常输出,我突然来个中断需要把EPWM输出全部置0(在已设置为A/B路为互补的情况下),在软件上如何实现呢?我试过关断EPWM的时钟,不过好像不起作用。 |
|
|
|
|
|
szbliy 发表于 2020-6-11 20:22 谢谢,我用的是CCS4,好像软件里没有PAUSE这一项,只有HALT。 TBCTL的FREE-SOFT位我试过了,没有作用。我感觉是因为A/B被设成了互补的原因,所以无论什么状态下软件停下来,两路输出总会是一高一低的。 大家还有没有其它建议可以让我试试? 谢谢咯 |
|
|
|
|
|
60user144 发表于 2020-6-11 20:52 尝试一下使用TZ软件触发,在你上面提到的中断里加入以下配置: 在不需要PWM输出时: EALLOW; EPwm1Regs.TZSEL.bit.OSHT1 = 0x1; EPwm1Regs.TZCTL.bit.TZA = 0x02; EPwm1Regs.TZCTL.bit.TZB = 0x02; EPwm1Regs.TZFRC.bit.OST = 0x1; EDIS; 在需要PWM输出时: EALLOW; EPwm1Regs.TZCLR.bit.OST = 1; EDIS; If a post answers your question, please mark it with the "verify answer" button. |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
586 浏览 1 评论
425 浏览 1 评论
619 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
909 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
709 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
192浏览 29评论
1152浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
323浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
286浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
135浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-3 02:03 , Processed in 1.076646 second(s), Total 75, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号