如何测量周期变化的PWM信号占空比
本帖最后由 fcccc 于 2021-6-9 22:31 编辑问题:
使用的TIM3输入捕捉,上升下降沿都触发中断,中断读取捕获值,来测量一个周期和占空比都变化的PWM信号的占空比;
频率从500HZ~2Khz,占空比从0~100%;实时性要求需要在2个周期内测出来准确的占空比.
遇到的麻烦是当占空比很低,或者很高的时候,也就是下降沿和上升沿时间间隔非常小,定时器输入捕捉无法准确抓到两个相邻边沿,偶尔丢失一个边沿就造成本来接近99.9%的占空比测成了50%;
有什么好的解决办法吗?
用FPGA或CPLD做就很好实现 lidi911 发表于 2021-6-10 07:44
用FPGA或CPLD做就很好实现
不现实 本帖最后由 tanleitanlei 于 2021-6-10 10:48 编辑
可以参考bsp内,Pwm输入捕获demo。感觉你这种中断内获取数据的处理方式在极限情况下获取捕获的数据容易覆盖 tanleitanlei 发表于 2021-6-10 10:47
可以参考bsp内,Pwm输入捕获demo。感觉你这种中断内获取数据的处理方式在极限情况下获取捕获的数据容易覆盖 ...
就是这个意思,在极限位置容易出错. fcccc 发表于 2021-6-10 11:14
就是这个意思,在极限位置容易出错.
所以用bsp内的pwm输入捕获demo,这种模式捕获的值存在cc1和cc2两个寄存器内的,中断内获取这两个寄存器值,然后计算。应该可以解决问题 把输入捕获的频率拉到最高 这个很重要,没有必要的。
最好是使用信号发生器来进行处理,要比较好一些了。
数据手册上有长时间或短时间的解决方案的。当然有些时候需要你软件上做智慧的处理的。 最小周期如果小于一次中断的处理时间就会出问题,否则都应该是稳定的
使用定时器捕获实现难度不大,如果周期太短,比如1兆以上的频率,需要把定时器捕获送入到dma,在dma的中断中可以完成10兆左右的捕获 wangshujun 发表于 2021-6-11 14:26
最小周期如果小于一次中断的处理时间就会出问题,否则都应该是稳定的
使用定时器捕获实现难度不大,如果周 ...
好的多谢指点,这个方法应该可以. 最好是使用信号发生器。
页:
[1]