搜索

[AT32F421] 如何测量周期变化的PWM信号占空比

[复制链接]
567|12
fcccc|  楼主 | 2021-6-9 22:29 | 显示全部楼层 |阅读模式
本帖最后由 fcccc 于 2021-6-9 22:31 编辑

问题:
使用的TIM3输入捕捉,上升下降沿都触发中断,中断读取捕获值,来测量一个周期和占空比都变化的PWM信号的占空比;
频率从500HZ~2Khz,占空比从0~100%;实时性要求需要在2个周期内测出来准确的占空比.
遇到的麻烦是当占空比很低,或者很高的时候,也就是下降沿和上升沿时间间隔非常小,定时器输入捕捉无法准确抓到两个相邻边沿,偶尔丢失一个边沿就造成本来接近99.9%的占空比测成了50%;

有什么好的解决办法吗?

使用特权

评论回复
lidi911| | 2021-6-10 07:44 | 显示全部楼层
用FPGA或CPLD做就很好实现

使用特权

评论回复
fcccc|  楼主 | 2021-6-10 09:42 | 显示全部楼层
lidi911 发表于 2021-6-10 07:44
用FPGA或CPLD做就很好实现

不现实

使用特权

评论回复
tanleitanlei| | 2021-6-10 10:47 | 显示全部楼层
本帖最后由 tanleitanlei 于 2021-6-10 10:48 编辑

可以参考bsp内,Pwm输入捕获demo。感觉你这种中断内获取数据的处理方式在极限情况下获取捕获的数据容易覆盖

使用特权

评论回复
fcccc|  楼主 | 2021-6-10 11:14 | 显示全部楼层
tanleitanlei 发表于 2021-6-10 10:47
可以参考bsp内,Pwm输入捕获demo。感觉你这种中断内获取数据的处理方式在极限情况下获取捕获的数据容易覆盖 ...

就是这个意思,在极限位置容易出错.

使用特权

评论回复
tanleitanlei| | 2021-6-10 11:44 | 显示全部楼层
fcccc 发表于 2021-6-10 11:14
就是这个意思,在极限位置容易出错.

所以用bsp内的pwm输入捕获demo,这种模式捕获的值存在cc1和cc2两个寄存器内的,中断内获取这两个寄存器值,然后计算。应该可以解决问题

使用特权

评论回复
fanwei700615| | 2021-6-10 17:22 | 显示全部楼层
把输入捕获的频率拉到最高

使用特权

评论回复
别看我照片| | 2021-6-10 18:14 | 显示全部楼层
这个很重要,没有必要的。

使用特权

评论回复
最好是使用信号发生器来进行处理,要比较好一些了。

使用特权

评论回复
zhamatu| | 2021-6-11 10:28 | 显示全部楼层
数据手册上有长时间或短时间的解决方案的。当然有些时候需要你软件上做智慧的处理的。

使用特权

评论回复
wangshujun| | 2021-6-11 14:26 | 显示全部楼层
最小周期如果小于一次中断的处理时间就会出问题,否则都应该是稳定的
使用定时器捕获实现难度不大,如果周期太短,比如1兆以上的频率,需要把定时器捕获送入到dma,在dma的中断中可以完成10兆左右的捕获

使用特权

评论回复
fcccc|  楼主 | 2021-6-15 15:35 | 显示全部楼层
wangshujun 发表于 2021-6-11 14:26
最小周期如果小于一次中断的处理时间就会出问题,否则都应该是稳定的
使用定时器捕获实现难度不大,如果周 ...

好的多谢指点,这个方法应该可以.

使用特权

评论回复
可爱的烧饼| | 2021-6-15 17:13 | 显示全部楼层
最好是使用信号发生器。

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

本版热帖

本版活跃用户

优质原创写原创,赢大奖

编辑推荐

  • 1 wolfe_yu 得到打赏 ¥180.00
  • 2 最美葫芦娃 得到打赏 ¥155.00
  • 3 hk386 得到打赏 ¥75.00
  • 4 火星国务卿 得到打赏 ¥63.00
  • 5 两只袜子 得到打赏 ¥56.00
  • 6 laocuo1142 得到打赏 ¥50.00
  • 7 linghz 得到打赏 ¥45.00
  • 8 gaon2 得到打赏 ¥45.00
  • 9 ezcui 得到打赏 ¥45.00
  • 10 jlc317 得到打赏 ¥40.00
在线客服 快速回复 返回顶部 返回列表