打印
[Kinetis]

K60使用FTM0输入捕捉脉冲计数

[复制链接]
4378|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
FSL_TICS_Robin| | 2014-6-6 13:42 | 只看该作者
楼主你好
请问你的FTM0的counter用的是哪个时钟源,分频系数多少?(其实就是FTM counter的增加频率是多少?)


使用特权

评论回复
板凳
FSL_TICS_Robin| | 2014-6-6 13:46 | 只看该作者
另外你提到FTM0输入捕捉脉冲计数是指:利用FTM模块的Input Capture mode模式,根据两次捕捉到脉冲时刻的counter差值计算时间吗?

使用特权

评论回复
地板
huizhen110|  楼主 | 2014-6-6 14:53 | 只看该作者
FSL_TICS_Robin 发表于 2014-6-6 13:46
另外你提到FTM0输入捕捉脉冲计数是指:利用FTM模块的Input Capture mode模式,根据两次捕捉到脉冲时刻的cou ...

能够家QQ聊 448276986

使用特权

评论回复
5
huizhen110|  楼主 | 2014-6-6 14:59 | 只看该作者
FSL_TICS_Robin 发表于 2014-6-6 13:42
楼主你好
请问你的FTM0的counter用的是哪个时钟源,分频系数多少?(其实就是FTM counter的增加频率是多少 ...

使用的是总线频率,分频系数128,根据公式:输入脉冲频率=总线频率/分频系数/计数器计数值

使用特权

评论回复
6
FSL_TICS_Robin| | 2014-6-6 15:01 | 只看该作者
huizhen110 发表于 2014-6-6 14:53
能够家QQ聊 448276986

有什么问题还是在论坛里解决的好,以便今后别人遇到相同问题也有个参考。
工作日我们都有工程师在线回答问题的,我们热情的网友如果会的也会帮助你参与讨论。

使用特权

评论回复
7
FSL_TICS_Robin| | 2014-6-6 15:05 | 只看该作者
本帖最后由 FSL_TICS_Robin 于 2014-6-6 15:10 编辑
huizhen110 发表于 2014-6-6 14:59
使用的是总线频率,分频系数128,根据公式:输入脉冲频率=总线频率/分频系数/计数器计数值 ...

那么请问你的总线频率是多少呢?
因为你的counter是16位的,最大也就是65535
如果你的总线频率50MHz,那么输入脉冲频率min=50000000/128/65535=5.9605...Hz

使用特权

评论回复
8
huizhen110|  楼主 | 2014-6-6 15:07 | 只看该作者
FSL_TICS_Robin 发表于 2014-6-6 15:01
有什么问题还是在论坛里解决的好,以便今后别人遇到相同问题也有个参考。
工作日我们都有工程师在线回答 ...

好的,谢谢。您看一下这是我的输入频率为10hz的时候 输出的结果如下,基本上正常。
Freq = 9Hz
Freq = 9Hz
Freq = 9Hz
Freq = 9Hz
Freq = 9Hz
Freq = 9Hz
Freq = 9Hz
Freq = 9Hz
Freq = 10Hz
Freq = 10Hz
Freq = 9Hz
Freq = 9Hz
Freq = 10Hz
Freq = 9Hz
Freq = 9Hz
Freq = 9Hz
Freq = 10Hz
Freq = 9Hz
Freq = 9Hz
可是当我的输入频率为3HZ的时候却不正常了,求解答啊

Freq = 6Hz

Freq = 6200Hz

Freq = 6Hz

Freq = 6Hz

Freq = 6Hz

Freq = 4763Hz

Freq = 6Hz

Freq = 6Hz

Freq = 7812Hz

Freq = 6Hz

Freq = 6Hz

Freq = 6Hz

Freq = 6Hz

Freq = 6Hz

Freq = 5Hz

Freq = 3867Hz

Freq = 7812Hz

Freq = 6Hz

使用特权

评论回复
9
huizhen110|  楼主 | 2014-6-6 15:12 | 只看该作者
huizhen110 发表于 2014-6-6 15:07
好的,谢谢。您看一下这是我的输入频率为10hz的时候 输出的结果如下,基本上正常。
Freq = 9Hz
Freq = 9Hz ...

明白了,看来我得修改总线频率以适应脉冲频率

使用特权

评论回复
10
huizhen110|  楼主 | 2014-6-6 15:14 | 只看该作者
FSL_TICS_Robin 发表于 2014-6-6 15:05
那么请问你的总线频率是多少呢?
因为你的counter是16位的,最大也就是65535
如果你的总线频率50MHz,那么 ...

明白了,看来我得修改总线频率以适应脉冲频率

使用特权

评论回复
11
FSL_TICS_Robin| | 2014-6-6 15:16 | 只看该作者
huizhen110 发表于 2014-6-6 15:12
明白了,看来我得修改总线频率以适应脉冲频率

要不你把counter溢出中断也计算进去?
在溢出中断的函数中添加一些语句处理

使用特权

评论回复
12
jd972594| | 2014-6-6 15:26 | 只看该作者
我以前做过输入捕捉,也遇到这样的问题。
当时发现捕捉频的频率不准会跳变,查出来也是counter周期比信号周期短了。
不过我们信号频率没这么低,所以改大分频系数就ok了。

使用特权

评论回复
13
huizhen110|  楼主 | 2014-6-6 16:12 | 只看该作者
jd972594 发表于 2014-6-6 15:26
我以前做过输入捕捉,也遇到这样的问题。
当时发现捕捉频的频率不准会跳变,查出来也是counter周期比信号周 ...

分频系数最大只能到128,我的也出现不准 那你们怎么解决的?

使用特权

评论回复
14
jd972594| | 2014-6-6 16:19 | 只看该作者
huizhen110 发表于 2014-6-6 16:12
分频系数最大只能到128,我的也出现不准 那你们怎么解决的?

我们一开始分频系数是1呀,所以改大些counter的溢出周期就比脉冲间隔大了。
当时设置小的counter溢出周期是为了分辨率更细些,对于脉冲频率的区分更精细。


使用特权

评论回复
15
jd972594| | 2014-6-6 16:21 | 只看该作者
huizhen110 发表于 2014-6-6 16:12
分频系数最大只能到128,我的也出现不准 那你们怎么解决的?

版主说的那种在FTM counter溢出中断的方法好像可以,你可以试一下。
因为每次溢出你软件可以把counter值增加一个MOD的量嘛。溢出一次就算多了65535

使用特权

评论回复
16
huizhen110|  楼主 | 2014-6-6 17:17 | 只看该作者
jd972594 发表于 2014-6-6 16:21
版主说的那种在FTM counter溢出中断的方法好像可以,你可以试一下。
因为每次溢出你软件可以把counter值 ...

降低了总线频率,出现的问题跟你一样,捕捉的频率不准会跳变

使用特权

评论回复
17
FSL_TICS_Robin| | 2014-6-9 09:16 | 只看该作者
huizhen110 发表于 2014-6-6 16:12
分频系数最大只能到128,我的也出现不准 那你们怎么解决的?

楼主你好
请问你通过降低总线频率到多少后依旧有问题?
是否已经满足7#楼脉冲频率与总线频率关系?

使用特权

评论回复
18
huizhen110|  楼主 | 2014-6-9 21:56 | 只看该作者
FSL_TICS_Robin 发表于 2014-6-9 09:16
楼主你好
请问你通过降低总线频率到多少后依旧有问题?
是否已经满足7#楼脉冲频率与总线频率关系? ...

依然不准,而且计数值波动很大

使用特权

评论回复
19
FSL_TICS_Robin| | 2014-6-10 16:27 | 只看该作者
huizhen110 发表于 2014-6-9 21:56
依然不准,而且计数值波动很大

能给组数据看一下怎么个不准或跳动吗?

使用特权

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

本版积分规则

2

主题

29

帖子

0

粉丝