基于单片机的等精度数字测频

[09-12 17:55:48]   来源:http://www.88dzw.com  单片机学习   阅读:8761

文章摘要:实现等精度测量原理,关键是使Nx不产生误差,而No不超过±1误差。利用PC机总线技术,设计了相应的控制门电路,实现对被测频率信号的计数及相应的精确闸门时间,并使闸门的开启与关闭和被测信号的有效跳变同步。预置门的打开和关闭由被测信号和预置的测量时间控制,计数器Nx在预置门的控制下对被测信号频率计数,控制门根据预置门产生一个与被测信号同步的同步门;计数器No在同步门的控制下对时标计数,得到精确的闸门时间Tg。设时标周期为To,则被测频率Fx=Nx/NoTo。单片机采用定时ls的测频法先对信号进行预测,软件根据频率高低自动选择检测时间或周期扩展倍数,以保证各档都有较高测量精度。当输入信号频率超过10

基于单片机的等精度数字测频,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com

实现等精度测量原理,关键是使Nx不产生误差,而No不超过±1误差。利用PC机总线技术,设计了相应的控制门电路,实现对被测频率信号的计数及相应的精确闸门时间,并使闸门的开启与关闭和被测信号的有效跳变同步。

预置门的打开和关闭由被测信号和预置的测量时间控制,计数器Nx在预置门的控制下对被测信号频率计数,控制门根据预置门产生一个与被测信号同步的同步门;计数器No在同步门的控制下对时标计数,得到精确的闸门时间Tg。设时标周期为To,则被测频率Fx=Nx/NoTo。

单片机采用定时ls的测频法先对信号进行预测,软件根据频率高低自动选择检测时间或周期扩展倍数,以保证各档都有较高测量精度。当输入信号频率超过100kHz时,信号经扩展计数器分频后送入8031按测频法测量,频率检测时间设有三档,分别为0.01s、0.1s、1s。在转入周期测量后,信号直接送入单片机,周期扩展倍数有104、103、102、10、1五档。

由于单片机的最高计数频率为500kHz,限制了测频范围,必须对高频进行分频。扩展n分频器后,将会产生分频误差。这个n分频最大将导致(n-1)个待测频率周期的分频误差。该误差量级与"±l"误差相当,甚至更大。为了提高测频分辨率,我们采用了硬件同步分频技术,即在闸门开启的有效上升沿时刻,对74LS591分频器清零。在闸门关闭时刻,将分频状态打入总线缓冲器74LS244,8031通过缓冲器读出其值,从而消除了"分频误差"。

在本系统中,T/C1编程为定时方式时,在12MHz晶振下其最大定时时间只有65.536ms,需采用软件来扩展计数器的容量。即计数器每溢出中断一次,片内RAM的内容加一计数,这样大大扩了单片机的计数范围。但同时也引入了中断响应的时间误差,我们称之为"软件误差"。频率计的核心是时间基准的正确性,因此在中断后重置定时器时间常数时,不能简单地采用重置办法。从单片机的中断响应系统及其响应过程可知:(1)定时器每次溢出中断时,WAIT语句必须执行完才能响应,该条指令的执行时间为2μs,我们取其平均延迟时间为1μs;(2)CPU响应中断到执行中断服务程序首条指令至少需3个完整的机器周期,即延时3μs;(3)中断服务程序中实际的定时时间是在执行完时间常数的装载指令后才开始,两条装载指令占用4μs。根据以上分析。每次中断后,将延迟约8μs后才开始定时。实际获得的定时时间必须考虑到8μs的延迟,该频率计采用软件补偿的处理方法来降低其影响。由于软件修正相当方便在仪器调试中可作进一步的调整,因此基本上可消除软件误差。

频率计根据被测信号频率的大小,软件控制自动切换频率检测时间,或自动转换为周期测量,其软件设计采用模块化结构设计,程序设计与调试都很方便,功能扩充也很灵活。单片机上电复位后,首先执行主程序,完成有关芯片和定时器的初始化,设置数据缓冲区、显示方式、数据计数器初值及频率初测方式等。开中断后,随时检测外部中断和定时器所发出的中断请求信号,一旦有则转入相应的中断服务程序,否则返回显示程序,显示所测的频率值。

5. 结束语

本文通过比较以往电子计数测频原理、电子计数测周期原理的分析,结合单片机定时/计数器的工作原理,给出了等精度测量原理以及软件误差的消除方法。实现起来简单可靠且性能稳定、精度高、性价比低等优点。


上一页  [1] [2] 


Tag:单片机学习单片机开发,单片机原理,单片机教程单片机学习
分类导航
最新更新
热门排行