打印
[STM32F3]

PWM不能同步

[复制链接]
489|36
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xxmmi|  楼主 | 2022-10-9 19:53 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
在使用STM32F3的TIM1和TIM8产生8路PWM时,有一个问题,就是最后使能TIM1和TIM8时,由于不能同时使能,所以两个定时器里产生出来的PWM不能同步,有一个相位差。

使用特权

评论回复
沙发
xxmmi|  楼主 | 2022-10-9 20:00 | 只看该作者
用库函数使能如下,发现相位差较大。
TIM_Cmd(TIM1,ENABLE);//使能TIM1
TIM_Cmd(TIM8,ENABLE);//使能TIM8
改用寄存器使能如下:
TIM1->CR1|=0x01;     //使能定时器1
TIM8->CR1|=0x01;     //使能定时器8
使用寄存器使能可以减小相位差,但是不能使两个PWM同步,请问有没有人有办法可以帮我解决这个困难?

使用特权

评论回复
板凳
heweibig| | 2022-10-9 20:03 | 只看该作者
用外部信号来触发两个定时器。

使用特权

评论回复
地板
wyjie| | 2022-10-9 20:05 | 只看该作者
比方T1 配置为外部输入触发,TS=101(TI1FP1)SMS =110(触发模式),配置T1的MMS= 001,T1的使能信号作为TRGO输出到T8.

使用特权

评论回复
5
llljh| | 2022-10-9 20:08 | 只看该作者
配置T8在T1的TRGO触发下开始运行,配置TS=000,SMS=110

使用特权

评论回复
6
heweibig| | 2022-10-9 20:10 | 只看该作者
其中一个定时器的主模式输出设置为使能,即TIMx_CR2的MMS为001。

使用特权

评论回复
7
yszong| | 2022-10-9 20:13 | 只看该作者
另外一个设置为从模式,方式选触发。TIMx_SMCR的SMS为110。

使用特权

评论回复
8
dingy| | 2022-10-9 20:15 | 只看该作者
这样设置好了后启动第一个定时器时,第二个会自动启动。

使用特权

评论回复
9
xxrs| | 2022-10-9 20:19 | 只看该作者
https://mp.weixin.qq.com/s?__biz=MzA3OTIxMjQyNQ==&mid=2650948503&idx=1&sn=79f8a8c510c420c6ae04b411f1a59fd8&chksm=84401971b3379067554b5af78033b915322caf2ca299217ec32cf10475cc0927f7aad2a9cb87&token=1630281518&lang=zh_CN#rd

使用特权

评论回复
10
xxmmi|  楼主 | 2022-10-9 20:22 | 只看该作者
/* Select the Master Slave Mode */
  TIM_SelectMasterSlaveMode(TIM1, TIM_MasterSlaveMode_Enable);
  /* Master Mode selection */
  TIM_SelectOutputTrigger(TIM1, TIM_TRGOSource_Enable);

  TIM_SelectSlaveMode(TIM8, TIM_SlaveMode_Trigger);
  TIM_SelectInputTrigger(TIM8, TIM_TS_ITR0);

运行后T1 MMS=001    T8 SMS=0X06 ;

使用特权

评论回复
11
yszong| | 2022-10-9 20:25 | 只看该作者
波形看看

使用特权

评论回复
12
xxmmi|  楼主 | 2022-10-9 20:26 | 只看该作者

使用特权

评论回复
13
xxmmi|  楼主 | 2022-10-9 20:28 | 只看该作者
一样不同步

使用特权

评论回复
14
xxmmi|  楼主 | 2022-10-9 20:30 | 只看该作者
改成TIM_SelectSlaveMode(TIM8, TIM_SlaveMode_Gated);,就好了

使用特权

评论回复
15
午夜粪车| | 2022-10-9 20:32 | 只看该作者
用一个定时器触发2路 pwm

使用特权

评论回复
16
yszong| | 2022-10-9 20:37 | 只看该作者
能否把配置程序分享一下,谢谢。我现在也是遇到这个问题,改成了门控模式但是TIM8 无输出..

使用特权

评论回复
17
chuxh| | 2022-10-9 20:40 | 只看该作者
其实基本原理就是 主定时器的计数器使能信号作为 从定时器的触发输出, 从定时器配置在 触发从模式。

使用特权

评论回复
18
renyaq| | 2022-10-9 20:42 | 只看该作者
这样就可以保证同步启动,不会产生相差。

使用特权

评论回复
19
chenjunt| | 2022-10-9 20:45 | 只看该作者
STM32的两个Timer定时器同步模式和两个ADC同步采样模式的工作原理类似,就是一主一从,主的使能信号同时作为从的使能信号,继而实现同步运行功能。

使用特权

评论回复
20
AloneKaven| | 2022-10-9 20:50 | 只看该作者
看看波形

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

369

主题

4278

帖子

2

粉丝