大学本科生毕业设计(论文)
3.3 8051单片机IP软核实用系统构建
8051V1核在接上了ROM和RAM后就成为一个完整的8051单片机了,图3-3是根据任务要求绘制的8051V1核实用系统的最基本构建顶层原理图,主要由4个部件构成:
1、8051V1核。图中的CPU8051V1即单片机核,由VQM原码表述:CPU8051V1.vqm,可以直接调用。该元件可以与其他不同语言表述的元件一同综合与编译。
2、嵌入式锁相环PLL50。载入锁相环,设置其输入频率为20MHz,输出频率为40MHz,8051V1能接受的工作时钟频率上限取决于FPGA的速度级别。
3、程序ROM,LPM_ROM。采用ROM容量的大小也取决于FPGA所含的嵌入RAM的大小。图3-3中设置的ROM容量是4K字节,对于一般的应用足够了。此ROM可以加载HEX格式文件作为单片机的程序代码。HEX程序代码可以直接使用普通8051单片机程序编译器生成。
4、数据RAM,LPM_RAM。图3-3中设置的LPM_RAM容量是256字节。高128字节须用间接寻址方式访问。这里的LPM_ROM和LPM_RAM调用方法参见其它资料。
图3-3中,P0I[7..0]、P1I[7..0]、P2I[7..0]、P3I[7..0]分别为P0、P1、P2、P3口的输入口;P0O[7..0]、P1O[7..0]、P2O[7..0]、P3O[7..0]分别为P0、P1、P2、P3口的输出口。各口的应用再根据任务要求进行连线。
图3-3 基本8051CPU核应用
9
大学本科生毕业设计(论文)
3.4 等精度频率计设计
3.4.1等精度测频原理
等精度测频的实现方法可简化为图3-4所示。CNT1和CNT2是两个可控计数器,标准频率信号设定为40MHz从CNT1的时钟输入端CLK输入,经过整形后的被测信号从CNT2的时钟输入端CLK输入,当预置门控信号为高电平时,经过整形后的被测信号的上升沿通过D触发器的Q端同时启动CNT1和CNT2。CNT1、CNT2同时对标准频率信号和经整形后的被测信号进行计数,分别为Ns与Nx。当预置门信号为低电平的时候,后面而来的被测信号的上升沿将使两个计数器同时关闭,所测得的频率为(Fs/Ns)*Nx.则等精度测量方法测量精度与预置门宽度的标准频率有关,与被测信号的频率无关。
图3-4 等精度测频实现原理
等精度测频方法是在直接测频方法的基础上发展起来的。它的闸门时间不是固定值,而是被测信号周期的整数倍,即与被测信号同步。因此除了对被测信号计数所产生的1个周期误差,并且达到了在整个测试频率阶段的等精度测量。
如图3-5在测试过程中,有两个计数器分别对标准信号和被测信号同时计数。首先由单片机给出给出闸门信号,在t1时间内保持高电平,当单片机赋给预置门高电平信号时实际闸门并未打开此时计数器并不开始计数,而是等到被测信号的上升沿到来时才打开实际闸门,计数器才真正开始计数,然后单片机发给预置闸门低电平关闭信号,计数器并不立即停止计数,而是等到被测信号的上升沿到来时才关闭实际闸门信号开始结束计数,完成一次测试过程。可以看出,实际闸门时间为t1,预置闸门时间为t,两个闸门时间并不严格相等,但是差值不超过被测信号的一个周期。
10
大学本科生毕业设计(论文)
图3-5 等精度测频原理
设在一次实际闸门时间t中计数器对被测信号的计数值为Nx,对标准信号的计数值为Ns。标准信号的频率为fs,则被测信号的频率如下式:
fx=(Nx/Ns)*fs 在测量中,由于fx计数的启停时间都是由该信号的上升沿出发的,在闸门时间t内对fx的计数Nx无误差,对fs的计数Ns最多相差一个数的误差,
δ =1/fs
由上式可以看出,测量频率的相对误差与被测信号频率的大小无关,仅与标准信号频率有关,即实现了整个测量频段的等精度。标准频率越高,测量的相对误差越小。在保证
精度测量不变的前提下,提高标准信号频率,可是闸门时间缩短,即提高测试速度。 3.4.2等精度测频实现
等精度频率计的实现可以简单地用图3-6和波形图3-7来说明设。图3-4中“预置门控信号”CL可由单片机发出,可以证明,在1秒至0.1秒间的选择范围内,CL的时间宽度对测量精度几乎没有影响,在此设其宽度为Tpr。BZH和TF模块是两个可控的32位高速计数器,BENA和ENA分别是它们的计数允许信号端,高电平有效。标准频率信号40MHz从BZH的时钟输入端BCLK输入,设置频率为Fs;经整形后的被测信号从与BZH相似的32位计数器TF的时钟输入端TCLK输入,设置真实频率值为Fxe,被测频率为Fx。等精度频率计原理如下图3-6所示:
11
大学本科生毕业设计(论文)
图3-6 等精度频率计设计原理图
bclk为标准频率信号设定为40MHz,tclk为被测信号,被测信号的范围为1Hz到40MHz。clr为清零信号,cl为预置门信号,start为实际闸门信号,sel为数据选择器的控制端口,data为数据传送端口。测试开始前,首先发出一个清零信号CLR,使两个计数器和D触发器置0,同时D触发器通过信号ENA,禁止两个计数器计数。这是初始化操作。然后由单片机发出允许测频命令,即令预置门控信号CL为高电平这时D触发器要一直等到被测信号的上升沿通过Q端时才把start置1,与此同时,将同时开启计数器BHZ和TF,进行计数,当Tpr秒后,预置门信号CL被单片机置为低电平,但此时两个计数器并没有停止计数,一直等到随后而至的被测信号的上升沿到来时start为0,才通过D触发器将这两个计数器同时关闭
图3-7等精度频率计波形仿真
设在一次预置门时间中对被测信号的计数值为Nx,对标准频率计数值为Ns,则下式成立:
Fx/Nx=Fs/Ns
不难得到测得的频率为:
Fx=(Fs/Ns)*Nx
12
相关推荐: