TI中文支持网
TI专业的中文技术问题搜集分享网站

关于如何计算eCAP模块中CAP寄存器捕获时间间隔

        例如,CAP1、CAP2分别捕获俩上升沿,应该如何计算这两个上升沿的间隔,从而计算出频率呢?

假如说这是一个50HZ正弦波连续的两个过零点,那么CAP1、CAP2捕获的时间间隔应该为20ms,这个值应该如何计算得到?希望能回答的具体点,感谢

anfu lee:

@Yi Su1,

  So easy! 下载并安装controlSUITE, 找你所选的Device,里边有大量的example project,一般都有ecap_apwm和ecap_capture_pwm这两个Project, 仔细查看代码,你就会明白!

        例如,CAP1、CAP2分别捕获俩上升沿,应该如何计算这两个上升沿的间隔,从而计算出频率呢?

假如说这是一个50HZ正弦波连续的两个过零点,那么CAP1、CAP2捕获的时间间隔应该为20ms,这个值应该如何计算得到?希望能回答的具体点,感谢

Yi Su1:

回复 anfu lee:

就是对这一部分不太明白才这么问,比如说捕获时间的范围是32位计数器的计数范围还是哪个范围,时基是否与所设的系统时钟有关?

        例如,CAP1、CAP2分别捕获俩上升沿,应该如何计算这两个上升沿的间隔,从而计算出频率呢?

假如说这是一个50HZ正弦波连续的两个过零点,那么CAP1、CAP2捕获的时间间隔应该为20ms,这个值应该如何计算得到?希望能回答的具体点,感谢

Yi Su1:

大概解决了,谢谢

        例如,CAP1、CAP2分别捕获俩上升沿,应该如何计算这两个上升沿的间隔,从而计算出频率呢?

假如说这是一个50HZ正弦波连续的两个过零点,那么CAP1、CAP2捕获的时间间隔应该为20ms,这个值应该如何计算得到?希望能回答的具体点,感谢

Emma Wang:

首先,请确认计数模式是Absolute time mode还是 time difference (delta) mode

两者有很大的区别:

1.在Absolute time mode下,您需要的结果为:

TSt1 = ECap1Regs.CAP1;

TSt2 = ECap1Regs.CAP2;

Period=TSt2-TSt1;

2.在time difference (delta) mode下,您需要的结果为:

TSt2 = ECap1Regs.CAP2;

Period=TSt2;

在以上两种情况中,都需要考虑系统频率,换算公式如下:

系统时钟频率为Fsys,则实际结果应为time=Period/Fsys;

希望我的解答能够帮助到你。

赞(0)
未经允许不得转载:TI中文支持网 » 关于如何计算eCAP模块中CAP寄存器捕获时间间隔
分享到: 更多 (0)