OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3847|回复: 7

求助怎么通过定时器产生频率为1HZ脉宽调节精度为1us的pwm

[复制链接]

15

主题

74

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
414
金钱
414
注册时间
2016-2-24
在线时间
155 小时
发表于 2017-5-28 22:07:03 | 显示全部楼层 |阅读模式
10金钱
                                  最近正在做一个项目,需要产生一个1hz频率,脉宽调节精度为一微秒的pwm信号;现在的问题是,如果通过调节arr和psc产生1hz的pwm信号,那么它的调节精度会有十几微妙;;如果将调节精度设置到1us,那么最低只能调到十几赫兹的频率;
现在我需要一个1hz频率脉宽调节精度1us的pwm信号,该怎么实现??


拜托大家了!!


救急救急!!

最佳答案

查看完整内容[请看2#楼]

谢谢您的回答,问题已经解决了,用的是定时器级联;主定时器控制频率的输出,从定时器设置为单次触发模式,psc设置为71这样就可以产生任意频率脉宽精度为1us的时钟信号了!!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

15

主题

74

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
414
金钱
414
注册时间
2016-2-24
在线时间
155 小时
 楼主| 发表于 2017-5-28 22:07:04 | 显示全部楼层
操作系统 发表于 2017-5-29 08:05
我感觉你的这个问题没有描述清楚.你是要调频率,还是要调占空比呀.如果是要调占空比,103没有问题.你如果是想 ...

谢谢您的回答,问题已经解决了,用的是定时器级联;主定时器控制频率的输出,从定时器设置为单次触发模式,psc设置为71这样就可以产生任意频率脉宽精度为1us的时钟信号了!!
回复

使用道具 举报

50

主题

1805

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6662
金钱
6662
注册时间
2016-5-29
在线时间
910 小时
发表于 2017-5-28 22:39:30 | 显示全部楼层
使用STM32F334可以完成这功能.里面有高精度定时器HRTIM.
回复

使用道具 举报

15

主题

74

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
414
金钱
414
注册时间
2016-2-24
在线时间
155 小时
 楼主| 发表于 2017-5-28 22:57:22 | 显示全部楼层
操作系统 发表于 2017-5-28 22:39
使用STM32F334可以完成这功能.里面有高精度定时器HRTIM.

F103ZET6的芯片不能实现么,好纠结,不想换芯片啊
回复

使用道具 举报

3

主题

238

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1366
金钱
1366
注册时间
2016-5-26
在线时间
1698 小时
发表于 2017-5-28 23:50:49 | 显示全部楼层
仅瞎想没试过:
先把定时器A设成Center-aligned、周期1秒/步进0.5毫秒,并设成Compare-pulse模式的主定时器,这样它可以在每1秒生成两个主定时器触发,他们的间隔是任意整毫秒数x。
定时器B做为它的从定时器,one-pulse模式,其中一个通道比较输出脉冲宽度0.5毫秒,这样就实现了每秒生成两个宽度0.5毫秒的脉冲,其间隔是x毫秒;把这个脉冲设为主定时器Compare模式触发源。
然后定时器C做为B的Gated模式从定时器,Center-aligned、周期1毫秒/步进0.5微秒;其中一个通道做Toggle模式的输出,比较值是y;那么这个通道输出引脚的脉冲宽度似乎就是x毫秒y微秒。
淘汰人的从来是工具而不是年龄
嵌入式的冷知识屋 blog.csdn.net/k_o_carnivist
回复

使用道具 举报

50

主题

1805

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6662
金钱
6662
注册时间
2016-5-29
在线时间
910 小时
发表于 2017-5-29 08:05:28 | 显示全部楼层
我感觉你的这个问题没有描述清楚.你是要调频率,还是要调占空比呀.如果是要调占空比,103没有问题.你如果是想调节频率.还要看一下你的频率范围
回复

使用道具 举报

15

主题

74

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
414
金钱
414
注册时间
2016-2-24
在线时间
155 小时
 楼主| 发表于 2017-6-7 21:00:51 | 显示全部楼层
K.O.Carnivist 发表于 2017-5-28 23:50
仅瞎想没试过:
先把定时器A设成Center-aligned、周期1秒/步进0.5毫秒,并设成Compare-pulse模式的主定时 ...

谢谢您的回答,问题已经解决了,用的是定时器级联;主定时器控制频率的输出,从定时器设置为单次触发模式,psc设置为71这样就可以产生任意频率脉宽精度为1us的时钟信号了!!
回复

使用道具 举报

10

主题

70

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
272
金钱
272
注册时间
2016-7-13
在线时间
41 小时
发表于 2018-4-9 16:48:33 | 显示全部楼层
大佬能不能再详细的说下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-9 13:48

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表