微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于DSP2812设计的简易数字频率计

基于DSP2812设计的简易数字频率计

时间:09-08 来源:电子产品世界 姜鹏 胡俊 王文静 徐科军 点击:

基于DSP比较匹配时T1PWM引脚输出电平的跳变作为门闸信号的开启和关闭,由于比较匹配发生在被测信号的上升沿,从而实现了门闸时间与被测信号的同步。两个相邻的比较匹配产生的PWM波的上升沿分别作为门闸信号的开启和关闭信号,其中被测信号的个数为整数,并且是由我们自己任意设定的。定时器T2时钟输入选择内部CPU时钟,用来产生标准填充脉冲。设定捕获单元CAP1为上升沿捕获,当其捕获到上升沿时读取堆栈CAPFIFO内的值,在下一次捕获到时再读堆栈内的值,计算出标准填充脉冲的个数Ny,保证Ny的个数不小于一定的值,即可保证门闸时间大于一定的值。假设现在希望一个门闸时间内高频填充脉冲的总数不小于n,当Ny>,即可保证门闸时间大于一定的值。假设现在希望一个门闸时间内高频填充脉冲的总数不小于n,当Ny>n时,就增大定时器T1的定时周期,即增大定时器T1周期寄存器TIPR的值。存在公式T1PR+1=n/Ny,由于n/Ny不一定为整数,假a<n/Ny<a+1(a为整数),则取n/Ny=a+1,表现在被测信号上,则与传统的用硬件控制一样,用下一个被测信号的上升沿作为门闸信号的关闭信号,只不过该上升沿发生在下一次的比较匹配时。然后,再在该门闸时间内读取高频填充脉冲的个数,有Ny≥n,从而得出高精度的被测信号频率。在本设计中,定时器T1并不关闭,前一门闸时间的关闭信号同时作为下一门闸信号的开启信号。

  周期测量与频率测量的基本原理完全相同,测出信号频率,根据公T=1/f即可得出被测信号的周期。

  误差分析

  定时器T1计数的启停时间都是由该信号的上升沿触发的,在一次测量时间内对被测信号的计数无误差;在此时间内标准频率脉冲的计数个数Ny,最多相差一个脉冲,故理论误差为:

  |d|≤1/Ny

  显然,测量精度仅仅与Ny有关,只要Ny值足够大,就能保证精度。

  硬件设计

  如图4所示,将被测信号经过高速运放OPA2690进行放大,在经过高速比较器TL3016进行整形[3],由于比较器在对低频正弦波信号进行整形时,输出波形的边沿有比较严重的抖动,影响测量。解决办法是对比较器加入正反馈,加速信号边沿,同时形成滞环,可有效消除抖动。整形后的信号经过高速施密特触发SN74LVC1G14进行限幅和进一步整形。测量部分主要使用DSP2812芯片上定时器T1的时钟输入引脚TCLKINA、定时器T1的比较输出引脚T1PWM和捕获单元CAP1的输入引脚CAP1,即可完成频率测量。通讯部分选择MAX3221作为RS-232电平转换器件,通过9芯标准RS-232口与上位机进行串行通信。主要使用了DSP的串行通信发送引脚SCIRXD和串行通信接收引脚SCITXD。

图4 硬件电路连接图

  软件设计

  软件设计部分主要包括以下四部分:

·初始化:对变量参数、系统时钟、PIE、EV、Flash、GPIO等进行配置。
·中断模块:SCI中断和定时器T2、T3上溢中断。
·数据处理模块:分段+取算术平均值。
·输出操作模块:数据经RS-232传给上位机。

  图5为测频率、周期软件流程图,图6为定时器2的溢出中断流程图。

图5 测频率、周期流程图

图6 定时器T2溢出中断流程图

  在该部分初始化时,要进行以下配置:通用定时器T1时钟输入为外部定时器时钟,通用定时器T2时钟输入为内部时钟输入,用来对标准脉冲进行计数,该标准脉冲由外部30MHz的有源晶振提供;捕获单元1设置为上升沿捕获,用来捕获T1PWM引脚输出PWM波的上升沿,在每次比较匹配时读取定时器T2的计数值T2CNT,该值保存在CAP1FIFO内。初始化时要将捕获单元1的状态寄存器中的FIFO堆栈状态设置成空堆栈;将定时器T1的定时周期设置为4个被测信号的周期长度,通过测得的定时器T1的一个定时周期内的标准脉冲的个数,计算出被测信号频率,然后对被测信号进行分段,分别为低频段(小于46.875Hz),中频段(大于46.875Hz,小于2343.75KHz),以及高频段(大于2343.75 KHz),其中分段的依据是定时器的计数饱和值为65536和计数个数应大于等于1。若信号频率为中高频段则重新配置定时器T1,定时器T2的寄存器,来改变定时周期以及每个门闸时间内的高频填充脉冲的个数。在定时器T1的下一个定时周期内计算出频率和周期。另外,定时器T2的溢出次数要在第一次发生比较匹配时清零,而是否是第一次发生比较匹配则通过设置一个标志来判断。当溢出次数清零后才开始记溢出次数,直到第二次发生比较匹配。

  下一步改进意见

  该方法的测量误差主要来自硬件部分,整形电路的优劣直接关系到测量精度的高低。所以我们下一步的工作就是改进整形电路的整形效果和抗干扰性能,尽最大可能减小信号整形带来的误差。

  由于DSP定时器在计数时存在计数饱和的情况,因此在实现该等精度测量时存在上限,即当被测信号频率高于高频填充脉冲的频率时,该方法就不能实现等精度了。可以在该方案的基础上进行以下处理:选择定时器T1定时周期内被测信号的个数固定,可设置T1PR为65529,同时将定时器T2的时钟修改为75MHz,这样就能保证每个门闸时间内高频填充脉冲的个数,从而在对高频信号实现频率和周期测量时保证了精度。

  但选择定时器T1时钟输入为外部时钟时对被测信号的输入范围存在限制,如果要进一步提高测量的信号的范围,使得范围达到上百兆或上G赫兹,可以考虑相位测量的方法,将被测信号设为360度,根据被测信号与标准信号之间的X度相位差,计算被测信号频率。

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

网站地图

Top