Board logo

标题: 用STM32触发捕捉实现高速高精度测频(2) [打印本页]

作者: yuyang911220    时间: 2015-5-30 21:41     标题: 用STM32触发捕捉实现高速高精度测频(2)


图6 中断程序流程图
  LED动态扫描通过系统定时器SysTick发生中断时更新,1 ms刷新一次LED显示。
结语
  上述测频采用了定时器对内部时钟CK_INT计数到1 s, 输出溢出触发复位定时器2, 定时器2对外部信号进行计数,此次对外部频率进行了4分频,而内部时钟为72 MHz。根据采样定理,最大频率可以测到72 MHz×4/2=144 MHz,由于实验室条件所限,只有120 MHz的信号发生器,经过测量可准确无误地显示120 MHz,最低可以测到4 Hz。若设置为最大分频数是8,则最大频率可以测到72 MHz×8/2=288 MHz。
  本文的创新点:利用了触发捕捉方法测量输入信号的频率,用同一个脉冲捕捉并初始化计数器,可以提高采样速率,减少中断服务函数的执行时间,实现了高速测频。将16位的定时计数器扩展成了32位的定时计数器,这样最大的测频范围可以达到288 MHz。通过对晶振的双精度补偿,能实现测量基本无误差,实现了高精度。用消息驱动的方式,中断服务函数不再去执行消耗大量时间的中断处理函数,而是将中断处理函数地址和参数投递到消息队列,等待用户级函数去获取消息,分拣处理消息,这样做每个中断处理时间缩短了,处理器可以及时地响应多个中断。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0