毕业设计(论文)-数字化频率测试系统的电路设计--硬件部分的设计.doc_第1页
毕业设计(论文)-数字化频率测试系统的电路设计--硬件部分的设计.doc_第2页
毕业设计(论文)-数字化频率测试系统的电路设计--硬件部分的设计.doc_第3页
毕业设计(论文)-数字化频率测试系统的电路设计--硬件部分的设计.doc_第4页
毕业设计(论文)-数字化频率测试系统的电路设计--硬件部分的设计.doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

数字化频率测试系统的电路设计硬件部分的设计摘要本文介绍了用可编程逻辑器件设计简单频率计的实现过程。利用美国altera公司的max+plus软件,以原理图输入方式设计了一个频率计,下载到cpld的模型机,经仿真检验测频范围可达1hz10khz,用6位led扫描显示电路。体现了可编程逻辑器件电路设计的更趋合理,降低了硬件电路的设计难度以及原理图设计方法的直观性和易用性的特点。产品的质量得到了提高传统的方法设计这两个芯片是可能需要若干个芯片互连起来,这样就带来了系统的不稳定性,而利用本文的方法只需一片cpld或fpga芯片就能完成,这就减少了系统的不稳定因素,并且在设计电路板时能够减少电路板的尺寸另外,由于是单片芯片,没有太多的连线,它的时延是很小的,实时性很强,从上面的仿真结果看,第一个芯片从clk到y1和y2的延时时间仅为6.9ns和7.0ns,第二个芯片从clk到输出的延时约为6.6ns。关键词:可编程逻辑器件 简单频率计 硬件电路digital circuit design frequency test systems the design of hardware hartabstractdesign the realization course of the simple frequency counter with the programmable logic device in introduction to this text. utilize max +plus software of u.s.a. altera company, has input the way and designed frequency counter with the principle picture, download model machine to get cpld, is it examine by emulation range can reach 1hz-10khz frequently, is it show to in charge of with 6 number to examine. reflect programmable logic device reasonable , reduce design degree of difficulty , hardware of circuit and principle picture design method and apt to use. the quality of product got exaltation. traditional method design these two chips may need some chips to connect with each other, so bring the unsteady of the system, but make use of textual method to need one cpld or fpga chip can complete, this reduce system of unsteady factor, and while designing circuit board can reduce the size of circuit board, moreover, in view of the fact single slice chip, there are no too many on-lines, its hour postpone is pimping, the solid hour is very strong, imitating from above true result see, the first chip is from clk to y1 and y2 postpone always is only for 6.9 ns and 7.0 ns, the second chip is from clk to outputs postpone about is a 6.6 ns.key word: programmable logic device simple frequency counted. hardware circuit目 录前言1第一章 eda工具软件的使用方法211 max+plus ii的安装方法212原理图输入法的层次化设计513 max+plus ii老式宏函数的应用614 max+plusii强函数的应用6第二章 硬件描述语言721 概述722 ahdl设计的基本结构72.2.1 标题语句72.2.2 参数语句72.2.3 包含语句82.2.4常量语句82.2.5 定义语句82.2.6 函数原型语句82.2.7 选择语句92.2.8 断言语句92.2.9 子设计段102.2.10 变量段102.2.11 逻辑段11第三章 数字化频率计的图形设计123.1 概述123.2 频率计的原理图设计123.2.1 频率计各个部分的说明及仿真121.计数脉冲发生模块122.频率计数模块、数据寄存模块和溢出模块143.数据选择模块和显示模块174分频系统205.频率计的控制端213.2.2 数字频率计设计的总图及其仿真243.3下载实验26论结27参考文献28致 谢29附录:291天津理工大学2010届毕业设计说明书前言fpga/ cpld 是一种新兴的高密度大规模可编程逻辑器件,它具有门阵列的高密度和pld 器件的灵活性和易用性,目前已成为一类主要的可编程器件。可编程器件的最大特点是可通过软件编程对其器件的结构和工作方式进行重构,能随时进行设计调整而满足产品升级。使得硬件的设计可以如软件设计一样方便快捷,从而改变了传统数字系统及用单片机构成的数字系统的设计方法、设计过程及设计观念,使电子设计的技术操作和系统构成在整体上发生了质的飞跃。 采用fpga/ cpld 可编程器件,可利用计算机软件的方式对目标器件进行设计,而以硬件的形式实现。既定的系统功能,在设计过程中,可根据需要随时改变器件的内部逻辑功能和管脚的信号方式,借助于大规模集成的fpga/ cpld和高效的设计软件,用户不仅可通过直接对芯片结构的设计实行多种数字逻辑系统功能,而且由于管脚定义的灵活性,大大减轻了电路图设计和电路板设计的工作量及难度,同时,这种基于可编程芯片的设计大大减少了系统芯片的数量,缩小了系统的体积,提高了系统的可靠性。频率的测量方法很多, 可分为无源法、比较法、计数法等, 本设计采用频率计数器原理测定频率.fpga (现场可编程门阵列) 不仅能用于逻辑仿真, 还可实现硬件仿真, 将软件模拟后的线路经一定处理下载到fpga , 就可容易地得到一个模型机, 设计者从该模型机就可直观地测试其逻辑功能及性能指标.本文利用美国altera公司的max+plus软件设计了一个信号频率测定计, 以原理图输入方式编译出设计软件, 下载到cpld的模型机, 经仿真检验测频范围可达1hz10khz,可满足精度要求。1天津理工大学2010届毕业设计说明书第一章 eda工具软件的使用方法11 max+plus ii的安装方法 eda的核心是利用计算机完成电路设计的全程自动化,因此基于计算机环境下的eda工具软件是不可缺少的。掌握eda工具软件的使用方法,应该是eda技术学习的第一步。 altera公司是世界上最大的可编程逻辑器件供应商之一,max+plusii(multiple arraymatrix+programmable logic user systemii)是该公司开发的eda工具软件,目前已发展到10。0以上版本。该软件界面友好、方便易用、功能全面,是非常流行的大众化eda平台。适合教学和科研开发等多种应用场合。 max+plus ii工具软件几乎支持eda设计的全过程,包括设计文件的输入编辑、编译、仿真、综合和编程下载,自动完成综合过程中的编译网表提取、数据库建立、逻辑综合、逻辑分割、适配、延时网表提取和编程文件汇编等操作。 max+plusii工具软件可以从altera公司的网站下载得到,在该软件存放的目录下,运行setupexe文件即可实现安装。安装成功后,第一次运行max+plus ii前,还必须得到授权。首先把alteracrack目录下的名称为alteradat或license_m_qdat的license文件,复制到max+plus ii的安装目录kmaxplus2下。运行max+plus ii,进入max+plus ii集成环境,执行“option”选项的“license setup”命令,弹出如图11所示的“license setup”对话框。单击“browse”按钮选择授权文件(license),此时选择前面复制的hnaxplus2alteradat或kmaxplus2license_m_qdat授权文件即可。图1.1 “license setup”对话框fig1.1 “license setup” dialog box 在windows 98环境下安装max+plus ii结束后,可直接使用硬件编程下载功能。在windows 2000环境下安装,除了安装max+plus ii工具软件外,为了使用编程下载功能,还必须安装硬件驱动程序drivers。硬件驱动程序具体的安装如下: 打开计算机的控制面板(开始设置控制面板); 在控制面板上打开“游戏选项”,然后选择“添加”“添加其他”“从磁盘安装”;接着浏览max+plus ii的安装目录:c:maxplus2driverswin2000; 选择“win2000.inf”,单击“确定”按钮; 在“数字签名未找到”对话框中选择“是”; 在“选择一个设备驱动程序”对话框中,选择“altera byteblaster”,并单击“下一步”按钮; 在接下去的“数字签名未找到”对话框,仍然选择“是”; 安装完成,依提示重新启动计算机。12 max+plus ii的原理图输入设计法 用max+plus ii的原理图输入设计法进行数字系统设计时,不需要任何硬件描述语言知识,在具有数字逻辑电路基本知识的基础上,就可使用max+-plusii提供eda平台,设计数字电路。在max+plus ii平台上,使用原理图输入设计法实现数字电路系统设计的操作流程如图12所示。原理图输入设计法的基本操作包括编辑原理图、编译设计文件、生成元件符号、功能仿真、引脚锁定、时序仿真、编程下载和硬件调试等基本过程。 图1.2 原理图输入设计法的基本操作流程图fig1.2 the principle diagram importation design method of basic operation flow chart 为了方便电路设计,设计者首先应当在计算机中建立自己的工程目录。例如,将自己的全部eda设计文件放在f:maxplu2sheji文件夹中,而为图形编辑设计建立f:maxplu2shejigdf文件夹,为vhdl文本编辑设计建立f: maxplu2shejivhdl等。1.2.1 编辑设计图形文件 在maxl+plusii集成环境下,执行“file” “new”命令,弹出如图13所示的“编图1.3 “编辑文件类型”对话框fig1.3 “edit a document type” dialog box辑文件类型”对话框,选择“graphic editor file”后单击“ok”按钮,进入max+plus ii图形编辑方式(graphic editor file),其界面如图1.4所示。图形编辑界面中的空白处,即原理图编辑区,相当于一张空白图纸,设计者可以在此画出自己的电路设计图。在原理图编辑区的任何一个位置上双击鼠标的左键,将弹出一个“元件选择”对话框,如图1.5所示。或者单击鼠标右键,在弹出的选择对话框中选择输入元件项enter symbol,也可以出现这个元件选择对话框。图1.4 max+plus ii的图形编辑界面fig1.4 the sketch edits interface ofmax+plus ii图1.5 “远见选择”对话框fig1.5 “the farseeing choose” dialog box在元件选择对话框的“symbol libraries”栏目内,列出了各个元件库。其中,“f:maxplus2gdf”是设计者自己定义的元件库,即为工程设计建立的文件夹,设计者可以将自己设计的电路元件存放在该文件夹中;“f:maxplus2max2libprim”是max+plusii基本元件库,如门电路、触发器、电源、输入和输出等;“f:maxplus2max2libmf”是老式宏函数(old-style macrofunctions)元件库,如加法器、编码器、译码器、计数器和移位寄存器等74系列器件;“f:maxplus2max2libmega_lpm”是参数可设置的强函数(megafunctions)元件库,如参数可设置的与门lpm_and和参数可预置的三态缓冲器lpmbustri等。这些库函数的详细信息可以利用max+plusii的“帮助”获得。为了方便读者学习,在本书的附录a中也列出了max+plusii老式宏函数和参数可预置的强函数的详细内容。 12原理图输入法的层次化设计原理图输入设计法可以与传统的数字电路设计法接轨,即用传统方法得到设计电路的原理图,用eda平台对设计电路进行设计输入、仿真验证和综合,最后编程下载到可编程逻辑器件fpgacpld或专用集成电路(asic)中。在eda设计中,将传统电路设计过程的电路布线、印刷电路板绘制、电路焊接和电路加电测试等过程取消,提高了设计效率,降低了设计成本,减轻了设计者的劳动强度。然而,原理图输入设计法的优点不仅如此,它可以极为方便地实现数字系统的层次化设计,这是传统设计方式无法比拟的。层次化设计也称为“自底向上”的设计方法,即将一个大的设计项目分解为若干个子项目或若干个层次来完成。先从底层的电路设计开始,然后在高层次的设计中逐级调用低层次的设计结果,直至最后系统电路的实现。对于每个层次的设计结果,都需经过严格的仿真验证,尽量减少系统设计中的错误。在使用硬件描述语言设计电路时,也可以把硬件描述语言设计的电路作为底层元件,然后用原理图输入法,将多个设计元件连接起来,实现多层次系统电路的设计。这种方法可以克服硬件描述语言在大系统设计时不够直观的缺点。13 max+plus ii老式宏函数的应用 max+plus ii的老式宏函数(old-sty1e macrofunctions)是常用数字逻辑电路设计模块的组合,包括门电路、触发器、组合逻辑部件、时序逻辑部件和存储器等电路的设计文件及元件符号。在基于max+plusii平台的逻辑设计中,用户可以自由地调用这些宏函数的设计文件或元件符号,实现数字系统的设计。在max+plusii编译器对一个逻辑电路进行分析的过程中,它会自动将所有不用的门和触发器删除,以保证不降低设计的有效性。所有的输入端口都有默认值,因此所有不用的输入端允许不进行任何连接。 在安装max+plusii的过程中,系统自动将这些宏函数安装在maxplus2max2lib目录及其子目录中,每个宏函数的函数原型的include文件(inc)被安装在maxplus2 max2inc目录中。“maxplus2max2libmf”是宏函数的元件库,包括加法器、编码器、译码器、计数器和移位寄存器等74系列器件。关于这些宏函数的详细信息可以参考附录a或利用max+plusii的“帮助”获得。 14 max+plusii强函数的应用max+plusii的强函数(megafunctions)是一种复杂的逻辑函数的集合,它包括参数设置模式的库函数lpm(library of parameterized modules),它们可以用在逻辑电路设计中。在安装max+plusii的过程中,系统自动将这些强函数安装在maxplus2max21ib目录及其子目录中,每个强函数的函数原型的include文件(inc)被安装kmaxplus2kmax2inc目录中。“maxplus2max21ibmega_lpm”是强函数的元件库,包括参数可设置的与门lpm_and、参数可预置的三态缓冲器lpm_bustri等。在所有max+plusii的逻辑设计中,用户可以灵活地使用这些强函数。在max+plusii编译器对一个逻辑电路进行分析的过程中,它会自动将所有不用的门和触发器删除,使设计效率不被降低。所有的输入端口都有默认值,因此所有不用的输入端允许不进行任何连接。关于这些强函数的详细信息可以参考附录a或利用max+plusii的“帮助”获得。 第二章 硬件描述语言21 概述ahdl是一种模块化的高级语言,它完全集成于max+plus系统之中,特别适用于描述复杂的组合逻辑、运算组状态机和真值表。ahdl文件作为一种文本文件,它即可以用max+plus提供的文本文件编辑器来建立文本(.tdf, ahdl text design file), 也可以用其他文本编辑器建立文本文件。在输入一个设计文件之后,设计者可以用save &check命令对设计文件的语法进行检查或用save & complier命令对整个设计进行编译。在设计电路成功编译后,用户可以根据需要进行逻辑模拟和时序分析,编译器为此生成一个符号体,以便其它gdf文件调用。22 ahdl设计的基本结构ahdl文件包含许多很有特色的段和语句,其在文本文件(.tdf)中出现的顺序分别为:标题语句(title statement)常量语句(constant statement)函数原形语句(function prototype statement)包含语句(include statement)选择语句(options statement)设计段(design section)子设计段(subdesign section)变量段(variable section)逻辑段(logic section)但是作为一个最简单的ahdl设计,必须包括一个子设计段和一个逻辑段,其它段和语句都是可选的。2.2.1 标题语句标题语句允许用户为编译器产生报告文件(.rpt)提供文档注释。使用标题语句时必须遵守下面规则:(1)如果在标题内需要引号标记,就必须使用两个双引号;(2)标题语句在一个tdf文件内只能使用一次;(3)标题语句必须放在所有其他ahdl段之外。2.2.2 参数语句参数语句允许用户说明一个或多个参数,这些参数控制一个参数化的强函数或宏函数的执行。参数语句必须遵守下列规则:(1)参数只能用于对它的说明之后;(2)每个参数名必须是唯一的;(3)参数名不能包含空格,对于分离的字符可使用下划线增加易懂性;(4)参数语句可以在tdf文件中使用任意次数;(5)参数语句必须放在所有其他ahdl段的外边;(6)在其他参数的定义里所有的参数必须预先定义;(7)不允许出现循环。2.2.3 包含语句包含语句允许用户由一个包含文件(.inc)引到当前文件输入文本。包含语句在使用中必须遵守以下规则:(1)在包含语句中指定的文件名不能包含有通道名;(2)在max+plus中,文件名可以被列在上层或下层函件内,然而,在一个包含语句内文件名的层次必须与包含文件名的层相配;(3)一个包含语句必须放在所有其它ahdl段之外;(4)一个包含语句可以在一个tdf文件中出现任意次。2.2.4常量语句常量语句允许用户用一个有意义的符号名代替一个数或一个算术表达式。这个符号名可以简单的表示那个数。常量语句必须遵守以下规则:(1)常量只有被说明以后才能被使用;(2)每个常量名必须是独立的;(3)常量名不能含有空格,应该使用下划线来分隔字符,这样也增加了可读性;(4)在一个tdf文件里常量语句可以被使用多次;(5)常量语句必须被放在所有其它ahdl段的外边;(6)用在另外常量的定义的常量必须预先被定义;(7)循环是不允许的2.2.5 定义语句定义语句允许用户定义一个运算函数,这个运算函数是根据选择的自变量产生一个值的数学函数。定义语句必须遵守下面规则:(1) 一个运算函数只能被用在它被定义之后;(2) 每个运算函数必须是单一的;(3) 运算函数名不能包含空格,而用下画线分隔“字符”,从而增加了可读性; (4) 在一个 tdf 文件内定义语句可以被使用任意次数; (5) 定义语句必须放在所有其他 ahdl 段的外面。2.2.6 函数原型语句函数原型语句与在图形设计文件里的符号具有相同的功能,二者皆提供一个逻辑函数的简略描述,并列出它的名字和它的输人、输出以及双向端口。状态机端口可以在函数中作为输人端或输出端状态机。然而,由于强函数和宏函数输人端口是在max + plus 图形编辑器文件里,所以它们的默认值不是自动配置。用户必须在一个 tdf 文件的子设计段里明确配置它们。在子设计段里用户也可以给双向端口配置一个默认值。可是,输出端不能被配置一个默认值。函数原型语句具有的特点如下:()函数名字跟在关键字 functi on 之后 ; () 函数的输人端口表跟在名字之后;() 在一个参数化的函数里,关键字 width 和参数名列在输人端口表之后,这个表被括在圆括号()之内,指定的参数名用逗号( , )分开;() 输出表和函数的双向端口跟在关键字 return 之后; () 输人和输出两种表都被括在圆括号内,指定的端口名用逗号分开;() 当输人或输出是一个状态机时,对于文件的函数原型必须使用一个状态机端口(用 machine 关键字识别)标明哪些输人和输出是状态机;() 函数原型语句用一个分号结尾:() 在一个 tdf 文件中,一个函数原型语句必须被放在子设计段的外面,并且在内部直接引用或实例说明里必须把它放在被用具体例子说明的逻辑函数之前。2.2.7 选择语句选择语句的作用是对 bito 选项进行设置,以指定组的最低数字位是最高有效位( msb )、最低有效位( lsb )还是其他。选择语句的特点如下:(1)选择语句以关键字 option开始,后跟 bito 选项及其设置,并以分号结束;(2)bito 即组的最低位可被设置为 msb (最高有效位)、 lsb(最低有效位)和 any ; (3)选择语句位于 td f 文件的开始,它为整个文件设置了位的默认顺序。如果整个文件是最顶层的 tdf 文件,那么选择语句将作用于整个文件;如果整个文件在设计的层次结构中处于较低层,那么选择语句所设置的位序只作用于这个文件。2.2.8 断言语句断言语句允许用户测试任何任意表达式的有效性。断言语句具有如下特点:(1) 关键字 assert 后跟一个运算表达式,这个可选运算表达式被括在圆括号内。如果用户没指定条件,那么断言总是有效的。(2) report关键字后跟一个消息行和可选的消息变量,消息行被括在双引号标记 内,并且可以包括用可选消息变量的值代替字符。如果没有使用 report 关键字,那么被激活的断言在消息处理器里显示下面消息: : line , file :assertion failed (3) 可选的消息变量由一个或多个参数、计算函数和运算表达式组成。多个消息变量由逗号分开。括起来的消息行内的字符按顺序代替消息变量的值。(4) 可选的 severity 关键字后跟 error 、 warning 或 info ,如果没有 severity 被指定,那么它默认 error 。(5) help_id关键字和帮助行被用在一些 altera 提供的逻辑函数内,并且在内部的应用中被保留。(6) 这种语句的结尾用一个分号。 (7) 在逻辑段的内部或外边以及任何其他 ahdl 段都可以使用断言语句。2.2.9 子设计段子设计段用于对当前tdf文件的输入端口、输出端口和双向端口进行说明。子设计段有如下特征:(1) 在关键字subdesign之后是子设计段名称,子设计段名称必须与该tdf文件 名相同。(2) 所列出的信号要括在括号里。(3) 信号名称之间由逗号分隔开,在其后是一个冒号和一个端口类型,最后以分 号结束。(4) 端口类型可以是input、output、bidir、machine input或machine output。(5) 关键字machine input和machine output被用来夹在tdf文件和其它设计文件之间作为状态机的输入和输出。但是,machine input和machine output端口类型不能被用在顶层tdf文件中。(6) 如果需要,还可以在端口类型后为端口设置一个默认值gnd或vcc(否则,该端口就没有默认值)。(7) 在顶层设计文件中:input、output和bidir类型端口就代表实际的器件引脚。在较低层的设计文件中所有的类型端口都只是该文件的输入和输出,而不是整个的设计。2.2.10 变量段可选的变量段用于说明和产生用在逻辑段的任何变量, ahdl 变量类似于在高级可编程语言里的变量,它们用来定义内部的逻辑。变量段可以包括一个或多个下列语句:(1) 实例说明;(2) 结点说明;(3) 寄存器说明; (4) 状态机说明; (5) 状态机别名说明。应该注意,变量段也可以包括 lf generate 语句,可以用它产生实例、结点、寄存器,状态机和状态机别名说明。变量段具有如下特点:(1) 用关键字 variable 开始这个变量段; (2) 用户定义的各变量名之间用逗号分隔,变量与变量类型之间以冒号分隔;(3) 在变量表内每种输人都用一个分号结束。最后应注意,编译器产生的包含波动符()的名字可以出现在一个设计的 fit 文件 (. fit ) 内。如果用户在后面注释 fit 文件配置,这些名字将出现在设计的配置文件内 ( assignment & configuration file - .acf )。波动符只对编译器产生的名字才被保留,用户不能在自己的管脚、结点和组(总线)名字里使用它。2.2.11 逻辑段逻辑段设定tdf文件的逻辑操作并且是一个tdf文件的主体。这个段是必需的。下面的语句结构可以在逻辑段里使用:(1) 布尔等式(boolean equations);(2) 布尔控制等式(boolean control equations );(3) 情况语句(case statement);(4) 默认语句 (defaults statement);(5) if then语句;(6) if generate语句;(7) for generate语句;(8) 真值表语句(truth table statement);另外,逻辑段也可以包括断言语句(assert statement)。begin和end关键字包围着逻辑段,一个分号(;)跟在end关键字之后就结束了这个逻辑段。默认语句必须是在这个逻辑段里的第一条语句。第三章 数字化频率计的图形设计3.1 概述fpga/ cpld 是一种新兴的高密度大规模可编程逻辑器件,它具有门阵列的高密度和pld 器件的灵活性和易用性,目前已成为一类主要的可编程器件。可编程器件的最大特点是可通过软件编程对其器件的结构和工作方式进行重构,能随时进行设计调整而满足产品升级。使得硬件的设计可以如软件设计一样方便快捷,从而改变了传统数字系统及用单片机构成的数字系统的设计方法、设计过程及设计观念,使电子设计的技术操作和系统构成在整体上发生了质的飞跃。采用fpga/ cpld 可编程器件,可利用计算机软件的方式对目标器件进行设计,而以硬件的形式实现。既定的系统功能,在设计过程中,可根据需要随时改变器件的内部逻辑功能和管脚的信号方式,借助于大规模集成的fpga/ cpld和高效的设计软件,用户不仅可通过直接对芯片结构的设计实行多种数字逻辑系统功能,而且由于管脚定义的灵活性,大大减轻了电路图设计和电路板设计的工作量及难度,同时,这种基于可编程芯片的设计大大减少了系统芯片的数量,缩小了系统的体积,提高了系统的可靠性。 设计频率计的方法多种多样, 可以采用专用集成芯片, 也可以用单片机或者采用通用集成电路制作的。而在未来的数字系统设计中将大多趋向于使用大规模可编程逻辑器件cpld/fpga。其中在系统可编程逻辑器件( in system programmable logic device, 简称isp)具有灵活的系统设计能力, 特别适合于复杂电路的开发应用。可编程逻辑器件pld (programmable logic device) 汇集了超大规模集成电路的众多优点,从而改变了传统设计的实现方法, 设计者可随心所欲地用pld 完成各种规模系统的设计, 准确实现系统各项功能的要求。同时pld 又使pcb 单位面积内具有高密度的逻辑功能, 系统结构简单灵活, 费用低, 系统可靠性明显提高, 因而在智能仪表、计算机和各种数字系统中得到广泛应用。本文利用美国altera 公司的max+ plus 软件设计了一个信号频率测定计, 以原理图输入方式编译出设计软件, 下载到cpld的模型机, 经仿真检验测频范围可达1hz 10khz, 用6位led液晶显示, 可满足精度要求.3.2 频率计的原理图设计3.2.1 频率计各个部分的说明及仿真1.计数脉冲发生模块图3.1中所示为计数脉冲发生器,它可以产生宽度为一秒的计数脉冲,有了它就可以利用计数器计出被测信号的在一秒内跳变的次数,这也就是被测信号的频率。图3.1中的输入信号base_clk为基准信号,它是宽度为0.01秒的方波。当端口reset给一个高电平时clr输出一个高电平,计数器lpm_counter开始计数,同时使频率计数模块开始工作。当计数器lpm_counter计完100次时,又从1开始计,由此循环。在任意两个计数周期内,频率计数模块只在其中一个计数周期内工作,在另一个计数周期内暂停工作。这个功能是由端口end的电平变化实现的。图3.1计数脉冲发生器fig3.1 count pulser上述电路其仿真图形如图3.2所示。从其仿真图形可以清楚的了解其工作的特点。 图3.2计数脉冲发生器的波形fig3.2 count the wave of the pulser form2.频率计数模块、数据寄存模块和溢出模块图3.3所示为一个计数系统,它由一个四位数据计数器、一个数据寄存器和一个溢出模块组成。频率计数模块是以check_clk为被测信号,当给出计数脉冲时,四个计数器就开始计数,它们是从左往右按由低位到高位的顺序排列的。当脉冲发生器的输出q0,q1,q2,q3全为1时,停止计数;下一次出现全为一时从新开始计数(此过程中计数器已清零)。当计数大于9999时,由溢出模块产生溢出信号。图中的数据寄存器的主要作用是当一秒的计数脉冲结束时,由端口load控制将四个计数器中的数据读入寄存器,以供数据选择器g_16_4读出并送往显示器。图3.3所示电路的作用是使寄存器读取控制信号load在计数脉冲结束时,由低电平变为高电平,当数据读入寄存器时再变为低电平。图3.3 计数系统fig3.3 count system首先我们先对上图中的频率计数部分进行实验,其电路图和波形图如图3.3.1所示。图3.3.1 计数器电路及其波形fig3.3.1 count the machine electric circuit and it wave form从上图我们可以清楚的知道该频率计数器的技术范围在1-9999hz之间。其次我们对该电路中的寄存器部分进行实验。如图3.3.2所示。图3.3.2 寄存器及电路其波形fig3.3.2 deposit the machine and electric circuit it wave a form 通过上述实验我们可以清楚的了解寄存器的用途,当输入什么信号,其输出的信号与输入的信号是相同的。最后,我们可以通过对该部分总电路的仿真,进一步了解该部分电路的功能,其仿真图如图3.4所示。图3.4 数据寄存模块的波形fig3.4 the data deposits the wave of the mold piece form3.数据选择模块和显示模块数据选择器g_16_4的作用是将寄存器dr_16中寄存的16位数据,按每次4位的规则分别送往七段译码器7448译出,并送到led显示。它的数据选择功能是有a, b两个端口控制的,图3.5中所示为一个简易的计数器它是有基准脉冲base_clk控制,由sel1,sel2端口循环输出00.01.10.11。它的作用是控制数据选择器g_16_4从寄存器dr_16中所选择的4位数据的位置,同时控制4个led显示器中与数据对应的一个显示器工作。以使led显示器能够正确的显示所测量频率的结果。图3.5 数据选择模块和显示模块 fig3.5 the data choice mold piece and the manifestation mold piece 首先我们对上图中的数据选择器进行实验。其电路图和波形图如图3.5.1所示。图3.5.1 数据选择器电路图及其波形fig3.5.1 the data selector electric circuit diagram and it wave form 其次我们对其输出显示部分进行实验。其电路图和波形图如图3.5.2所示。图3.5.2 显示部分电路及其波形fig3.5.2 show parts of electric circuits and it wave form 最后,我们可以通过对该部分总电路的仿真,进一步了解该部分电路的功能,其仿真图如图3.6所示。图3.6 数据选择模块和显示波形fig3.6 the data choice mold piece and the manifestation wave form4分频系统如图3.7所示,此系统主要是通过时钟的控制,对待测的频率信号进行分析,从来起到一个分频的作用。图3.7 分频器fig3.7 the machine of dividing frequency这个部分主要通过芯片7490来完成。我们可以通过电路产生的波形来了解7490芯片的工作原理,和分频器的作用。如图3.8所示。图3.8 分频器的波形fig3.8 the wave about the machine of dividing frequency5.频率计的控制端如图3.9所示,本实验的控制段主要由两个部分组成,一个部分是控制被测信号,在被测信号进入前要对信号进行一个防颤工作,使得进入的信号能通过计数器准确的精确到一秒。这部分电路如图3.9.1所示。第二部分是控制频率计数模块的,这部分电路主要是给一个清零信号或者是计数信号,而且两个信号各占一秒钟的时间。也就是说,该部分控制电路的主要作用是控制频率计数器是否计数,当给于一个清零信号时,频率计数器的所有信号清零,否则则是要求频率计数器计数。这部分的电路如图3.9.2所示。首先我们先介绍防颤电路以及其波形。如图3.9.1所示。图3.9.1 防颤电路及其波形fig3.9.1 prevent from shivering electric circuit and it wave form然后我们介绍一下清零信号的电路图及其波形,如图3.9.2所示图3.9.2 清零信号及其波形fig3.9.2 pure zero signals and it wave form 最后我们看一下控制电路的总图及其波形。如下图所示图3.9 控制部分电路及其波形fig3.9 control parts of electric circuits and it wave form3.2.2 数字频率计设计的总图及其仿真基于以上各个部分电路的分析,通过对本次设计的需求,即:本文要设计一个4位十进制数字频率计,频率测量的基本原理是计算每秒钟内待测信号的脉冲个数。为此,计数器lpm_counter 应设置一个控制信号时钟aclk,一个计数使能信号输出端q、如base_clk的输入频率为10hz ,则输出信号端q输出一个脉宽恰好为1 秒的周期信号,可以作为闸门信号用。在停止计数期间,锁存信号clk的上跳沿将四个计数器的计数值锁存进16位寄存器dr_16中 ,再由16选4数据选择器循环选择4位数据送往7 段译码器译出并稳定显示。虽然四位led显示器是分时显示的,但由于它们间隔的时间很短,人眼看上去是分辨不出来的。寄存信号之后,清零信号clear对计数器进行清零。为下 1 秒钟的计数操作做准备。图3.10为频率计的原理图。图3.10 数字化频率计fig3.10 the numeral turns frequency to account 对于数字电路设计而言,通过软件实现时序仿真非常重要。因为通过仿真波形文件,可让设计者发现问题,分析问题,直至解决问题,从而最终实现需要的逻辑功能。 在进行仿真时,设定输入的基准频率为100hz,被测时钟周期为0.2ms。仿真结果为5000,与其实际频率值5khz是一致的。得到其仿真波形如图3.11所示。图3.11 数字化频率计输出波形fig 3.11 the numeral turns frequency to account to output wave a form3.3下载实验介绍一下进行下载的主要过程:1. 打开max+plus ii,输入设计文件。2. 指定为当前文件:assign/device 选择下载器件。3. max+plus ii/compiler 进行编译。4. 进行管脚分配(一般由软件自动分配,如果人工分配,配置后重新编译方可以生效。5. max+plus ii/programmer,打开编程界面,在option/hardware setup,设置下载方式(blasterinv)。6. 指定编程文件(一般自动进行)*.pof执行program。7. 打开max+plus ii/flo

温馨提示

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

评论

0/150

提交评论