[STM32F4]

STM32 定时器 PWM输出 能不能产生这样的波形

[复制链接]
5083|42
手机看帖
扫描二维码
随时随地手机跟帖
wozaihuayu|  楼主 | 2018-7-9 09:21 | 显示全部楼层 |阅读模式
本帖最后由 wozaihuayu 于 2018-7-10 17:24 编辑

QQ图片20180709091501.png
周期相同,占空比不同,相位不同

主要是相位我不知道怎么错开。

周期比较小,一个周期只有1US,我试过不能用不同定时器延时得到。

能不能单纯用定时器实现,做过的朋友给个想法!



主从模式,初始值调整相位是可以的,已调试成功

换了新版本不知道怎么结贴了。。。。

fengfeng的恒| | 2018-7-9 13:35 | 显示全部楼层
我给一个想法,不知道可不可行。
用三个定时器,分别设置重装值都一样,即频率一样,然后设置不一样的初值,相位不一样,分别设置比较值,用做PWM输出。然后用一个外部触发同时打开几个定时器,同时输出PWM波形。

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
wozaihuayu + 3 很给力!
huzi2099| | 2018-7-9 18:15 | 显示全部楼层
本帖最后由 huzi2099 于 2018-7-9 18:17 编辑
wozaihuayu 发表于 2018-7-9 17:49
定时器可以随便用,网上的说法也都看了,就是看不明白,也做了实验,就是出不了波形!你给说下方法呗! ...

你先做一下定时器的同步触发,这个有例子,触发前的初装CNT就是相位.
一主两从的定时器配置

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
wozaihuayu + 3 很给力!
CYJMCU| | 2018-7-9 11:02 | 显示全部楼层
频率相同,占空比不同?

使用特权

评论回复
wozaihuayu|  楼主 | 2018-7-9 11:11 | 显示全部楼层
CYJMCU 发表于 2018-7-9 11:02
频率相同,占空比不同?

是这样滴,主要还是这个相位差,频率相同,占空比不同很好实现!

使用特权

评论回复
CYJMCU| | 2018-7-9 11:12 | 显示全部楼层
wozaihuayu 发表于 2018-7-9 11:11
是这样滴,主要还是这个相位差,频率相同,占空比不同很好实现!

占空比是固定的还是可调的?

使用特权

评论回复
wozaihuayu|  楼主 | 2018-7-9 11:14 | 显示全部楼层
CYJMCU 发表于 2018-7-9 11:12
占空比是固定的还是可调的?

固定的,图中就是三个波形,各自固定占空比,相同频率,只是相位不同!

使用特权

评论回复
CYJMCU| | 2018-7-9 11:22 | 显示全部楼层
wozaihuayu 发表于 2018-7-9 11:14
固定的,图中就是三个波形,各自固定占空比,相同频率,只是相位不同! ...

最简单的办法,使用一个定时器来进行定时,不同时间来切换控制不同的GPIO

使用特权

评论回复
wozaihuayu|  楼主 | 2018-7-9 11:27 | 显示全部楼层
CYJMCU 发表于 2018-7-9 11:22
最简单的办法,使用一个定时器来进行定时,不同时间来切换控制不同的GPIO ...

那要用到中断,中断太频繁,CPU干不了其他事儿了,再说,周期只有1us,估计进进出出中断时间用的就差不多了

使用特权

评论回复
huzi2099| | 2018-7-9 12:05 | 显示全部楼层
如果不闲浪费用三个定时器的同步方式肯定可以,相差任意可调

使用特权

评论回复
xmar| | 2018-7-9 14:55 | 显示全部楼层
改用FPGA就简单了。

使用特权

评论回复
通宵敲代码| | 2018-7-9 16:36 | 显示全部楼层
不清楚具体频率是多少,
不好妄言,
如果是低频的话,肯定没问题,有I/O模拟都行,
频率太高的话就不敢说了。

使用特权

评论回复
wozaihuayu|  楼主 | 2018-7-9 17:49 | 显示全部楼层
huzi2099 发表于 2018-7-9 12:05
如果不闲浪费用三个定时器的同步方式肯定可以,相差任意可调

定时器可以随便用,网上的说法也都看了,就是看不明白,也做了实验,就是出不了波形!你给说下方法呗!

使用特权

评论回复
wozaihuayu|  楼主 | 2018-7-9 17:49 | 显示全部楼层
xmar 发表于 2018-7-9 14:55
改用FPGA就简单了。

你这说的真是大实话!可惜FPGA不会

使用特权

评论回复
wozaihuayu|  楼主 | 2018-7-9 17:51 | 显示全部楼层
通宵敲代码 发表于 2018-7-9 16:36
不清楚具体频率是多少,
不好妄言,
如果是低频的话,肯定没问题,有I/O模拟都行,

周期1us 频率1MHZ啊,IO模拟不好实现,特别是短脉冲那个

使用特权

评论回复
huzi2099| | 2018-7-9 18:16 | 显示全部楼层
fpga也行,这个用cpld更合适.

使用特权

评论回复
wozaihuayu|  楼主 | 2018-7-9 18:41 | 显示全部楼层
fengfeng的恒 发表于 2018-7-9 13:35
我给一个想法,不知道可不可行。
用三个定时器,分别设置重装值都一样,即频率一样,然后设置不一样的初值 ...

有点道理

使用特权

评论回复
wozaihuayu|  楼主 | 2018-7-9 18:42 | 显示全部楼层
huzi2099 发表于 2018-7-9 18:15
你先做一下定时器的同步触发,这个有例子,触发前的初装CNT就是相位.
一主两从的定时器配置
...

想法不错,我刚找到BSP包中一主两从的例子,正好看到你建议,明天试下!

使用特权

评论回复
wozaihuayu|  楼主 | 2018-7-9 18:43 | 显示全部楼层
huzi2099 发表于 2018-7-9 18:16
fpga也行,这个用cpld更合适.

不会啊。。。

使用特权

评论回复
huzi2099| | 2018-7-9 18:47 | 显示全部楼层

可以学一下,代码不会很长,调试费些周折.

使用特权

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

本版积分规则

39

主题

260

帖子

4

粉丝