一种高性价比等精度数字频率计方案设计

一种高性价比等精度数字频率计方案设计
引言
频率的概念就是1 s时间内被测信号的周期个数,最直接的测量方法就是单位时间内计数法,这种方法比较适合高频测量。低频通常用测周期法。这两种方法的测量精度不固定,与被测信号的范围相关。
等精度频率测量法融合以上两种方法的优点,可兼顾低频与高频信号;但较以上两种方法而言,等精度频率测量有较高的测量精度,且误差不会随着被测信号频率的改变而改变。
1等精度频率测量原理
等精度频率测量原理框图如图1所示。图中计数器是带使能控制的32位计数器,en是计数允许使能信号,高电平允许计数。计数器1对基准时钟信号fb计数,计数器2对被测信号fx计数。d触发器实现对被测信号fx上升沿检测,实现门控信号与fx上升沿同步,从而保证计数器2对被测信号计数刚好为整数个周期,零误差。
测量过程控制时序波形如图2所示。测量开始,t0时刻mcu发出一个清零信号clr,使计数器和d触发器置0;t1时刻mcu发出测量启动信号gate,使d触发器输人d为高电平;在被测信号fb上升沿到来t2时刻,d触发器q端才被置1,使计数器1和计数器2的en同时为1,计数器开始计数,系统进入计数允许周期。这时,计数器1和2分别对基准时钟信号和被测信号同时计数。一段时间过后,t3时刻mcu发出停止信号,即d触发器输入d为低电平,但此时计数器仍然没有停止计数,直到下一个被测信号的上升沿t4时刻到来时,d触发器q输出0将这2个计数器同时关闭。
由图2可见,gate的宽度tc和发生的时间都不会直接影响计数使能信号en,en总是在被测信号fx上升沿改变,从而保证了被测信号被计数的周期总是整数个周期ntx,而与被测信号的频率无关。正确理解这点,是理解等精度频率测量的关键。由于测量过程中不能保证基准时钟周期的完整性,还会引入测量误差。这种随机误差dt最多只有基准时钟fb信号的一个时钟周期。由于fb的信号通常由高稳定度的高频晶体振荡器发出,任何时刻的绝对测量误差只有1/n1。例如,对于门控信号接近1 s的测量过程,fb取100 mhz的晶振,最大误差可以达到10-8。
2方案设计
2.1系统方案
单片机定时器/计数器电路如图3所示。当c/t=0,tr=1,gate=1时,单片机内部计数器时钟开关可受外部引脚intn控制,这样就可以实现单片机内部计数器与外部计数器同步开关。
正是基于单片机这种电路结构,根据等精度原理,提出图4所示的系统框图。单片机加cpld结构,利用单片机内部定时器定时,外部cpld实现等精度测量逻辑电路和计数功能。基准时钟fb由单片机晶振提供,频率为单片机时钟晶振12分频后所得机器时钟。预置闸门由单片机引脚p1.0输出控制,计数器清零和复位由单片机引脚p1.1输出控制,单片机引脚p3.2是内部定时器使能开关控制引脚。
2.2单片机与cpld接口设计
图5所示为一种基于总线的接口方案,采用三总线(数据、控制、地址)结构,用于实现单片机与cpld之间的数据传输。
单片机p0口为双向数据总线,与cpld的通用io口连接,完成数据和低8位地址传送。控制总线包括单片机读写控制总线rd和wr,以及地址锁存信号ale(address lock enable)。地址总线a15(p2.7)通过cpld的全局输入信号引脚输入。
2.3 cpld电路
cpld内部电路原理框图如图6所示。当预置闸门gate输入高电平时,由于dff触发器为边沿触发器,在上升沿时才将数据输出,所以q输出端并不立即置1,只有当外部信号上升沿到来时,q才为1,使能计数器和定时器。这样保证了计数器和定时器在被测信号的上升沿到来时同时有效。当预置闸门gate=0关闭时,两计数器的允许信号同样在被测信号的上升沿到来时同时关闭。由于基准信号的定时器与被测信号严格同步,所以理论上最大误差只有基频的一个周期。cpld内计数器为32位,在预置时间内,只要计数器不溢出,即可准确测量被测信号个数。
3方案实现
3.1电路原理
电路原理如图7所示。图中给出了单片机(stc89c52rc)与cpld(atf1504as)的具体接口电路,lcd1602接口电路,带isp下载接口的cpld电路,被测信号从j1直接输入给cpld i/o引脚。这里没有给出信号前置调理与波形整形电路。
3.2 cpld电路设计
cpld开发选择altera公司的eda软件quartusii和目标器件epm7064slc44=10,需要完成电路设计输入、编译、仿真、引脚绑定(引脚分配请参考电路图),并编译得到最终配置文件*.pof。然后再使用atmel公司提供的转换工具pof2jed软件将前面得到的*.pof文件转换成*.jed文件,再用atmelisp软件将*.jed文件下载到cpld器件atf1504即可。
以下是采用veriloghdl硬件描述语言设计的cpld内部电路源码:
3.3程序设计
整个测量过程由mcu控制完成,然后计算并把结果送lcd显示。测量开始,mcu首先发出清零clr信号,对外部cpld电路复位和计数器清零,还要将定时器软计数器清零,之后发出启动信号gate=1,测量开始。mcu通过查询软计数器(定时中断加1),控制闸门时间大致在1 s左右,时间到,mcu立即发出停止信号gate=0,随后查询引脚int0,确认计数停止。之后,分别读回外部计数和内部计数器计数结果,mcu根据等精度原理算出信号频率,将结果送lcd显示。程序主流程和定时中断流程如图8所示。
4测试结果
笔者在实验室使用rigol-dg1015dds信号发生器校准。通过修正单片机时钟偏差,22.118 4 mhz的12分频为1.843 2 mhz,对1 843 200 hz修正86.95 hz后带入程序计算,整数频点测量结果可以达到和信号发生器完全一致,接近零误差。特针对一些非整数频点进行测量,结果如表1所列,误差达到10-7数量级,与理论值一致。
由于系统采用的是单片机机器时钟作为基准信号时钟,基准信号频率较低,使得测量精度不高;如果采用外部更高频基准信号做时钟信号,精度还可进一步提高。
结语
将等精度频率测量原理巧妙地用mcu+cpld实现,设计了一种低成本、高性价比的频率计方案。mcu选择stc89c52rc,cpld选择atmel公司的atf1504as,实现了宽范围高精度的频率测量。该方案具有结构简单,成本低等优点,具有广阔的市场前景。

PCB加工流程介绍分享
关于利用51单片机实现闪烁灯的设计
秋冬干燥季节森林防火实现远程视频监控
七腾科技发布七腾机器人原创IP形象全球征集活动
便携式无线鱼群探测器 业余爱好者与专业渔民的最爱
一种高性价比等精度数字频率计方案设计
如何正确开启AR-VR职业人生从这几方面入手
断钻咀的主要原因及预防措施
贾跃亭再成被执行人 眼看他起朱楼 眼看他楼塌了
简单了解CPU和内存搭配规律
长跑10年,比亚迪要推出智能控车手表
基于rgb的类别级6D目标位姿估计网络OLD-Net
Wi-Fi 6和5G将如何大规模改变个人计算
力签国际巨头,上亿联通用户将享受重磅服务
共模扼流线圈的区分 电源线用共模扼流圈的使用方法
奥地利推出全新低功耗高分辨率磁旋转编码器IC
CDN市场风云再起 预计2019年市场规模将达到121亿美元
FPC连接器原理
电动汽车的单电机集中驱动和多电机分布驱动
消防主机维修公司