第27卷第2期 西 安 工 业 大 学 学 报 Vo1.27 No.2 2007年O4月 JOURNAL OFⅪ’AN TECHNOLOGICAL UNIVERs1TY Apr.2007 文章编号: 1673—9965(2o07)02—0167—04 基于DSP的高精度频率测量系统的研究 张志文,田英峰 (西安工业大学电子信息工程学院,西安710032) 摘要:针对在脉冲频率测量中,测量精度低的问题,提出了一种基于DSP芯片的频率测量 系统.采用TMS320VC5502作为核心处理单元,以多周期同步测频法为理论基础,结合DSP 芯片的高精时钟、快速运算的优点,实现了高精度的频率测量,并提出了进一步提高测量精度 的方法.使用两个定时器和一个外部中断进行测量,DSP进行标准频率和被测频率信号的计 数,并计算测频结果,发往上位机.结合实验结果进行了精度分析,测量精度达到10-9数量级. 关键词: 频率测量;高精度;多周期同步测频法;DSP系统 中图号:TM935.1 文献标识码:A 频率测量是电子测量领域最基本的测量之一. 变化周期数(或脉冲个数)Nx,则被测频率为: 频率信号抗干扰性强、易于传输、测量准确度较高, 一 ×№/Ns.采用多周期同步测频法是将标准 因此许多非频率量的传感信号都转换为频率量来 频率信号和被测频率信号分别输入到两个计数器 进行测量和处理,频率的测量方法也愈来愈引起关 进行同步计数.如图1所示,进行多个周期的计数, 注和研究.以往的频率测量,通常采用直接测频法、 预置闸门时间 结束时,两个计数器并不立即停 多周期同步测频法或分频段测频法[1],以单片机或 止计数,而是等到被测频率信号下一个同相位触发 CPLD为核心,由于基准频率低造成测量精度不 沿到来才关闭同步门(实际闸门T)并停止计数.由 高、测量时间长的问题.目前,在较短的时间测量频 于实际闸门时间是被测信号周期的整数倍,故被测 率,使用单片机精度往往只能达到10-4[2],使用 频率信号不存在±1计数误差,精度仅与闸门时间 CPLD可以提高测量精度,但是也只能达到 和标准频率有关. 10 [3 ].由于使用多周期测频法需要提供精确的 定闸门信号— —~ 标准频率,因此本文使用了更高频率的器件DSP _・ ———- —- ————-—一f-————— — -- —- --—-’ 作为核心处理器进行频率测量. 实际闸门信号 被测频率信 ]r_]r]r]r_] 1测量原理 标准频率信 啪I 0唧l硼II唧I朋IHl珊ln I 频率测量主要有测频法和测周法两种.测频法 就是在确定的闸门时间T内,记录被测频率信号 图1 多周期测频法原理图 Fig.1 Principle of multi-cycle frequency measurement 的变化周期数(或脉冲个数)Nx,则被测频率信号 的频率为: 一№/T.测周法需要有标准频率信 2系统设计 号的频率 ,在被测频率信号的一个周期T内,记 录标准频率的周期数Ns,则被测信号的频率为: 2.1硬件设计 一fs/Ns;在多个周期内,记录被测频率信号的 如果采用单片机测量,优点是设计电路简单, *收稿日期:2006—05—20 基金资助:陕西省科技攻关项目(2006K04一G18) 作者简介:张志文(1957-),男,西安工业大学教授,主要研究方向为计算机测控技术、智能化仪器.E-mail:zhangzw@xatu edu饥 维普资讯 http://www.cqvip.com
168 西安工业大学学报 第27卷 成本低,实现容易;局限性在于单片机受本身时钟 功能明确,阅读、调试方便、可扩展性好、可靠性高, 采用结构化的程序设计方法来进行本系统软件设 计主程序和中断子程序流程图,如图3和图4所 不. 频率和若干指令运算的限制,计数器工作信号频率 不能太高,从而导致测量准确度低,可靠性差. 采用CPLD/FPGA的优点是不仅可通过直接 对芯片结构的设计实行多种数字逻辑系统功能,而 且由于管脚定义的灵活性,大大减轻了电路图设计 cSL库、PLL初始化 ’ ‘ I Y 和电路板设计的工作量及难度.同时,这种基于可 编程芯片的设计大大减少了系统芯片的数量,缩小 了系统的体积,提高了系统的可靠性.但是CPLD 和FPGA都需要外接晶振作为时钟,在使用高频 率晶振情况下,电路板元器件之间的高频干扰使布 线难度很大,并且会对系统的稳定性产生很大影 响,使其精度也难以达到很高的精度. DSP是微处理器的一种,具有极高的处理速 度,可以应用于具有很高实时性的场合.由于内部 具有锁相环(PLL)倍频的功能,可以外接较低的频 率,而在DSP内部经过倍频后得到较高的时钟频 率作为信号处理的时钟,这样就避免了外接高频频 率源而在PCB板产生高频干扰和使系统不稳定的 情况.现在DSP技术已经成熟,DSP芯片价格也在 不断降低,利用DSP设计系统具有很高的性价比 因此采用DSP芯片作为主处理芯片是很合适的. 由于本系统需要解决的问题是提高频率测量 的精度,这就需要高精度的基准频率.通过性能和 价格上的比较,选用TMS320VC5502芯片[5]作为 处理器的核心,它具有最高300MHz的时钟频率, 具有32 K的RAM和ROM,支持I2C总线数据加 载方式,4个64位的定时/计数器.如图2所示,采 用DSP最小系统,硬件设计包括电源电路,时钟、 复位电路,JTAG仿真口,静态存储器SRAM扩 展,LCD测量结果输出电路.被测信号频率输入由 外中断口INT0,INT1引入.INTO用来进行单周 期法测试,INT1用来进行多周期法测试[6]. 频率输入 I I测量结l粜输出I mTol i_ ̄Rr——......——....——.—— 时钟、复位电路 __叫 一. JTAG仿真口 外同信号 扩展 聃 静态存储器 B OOTLOADER 图2硬件系统框图 Fig.2 Configuration of hardware system 2.2软件设计 DSP程序由主程序、INTO中断子程序、 UART子程序程序组成.为了使设计出来的软件 定时器、外中断、UART初始化 I 打开定时器TlMER1 . 1 I 【t1断向量初始化 === IV I定时器、uART配盟参数I 读取Timerl寄存器的值,并 I 调用频率计算函数进行处理 l 打K ̄tVtaTIMER0 I l 调用UART通信函数 死循环等待中断 把结果传往上位机 I t , 图3主程序流程图 Fig.3 Flow charofthemain program (== J 图4中断服务子程序框图 Fi 4 Flow char ofinterrupt se ̄ceroutine(ISR) 将被测频率信号输入到外中断口INT0.当系 统上电后,内部的Boot程序按照I C BootLoader 方式加载初始化程序,并将这些程序写入到相应 DSP内部高速RAM中.这个工作完成时,Boot程 序将程序指针指向RAM程序区的程序入口地址, oBot完毕后DSP进入正常工作状态.进行系统的 初始化.各个寄存器复位,设置需要的寄存器,同时 系统开放INT0和TIMER0,TIMER1中断,打开 TIMER0(设置预置闸门时间信号个),等待中断的 发生.当检测到INT0第一个脉冲信号上升沿到来 时,产生触发信号,脉冲计数器Int0Counter从0 变为1.主程序中一旦检测到脉冲计数器为1时, 则打开定时器TIMER1(标准频率信号计数器). 当定时器TIME0的预置闸门时间到达,在等到下 维普资讯 http://www.cqvip.com
第2期 张志文等:基于DSP的高精度频率测量系统的研究 一个被测频率信号上升沿到达INT0中断口,关闭 TIMER1和INT0,并设置中断标志FlagInt0为1, 此时的时间为实际闸门时间T.主程序中检测到中 断标志为1时,读取TIMER1中计数寄存器的值, 并调用频率计算函数对测量结果进行计算,得到被 测频率的值,然后通过UART通信子程序将结果 发送到上位机,通过调用上位机显示界面,在显示 器上显示测量结果. DSP程序的开发是在CCS2.2集成环境下进 行的.CCS(CODE COMPOSER STUDIO)是TI 公司推出的一个集成性DSP软件开发工具,采用 图形接口界面,提供有编译工具和工程管理工具. 它集成了汇编器、链接器、c/c++编译器、建库工 具等代码产生工具.能对TMS320系列DSP进行 指令级的仿真和进行可视化的实时数据分析.本设 计就是在CCS环境下采用C++语言编写E 书]. 由于使用软件测频,存在延迟响应时间,频率 计算函数得到的频率并不是精确的频率值,使用精 确的频率计进行定标,通过线性关系校正从而得到 精确的频率值. 3误差分析 设在一次闸门时间T中计数器对被测频率信 号的计数值为Nx,对基准频率信号的计数值为 Ns,标准信号的频率为 ,则被测信号的频率为 fx=fs×Nx/Ns.由这个公式可知:若忽略基准频 率 的误差,则测频可能产生的误差为 一(1 8一 l/fxe)×100% (1) 其中fxe为被测信号频率的理论值.在测量中,由 于fx计数的起停时间都是由该信号的上升沿触 发的,在闸门时间T内对fx的计数Nx无误差(T =Nx× );对 的计数Ns最多相差一个数的 误差,即lANsl≤1,其测量频率为 fxe—fs× 芊 (2) 将此式和频率计算公式代人误差计算公式可以得出 ,6Ns/,1 1 , D一 ~—Tw ̄—fs 。 由式(3)可以看出,测量频率的相对误差与被测信 号频率的大小无关,仅与闸门时间和基准信号频率 有关.闸门时间越长,标准频率越高,测频的相对误 差就越小. 表1列出了在闸门时间为1 s~5 S的情况下, 0.1 Hz~1 MHz中随机取的频率的测量结果及误 差.其中0.1 Hz,2 Hz,1 MHz的频率取自安徽埠 阳无线电厂的信达牌XDllBH多用信号发生器, 经过示波器读数得来;125 Hz,512 kHz由晶振 HC08DY3.3V(8.192 MHz)分频得来.将这五种 频率作为被测频率信号的理论值,由式(1)得到测 量误差.由表1可以看出,在相同的标准频率下 (S00 MHz),闸门时间越长,测量的精度越高.信号 发生器的精度非常低,而晶振的精度通常在1O ~10~.考虑到作为理论值的精度,本测频系统的 精度能达到10~. 由于在现有的实验条件下,没有比理论误差更 高精度的频率源,则无法提供精度在千万分之一以 上的被测频率信号,故所有的被测频率都只能作为 参考,它们的精度无法保证.所以,只能对误差来源 进行可能性的探讨,无法准确的测出其相对误差. 现将误差来源作如下分析 1)被测频率信号的不准确性. 2)在测量环境中,存在电磁干扰,将会对DSP 的准确计数产生影响. 3)DSP测试软件中的软件延迟,对标准频率 的脉冲计数有较大影响. 表1测试数据 Tab.1 Testing data 维普资讯 http://www.cqvip.com
170 西安工业大学学报 第27卷 4结论 此种设计的测频系统,实现了高集成度、高速 和高可靠性,采用以DSP为核心,以多周期同步测 频法为基础,利用了DSP芯片高时钟频率、高速性 quency Measurement System by CPLD[J].Chinese Journal of Scientific Instrument,2003,24(4):1. (in Chinese) [4] 杨潇,翟玉文,艾学忠.基于CPLD和VHDL的等精 度频率测量[J].吉林化工学院学报,2004,21(3):49. YANG Xiao,ZHAI Yu—wen,AI Xue—zhong.Equal Precision Measurements of Frequency Based on 的特点,从而提高了频率测量的精度.本系统采用 的TMS320VC5502,可设置最高基准频率为 CPLD and VHDL EJ].Journal of Jilin Institute of 300MHz,在测频时间为1s~5s时,精度可以达到 Chemical Technology,2004,21(3):49.(in Chinese) 10_。。,测频范围为0.1 Hz~1 MHz.如果采用更高 E5] Texas Instruments Inc.TMS320VC5502 Fixed—Point 主频的DSP芯片,或适当延长测频时间,都可进一 Digital Signal Processor Data Manual[-R],2002. 步提高频率测量的精度. [6] 朱铭锆,赵勇,甘泉.DSP应用系统设计[Ⅳ【].北京:电 子工业出版社,2002. 参考文献: ZHU Ming—hao,ZHA0 Yong,GAN Quan.DSP Ap— [1] 马献果,焦阳.频率测量方法的改进[J].仪器仪表学 plication System Design[M].Beiiing:Publishing 报,2004,25(4):21. House of Electronics Industry,2002.(in Chinese) MA Xian—guo,jlAO Yang.Frequency Measurement [7] Rulph Chassamg.DSP原理及其C编程开-发技术 Method ImprovementVJ].Chinese Journal of Scientif— [M].王华,译.北京:电子工业出版社,2005. ic Instrument,2004,25(4):21.(in Chinese) Rulph Chassamg.DSP Principle and C Programming [2] 杜刚,高军,童宁宁.基于AT89C2051单片机的频率 Development Technology[M].WANG Hua,trans— 计设计[J].微计算机应用,2004,25(4):498. late.Beijing:Publishing House of Electronics Indus— DU Gang,GAO Jun,TONG Ning-ning.The Design of try,2005.(in Chinese) the Cymometer Based On Processor AT89C2051[J]. [8] 汪安民.DSP应用开发使用子程序[ⅣI].北京:人民邮 Microcomputer Applications,2004,25(4):498. 电出版社,2005. (in Chinese) WANG An—min.DSP Application Development Use [3] 侯俊勇.高速高精度频率测量系统的CPLD实现[J]. 仪器仪表学报,2003,24(4):1. Subroutine[M].Beijing:Posts and Teleeom Press, H0U Jun-yong.High Speed and High Accuracy Fre一 2005.(in Chinese) Research on Frequency Measurement System Based on DSP with High Accuracy ZHANG Zhi—weTl,TIAN Ying—fe札g (School of Electronic Information Engineering,Xi’an Technological University,Xi’an 710032,China) Abstract: In order to improve measure accuracy,a frequency measure system based on DSP is introduced.The core processing unit of this system is TMS320VC5 502.Based on the synchronons multi~ cycle frequency measurement,and combined with the high accuracy clock and high speed processing features of DSP,a method is proposed to enhance the measure accuracy.This system uses tWO timers and an external interrupt of DSP.DSP counts standard frequency pulse and measures frequency pulse, calculates the result and sends the results to upper computer.Based on the results,the measure accuracy is analyzed.The measure accuracy reaches the level of 10-。。. Key words: frequency measure;high accuracy;synchronous multi—cycle frequency measuremetent;DSP system (责任编辑、校对苗静)
因篇幅问题不能全部显示,请点此查看更多更全内容