打印
[应用相关]

多路PWM输入捕获模式下 脉宽和频率测量

[复制链接]
598|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lvben5d|  楼主 | 2022-10-10 08:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1. 目前一个项目用到4路 频率大概 1K左右的PWM脉冲输入,需要捕捉脉冲 计算占空比来获得高低电平的百分比,第一次使用,思考方案中,有一个点没想明白,如果使用向上计数模式,正常设计的时候(情况),就算计数65535溢出后,(对于有的定时器可以重复计数 就可以自动从0开始) 那对于AT32没有重复计数器的 是不是自己管理进中断后,set0后再打开??  对于有重复计数的定时器,假设65535溢出产生多次,那从哪个寄存器去读出溢出次数? 当溢出次数满后,此时应该要清0重新开始,这个时候会不会因为暂停或清0导致某一次计算失效,必须等到复位后才可以?
  
2. TIM1有4路输入,大概1ms就会有1路 脉冲边沿中断 3次, 那么4路就会有12次   程序会反复进入,由于频率不太快,还可以让MCU处理一点其他事情。等我写入代码再仔细体会下。

使用特权

评论回复
沙发
tanleitanlei| | 2022-10-10 14:57 | 只看该作者
使用TMR的PWM输入功能,当捕获到一个周期波形后,counter值自动清零(可参考BSP内PWM_input demo),但这种方法一个定时器只能捕获一路PWM波形,不过TMR多的是,你想要的4路完全可以实现。
外部输入的频率大概范围是 知道的,可以根据这个范围配置TMR的设置,达到不会导致溢出的情况即可。

使用特权

评论回复
板凳
lvben5d|  楼主 | 2022-10-10 15:26 | 只看该作者
没错的,只有知道外部频率范围,可以比较好的设定采样时钟频率(65535以内计数 可以识别完整波形),至于TMR1可以采4路输入 问题不大,同一个中断入口进去 查询标志位来区分哪个,跟其他定时器单独来说。  例程参考了学到了,TIMER1是可以重复计数的。

使用特权

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

本版积分规则

95

主题

746

帖子

12

粉丝