微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于TMS320F2812的数字频率计的设计

基于TMS320F2812的数字频率计的设计

时间:05-11 来源:单片机与嵌入式系统应用 合肥工业大学 张巧云 陶维青 点击:

引言

  频率是指某周期现象在单位时间内所重复的次数,它与时间在数学上互为倒数。时间频率的精确测量促进了科学的发展,而科学的发展又反过来把时间频率的测量提高到新的高度。特别在最近的几十年里,频率和时间的测量精度已达到非常高的水平,即已远远超过其他所有物理量的测量精度。它主要的应用领域有导航和通信两大类,以及空间技术、工业生产、交通、科学研究及天文学与计量学方面。

  为了适应现代技术发展的要求,新型的频率计中都使用了单片机进行数据处理,这样,由软件代替了复杂的硬件电路,使仪器的结构简化,功能增强。本文给出一种基于TMS320F2812(简称F2812)DSP的一种简易测频方法。该方法有效利用F2812的片内外设事件管理器的捕获功能,在被测信号的有效电平跳变沿捕获计数,电路实现多靠软件设置,运算简单,实时性好,测量精度高。

  1 测量方法

  常用的测频方法主要有直接测频法、直接测周法以及多周期测量法。直接测频法虽在高频段的精度较高,但在低频段的精度较低,直接测周法则恰恰相反。多周期测量法是将被测信号和标准信号分别输入到两个计数器,其实际闸门时间不是固定值,而是被测信号周期的整数倍,因此消除了对被测信号计数时产生的±1 Hz的计数误差,其精度仅与闸门时间和标准频率有关。因此本设计采用多周期测量法作为具体的实施方案。

  2 系统的设计

  2.1 系统的硬件设计

  硬件系统总体框图如图1所示。被测信号首先经过限幅放大、直流偏置、整形电路,变换为0~3.3 V的方波信号,然后再进入DSP,利用其定时器和捕获单元实现频率的测量。测量完成后,一方面可由键盘设置相关参数通过LCD显示测量结果,另一方面可通过RS一232传送给PC机显示测量结果。另外,为了提高系统的可靠性,增加了一个自我校准电路,即在测量之前,可通过软件设置产生1 MHz的标准脉冲信号,送到信号调理模块的输入端,检测测量结果是否正确,从而达到自我校准的目的。

  本设计选用美国德州仪器公司(TI)的F2812 DSP作为核心处理单元。F2812是TI公司近几年推出的高速、高精度的工业控制DSP芯片。它运算速度快,工作时钟频率达150 MHz,指令周期可以达到6.67 ns以内,低功耗(核心电压1.8 V,I/O口电压3.3 V)。它采用哈佛总线结构,具有强大的操作能力;外围设备包括3个32位的CPU定时器,16通道的12位A/D转换器,串行外围接口(SPI),2个串行通信接口(SCI)等。其片内外设时间管理器含有2个模块(EVA和EVB),每个模块都包括2个通用定时器,3个全比较/PWM单元,3个捕获单元和 1个正交编码脉冲电路。本设计主要利用EVA中的2个通用定时器(T1和T2),2个捕获单元(CAPl和CAP3),EVB中的1个通用定时器 (T3)。具体测量原理如图2所示。

  首先设定T3比较值(预置闸门时间为0.012 8 s),设定T1的比较值为1,使能CAPl。然后使能T1,当其接收到一个整周期的被测信号时即可产生比较输出,同时产生比较中断,读取CAPl的栈值 (即T2的初值t2_1),清T1、T2上溢次数,使能CAP3和T3。最后当T3定时结束,借助于D触发器在被测信号的下一个上升沿到来时,切断T1的比较输出,同时PDPINTA将被置位,然后记录T1和T2的上溢次数tlofcount、t2ofcount,读取CAPl的栈值(即T2的末值 t2_2)和CAP3的栈值(即T1的末值tl_2)。由所得数据计算频率,禁止T1、T2、CAPl和CAP3。频率计算公式为:

  注意:CAPl的捕获时基为T2,CAP3的捕获时基为T1,标准频率信号为150 MHz时钟频率的8分频。

  2.2 系统的软件设计

  主监控程序是整个软件系统的总调度程序,它控制着程序的有序运行。系统在上电或复位后,主程序先调用各模块的初始化子程序,主要包括GPIO初始化、PIE初始化、EV初始化和SCI初始化。系统初始化完成之后,主程序启动CPU_Timer0,使能 T1、T2的上溢中断,启动CAPl,设置T1的比较值为1,等待T1CINT置位,开始测量频率。为减小测量过程中产生的随机误差,所测结果均取平均值。利用CPU_Timer0产生一定的时间段(O.6s)。该时段结束后(CPU_TimerO中断标志位置位),即对该段时间段内记录的测量结果求均值。此时,如果查询到上位机发出接收请求,则传送相应数据至PC显示。然,后,重新初始化定时器和捕获单元,进入下一轮测量。主监控程序流程如图3所示。

  测频的部分源代码如下:

3 误差分析及测试结果

  3.1 量化误差

  设被测信号的频率为Fx,其真实值为Fxe,标准频率为Fs,在一次测量中,预置闸门时间为T′,Tpr为实际闸门时间,被测信号计数值为Nx,标准频率信号计数值为Ns。

  Fx计数的起停时间是由该信号的上升沿触发的,在T′时间内对Fx的计数Nx无误差,对Fs的计数Ns假设相差N个脉冲,即|△et|≤n。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top