基于FPGA的等精度数字频率计设计(修订版)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于FPGA的等精度数字频率计设计
微电子学与固体电子学
张嘉伟113114312
目录
摘要 (3)
第一章课题背景 (4)
第二章方案设计及原理 (4)
1 多周期同步测频率测量原理 (4)
2 设计实现 (6)
2.1 FPGA程序设计 (6)
2.2 DSP程序设计 (7)
第三章主要模块的Verilog程序 (8)
1 计数器 (8)
2 除法器 (8)
3 分频器 (11)
4 BCD模块 (11)
第四章仿真结果 (12)
第五章设计总结 (13)
参考文献 (13)
摘要
本文主要论述了利用FPGA进行测量频率计数,FPGA实施控制实现多功能频率计的设计过程。该频率计利用等精度的设计方法,克服了基于传统测频原理的频率计的测量精度随被测信号频率的下降而降低的缺点。等精度的测量方法不但具有较高的测量精度,而且在整个频率区域包成恒定的测试精度。
根据多周期同步测频率法的原则,选取了多周期同步测频法作为数字频率计的测量算法,提出了基于FPGA的数字频率计设计方案。给出了该设计方案的实际测量效果,证明该设计方案切实可行,能达到较高的频率测量精度。
关键词:FPGA;等精度;频率计
第一章课题背景
随着大规模集成电路技术的发展及电子产品市场运作节奏的进一步加快,涉及诸如计算机应用、通信、智能仪表、医用设备、军事、民用电器等领域的现代电子设计技术已迈入一个全新的阶段。专家预言,未来的电子技术时代将是EDA 的时代,PLD作为EDA技术的一项重要技术,是电子设计领域中最具活力和发展前途的一项技术,它的影响丝毫不亚于70年代单片机的发明和使用。
在电子测量技术中,频率测量是最基本的测量之一。工程中很多测量,如用振弦式测量力、时间测量、速度测量、速度控制等,都设计到频率测量,或可归结为频率测量。而常用的直接测量方法在使用中有较大的局限性,其测量精度随着被测信号频率的下降而降低,并且对被测信号的计数要产生±1个数字误差。采用等精度频率测量方法具有测量精度保持恒定,不随所测信号的变化而变化;结合FPGA,具有集成度高、告诉和高可靠性的特点,是频率的测频范围可达到0.1Hz-50MHz,测频全域相对误差恒为百万分之一。
第二章方案设计及原理
1 多周期同步测频率测量原理
频率是周期信号在单位时间内的重复次数。电子计数器可以对一个周期信号发生的次数进行计数。如果某一信号在Ts时间间隔内的重复次数为N次,则该信号的频率f为
N
F
T
在直接测频率的基础上发展的多周期同步测频率法,在目前的测频系统中得到越来越广泛的应用。多周期同步法的测频原理如图1所示。
图1 多周期同步法测频原理波形图
首先,由控制线路给出闸门开启信号,此时,计数器并不开始计数,而是等到被测信号的上升沿到来时真正开始计数。然后,两组计数器分别对被测信号和标准信号进行计数,要等到被测信号下降沿到来时才整整结束计数,以完成1次测量过程。计数器的开闭与被测信号的完全同步的。
从图1中可以得到闸门时间不是固定的值,而是被测信号的整周期的倍数,即与被测信号同步,因而,不存在对被测信号计数的±1误差,可得到:
x
s
n m f f =
变形后可得:
x s n f f m =
对上式进行微分,可得
2
x s s n n df f dn df m
m
=-
+
由于1dn =±,
x
s
n m f f =
,因而可推出:
1x s x
s
df df f m
f =±+
从式中可以看出:测量误差与被测信号频率无关,从而实现了被测频带内的等精度测量;增大T 或提高s f 可以提高测量精度,标准频率误差为/s s df f ,因为晶体的稳定度很高,标准频率误差可以进行校准,校准后的标准频率误差可以忽略。
被测开始时,首先发出清零信号CLR ,使D 触发器和2个计数器清零,然后预制门控信号变为高电平(开闸门),在被测信号的下一个上升沿到来时,使同部门控信号上升为高电平(开同部门)。
图2 等精度测量原理图
于此同时启动两个计数器CNT1和CNT2,进入“计数允许周期”。这里我们将启动计数器进入计数操作的信号称为“计数允许信号”。在此期间,CNT1和CNT2
分别对被测信号(频率为
f)和标准信号(频率为s f)计数。经过pr T秒后预制
x
门控信号变为低电平,但由于此时Q端仍未高电平,因此2个计数器仍处于“计数允许周期”,直到下一个被测信号上升沿到来,Q端才变为低电平,将2个计数器同时关闭。可以看出,实际闸门时间与预制闸门时间并不严格相等,但差值不超过被测信号的一个周期。“计数允许周期”恰好是被测信号周期的整数倍,但不一定是校准频率信号的整数倍。由于标准频率信号与“计数允许信号”不相关,标准频率信号相对“计数允许信号”使能时间具有随机性,根据传统测频方案的误差分析,计数器CNT1的计数结果会有±1误差。
2设计实现
2.1 FPGA程序设计
FPGA程序框图如图3所示,由同步门D触发器、标准信号计数器、被测信号计数器和64-8多路选择器构成。其中预置门控信号CL、清零信号CLR、数据输出选择SEL[2..0]由DSP发出,FPGA通过START的下降沿同质DSP计数结束,可以分8次取数。
图3 FPGA结构框图
2.2 DSP程序设计
DSP的主要任务是:
(1)对FPGA整个工作进行控制
(2)接受并且保存FPGA的计数值
(3)对接收来的数据进行转换和加、减、乘、除运算并且数码显示结果(4)完成与PC机的通信
程序设计主要包括多FPGA工作方式、DSP的浮点运算、数据接收、中断显示、中断串口通信等。其主程序流程图如图4所示。
由于浮点数具有精度高、数的表示范围宽等特点,设计中采用单精度浮点数进行运算。计算过程中主要用足够长的尾数来保证数据的精度,用阶码来调整整数模(绝对值)的大小(即改变小数点的位置),并自动进行符号处理。设计中的浮点运算子程序有:浮点加法子程序、浮点乘法子程序、浮点转定子程序;以及数值转换子程序:定点证书二翻十、定点小树二翻十。由于DSP强大的运算能力,可以保证数据计算过程的快熟和准确,从而保证频率计的高精度与较高的测量速度。
图5 DSP的主程序流程