有什么好办法用IO口线检查60KHZ频率的信号?

[复制链接]
3476|17
 楼主| 许世霞 发表于 2012-10-17 09:41 | 显示全部楼层 |阅读模式
我首先想到的就是用软件采样。但感觉这个肯定不妥。
jjjyufan 发表于 2012-10-17 10:34 | 显示全部楼层
有何不妥?
zlh6630 发表于 2012-10-17 10:39 | 显示全部楼层
是精度问题?精度要求不高的话应该没什么问题
论坛游客 发表于 2012-10-17 11:02 | 显示全部楼层
有CAP功能没有
没有的话  用定时器中断呀
coody 发表于 2012-10-17 11:29 | 显示全部楼层
有何不妥?MCU测频很常用,有的MCU可以到几MHZ至几十MHZ。
virtualtryon 发表于 2012-10-17 13:05 | 显示全部楼层
本帖最后由 virtualtryon 于 2012-10-17 13:10 编辑

60KHZ的信号,周期是16us,用A/D采样的话,采样间隔至少要小于8us,普通单片机肯定达不到这么高的速度的.
应该用脉宽捕捉 CCP功能,或者是
用电平跳变中断+定时器中断或主程序定时查询,
定义一变量A.
在电平跳变中断中,只把变量A加1,应该能在几us完成.
在一固定时间内(定时器中断或者主程序定时查询),通过变量A的值计算频率.
注意,不同中断之间以及主程序之间的资源互斥问题.
 楼主| 许世霞 发表于 2012-10-17 14:49 | 显示全部楼层
因为我对自己的想法没信心。随便说的不成熟。
可以用外部触发中断,多采样几个,就可以算频率了呀。
我看一个同事为了验证输出频率正常,将该频率信号输出到一个高频变压器上,然后有整流滤波稳压,最后看稳压后的电压是不是对的来判定频率信号是否输出正常。我觉得这样做是不是有点多余呢?
baiyunfei.k.f 发表于 2012-10-17 15:34 | 显示全部楼层
本帖最后由 baiyunfei.k.f 于 2012-10-17 15:36 编辑

7# 许世霞
接到计数器或者示波器上不就验证了吗
程序金左手 发表于 2012-10-17 16:32 | 显示全部楼层
直接上外部中断。。。。。不可以吗。。。
 楼主| 许世霞 发表于 2012-10-17 21:18 | 显示全部楼层
8# baiyunfei.k.f 我现在为了实现功能,不是为了验证
夏日飞鹰 发表于 2012-10-17 22:43 | 显示全部楼层
先将信号分频再处理吧,在软件上乘以一定的倍率
chenyu988 发表于 2012-10-18 08:07 | 显示全部楼层
采集过零点不就行了吗?
chenyu988 发表于 2012-10-18 08:08 | 显示全部楼层
硬件用差分比例运放电路,软件采集过零点
zd420325 发表于 2012-10-18 09:09 | 显示全部楼层
用双核单片机
zd420325 发表于 2012-10-18 09:10 | 显示全部楼层
一个核运行主程序,另一个核循环查询,两核并行运行,第二核不受中断影响,单核最快运行到8MHz
不亦心 发表于 2012-10-18 09:14 | 显示全部楼层
见过51用定时器加外部中断做的上GHz的频率计
teddeng 发表于 2012-10-18 12:45 | 显示全部楼层
不能用定时器么,允许1~2ms测量一次的话,精度随便上万分之一。
corset 发表于 2012-10-18 13:10 | 显示全部楼层
直接用个计数器芯片,每秒刷新并读取。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

439

主题

3781

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部