基于单片机IP核的等精度频率计设计讲解_第1页
基于单片机IP核的等精度频率计设计讲解_第2页
基于单片机IP核的等精度频率计设计讲解_第3页
基于单片机IP核的等精度频率计设计讲解_第4页
基于单片机IP核的等精度频率计设计讲解_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大学本科生毕业设计(论文)基于单片机IP核的等精度频率计设计摘要FPGA就是目前最受欢迎的可编程逻辑器件之一。IP核是将一些在数字电路中常 用但比较复杂的功能模块,设计成可修改参数的模块,让用户可以直接调用这些模块。 随着FPGA的规模越来越大,使用IP核是一个发展趋势。传统测频原理的频率计的测 量精度将随被测信号频率的下降而下降,在使用中有较大的局限性,而等精度频率计不 但具有较高的测量精度,而且整个频率区域能保持恒定的测试精度。本文结合FPGA与 8051单片机的优点实现了基于FPGA的8051 IP核应用,设计一个等精度频率计。关键词:FPGA,8051IP核,等精度频率计设计Abstr

2、actField Programmable Gate Array(FPGA)is one of the most welcomed programmable logic devices. IP core is a module which has changeable parameterSWith the IP core we can implement some complex functional module in digital circuits . With the increasing scale in the FPGA, Using IP core is becoming mor

3、e and more popularTraditional frequency measurementprinciple of the frequency accuracy will decline with the decline of the signal frequency.lt Has a greater limitations in use. Equal precision freque ncy meter not only has high measureme nt accuracy, and the whole freque ncy regi on can maintain a

4、con sta nt test accuracyComb ining the adva ntages of FPGA and 805 l MCUhe paper mainly realize the application of 8051 IP core based on FPGA that design a same accuracy freque ncy.Key words: FPGA,8051 IP core, same accuracy frequency3目录第一章绪论 31.1课题研究背景及意义 31.2主要任务 3第二章杭州康芯公司KX2C5F开发板介绍 52.1 KX2C5F+

5、系统简介 52.2主要应用 5第三章系统设计 73.1 8051单片机介绍 73.2 8051单片机IP软核介绍 73.3 8051单片机IP软核实用系统构建 93.4等精度频率计设计 103.4.1等精度测频原理 103.4.2等精度测频实现 113.4.3测量占空比的原理 133.4.4测量占空比的实现 133.5单片机的功能 143.5.1数据传输 143.5.2液晶显示 153.6单片机与FPGA勺组合应用 16第四章程序调试 174.1等精度频率计程序 174.2单片机程序和VHDLg序编译在一起下载到FPGA中 17第五章结果讨论 19总结 20致谢 21参考文献 22附录 23附

6、录1 :等精度频率计相关程序 23大学本科生毕业设计(论文)附录2单片机相关程序 25第一章绪论1.1课题研究背景及意义随着可编程逻辑设计技术的发展,每个逻辑器件中门电路的数量越来越多,一个逻 辑器件就可以完成本来由很多分立逻辑器件和存储芯片完成的功能。这样做减少了系统的功耗和成本,提高了性能和可靠性。FPGA( Fild Programmable Gate Array)就是目前最受欢迎的可编程逻辑器件之一。IP就是知识产权核或知识产权模块的意思,在EDA技术开发中具有十分重要的地位。著名的美国Dataquest咨询公司将半导体产业的IP定义为用于ASIC或FPGA/CPL中的预先设计好的电路

7、模块。随着FPGA勺规模越来越大, 设计越来越复杂,使用IP核是一个发展趋势。现在很多电子系统都是由单片机+FPGA实现的。长期以来,单片机以其性价比高、 体积小、功能灵活等方面的独特优点被广泛应用。但受其内部资源的限制,单片机需要 在片外扩展相关资源。为了达到处理速度和控制灵活性方面的需求,采用微控制器和可 编程逻辑器件设计单片机嵌入式系统。将单片机做在FPGA中,不但减少了电路中间连线,而且整个系统的可靠性得到加强,同时由于FPGA勺速度快,FPGA中的单片机的速度可达100MH茹上,整个系统的性能也能得到充分地改善。基于传统测频原理的频率计的测量精度将随被测信号频率的下降而下降,即测量精

8、度随被测信号的频率的变化而变化,在使用中有较大的局限性,而等精度频率计不但具 有较高的测量精度,而且整个频率区域能保持恒定的测试精度。本课题主要是应用已做 好的8051 IP核设计等精度频率计。1.2主要任务在了解数字频率计的基础上分析等精度频率计相对于传统频率计的优越性,研究等精度频率计的工作原理和实现方法,在 FPGA开发板提供的硬件环境上设计程序运行 的流程框图。用VHDLS写测频模块,对FPGA中的单片机核编写输入、显示等程序,完 成等精度频率计的设计。系统总框架图如图1-1所示。5大学本科生毕业设计(论文)14图1-1实验系统总框架图第二章杭州康芯公司KX2C5F+开发板介绍2.1

9、KX2C5F+系统简介KX2C5F+系统是康芯公司电子设计竞赛作品板,其系统硬件结构组成如下:1、KX2C5F+ 系统选用 Altera 公司 Cyclonell 系列 EP2C5T144 FPGA。其包含 4608 个逻辑宏单元、两个锁相环,约 20万门、约12万RAM bit。2、 含全兼容工业级8051核、其主频最高可达250MHz,是普通单片机速度的20 倍。3、EPM3032CPLD、1M EPCS1 Flash、蜂鸣器、20MHz 晶振、8 键、1 数码管, HS162-4LCD液晶显示器。4、JTAG、VGA、RS232接口、PS2 口、USB 电源口。5、 FPGA编程器、字符

10、型液晶驱动口(可直接接多种类型字符型液晶)、点阵型液 晶驱动口(可直接接数字彩色或黑白点阵型液晶)。根据任务要求设计主要应用到 EP2C5T144 FPGA、USB电源口、JTAG下载口以及 字符型液晶驱动口,其硬件系统结构框图如图2-1所示:图2-1硬件系统结框图构图2.2主要应用可配置于KX2C5F+系统FPGA的单片机CPU核与传统MCS-51单片机高度兼容(极 个别指令不兼容),但速度约为传统单片机的20倍,在FPGA芯片优化良好的条件下, 主频最高可达250MHz ;同样用C或汇编语言完成软件设计。目前许多实用 SOC应用 系统都使用此类通用CPU实现设计。电子设计竞赛中,需要实现高

11、速算法或高速控制的项目越来越多,如此高速的单片 机核,几乎可以用来完成某些DSP功能,如语音处理,压缩和频谱分析等。再加上FPGA 本身的高速性能,完成许多高性能指标的系统功能将变得十分容易; 而把CPU、锁相环、 数据RAM、程序ROM、接口模块、通信模块、显示控制模块、数据采样和信号发生模 块等等,都放在同一片FPGA内,从而构成SOC系统,这将使系统的设计效率和系统 性能获得极大的提高,这也是现代电子设计技术的发展方向。KX2C5F+系统开发板可以应用于很多设计。这里,根据论文的目的,在完成设计任务时,用8051 IP核加上锁相环、RAM以及ROM 构成一个单片机。通过锁相环将单片机时钟

12、设置为40MHz。此单片机的任务是将测得的频率在LCD显示。第三章系统设计3.1 8051单片机介绍MSC-51系列单片机的内部结构由八部分组成,以80C51单片机为例,其内部按功能可划分为CPU、存储器、I/O端口、定时/计数器、中断系统等模块。MSC-51系列单片机芯片有40个引脚,是采用HMOS工艺制造,双列直插(DIP)方式封装的芯片,其引脚如图3-1所示PL ? rRST/Vin c 0/HXI)匚F3* l/TXD CP3. 2. 1V0 cc卩3, 4/TO cP3. 5/ Q cpa, 6/ Jr 匚咼.7 fTri cXTM2 XTAIJ c恤uzj Vrr P0+0 po.

13、 i P0.2n PQ. *a P0.4=i pa, 5n PQ.6=i巴了3 liA/Vpr_ ALE/PROG PSEN P.7 P?. 6=i P2* 5o P2.4P2.3=i P2.2=)F匕 I P2,0图3-1 MCS-51系列单片机引脚3.2 8051单片机IP软核介绍CPU8051V1是康芯公司提供的 8051单片机核,由 VQM 原码(Verilog Quartus Map pi ng File)表述:CPU8051V1.vqm,可直接调用。与普通 MCS-51系列单片机一样, 8051单片机核也含有8位复杂指令CPU,其结构框图如图3-2所示。8051单片机核的 指令系统

14、与8051/2、8031/2等完全兼容,硬件部分也基本相同,例如可接64KB外部存储器,可接256字节内部数据RAM,含两个16位定时/计数器,全双工串口,含节省 功耗工作模式,中断响应结构等等。不同之处主要有:1、8051V1是以网表文件的方式存在的,只有通过编译综合,并载入FPGA中才以硬件的方式工作,而普通8051总是以硬件方式存在的;2、8051V1无内部ROM和RAM,所有程序ROM和内部RAM都必须外接。从图3-2可见,它包含了 “数据RAM端口”和“程序存储器端口” ,是连接外接ROM、RAM 的专用端口(此ROM和RAM都能用LPM_ROM和LPM_RAM在同一片FPGA中实现

15、厂 然而普通8051芯片的内部RAM是在芯片内的,而外部ROM的连接必须以总线方式与 其P0、P2 口相接(AT89S51的ROM在芯片内,CPU核外)。3、以软核方式存在能进行硬件修改和编辑;能对其进行仿真和嵌入式逻辑分析仪 实现实时时序测试;能根据设计者的意愿将 CPU、RAM、ROM、硬件功能模块和接口 模块等实现于同一片FPGA中(即SOC)。4、与普通8051不同,8051单片机核的4个I/O 口是分开的。例如P1 口,其输入 端P1I和输出端P1O是分开的,如果需要使用 P1 口的双向口功能,必须外接一些电路 才能实现。.niirrwiffirBmfrirtMTiirsBsmrrr

16、ia!i CPU CoreMESWDOUT3PSEDNMOE|XINWIWEfX2DLM=:RESETALE5NEAPSENNESFRALENALEIFWEPSE-FOE P0l7 uSFRWEiP1l7 uSFROEiP2I7 uIDLE-P3I7 0XOFFP0O? 0*ROMdaOlj 0)P107 0!P2O7 0*P3O7 0POE 7 0P1E7.OJ*P2E7.OP3E7.ORAMadr7.ORAMdal|7.OROMad115 0)rPOE7.0inst图3-2 8051V1原理图元件3.3 8051单片机IP软核实用系统构建8051V1核在接上了 ROM和RAM后就成为一个完

17、整的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字节,对于一般的应用

18、足够了。此 ROM可以 加载HEX格式文件作为单片机的程序代码。HEX程序代码可以直接使用普通 8051单 片机程序编译器生成。4、数据RAM,LPM_RAM。图3-3中设置的LPM_RAM 容量是256字节。高128 字节须用间接寻址方式访问。这里的LPM_ROM和LPM_RAM调用方法参见其它资料。图 3-3 中,P0I7.0、P1l7.0、P2I7.0、P3I7.0分别为 P0、P1、P2、P3 口的输 入口; P0O7.0、P1O7.0、P2O7.0、P3O7.0分别为 P0、P1、P2、P3 口的输出口。 各口的应用再根据任务要求进行连线。inckOChSoPh i咖oe(D DOJ

19、ff0nchO IraLHnc护HrIIram296datnp 0|7wrenscidrt55? .JO)rom4khR1审n|InstMTDDUTWOMUREJtlIMUWg卷OLkiRESETHEAFBENHESFR.4LENALBFWEPSEJFOEP1l7 D|lJFBQf P-Jip. fl|IDLEP3I7.D|KDFFPO7. d|PIDT.I|PZDJ. D|阮口 ME印m円甲OR氏耳?.叩Rr*drp-.iDR#MSiap-.CROMKSrflS. Oj图3-3基本8051CPU核应用3.4等精度频率计设计3.4.1等精度测频原理等精度测频的实现方法可简化为图 3-4所示。C

20、NT1和CNT2是两个可控计数器, 标准频率信号设定为40MHz从CNT1的时钟输入端CLK输入,经过整形后的被测信 号从CNT2的时钟输入端CLK输入,当预置门控信号为高电平时,经过整形后的被测 信号的上升沿通过D触发器的Q端同时启动CNT1和CNT2。CNT1、CNT2同时对标 准频率信号和经整形后的被测信号进行计数,分别为Ns与Nx。当预置门信号为低电平的时候,后面而来的被测信号的上升沿将使两个计数器同时关闭,所测得的频率为(Fs/Ns) *Nx.则等精度测量方法测量精度与预置门宽度的标准频率有关,与被测信号 的频率无关。标准频率信号预置闸门信号被测信号图3-4等精度测频实现原理等精度测

21、频方法是在直接测频方法的基础上发展起来的。它的闸门时间不是固定 值,而是被测信号周期的整数倍,即与被测信号同步。因此除了对被测信号计数所产 生的1个周期误差,并且达到了在整个测试频率阶段的等精度测量。如图3-5在测试过程中,有两个计数器分别对标准信号和被测信号同时计数。首 先由单片机给出给出闸门信号,在t1时间内保持高电平,当单片机赋给预置门高电平 信号时实际闸门并未打开此时计数器并不开始计数,而是等到被测信号的上升沿到来 时才打开实际闸门,计数器才真正开始计数,然后单片机发给预置闸门低电平关闭信 号,计数器并不立即停止计数,而是等到被测信号的上升沿到来时才关闭实际闸门信 号开始结束计数,完成

22、一次测试过程。可以看出,实际闸门时间为t1,预置闸门时间为t,两个闸门时间并不严格相等,但是差值不超过被测信号的一个周期。大学本科生毕业设计(论文)预置闸门 jil实际闸门ht1ii1I标准信号IIIII1111|I Ns I被测信号 ji_mrmiJiJT_rLJrL=j Nx f图3-5等精度测频原理设在一次实际闸门时间t中计数器对被测信号的计数值为 NX,对标准信号的计数值 为Ns。标准信号的频率为fs,则被测信号的频率如下式:fx=(Nx/Ns)*fs在测量中,由于fx计数的启停时间都是由该信号的上升沿出发的,在闸门时间t内对fx的计数Nx无误差,对fs的计数Ns最多相差一个数的误差,

23、S=1/fs由上式可以看出,测量频率的相对误差与被测信号频率的大小无关,仅与标准信号频率 有关,即实现了整个测量频段的等精度。标准频率越高,测量的相对误差越小。在保证 精度测量不变的前提下,提高标准信号频率,可是闸门时间缩短,即提高测试速度。342等精度测频实现等精度频率计的实现可以简单地用图 3-6和波形图3-7来说明设。图3-4中“预置门 控信号” CL可由单片机发出,可以证明,在 1秒至0.1秒间的选择范围内,CL的时间 宽度对测量精度几乎没有影响,在此设其宽度为Tpr。BZH和TF模块是两个可控的32位高速计数器,BENA和ENA分别是它们的计数允许信号端,高电平有效。标准频率 信号4

24、0MHz从BZH的时钟输入端BCLK输入,设置频率为Fs;经整形后的被测信号 从与BZH相似的32位计数器TF的时钟输入端TCLK输入,设置真实频率值为 Fxe, 被测频率为Fx。等精度频率计原理如下图3-6所示:图3-6等精度频率计设计原理图bclk为标准频率信号设定为40MHz , tclk为被测信号,被测信号的范围为 1Hz到 40MHzo clr为清零信号,cl为预置门信号,start为实际闸门信号,sel为数据选择器的 控制端口,data为数据传送端口。测试开始前,首先发出一个清零信号CLR,使两个计数器和D触发器置0,同时D触发器通过信号ENA,禁止两个计数器计数。这是初始 化操作

25、。然后由单片机发出允许测频命令,即令预置门控信号CL为高电平这时D触发器要一直等到被测信号的上升沿通过 Q端时才把start置1,与此同时,将同时开启计数 器BHZ和TF,进行计数,当Tpr秒后,预置门信号CL被单片机置为低电平,但此时 两个计数器并没有停止计数,一直等到随后而至的被测信号的上升沿到来时start为0,才通过D触发器将这两个计数器同时关闭图3-7等精度频率计波形仿真设在一次预置门时间中对被测信号的计数值为Nx,对标准频率计数值为Ns,则下式成立:Fx/Nx=Fs/Ns不难得到测得的频率为:Fx=(Fs/Ns)*Nx343测量占空比的原理设定中间信号pl,分别取被测信号的一个正脉

26、宽和一个负脉宽作为门控信号,对标 准频率进行计数,对正脉宽的计数值为 N1,对负脉宽的计数值为N2,则周期计数值为 N1+N2,于是占空比为:占空比=N1*100%)/(N1+N2)m.TULKH C11ji 丄一,ii_ii.rSFULK CK 1ri图3-8344测量占空比的实现对于占空比的测量,可以通过测量正反两脉宽的计数值来获得。设BZH对正脉宽的计数值为N1,对负脉宽的计数值为N2,则周期计数值为N1+N2,于是占空比为:占空比=(N1*100%)/(N1+N2)占空比的测量流程如下图3-9所示:图3-9占空比测量流程图测量占空比的波形仿真见下图3-10占空比仿真波形,BCLK为标准

