搜索
bottom↓
回复: 11

STM32输入捕获16路信号的思路和疑问

[复制链接]

出70入0汤圆

发表于 2023-2-13 09:38:01 | 显示全部楼层 |阅读模式
100汤圆
现在有16路PWM信号需要测量,频率10~60Khz,占空比10%~90%。

需要比较准确的测量出每一路PWM信号的频率和占空比。

初步思路是用stm32的1个定时器同时测量4路输入捕获,用4个定时器,这样测量16路信号。这样做能实现功能没问题吧?

如果一个定时器的4路捕获信号上升沿和下降沿同时出现(假设就是4个输入捕获通道都接到同一个信号上了),这时候对每一路的测量有什么影响?会不会出现检测丢失,或者测量不准确?

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2023-2-13 10:55:32 | 显示全部楼层
这么多路用FPGA测量最省事吧,精度有保证。

出70入0汤圆

 楼主| 发表于 2023-2-13 11:10:26 | 显示全部楼层
陆小凤之北京 发表于 2023-2-13 10:55
这么多路用FPGA测量最省事吧,精度有保证。
(引用自2楼)

精度不需要很高,频率和占空比误差小于5%就行了,因为信号是阶梯变化的,不是连续渐变。
功能实现就行,主要是用STM32按照这个思路做,会不会存在丢信号,漏掉一个上升沿或者下降沿

出0入442汤圆

发表于 2023-2-13 13:22:40 来自手机 | 显示全部楼层
绿茶山人 发表于 2023-2-13 11:10
精度不需要很高,频率和占空比误差小于5%就行了,因为信号是阶梯变化的,不是连续渐变。
功能实现就行, ...

(引用自3楼)

要保证检测到,你必须得20倍采样,所以要120khz的检测频率,然后要做16个读io操作,然后再计算累计长度,电平变化之后输出h/l时间,在外面计算占空比。所以理论上够用。48mhz主频,160khz中断频率,直接读io,精度5%理论上问题不大。

出1310入193汤圆

发表于 2023-2-13 13:31:25 | 显示全部楼层
采样率高于采样目标频率      *   15-20

出0入76汤圆

发表于 2023-2-13 14:34:59 来自手机 | 显示全部楼层
STM32用4个定时器(4*4)输入捕获肯定是没问题的!
你是10K~60K,  还是10Hz~60KHz啊,低频范围的时候程序上加一个定时器溢出次数记录计算就可以啦。

出70入0汤圆

 楼主| 发表于 2023-2-13 14:56:10 | 显示全部楼层
foxpro2005 发表于 2023-2-13 14:34
STM32用4个定时器(4*4)输入捕获肯定是没问题的!
你是10K~60K,  还是10Hz~60KHz啊,低频范围的时候程序上 ...
(引用自6楼)

10K~60K频率

出10入18汤圆

发表于 2023-2-13 17:03:35 | 显示全部楼层
用树莓派公司的那个pico单片机,他那个有一个协助的状态机pio,可以编程,简易版的fpga,不过用他的状态机语言编程。

出70入0汤圆

 楼主| 发表于 2023-2-13 21:53:13 | 显示全部楼层
wye11083 发表于 2023-2-13 13:22
要保证检测到,你必须得20倍采样,所以要120khz的检测频率,然后要做16个读io操作,然后再计算累计长度, ...
(引用自4楼)

你这个直接硬读IO口状态,简单粗暴啊

出0入76汤圆

发表于 2023-2-14 11:23:38 | 显示全部楼层
你这个如果使用STM32,可以Timers 4X4,但不能直接去使用PWM输入模式: 这个模式是使用了TIMx_CH1/CH2信号,一个周期一个占空比;
只能使用捕获模式,要自己根据上下沿的定时器计捕获值,计算频率和占空比。
它们都是有捕获影子寄存器的,不用担心同时输入时由于响应读取时间上造成的误差。

出70入0汤圆

 楼主| 发表于 2023-2-14 11:36:10 | 显示全部楼层
foxpro2005 发表于 2023-2-14 11:23
你这个如果使用STM32,可以Timers 4X4,但不能直接去使用PWM输入模式: 这个模式是使用了TIMx_CH1/CH2信号 ...
(引用自10楼)

明白了,谢谢!

出0入0汤圆

发表于 2023-6-29 12:05:32 | 显示全部楼层
这需要你对STM32的定时器输入捕获的了解程度,STM32的定时器通道中可以通过控制寄存器去调整和修改,CH0是可以实现同时上下边沿捕获,需要切换详细需要看STM32的内部定时器框图,里面有详细的说明,其它通道只能上升沿或者下降沿只允许一种触发,可以通过打开中断,在中断中去切换,这样的效率会低一些,当然测试的频率不高是不明显的,这个要看芯片的主频和定时器的时钟源输入的频率有关,时钟源输入越高精度也高,使用DMA处理也会比中断处理好。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-27 13:40

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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