完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本人在使用中需要四路APWM,分别用ECAP1,ECAP2,ECAP4,ECAP5做,四路pwm之间又需要移相,用于控制四路boost电路,其中ECAP1和ECAP2,ECAP4和ECAP5移相都没问题,但是ECAP1和ECAP4之间没法移相,出来的波形一直都是同步的。不知道为什么,是不是他们之间没法移相?
下面是我的代码: ECap1Regs.TSCTR = 0x0; ECap1Regs.ECCTL2.bit.APWMPOL = 0; ECap1Regs.ECCTL2.bit.CAP_APWM = 1; ECap1Regs.ECCTL2.bit.SYNCI_EN = 0;//0; //1 Ecap1 同步信号使能 跟随Epwm1。 0不同步 ECap1Regs.ECCTL2.bit.SYNCO_SEL = 1; ECap1Regs.ECCTL2.bit.TSCTRSTOP = 1; ECap2Regs.TSCTR = 0x0; ECap2Regs.ECCTL2.bit.APWMPOL = 0; ECap2Regs.ECCTL2.bit.CAP_APWM = 1; ECap2Regs.ECCTL2.bit.SYNCI_EN = 1; // Eca2 同步信号使能 跟随Ecap1 ECap2Regs.ECCTL2.bit.SYNCO_SEL = 0; ECap2Regs.ECCTL2.bit.TSCTRSTOP = 1; ECap4Regs.TSCTR = 0x0; ECap4Regs.ECCTL2.bit.APWMPOL = 0; ECap4Regs.ECCTL2.bit.CAP_APWM = 1; ECap4Regs.ECCTL2.bit.SYNCI_EN = 0; ECap4Regs.ECCTL2.bit.SYNCO_SEL = 1; ECap4Regs.ECCTL2.bit.TSCTRSTOP = 1; ECap5Regs.TSCTR = 0x0; ECap5Regs.ECCTL2.bit.APWMPOL = 0; ECap5Regs.ECCTL2.bit.CAP_APWM = 1; ECap5Regs.ECCTL2.bit.SYNCI_EN = 1; ECap5Regs.ECCTL2.bit.SYNCO_SEL = 0; ECap5Regs.ECCTL2.bit.TSCTRSTOP = 1; //BUCK ECap1Regs.CAP1 = 12000; //Set period value ECap1Regs.CTRPHS = 0; ECap1Regs.CAP2 = 3000; //Set Duty cycle ECap2Regs.CAP1 = 12000; //Set period value ECap2Regs.CTRPHS = 6000; ECap2Regs.CAP2 = 3000; //Set Duty cycle ECap4Regs.CAP1 = 12000; //Set period value ECap4Regs.CTRPHS = 3000; /*ECAP4这里设置移相值没有任何变化*/ ECap4Regs.CAP2 = 3000; //Set Duty cycle ECap5Regs.CAP1 = 12000; //Set period value ECap5Regs.CTRPHS = 6000; ECap5Regs.CAP2 = 3000; //Set Duty cycle |
|
相关推荐
7 个讨论
|
|
szbliy 发表于 2018-8-28 10:59 那么你的ECAP1模拟的EPWM的频率是多少呢? 实现移相时,4个APWM频率本身应该就是一样的吧? ECAP1进来的同步信号,是由EPWM1产生的,还是外部GPIO进来后bypass过来的? If a post answers your question, please mark it with the "verify answer" button. |
|
|
|
|
|
szbliy 发表于 2018-8-28 11:21 ECAP1,ECAP2,ECAP4,ECAP5做APWM的频率是多少都是12.5K。EPWM1是15K。 ECAP1和ECAP4没有做同步输入使能ECap1Regs.ECCTL2.bit.SYNCI_EN = 0;ECap4Regs.ECCTL2.bit.SYNCI_EN = 0; 我试了如果使能频率就不是我要的12.5K了。变成EPWM的频率了15K |
|
|
|
|
|
jiejiadz 发表于 2018-8-28 11:39 Okay,那么这样APWM1和APWM4是不能同步,不能移相的,因为你没有使用同一个同步信号,请仔细查看上面我发的截图,只有当它们都使用EPWM1的同步信号,或者由外部传入到EPWM1并bypass过来的同步信号,才能实现1和4的同步。 你可以试试在使用EPWM1的同步信号,频率为15k的情况下,APWM1和APWM4是否可以同步,或者移相。 If a post answers your question, please mark it with the "verify answer" button. |
|
|
|
|
|
szbliy 发表于 2018-8-28 11:57 试了程序,确实是都使用EPWM1的同步信号后,APWM1和APWM4才能同步。这样就必须设置EPWM和APWM的频率一致。不完美啊。因为实际电路中通常EPWM和APWM控制不同拓扑的电路。 谢谢指导 |
|
|
|
|
|
jiejiadz 发表于 2018-8-28 12:07 在使用ECAP实现APWM的过程中,它的同步机制本身就是存在两种,第一是所有APWM全部同步,那么只能使用EPWM1传递过来的同步信号,它可以是由EPWM1直接产生的,也可以是外部GPIO输入后由EPWM1 bypass过来的,第二种是部分同步,即APWM1~3同步,4~6同步,那么它们是ECAP内部同步。这些都可以从我上面提供的连接图看出来。 如果你有很严格的同步或移相需求,那么建议不要使用ECP来模拟,而需要使用更多EPWM通道的芯片来实现,比如F28377D. If a post answers your question, please mark it with the "verify answer" button. |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
356 浏览 1 评论
549 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
795 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
665 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1141 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
91浏览 29评论
360浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
267浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
217浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
70浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-30 09:15 , Processed in 1.004988 second(s), Total 57, Slave 49 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号