27、频率信号为40MHz,TCLK为被测频率信号,CL预置门信号设置为低电平,给清零信号 CLR 一个 有效电平(高电平有效),等待EEND由低电平跳变为高电平时表示对被测信号的一个 负脉宽计数结束,此时读取标准计数器的数据标记为N1,然后再给出清零信号CLR 一个有效电平,预置门控信号设置为高电平,等待EEND由低电平跳变为高电平时表示对 被测信号的一个正脉宽计数结束,此时再读取标准计数器的数据标记为N2,对N1,N2进行简单的算术运算就可以得到占空比。17大学本科生毕业设计(论文)图3-10占空比仿真波形3.5单片机的功能3.5.1数据传输与计算首先用VHDL语言编写一个八选一数据选择器,其封

28、装模块如图3-8所示,其主要 功能是由P0 口的3根输出信号控制,将32位测频数据分成8个四位依次送进单片机P2的输入口.4U. -Li. .u j I Ig | ga i4G 4 I .eg | g | g | ga aa t:mux64 8 tBZQ31.O DATA7.O TSQ31.O1匹轨2.0inst图3-11八选一数据选择器BZQ接标准频率计数器的数据口,TSQ接被测信号计数器的数据口,sel2、sel1、selO接单片机的P0.6、P0.5、P0.4, DATA7.O接单片机的P2 口,单片机程序在Keil C 环 境下开发,实现将32位二进制测频数据分成8个四位由高位到低位的

29、顺序依次送到单 片机。单片机程序设计思想:设置P06 P0.5、P0.4作为数据选择器的地址输入端,设置从000-111情况下依次将标准频率计数器和被测频率计数器的数据分别送到单片机。 定义一个32位的数据类型,把每次接受的 8位数据通过“位移”指令和简单的加法还原为32位,再进行算术运算,得到想要的结果,驱动液晶显示出来3.5.2液晶显示液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式 仪表和低功耗应用系统中得到越来越广泛的应用。本实验使用字符型液晶模块HS162-4。 HS162-4液晶模块是一种用5x7点阵图形来显示字符的液晶显示器,根据显示的容量可 以分为1行1

30、6个字、2行16个字等。HS162-4采用标准的16脚接口,其中VSS为地电源,VDD接5V正电源。V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“阴影”,使用时可以通过一个10K的电位器调整对比度。RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当 RS为低电平RW为高电平时可以读忙信号, 当RS为高电平RW为低电平时可以写入数据。E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。LEDA和LEDK为背光电源

31、,LEDA接5V正电源,LEDK接GND。D0D7为8位双向数据线。液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标 志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就 是告诉模块在哪里显示字符,表3-1是HS162-4的内部显示地址。表1-1 HS162-4内部显示地址表显示位置1234567S910H1213141516第行808182838485868788898ASB8C8DSESF第2行COClC2C31C4CbC6C7r csC9CACBCCCDCECF即,第1行的显示开始地址应为:80H ;第2行的显示开始地址应为:C0H。液晶的

