




已阅读5页,还剩58页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
等精度数字频率计的设计摘 要基于传统测频原理的频率计的测量精度将随着被测信号频率的下降而降低,在实用中有很大的局限性,而等精度频率计不但有较高的测量精度,而且在整个测频区域内保持恒定的测试精度。运用等精度测量原理,结合单片机技术设计了一种数字频率计,由于采用了屏蔽驱动电路及数字均值滤波等技术措施,因而能在较宽定的频率范围和幅度范围内对频率,周期,脉宽,占空比等参数进行测量,并可通过调整闸门时间预置测量精度。选取的这种综合测量法作为数字频率计的测量算法,提出了基于FPGA 的数字频率计的设计方案。给出了该设计方案的实际测量效果,证明该设计方案切实可行,能达到较高的频率测量精度。 关键词 等精度测量,单片机,频率计,闸门时间,FPGA攀枝花学院本科毕业设计(论文) ABSTRACTABSTRACTAlong with is measured based on the traditional frequency measurement principle frequency meter measuring accuracy the signalling frequency the drop but to reduce, in is practical has the very big limitation, but and so on the precision frequency meter not only has teaches the high measuring accuracy, moreover maintains the constant test precision in the entire frequency measurement region. Using and so on the precision survey principle, unified the monolithic integrated circuit technical design one kind of numeral frequency meter, because has used the shield actuation electric circuit and technical measure and so on digital average value filter, thus could in compared in the frequency range and the scope scope which the width decided to the frequency, the cycle, the pulse width, occupied parameter and so on spatial ratio carries on the survey, and might through the adjustment strobe time initialization measuring accuracy. Selection this kind of synthesis measured the mensuration took the digital frequency meter the survey algorithm, proposed based on the FPGA digital frequency meter design proposal. Has produced this design proposal actual survey effect, proved this design proposal is practical and feasible, can achieve the high frequency measurement precision Keywords Precision survey, microcontroller, frequency meter, strobe time,field programmable gate array攀枝花学院本科毕业设计(论文) 目录 目 录摘 要I ABSTRACTII 1 绪论1 2 系统设计方案2 2.1系统设计方案的选择2 2.1.1 频率测量模块2 2.1.2 周期测量模块42.1.3 脉宽测量模块42.1.4 占空比测量模块4 3 系统总体设计方案5 4 CPLD/FPGA测频专用模块的VHDL程序设计6 4.1 测频模块逻辑结构6 4.2 各模块功能和工作步骤如下:6 4.2.1 测频/测周期的实现74.2.2 控制部件设计74.2.3 脉冲宽度测量和占空比测量模块设计74.2.4 电路显示模块84.2.5 数码管的编码表105 单片机控制与运算程序的设计11 5.1 AT89C51RC单片机简介11 5.2 软件调试系统19 5.3具体试验过程20 5.3.1 第一次测试205.3.2 第二次计算225.4 系统调试的方法23 5.4.1 调试的软/硬件235.4.2 系统的仿真结果235.5 设计技巧分析24 5.6 系统扩展思路24 6 VHDL程序语言和FPGA简介26 6.1 vhdl程序语言介绍:26 6.2 FPGA 简介28 6.3 VHDL 在FPGA中的运用29 结论32附录A:单片机程序和VHDL程序33参考文献56致 谢57 IV1 绪论1 绪论 测量频率是电子测量技术中最常见的测量之一。不少物理量的测量, 如时间、速度等都涉及到或本身可转化为频率的测量。目前, 市场上有各种多功能、高精度、高频率的数字频率计, 但价格不菲。而在实际工程中, 并不是对所有信号的频率测量都要求达到非常高的精度。目前, 有三种常用的数字频率的测量方法: 直接测量法(以下称M法) 、周期测量法(以下称T法) 和综合测量法(以下称M /T法) 。M法是在给定的闸门时间内测量被测信号的脉冲个数, 进行换算得出被测信号的频率。T法是通过测量被测信号一个周期时间计时信号的脉冲个数, 然后换算出被测信号的频率。这两种测量法的精度都与被测信号有关, 因而它们属于非等精度测量法。而M /T法它通过测量被测信号数个周期的时间, 然后换算得出被测信号的频率, 克服了测量精度对被测信号的依赖性。M /T法的核心思想是通过闸门信号与被测信号同步, 将闸门时间控制为被测信号周期长度的整数倍。测量时, 先打开预置闸门, 当检测到被测信号脉冲沿到达时, 标准信号时钟开始计数。预置闸门关闭时, 标准信号并不立即停止计数, 而是等检测到被测信号脉冲沿到达时才停止, 完成被测信号整数周期的测量。测量的实际闸门时间与预置闸门时间可能不完全相同, 但最大差值不超过被测信号的一个周期。192 系统设计方案2 系统设计方案2.1系统设计方案的选择根据频率计的设计要求,我们可将整个电路系统划分为几个模块,频率测量模块,周期测量模块,脉宽测量模块,和占空比测量模块。标准频率发生电路采用高频率稳定度和高精度的晶镇作为标准频率发生器。如图所示。各模块的实现均有几种不同的设计方案。 图2.1 频率计组成模块框图2.1.1 频率测量模块直接测频法:把被测频率信号经脉冲整形电路处理后加到闸门的一个出入端,只有在闸门开通时间T(以秒计)内,被计数的脉冲送到十进制计数器进行计数;设计数器的值为N,则可得到被测信号频率为f=N/T,经分析,本测量在低频率的相对测量误差较大,即在低频段不能满足本设计的要求。组合测频法:这种方法可以在一定程度上弥补方法(1)中的不足,但是难以确定最佳分测点,且电路实现较复杂。倍频法:是指把频率测量范围分成多个频段,使用倍频技术,根据频段设置倍频系数,将经整形的低频信号进行倍频后在进行测量,对高频段则直接进行测量。倍频法较难实现。等精度测频法:其实现方式可用图2.2来说明。图中,预置门控信号是宽度为TPR的一个脉冲,CNT1和CNT2是两个可控计数器。标准频率信号从CNT1的时钟输出端CLK输入,其频率为fs,经整形后的被测信号从CNT2的时钟输入端CLK输入,设其实际频率为fx;当预置门控信号为高时,经整形后的被测信号的上升沿通过D触发器的Q端同时启动计数器CNT1和CNT2。CNT1和CNT2分别对被测信号(频率为fs)和标准频率信号(频率为fx)同时计数。当预置门信号为低时,随后而至的被测信号的上升沿将两个计数器同时关闭。设在一次预置门时间Tpr内对被测信号的计数值为Nx,对标准信号的计数值为Ns。则下式成立:fx/Nx=fs/Ns由此推得:fx=fs*Nx/Ns图2.2 等精度测频法原理框图若所测频率值为fx,其真实值为fxe,标准频率为fs,一次测量中,由于fx计数的起停时间都是该信号的上跳沿触发的,因此在Tpr时间内对fx的计数Nx无误差,在此时间内的计数Ns最多相差一个脉冲,即fx/Nx=fs/Ns,则下式成立: fxe/Nx=fs/Ns+et 可分别推得 fx=fs*Nx/Ns fxe=fs*Nx/Ns+et 根据相对误差的公式有:fxe/fxe=fxe-fx/fxe 经整理可得到:fxe/fxe=et/Ns因et1,故fxe/fxe1/Ns Ns=Tpr*fs根据以上分析,我们可知等精度测频法具有三个特点:1,相对测量误差与被测频率的高低无关;2,增大Tpr或fs可以增大Ns,减少测量误差,提高测量精度;3,测量精度与预置门宽度和标准频率有关,与被测信号的频率无关,在预置门和常规测频闸门时间相同而被测信号频率不同的情况下,等精度测量法的测量精度不变; 经过综合考虑,结合设计需求,选用第种方案,即用等精度测频法来实现本设计频率测量。2.1.2 周期测量模块直接周期测量法:用被测信号经放大整形后形成的方波信号直接控制计数门控电路,使主门开放时间等于信号周期Tx,时标为Ts的脉冲在主门开放时间进入计数器。设在Tx期间计数值为N,可以根据以下公式来算得被测信号周期:Tx=N*Ts经误差分析,可得结论:用该测量法测量时,被测信号的频率越高,测量误差越大。等精度周期测量法:该方法在测量电路和测量精度上与等精度测量完全相同,只是在进行计算时公式不同,在周期1/T代换频率f即可,其计算公式为Tx=Ts*Ns/Nx从降低电路的复杂度及提高精度(特别是高频)上考虑,本设计拟采用方法测量被测信号的周期。2.1.3 脉宽测量模块在进行脉冲宽度测量时,首先经信号处理电路进行处理,限制只有信号的50%幅度及其以上部分才能输入数字测量部分。脉冲边沿被处理得非常陡峭,然后送入测量计数器进行测量。测量电路在检测到脉冲信号的上升沿时打开计数器,在下降沿是关闭计数器,设脉冲宽度为Twx,计算公式为:Twx=Nx/fs。2.1.4 占空比测量模块 测一次脉冲信号的脉宽,记录其值为Twx1,然后将信号反相,再测一次脉宽并记录起值为Twx2,通过下式计算占空比:占空比=Twx1/(Twx1+Twx2)*100%3 系统总体设计方案3 系统总体设计方案等精度数字频率计涉及到的计算包括加,减,乘,除,耗用的资源比较大,用一般中小规模CPLD/FPGA芯片难以实现。因此,我们选择单片机和CPLD/FPGA的结合来实现。电路系统原理框图如图所示,其中单片机完成整个测量电路的测试控制,数据处理和显示输出;CPLD/FPGA完成各种测试功能;键盘信号由AT89C51单片机进行处理,它从CPLD/FPGA读回计数数据并进行运算,向显示电路输出测量结果;显示器电路采用七段LED动态显示,由8个芯片74LS164分别驱动数码管。图3.1 等精度数字频率计电路系统原理框图系统的基本工作方式如下:P0是单片机与FPGA的数据传送通信口,P1口用于键盘扫描,实现各测试功能的转换;P2口为双向控制口。P3口为LED的串行显示控制口;系统设置5个功能键:占空比,脉宽,周期,频率,和复位。7个LED数码管组成测量数据显示器,另一个独立的数码管用于状态显示。BCLK 为测频标准频率为50MHz 信号输入端,由晶体震荡源电路提供。待测信号经放大整形后输入CPLD/FPGA 的TCLK。4 CPLD/FPGA测频专用模块的VHDL程序设计4 CPLD/FPGA测频专用模块的VHDL程序设计4.1测频模块逻辑结构利用VHDL程序设计的测频模块逻辑结构如图所示,其中有关的接口信号规定如下:TP(P2.7):TF=0 时等精度测频;TF=1 时测脉宽; CLR/TRIG(P2.6):当TF=0 时系统全清零功能;当TF=1 时CLRTRIG 的上跳沿将启动CNT2 ,进行脉宽测试计数; ENDD (P2.4):脉宽计数结束状态信号,ENDD=1计数结束;CHOICE(P3.2):自校/测频选择,CHOICE=1 测频;CHOICE=0自校; START(P2.5):当TF=0 时,作为预置门闸,门宽可通过键盘由单片机控制,START=1时预置门开;当TF=1时,START有第二功能,此时,当START=0时测负脉宽,当START=1时测正脉宽。利用此功能可分别获得脉宽和占空比数据。 EEDN(P2.3):等精度测频计数结束状态信号,EEND=0时计数结束。 SELP2.2(P2.2,P2.1,P2.0):计数值读出选通控制;当SEL2.0=“000”,“001”, “010”. “111”时,将CNT1,CNT2的计数值分8次,每次读出8位,并传达到单片机的P0口。图4.1 测频模块逻辑图4.2 各模块功能和工作步骤如下:4.2.1 测频/测周期的实现被测信号脉冲从CONTRL模块的FIN端输入,标准频率信号从CONTRL 的FSD端输入,CONTRL的CLR是此模块电路的工作初始化信号输入端。在进行频率或周期测量时,其工作步骤如下: 令TF=0,选择等精度测频,然后再CONTRL的CLR端加一正脉冲信号以完成测试电路状态的初始化。 由预置门控信号将CONTRL的START端置高电平,预置门开始定时,此时由被测信号的上沿打开计数器CNT1进行计数,同时使标准频率信号进入计数器CNT2。 预置门定时结束信号把CONTRL的START端置为低电平(由单片机来完成),在被测信号的下一次脉冲的上沿到来时,CNT1停止计数,同时关断CNT2对FS的计数。 计数结束后,CONTRL的EEND端将输出低电平来指示测量计数结束,单片机得到此信号后,即可利用ADRC(P2.2),ADRB(P2.1),ADRA(P2.0)分别读回CNT1 和CNT2的计数值,并根据精度测量公式进行运算,计算出被测信号的频率或周期值。4.2.2 控制部件设计如图所示,当D触发器的输入端START为高电平时,若FIN端来一个上升沿,则Q端变为高电平,导通FIN-CLK1和FSD-CLK2,同时EEND被置为高电平作为标志;当D触发器的输入端START为低电平时,若FIN端输入一个脉冲上沿,则FIN-CLK1与FSD-CLK2的信号通道被切断。图4.2 测频与测周期控制部分电路计数部件设计 图中的计数器CNT1/CNT2是32位二进制计数器,通过DSEL模块的控制,单片机可分4次将其32位数据全部读数。4.2.3 脉冲宽度测量和占空比测量模块设计 根据上述脉宽测量原理,设计如图(CONTRL)所示的电路原理示意图。该信号的上沿和下沿信号对应于未经处理时的被测信号50%幅度时的上沿和下沿.被测信号从FIN端输入,CLR为初始化信号START为工作使能信号.CONTRL2模块的PUL端与GATE的输入端PUL连接.图4.3 脉冲宽度测量原理图测量脉冲宽度的工作步骤如下: 向CONTRL的CLR端送一个脉冲以便进行电路的工作状态初始化. 将GATE的CNL端置高电平,表示开始脉冲宽度测量,这时CNT2的输入信号为FSD. 在被测脉冲的上沿到来时,CONTRL2的PUL端输出高电平,标准频率信号进入计数器CNT2. 在被测脉冲的下沿到来时,CONTRL2的PUL端输出低电平,计数器CNT2被关断. 由单片机读出计数器CNT2的结果,并通过上述测量原理公式计算出脉冲宽度.CONTRL2子模块的主要特点是:电路的设计保证了只有CONTRL2被初始化后才能工作,否则PUL输出始终为零.只有在先检测到上沿后PUL才为高电平,然后在检测到下沿时,PUL输出为低电平:ENDD输出高电平以便通知单片机测量计数已经结束:如果先检测到下沿,PUL并无变化;在检测到上沿并紧接一个下沿后,CONTRL2不再发生变化直到下一个初始化信号到来.占空比的测量方法是通过测量脉冲宽度记录CNT2的计数值N1,然后将输入信号反相,再测量脉冲宽度,没得CNT2计数值N2则可以计算出: 占空比=N1/(N1+N2)*100%4.2.4 电路显示模块系统硬件电路中,单片机MCU与FPGA进行数据交换占用了P0口、P1口和P3口,因此数据显示电路的设计采用静态显示的方式,显示电路由8个共阳极七段数码管和8片1位串入8位并出的74LS164芯片组成。 图4.4 显示电路图这种显示方式不仅占用单片机端口少,而且充分利用了单片机的资源,容易掌握其编码规律,简化了软件编程,在实验过程中,也体现出较高的可靠性。数据显示电路如图4.4所示。74LS164是一种8位高速串入/并出的移位寄存器,随着时钟信号的高低变化,串行数据通过一个2输入与门同步的送入,使用独立于时钟的主控复位端让寄存器的输出端变为低电平,并且采用肖特基钳位电路以达到高速运行的目的。并且还具有以下的特点:典型的35MHZ移位频率;异步主控复位;门控串行输入;同步数据传输;采用钳位二极管限制高速的终端;静电放电值大于3500V。 在本系统中,74LS164的连接方式为:74LS164的输出Q0Q7分别接LED数码管的dp、g、f、e、d、c、b、a,并且Q7连接下一个74LS164的A,B端,时钟CLK连接单片机的TXD端,第一片芯片的AB端连接单片机的RXD端,74LS164芯片的主控复位端接高电平VCC。在这种状态下,数码管的编码如下表所示。 4.2.5 数码管的编码表显示数码段 码显示数码段 码00c0h880h10f9h990h20a4hA88h30b0hB83h499hC0c6h592hD0a1h682hE86h70f8hF8eh5 单片机控制与运算程序的设计5 单片机控制与运算程序的设计5.1 AT89C51RC单片机简介AT89C5lRC是在AT89C52基础上开发的新型高档单片机。它的主要特性是:片内含有 32 KB的 Flash程序存储器,擦写周期为 1000次;片内数据存储器内含512字节的RAM;具有可编程32线I/O口(P0,P1,P2和P3口);具有3个可编程定时器T0,T1和T2;中断系统是具有8个中断源、6个中断矢量、2级中断优先权的中断结构;具有一个全双工 UART串行口;低功耗工作方式为空闲模式和掉电模式;具有双数据指针DPTR0和DPTR1;具有3级程序锁定位;具有硬件看门狗定时器WDT;AT89C51RC工作电源为4.05.5V(AT89LV51RC为2.75.5V);AT89C51RC最高工作频率为33MHZ(AT89LV51RC为12MHZ);具有断电标志POF与AT89C52相比,AT89C5lRC具有如下特点:程序存储器由 8 KB增加到32 KB;片内数据存储器由256字节增加到512字节;数据指针由1个增加到2个;增加了看门狗定时器,CPU在执行程序过程中,由于瞬时的干扰使程序陷入死循环环状态,WDT(Watchdog Timer)是使CPU摆脱这种困境而自动恢复的一种方法;退出掉电方式由单纯硬件复位方式增加到硬件复位和中断两种方式;新增加了断电标志POF89C51RC的内部框图 图5.1 89C51RC的内部框图 引脚排列及功能 AT89C51RC有3种封装形式:PDIPPLCC和TQFPPDIP封装的引脚排列如图所示。图5.2 AT89C51RC引脚图口线 P0口8位、漏极开路的双向 1O口。 当使用片外存储器及外扩 IO口时,P0口作为低字节地址数据复用线。在编程时,P0口可用于接收指令代码宇节;在程序校验时,P0口可输出指令字节(这时需要加外部上拉电阻)。 P0口也可作通用I/O口使用但需加上拉电阻变为准双向口。当作为普通输入时,应将 输出锁存器置1 PO口可驱动8个 TTL负载 P1口8位、准双向IO口,具有内部上拉电阻。P1口是为用户准备的 1O双向口。在编程和校验时,可用做输入低8位地址。用做输入时,应先将输出锁存器置1 P1口可驱动4个TTL负载。P1.0 P1.1替代功能引脚替代功能说明P1.0T2定时器2的外部事件输入端;可编脉冲输出端P1.1T2EX定时器 2的捕捉重装触发器输入端定时器2的计数方向控制端P2口8位、准双向 1O口具有内部上位电阻 当使用片外存储器或外扩1O口时P2口输出高8位地址。在编程校验时P2口可接收高字节地址和某些控制信号。 P2口也可作普通IO口使用。用做输入时,应先将输出锁存器置1 P2口可驱动4个TTL负载。 P3口8位、准双向 1O口,具有内部上拉电阻。 P3口可作为普通1O口。用做输入时,应先将输出锁存器置 1在编程校验时P3口接收某些控制信号。它可驱动4个TTL负载。P3口还提供各种替代功能。P3口替代功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外部中断0)P3.3(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通)2控制信号线 RST复位输入信号,高电平有效。在振荡器稳定工作时,在RST脚施加两个机器周期(即24个晶振周期)以上的高电平,将器件复位。 VPP外部程序存惜器访问允许信号EA(External Access Enable)。 当信号接地时,对ROM的读操作限定在外部程序存储器,地址为0000HFFFFH;当接地时,对ROM的读操作从内部程序存储器开始,并可延续至外部程序存储器。 在编程时,该引脚可接编程电压(AT89C51的VPP为5V或12V;AT89LV51的VPP为12 V)。在编程校验时,该引脚可接VCC。 片外程序存储器读选通信号用PSEN(Program Store Enable),低电平有效。 在片外程序存储器取指期间,当有效时,程序存储器的内容被送至 PO口(数据总线);在访问外部RAM时,无效。 AIE/低字节地址锁存信号 AlE(Address latch Enable)。 在系统扩展时,AlE的下降沿将PO口输出的低8位地址锁存在外接的地址锁存器中,以实现低字节地址和数据的分时传送。此外,ALE端连续输出正脉冲频率为晶振频率的16,可用做外部定时脉冲使用。但要注意,每次访问外RAM时要丢失一个ALE脉冲。在编程期间,该引脚输入编程脉冲()。3电原线 VCC电源电压输入。GND接地。4.外部晶振引线 XTAL1片内振荡器反相放大器和时钟发生线路的输入端。使用片内振荡器时,连接外部石英晶体和微调电容。 XTAL2片内振荡器反相放大器的输出端。当使用片内振荡器时,外接石英晶体 和微调电容。 当使用外部振荡器时,引脚XTAL1接收外振荡器信号,XTAIL2悬空。 AT89C5lRC有两种低功耗节电模式:空闲模式和掉电模式。1空闲模式 应用软件使PCON中的IDLl,系统便可进入空闲模式由于PCON不可位寻址,进入空闲模式可采用如下指令: MOV A,PCON SETB ACC,0 ;IDL=l MOV PCON,A系统进入空闲模式后,CPU处于休眠状态振荡器和片内外围单元(中断系统、定时器、IO口、串行口)仍然有效片内RAM和SFR中的内容保留不变。退出空闲模式有两种方法:任何一个有效的中断和便件复位退出空闲模式后,IDL由片内硬件自动清0。2掉电模式 执行一条指令,使PD=1,系统便进入掉电模式。进入掉电模式后,振荡器停止工作掉电模式下片内RAM和SPR中的内容保持不变退出掉电模式有两种方法:硬件复位和允许的外部低电平中断(INT0和INT1)。硬件复位过程不改变片内RAM的内容,但要重新设量SFR的内容仅当VCC恢复到正常操作值,且振荡器达到稳定后,复位有效复位退出掉电模式时,系统首先从断点处恢复执行程序,直到复位控制逻辑有效。这个过程长达2个机器周期。在复位有效之前,片内有硬件控制电路防止写入片内RAM,即在复位过渡期间片内RAM内容受到保护,但并不保护SFR的内容。因此,在进入掉电模式指令(使PD=l的指令)的后面,不要紧随写入1O端口或写入片外RAM的指令。主要单片机控制与运算程序流程图:图5.3 测周期子程序流程图 图5.4 主程序流程图图5.5 显示子程序流程图图5.6 频率,周期计数子程序流程图图5.7 测频率子程序流程图图5.8 脉宽,占空比计数子程序流程图5 单片机控制与运算程序的设计5.2 软件调试系统支持CPLD和FPGA设计的软件有很多种,这里我使用由ALTERA公司开发的MAX+PLUSII工具软件,该软件方便易用,功能全面,能满足用户各种各样的设计需要,概括起来MAX+PLUSII开发系统具有如下几个特点。1结构无关 MAX+PLUSII支持ALTERA公司的CLASSIC,ACEX1K,MAX3000,MAX5000,MAX7000,MAX9000,FLEX6000,FLEX8000和FLEX10K等系列可编程逻辑器件,门数为600250 000门,提供了业界真正与结构无关的可编程逻辑设计环境。MAX+PLUSII的编译器还提供了强大的逻辑综合与优化功能以减轻用户的设计负担。2集成化的界面 MAX+PLUSII提供了设计输入,设计处理和仿真校验等全集成化的开发工具,可以加快动态调试,缩短开发周期。3模块组合式设计工具 设计者可从各种设计输入,设计处理和设计校验选项中进行选择,从而使设计环境用户化。需要时,还可以保留初始的工具,并增添新的性能。由于MAX+PLUSII支持各种器件系列,设计者用此工具即可支持新结构。4支持多种HDL语言 MAX+PLUSII支持多种流行的HDL描述语言,包括VHDL,VERILOG HDL和AHDL。5良好的开放性和数据互换性 MAX+PLUSII可与其他工业标准的设计输入,综合与校验工具连接。它与EDA工具的接口符合EDIF200和209标准,并提供了参数化的模块库(LPM)。设计者可以使用ALTERA或其他标准的EDA设计输入工具去建立逻辑设计,使用MAX+PLUSII COMPLIER对设计进行编译和综合,然后进行仿真,也可使用其他EDA工具来仿真。6基于MAX+PLUSII的设计使用MAX+PLUSII软件进行设计和开发,主要包括以下几个步骤:设计输入:可以采用原理图输入,HDL语言描述,EDIF网表输入及波形输入等几种方式。编译:先根据设计要求设定编译参数和编译策略,如器件的选择,逻辑综合方式的选择等;然后根据设定的参数和策略对设计项目进行网表提取,逻辑综合和器件适配,并产生报告文件,延时信息文件及编程文件,供分析,仿真和编程使用。1 仿真:仿真包括功能仿真,时序仿真和定时分析,可以利用软件的仿真功能来验证设计项目的逻辑功能是否正确。2 编程与验证:用经过仿真确认后的编程文件通过编程电缆配置PLD,加入实际激励,检查是否完成预定功能。在设计过程中,如果出现错误,则需要重新回到设计输入阶段,改正错误或调整电路后重复上述过程。5.3具体试验过程5.3.1 第一次测试 根据试验箱的操作,分别用按钮D12控制测频/占空比的转换,用D15控制清零,用D16 控制开始测量。最初的软件调试工程,分别通过手动按钮从0到7读出显示上的两位十六进制数,从零到三所读出的4个十六进制数组合在一起是Ns,四到七读出的数组合在一起时Nx,分别把组合的数据转化成十进制进行计算,得到所测频率。 根据Fx=Fs*Nx/Ns,得到所测数据。Fs=12mhz,f测=8hz。Ns02AE9F4501F785DB02C5826FNx0000001E000000160000001FFx= Fs*Nx/Ns8.00027218708.00027236578.0002726974Fs=12mhz,f测=4hzNs06cb715d02254c3701c9bf82Nx000000260000000c0000000aFx= Fs*Nx/Ns4.00013596954.00013611574284.0001362713Fs=12mhz,f测=64hzNs01b5b8bb022de16805a1e811Nx00000099000000c3000001f8Fx=Fs*Nx/Ns64.0002179764.0021776064.002177428Fs=12mhz,f测=12mhzNs017abb2800d28bb90196b4bfNx017ab04c00d286dc0196bbf4Fx= Fs*Nx/Ns11998655.9501199817.26011998986.720Fs=12mhz,f测=750khzNs0251af5001199160016f32f0Nx00251af5001199160016f32fFx=Fs*Nx/Ns750000750000750000 Fs=12mhz,f测=6mhzNs0124b1be0169c67601cb2bdbNx009258df00b4e33b00e595ebFx=Fs*Nx/Ns600000060000006000000Ns0144905800fb3aa800b67b38Nx0028920b001ec7550016cf67Fx= Fs*Nx/Ns150000015000001500000 Fs=12mhz,f测=1.5mhz5.3.2 第二次计算根据此计算结果,我们可以知道在实验箱里的程序是可行的。但是需要用单片机来实现我们的计算过程和控制。所以我们进行了单片机程序的编写,希望通过按健控制直接从数码管上读出数据,但因为编写匆忙,没能设计小数点后面的显示,对于小频率的测试,误差就相当大了。下面是再次测试的实现数据。 次数(HZ)被测频率N1N2N3N411111444341616161616646464646425625525625625616384163841638416384163846553665535655356555365536750k749974749974749974749974150000014999461499949149994914999496000000599979659997965999792599979612000000119995921199958911999589119995925000000050000614500008075000079050000843 有上面的测试结果可见,测试频率可以高达50mhz,看来我们的程序是可行的,对于粗略的测试还是比较准确的。但是因为没有小数显示,对于频率较低的测试,误差就大了。所以有待改进。5.4 系统调试的方法本系统既含有FPGA自编程硬件设计电路,又含有单片机控制电路,整个系统比较复杂,因此我们采用自底向上的调试方法,也就是先进行各个单元电路的软件仿真和硬件调试,在各个单元电路调试好后再进行系统联调,最后进行硬件的编程固化及系统的组装。5.4.1 调试的软/硬件(1) 系统设计开发软件:MAX+plus 10.0,伟福6000(WAVE 6000 for windows)。(2) 单片机及FPGA/CPLD调试设备:PIV计算机,伟福E6000L单片机仿真器及POD8X5XP仿真头,GW48-CK EDA实验开发系统及EPF10K20TC144-4FPGA适配板,GWDVPB电子设计开发板单片机最小系统,炜煌WH-500B程序编写加密器,GDS-820S数字存储示波器。5.4.2 系统的仿真结果 FPGA测试模块中频率/周期测量仿真图如下图所示。5.4.3 系统的硬件验证 单元电路的调试 FPGA/CPLD测频专用电路的调试:使用MAX+plus 10.0,计算机,GW48-CK EDA实验开发系统等软件和设备,对FPGA/CPLD测控电路进行VHDL程序的调试,有关仿真以及编程下载,硬件测试等。统的联合调试 在各个单元电路调试好后即可进行系统联调。统的硬件验证系统联合调试成功后,可将单片机程序通过编程器固化到单片机中并插入EDA实验开发系统中的单片机插座上,将VHDL设计经过综合适配后的网表对CPLD/FPGA进行编程下载,输入相关的信号,并进行有关性能指标的测试,直到满足系统的设计要求为止。本设计的具体硬件验证说明如下:本系统的显示电路共设置了8个数码管,前7个为数字显示,另一个是测量状态显示。(1) 当显示为P. 时,是复位状态,此时数码管全熄。(2) 当显示为F时,是频率测量状态,单位Hz,如果前面出现两个小数点,则第二个小数点表示MHz。(3) 当显示为P时,是周期测量状态,单位s。(4) 当显示为A时,是脉宽测量状态,单位s。(5) 当显示为B时,是占空比测量状态,单位%。 5.5 设计技巧分析(1) 在系统总体设计方面,充分利用单片机和FPGA/CPLD各自的优势,将测控的主体分配给FPGA/CPLD,既可满足频测对速度方面的要求和多I/O口的要求,同时利用单片机具有良好的人机接口和控制运算的功能,可以较简单地实现键盘和显示控制以及数据处理运算。(2) 在频率测量方面,由于采用了等精度测频法,使该系统具有以下特点: 相对测量误差与被测频率的高低无关; 增大Tpr或fs可以增大Ns,减少测量误差,提高测量精度; 测量精度与预置门宽度和标准频率有关,与被测信号的频率无关,预置门和常规测频闸门时间相同而被测信号频率不同的情况下,等精度测量法的测量精度不变。(3) 在显示方面,首先采用串行动态显示,节约了I/O口,简化了驱动电路的设计。5.6系统扩展思路 (1) 设计并制作系统工作的外围电路:系统用方波信号源、直流工作电源。(2) 系统联合调试成功后,可将单片机程序通过编程器固化到单片机中,将VHDL设计经过综合适配后的网表对CPLD/FPGA进行编程下载,将整个系统的外围电路设计制作印刷电路板。 256 VHDL程序语言和FPGA简介3636366 VHDL程序语言和FPGA简介6.1 VHDL程序语言介绍:硬件描述语言,是电子系统硬件行为描述,结构描述,数据流描述语言。目前利用硬件描述语言可以进行数字电子系统的设计。VHDL语言描述能力强,覆盖面广,抽象能力强,可读性好,既能被人容易读懂又能被计算机识别。VHDL语言中设计实体,程序包,涉及库,为设计人员重复利用别人的设计提供了技术手段。重复利用别人的ip模块和软核是VHDL的特色,许多设计不必个个从头再来,只要在更高层次上把ip 模块利用起来,就能达到事半功倍的效果。传统的硬件电路设计方法是采用自下而上的设计方法,即根据系统对硬件的要求,详细编制技术规格书,并画出系统控制流图;然后根据技术规格书和系统控制流图,对系统的功能进行细化,合理地划分功能模块,并画出系统的功能框图;接着就进行各功能模块的细化和电路设计;各功能模块电路设计、调试完成后,将各功能模块的硬件电路连接起来再进行系统的调试,最后完成整个系统的硬件设计。采用传统方法设计数字系统,特别是当电路系统非常庞大时,设计者必须具备较好的设计经验,而且繁杂多样的原理图的阅读和修改也给设计者带来诸多的不便。为了提高开发的效率,增加已有开发成果的可继承性以及缩短开发周期,各ASIC研制和生产厂家相继开发了具有自己特色的电路硬件描述语言(Hardware Description Language,简称HDL)。但这些硬件描述语言差异很大,各自只能在自己的特定设计环境中使用,这给设计者之间的相互交流带来了极大的困难。因此,开发一种强大的、标准化的硬件描述语言作为可相互交流的设计环境已势在必行。于是,美国于1981年提出了一种新的、标准化的HDL,称之为VHSIC(Very High Speed Integrated Circuit) Hardware Description Language,简称VHDL。这是一种用形式化方法来描述数字电路和设计数字逻辑系统的语言。设计者可以利用这种语言来描述自己的设计思想,然后利用电子设计自动化工具进行仿真,再自动综合到门级电路,最后用PLD实现其功能。综合起来讲,VHDL语言具有如下优点:1 覆盖面广,描述能力强,是一个多层次的硬件描述语言。在VHDL语言中,设计的原始描述可以非常简练,经过层层加强后,最终可成为直接付诸生产的电路或版图参数描述。2 具有良好的可读性,即容易被计算机接受,也容易被读者理解。3 使用期长,不会因工艺变化而使描述过时。因为VHDL的硬件描述与工艺无关,当工艺改变时,只需修改相应程序中的属性参数即可。4 支持大规模设计的分解和已有设计的再利用。一个大规模的设计不可能由一个人独立完成,必须由多人共同承担,VHDL为设计的分解和设计的再利用提供了有力的支持。当电路系统采用VHDL语言设计其硬件时,与传统的电路设计方法相比较,具有如下的特点:一 采用自上而下的设计方法。即从系统总体要求出发,自上而下地逐步将设计的内容细化,最后完成系统硬件的整体设计。在设计的过程中,对系统自上而下分成三个层次进行设计:第一层次是行为描述。所谓行为描述,实质上就是对整个系统的数学模型的描述。一般来说,对系统进行行为描述的目的是试图在系统设计的初始阶段,通过对系统行为描述的仿真来发现设计中存在的问题。在行为描述阶段,并不真正考虑其实际的操作和算法用何种方法来实现,而是考虑系统的结构及其工作的过程是否能到达系统设计的要求。第二层次是RTL方式描述。这一层次称为寄存器传输描述(又称数据流描述)。如前所述,用行为方式描述的系统结构的程序,其抽象程度高,是很难直接映射到具体逻辑元件结构的。要想得到硬件的具体实现,必须将行为方式描述的VHDL语言程序改写为RTL方式描述的VHDL语言程序。也就是说,系统采用RTL方式描述,才能导出系统的逻辑表达式,才能进行逻辑综合。第三层次是逻辑综合。即利用逻辑综合工具,将RTL方式描述的程序转换成用基本逻辑元件表示的文件(门级网络表)。此时,如果需要,可将逻辑综合的结果以逻辑原理图的方式输出。此后可对综合的结果在门电路级上进行仿真,并检查其时序关系。应用逻辑综合工具产生的门级网络表,将其转换成PLD的编程码点,即可利用PLD实现硬件电路的设计。由自上而下的设计过程可知,从总体行为设计开始到最终的逻辑综合,每一步都要进行仿真检查,这样有利于尽早发现设计中存在的问题,从而可以大大缩短系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 入院流程护士课件
- 入职安全培训简讯课件
- 2025年数字货币在文化娱乐领域的应用与监管研究报告
- 健康行业知识培训课件
- 偏瘫病人护理
- 促进民族团结精美课件
- 广西钦州市第十三中学2025-2026学年高二上学期第一周考试地理试卷(含答案)
- 2026届广东省兴宁市水口中学物理高三上期末学业质量监测模拟试题
- 浙江省七彩阳光2025-2026学年物理高三第一学期期末考试模拟试题
- 银监会舆情管理办法
- 《女性盆底解剖》课件
- 19.《只有一个地球》-课前预习单-小学语文六年级上册课前
- 九年级第一次家长会-(13张课件)
- 【新教材】部编版小学道德与法治四年级上册-全册课件
- 2024年河南省郑州市二七区小升初英语试卷
- DB65-T 4762-2023 油田地面工程建设节能技术规范
- 输血治疗中的大数据分析
- DL-T 297-2023 汽轮发电机合金轴瓦超声检测
- 《福建省建筑工程施工文件管理规程2》
- 幼儿园小班早操活动方案
- 新媒体广告-课件-第三章-新媒体广告伦理与法规
评论
0/150
提交评论