32、三个控制信号 RS、RW、E,分别接单片机的P3.0、P3.1、P3.2, 8位数据线接P1 口,在程序中设置三个按键切换不同的功能:K2 (复位)显示“ Qi ng Guang Mi ng“ Bi Ye She Ji ”K3 (测频率)显示“ FREQ:“测量所得的频率K4 (测占空比)-显示“ DUTY :“所测得的占空比”按键控制的液晶显示流程图如下图 3-12所示:按薩K2(:复 位)屮单.片机县示QiSfi Suanj Ming S “ Bi Ye She Jj J41按键K3 (测显吓FREQ: a按键K4 (测 占空比八“测量所得的频率v显示DUTY: 3 所测得的占空比图3-1

33、2按键控制液晶显示流程图3.6单片机与FPGA的组合应用把FPGA程序和单片机程序分别调试好后再组合起,锁定引脚、编译、下载进行联 合调试。整体流程图如下图所示,bclk接标准频率信号40MHz,tclk接被测信号,clr 接 P0.0 口,cl 接 P0.1 口,spul 接 P0.2 口,sel2、sel1、sel0 分别接单片机 P0.6、P0.5 P0.4 口,start接P.7 口,eend接P0.3 口,data接P2 口,按键K2是复位开关显示初始 化内容,按键K3接P3.3测频显示,按键K4接P3.4测占空比显示。jF2TT. . O FO工P0II7J-etesterMDFO

34、野斗P33卩34Jbclk tclk nlrstartnd data7 D|cirLrlspulsell 2 0instflK2槌”K3聽*K2县戸切禅I化内容液晶負图3-13总体框图第四章程序调试4.1等精度频率计程序把等精度频率计模块与单片机系统正确确连接,锁定好引脚,特别注意不用的单片 机I/O 口要接地。连线与引脚锁定分别见下图4-11、4-12。图 4-11图 4-124.2单片机程序和VHDL程序编译在一起下载到FPGA中点击ROM,文件路径该成如图4-21所示点“ ./ASM ”表示把单片机的hex文件存在当前 工程ASM中。LPM ROMAboutDoctimentaticin

35、msurom4kbaddress12.O0_ “inclcckq7 01CancelFinEhlecaVizard Plug-In lanager - LPV_ROK page 3 of 5|1| ParameterSettingcGerieTRegsJ亡Iken勾AcIfw图 4-22第五章结果讨论信号发生器发发出的频率实际值测量值误差16MHz1999799Hz1997929Hz0.0116%10MHz9999213Hz9989659Hz0.095%9MHz8999195Hz89906830.094%100K99970Hz99897Hz0.037%50K49985Hz49948Hz0.07

36、4%20K19994Hz19979Hz0.075%10K9997Hz9990Hz0.07%1K999Hz999Hz0500Hz499Hz499Hz0300Hz299. 9Hz299Hz0200Hz199.9Hz199Hz070Hz69.9Hz69Hz0总结本课题实现了用FPGA中的单片机IP核设计等精度频率计的系统。用 VHDL语言 设计采集频率的部分,将测频结果送到8051单片机IP核中处理,8051单片机软核再驱 动液晶显示测频和占空比数据。本课题主要目的是学会8051单片机IP软核的应用,了解其与传统 MCS-51单片机 高度兼容(极个别指令不兼容),但速度为传统单片机的20倍,优化良好

37、的条件下,主 频最高可达250MHz,可实现SOC片上系统设置的优势。此外,等精度频率计设计、单 片机C语言的编写,也让我受益很多。致谢在这次毕业设计的过程中,我得到很多老师和同学的帮助,我的指导老师孙妍老师 一直对我耐心指导,遇到问题时给我指出很有效的解决方法。物理学院全体电子教研组 的老师都为我们全班同学的毕业设计付出了辛勤的劳动。在此,谨向导师表示崇高的敬意和衷心的感谢!同时,也对我们08届电子信息科学专业的各位领导和老师的辛苦劳动表示由衷感谢!200920092010参考文献1.潘松黄继业,EDA技术实用教程,科学出版社,20092阎石等,数字电子技术基础,高等教育出版社,20053.

38、 李云侯传教等,VHDL电路实用教材,机械工业出版社,4. 谭浩强,C程序设计,清华大学出版社,20075倪云峰等,单片机原理与应用,西安电子科技大学出版社,6.陈海宴,51单片机原理及应用,北京航空航天大学出版社,附录附录1:等精度频率计相关程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_ un sig ned.all; en tity etester isport(bclk:in std_logic;tclk:in std_logic;clr:in std_logic;cl:i n std_logic;spul:i

39、 n std_logic;start:out stdo gic;een d:out std_logic;sel:in std_logic_vector(2 downto 0);data:out stdogic_vector(7 downto 0);end etester;architecture behav of etester is signal bzq:std_logic_vector(31 downto 0);signal tsq:stdogic_vector(31 downto 0);sig nal en a:std_logic;sig nal ma,clk1,clk2,clk3:st

40、d_logic;sig nal q1,q2,q3,be na,pul:std_logic;sig nal ss:std_logic_vector(1 dow nto 0); begi n start=e na;data=bzq(7 dow nto 0) whe n sel=000 else bzq(15 downto 8) when sel=001 else bzq(23 downto 16) when sel=010 elsebzq(31 downto 24) when sel=011 elsetsq(7 dow nto 0) whe n sel=100 elsetsq(15 downto

41、8) when sel=101 elsetsq(23 downto 16) when sel=110 elsetsq(31 downto 24) when sel=111 elsetsq(31 downto 24);bzh:process(bclk,clr)beg inif clr=1 the n bzq0);elsif bclkeve nt and bclk=1 the nif ben a=1 the n bzq=bzq+1; end if;end if;end process;tf:process(tclk,clr,e na)beg inif clr=1 then tsq0);elsif

42、tclkevent and tclk=1 thenif en a=1 the n tsq=tsq+1; end if;end if ;end process;process(tclk,clr)beg inif clr=1 then en a=0;elsif tclkeve nt and tclk=1 the n en a=cl; end if;end process;ma=(tclk and cl)or not(tclk or cl);clk1=not ma; clk2=ma and q1; clk3=not clk2; ss=q2&q3;dd1:process(clk1,clr)begi n

43、if clr=1 then q1=0;elsif clklevent and clk1=1 then q1=1;end if; end process;dd2:process(clk2,clr)begi nif clr=1 then q2=0;elsif clk2eve nt and clk2=1 then q2=1;e nd if; end process;dd3:process(clk3,clr)begi nif clr=1 then q3=0;elsif clk3eve nt and clk3=1 then q3=1;e nd if; end process;pul=1 when ss=

44、11 elseO;een d=1whe n ss=11 elseO;ben a=e na whe n spul=1 elsepul whe n spul=0 elsepul;end behav;附录2单片机相关程序#in clude#i nclude#i nclude/*等精度频率计端口定义*/sbit clr=P0A0;sbit cl =P0A1;sbit spul=P0A2;sbit sel2=P0A6;sbit sei 1= P0A5;sbit sel0=P0A4;sbit start=P0A7;sbit een d=P0A3;sbit k3=P3A3;sbit k4=P3A4;/*液晶

45、的控制端口定义*/sbit RS = P3A0;sbit RW = P3A1;sbit E = P3A2;#define d P2 /等精度频率计的数据口#define Data P1 / 液晶的数据口char data Test1=;char data TimeNum=;void DelayUs( un sig ned int us)un sig ned int usc nt;usc nt=us1;while(-usc nt);void DelayMs( un sig ned int ms)while(-ms)DelayUs(250);DelayUs(250);DelayUs(250);De

46、layUs(250);/*液晶显示程序 */void WriteComma nd(un sig ned char c)DelayMs(5);E=0;RS=0;RW=0;_nop_();E=1;Data=c;E=0;void WriteData( un sig ned char c)DelayMs(5);E=0;RS=1;RW=0;_nop_();E=1;Data=c;E=0;RS=0;void ShowChar( un sig ned char pos, un sig ned char c)un sig ned char p;if (pos=0x10)p=pos+OxbO;elsep=pos+

47、0x80;WriteCommand (p);WriteData (c);void ShowStri ng (un sig ned char lin e,char *ptr)un sig ned char l,i;l=li ne4;for (i=0;i16;i+)ShowChar (l+,*(ptr+i);void In itLcd()WriteComma nd(0x38);WriteComma nd(0x38);WriteComma nd(0x06);WriteComma nd(0x0c);WriteComma nd(0x01);void ini t()cl=0;clr=1; spul=1;

48、DelayMs(2);clr=0;DelayMs(2);/* 主程序 ”*/void ma in (void)un sig ned long b,t,s ,n1,n2;/初始化界面显示Ini tLcd();spri ntf(Test1,Qi ng Gua ng Ming);ShowStri ng(0,Test1);spri ntf(TimeNum,Bi Ye She Ji);ShowStri ng(1,TimeNum);while(1)if(k3=0);/按键K3按下,测量频率DelayMs(5);if(k3=0)ini t();cl=1;DelayMs(821);cl=0;while(sta

49、rt=1);sel2=0;sel1=1;sel0=1; b=d;sel2=0;sel1=1;sel0=0;b = 8;b=b+d;sel2=0;sel 1=0;sel0=1;b=8;b=b+d;sel2=0; sel 1=0;sel0=0;b=8;b=b+d;sel2=1;sel1=1;sel0=1; t=d;sel2=1;sel1=1;sel0=0;t=8;t=t+d;sel2=1;sel1=0;sel0=1;t=8;t=t+d;sel2=1;sel 1=0;sel0=0;t=8;t=t+d;s=(40000000/b)*t;TimeNum0=;TimeNum1=;TimeNum2=;TimeNum3=;TimeNum4=;TimeNum5=s/10000000+0;TimeNum6=(s%10000000)/10000

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论