FPGA参考的论文.doc_第1页
FPGA参考的论文.doc_第2页
FPGA参考的论文.doc_第3页
FPGA参考的论文.doc_第4页
FPGA参考的论文.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

1 绪论1.1 选题背景及意义在石油勘探过程中为了解井下的情况我们要通过测井仪器把井下信息传送的地面,在实际的测井中我们一般采用放射性测井。来自测井仪器的信号有三种:模拟,脉冲和编码数字信号。而许多测井仪器,如:自然伽马,补偿中子,流体密度,流量,含水,温度,压力,以及数字CCL仪器输出的都是脉冲信号。由于输出的脉冲信号和辐射粒子的能量成正比例关系,测量这些脉冲的幅度,就可以知道辐射粒子的能谱,井下不同深度的放射形辐射强度,因此脉冲幅度的测量技术在核辐射勘探中是一个重要问题。在测量过程中,地面系统需要挂接一些测井仪器,这就涉及到对脉冲信号的采集与处理问题。如果对这些脉冲信号采集不稳定,就会影响测井资料的取得和石油开采的质量。因此,对脉冲信号的采集与处理是很常见的,也是很重要的。由于被采集信号频率的范围不同,要求精度也不同。采用通常的采集方法都无法同时满足低频率和高频率的测量精度要求,而且需要大量的硬件电路的搭配。随着EDA技术的高速发展,电子系统的设计技术和工具发生了深刻的变化,大规模可编程逻辑器件FPGA的出现,给设计人员带来了诸多方便,利用其开发产品,成本低,周期短,可靠性高。FPGA是一种新兴的高密度大规模可编程逻辑器件,它具有门阵列的高密度和PLD器件的灵活性和易用性,目前已成为一类主要的可编程器件。可编程器件的最大特点是可通过软件编程对其器件的结构和工作方式进行重构,能随时进行设计调整而满足产品升级。使得硬件的设计可以如软件设计一样方便快捷,从而改变了传统数字系统及用单片机构成的数字系统的设计方法、设计过程及设计观念,使电子设计的技术操作和系统构成在整体上发生了质的飞跃。采用FPGA可编程器件,可利用计算机软件的方式对目标器件进行设计,而以硬件的形式实现。既定的系统功能,在设计过程中,可根据需要随时改变器件的内部逻辑功能和管脚的信号方式,借助于大规模集成的FPGA和高效的设计软件,用户不仅可通过直接对芯片结构的设计实行多种数字逻辑系统功能,而且由于管脚定义的灵活性,大大减轻了电路图设计和电路板设计的工作量及难度。同时,这种基于可编程芯片的设计大大减少了系统芯片的数量,缩小了系统的体积,提高了系统的可靠性。基于EDA技术的设计方法为“自顶向下”设计,其步骤是采用可完全独立于目标器件芯片物理结构的硬件描述语言,在系统的基本功能或行为层次的仿真技术,在确保设计的可行性与正确性的前提下,完成功能确认。然后利用EDA工具的逻辑综合功能,把功能描述转换为某一具体目标芯片的网表文件,经编程器下载到可编程目标芯片中(如FPGA芯片)本设计选择DE2开发测试板,使该芯片能够实现设计要求的功能。这样,一块芯片就是一个数字电路系统。使电路系统体积大大减小,可靠性得到提高。基于DE2板的脉冲信号采集电路利用可编程芯片(CYCLONE2C35)的可编程系统,通过采集四路脉冲信号可以避免由于实际的硬件设计用到的器件较多,连线复杂,而且产生比较大的延时,造成测量误差,可靠性差等弊端。本文主要介绍了基于DE2板的脉冲信号采集电路的组成及工作原理,简述了在EDA平台上用FPGA器件构成该数字系统的设计思想。详细论述了用VHDL语言设计脉冲采集电路的分频模块,计数模块,测频控制信号发生器模块,锁存模块,译码显示模块,完成了对该新型脉冲采集电路的设计。1.2 设计目标 由上所述中我们知道许多测井仪器,如:自然伽马测井仪采集的信号大都是脉冲信号,这些脉冲信号的频率一般在50HZ左右,这样我们每路采集电路只要设计,两个十进制计数器,一个锁存器,两位数码管显示即可满足设计要求。在本设计中我们用VHDL语言分别编写采集电路每一路的分频模块,计数模块,测频控制信号发生模块,锁存模块,译码显示模块的程序,并能在软件MAX+PLUS下仿真结果正确。该采集电路能实现的功能具体要求:1)能采集四路频率为40HZ的脉冲信号。2)用VHDL语言编写程序并进行仿真。3)利用DE II板的硬件资源采集即用DEII板上的按键和数码管模拟和显示四路脉冲频率值。2 FPGA及DE2板介绍2.1 FPGA简介2.2.1概述当今社会是数字化的社会,是数字集成电路广泛应用的社会。数字集成电路本身在不断地进行更新换代。它由早期的电子管、晶体管、小中规模集成电路、发展到超大规模集成电路(VLSIC,几万门以上)以及许多具有特定功能的专用集成电路。但是,随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师们更愿意自己设计专用集成电路(ASIC)芯片,而且希望ASIC的设计周期尽可能短,最好是在实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件(FPLD),其中应用最广泛的当属现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)。FPGA是一种可以由用户自定义并进行配置的高密度专用集成电路。FPGA具有阵列型PLD器件的优点,同时其结构又类似掩模门阵列,因此更高的集成度和更强大的逻辑实现能力,使得设计更加灵活和容易实现。事实上FPGA已成为一类标准器件。世界知名的可编程逻辑供应商(如Xilinx、Altera和Actel)可以为客户提供各具特色的FPGA产品。因此对FPGA而言有着不同的分类方法,一般可以根据互连结构和编程特性对FPGA进行分类。目前主流的FPGA产品内部连线一般采用分段互连结构,并且可重复编程。2.1.2 FPGA基本结构FPGA的内部结构主要可分为三个部分:可配置逻辑块CLB(configurable logic block)、输入输出功能块IOB(I/O block)和可编程连线资源IR(interconnect resource)。 1. 可配置逻辑块CLB:此处为构成逻辑功能的主要区块,其中是由函数式产生区(function generation section)与反相器所组成.2. 输入/输出功能块IOB:IOB是作为CLB对外界的界面(如图2.3所示),每个IOB可规划成输入、输出,或双向。3. 可编程连线资源IR(interconnect resource)可编程连线资源IR是使IOB与CLB或CLB与CLB之间能互相连接在一起的媒介,在没有规划前都是不相连的,只有在布线时才会依需求连接,其中主要种类可分为:切换矩阵(switch matrix),交连缓冲器(interconnect buffer)及金属连线(metal resource)。其个别说明如下:切换矩阵:一次可使多条线搭接在一起。2.2 DE2板介绍2.2.1 DE开发板简介 DE开发板是ALTERA公司开发的基于FPGA测试开发板, DE开发板使用了与大批量生产的高端产品(如最高QC标准的高密度PC主板和汽车infotainment系统)相一致的严格设计与布线准则。主要的设计和布线思路如下:仔细安排器件及连接走线。这种良好的排版可增加制造产量,并简化主板调试流程。无跳线设计提高鲁帮性。跳线易出错而且为不随时携带手册的用户带来不便。部件的选择取决于片上容量。我们选择了在PC和DVD播放器中最常用的配置确保这些部件将来能够得到持续供应。电源和IO口保护设计考虑到了大部分的现场以外情况。2.2.2 DE开发板特性DE开发板为用户提供了用于多媒体开发的多种特性。器件按照当前最流行的多媒体产品设计来选择。DE开发板平台能使拥护迅速理解实时多媒体工业产品的所有内在技巧。DE区块描述:(1)CYCLONE2C35FPGA有35000个逻辑单元,Fineline BGA 672管脚封装,475用户自定义IO口,有105M4K RAM块和483Kbit SRAM,有35个嵌入式乘法器和四个锁相环等(2)Altera 系列配置器件(EPCS16)和USB Blaster电路用户编程和用户API控制的板上USB Blaster,支持JTAG模式和AS模式,提供EPCS16系列配置器件。(3)8Mbyte SDRAM单数据速率同步动态RAM存储芯,1M*4*16位,支持NIOS和Terasic高速多端RAM控制器。(4)1Mbyte 闪存(可升级至4Mbyte)带有1Mbyte NAND闪存,可支持4MbyteSDRAM的布线。支持NIOS和Terasic高速多端闪存控制器。(5)按键带有4个按键,施密特触发器实现防抖动,常态是高电平,按下按键时产生一个有效低点平脉冲。(6)时钟输入带有一个50Mhz晶振,一个27Mhz晶振,带有一个SMA外部时钟输入。(7)串口提供2个串行端口:一个RS232口,1个PS/2口,提供RS232断口的DB9连接器,提供连接DE2 PS2鼠标或键盘的PS/2连接器。(8)音频CODEC使用Wolfson WM8731 24位 sigma_delta最优品质音频CODEC,包括line_in,line_out和micropone;8KHz_96KHz采样频率可应用于MP3播放器 录音器 PDA和智能手机。(9)XSGA DAC输出使用ADI7123 240MHz Triple 10位高速视频DAC,带有15个管脚的高密度D_sub连接器,最佳性能和品质时支持100Hz刷新速率下1600*1200分辨率,能有CycloneFPGA实现高性能TV编码器。(10)NTSC/PAL电视编码电路使用ADI718B多格式SDTV视频编码器支持NTSC(M,J,4,43),PAL(B/D/G/H/I/M/N),SECAM集成了3个54MHz,9位AD,由单个27MHz晶振输入提供时钟。多种可编程模拟输入格式:Comosite video(CVBS),S_Video(Y/C)和YPrPb组件。应用范围:DVD接收器,液晶电视,置顶盒,数字电视和便携式视频设备。(11)10/100以太网控制器集成了带有通用处理器接口的MAC和PHY,支持100Base_T和100Mb/s的全双工操作完全兼容IEEE 802.3u spec,支持IP/TCP/UDP求和校验,支持用于半双工模式数据流控制的背压。USB主从控制器完全兼容USB Spec 2.0版本,支持全速和低速数据传输,支持USB主从模式,支持2个USB端口(一个是A类用于主设备,一个是B类用于DE2上的设备)。提供大多数CPU的高速并行接口,支持带驱动的NIOS,支持可编程I/O和DMA。(12)2个带二极管保护的40脚扩展接口Cyclone引出72个I/O管脚到2个40脚扩展接口,40脚扩展接口兼容标准IDE硬件驱动的排线电缆。(13)USB Blaster电路和设置设备板上内置USB Blaster 电路,带有供DE2控制面板API连接的增强特性,提供JTAG和AS编程模式,包括16Mbit(EPCS16)串行设置设备。(14)DE主板有一个预加载数据流来显示这块主板的一些特性。这个数据流也允许用户检查这块主板是否工作在合适的状态。按如下步骤运行:1. PC机和DE2板间连接USB线2. 连接9V适配器到DE2板3. 连接LCD到DE24. 连接耳机到DE25. 按下DE2板上的开关键6. 确保RUN-PROG键是设定在RUN位置(注意PROG位置只是用于AS模式编程)3 VHDL语言及MAXPLUS软件介绍3.1 VHDL语言简介传统的硬件电路设计方法是采用自下而上的设计方法,即根据系统对硬件的要求,详细编制技术规格书,并画出系统控制流图;然后根据技术规格书和系统控制流图,对系统的功能进行细化,合理地划分功能模块,并画出系统的功能框图;接着就进行各功能模块的细化和电路设计;各功能模块电路设计、调试完成后,将各功能模块的硬件电路连接起来再进行系统的调试,最后完成整个系统的硬件设计。采用传统方法设计数字系统,特别是当电路系统非常庞大时,设计者必须具备较好的设计经验,而且繁杂多样的原理图的阅读和修改也给设计者带来诸多的不便。为了提高开发的效率,增加已有开发成果的可继承性以及缩短开发周期,各ASIC研制和生产厂家相继开发了具有自己特色的电路硬件描述语言(Hardware Description Language,简称HDL)。但这些硬件描述语言差异很大,各自只能在自己的特定设计环境中使用,这给设计者之间的相互交流带来了极大的困难。因此,开发一种强大的、标准化的硬件描述语言作为可相互交流的设计环境已势在必行。于是,美国于1981年提出了一种新的、标准化的HDL,称之为VHSIC(Very High Speed Integrated Circuit)Hardware Description Language简称VHDL。3.2 VHDL的基本结构VHDL语言通常包含实体(Entity),构造体(Architecture),配置(Configuration),包集合(Package),和库(Library)五部分.其中实体用于描述所设计的系统的外部接口信号;构造体用于描述系统内部的结构和行为;建立输入和输出之间的关系;配置语句安装具体元件到实体结构体对,可以被看作是设计的零件清单;包集合存放各个设计模块共享的数据类型、常数和子程序等;库是专门存放预编译程序包的地方。如下只对基本设计单元做了详细介绍。(1) 实体实体说明有如下结构:ENTITY 实体名 IS端口说明END 实体名;(VHDL语言中不分大小写字母)其中: 端口说明是对设计实体中输入和输出借口进行描述,格式如下: PORT(端口名(,端口名):方向 数据类型名; : : 端口名(,端口名):方向 数据类型名); 端口名是赋予每个系统引脚的名称,一般用几个英文字母组成。端口方向是定义引脚是输入还是输出,见下表:方向说明IN输入到实体OUT从实体输出输出INOUT双向BUFFER输出(但可以反馈到实体内部)LINKAGE不指定方向常用的端口数据类型有两种:BIT和BIT_VECTOR,当端口被说明为BIT时,只能取值“1”或“0”,当端口被说明为BIT_VECTOR时,它可能是一组二进制数。(2) 构造体构造体是实体的一个重要部分,每一个实体都有一个或一个以上的构造体。构造体格式如下:ARCHITECTURE 构造体名 OF 实体名 IS定义语句 内部信号,常数,数据类型,函数等的定义BEGIN 并行处理语句END 构造体名;(3)库库是经编译后的数据的集合,它存放包定义、实体定义、构造定义和配置定义。在设计单元内的语句可以使用库中的结果,所以,库的好处就是设计者可以共享已经编译的设计结果,在VHDL中有很多库,但他们相互独立。库的使用:在使用库之前,一定要进行库说明和包说明,库和包的说明总是放在设计单元的前面:LIBRARY 库名;USE LIBRARY .ITEM.name库的作用范围:库的作用范围从一个实体说明开始到它所属的结构体、配置为止,当有两个实体时,第二个实体前要另加库和包的说明。(4) 包 通常在一个实体中对数据类型、常量等进行的说明只可以在一个实体中使用,为使这些说明可以在其它实体中使用,VHDL提供了程序包结构,包中罗列VHDL中用到的信号定义、常数定义、数据类型、元件语句、函数定义和过程定义,它是一个可编译的设计单元,也是库结构中的一个层次,使用包时可以用USE语句说明,例如:USE IEEE.STD_LOGIC_1164.ALL(5) 配置用于在多构造体中的实体中选择构造体,例如,在做RS触发器的实体中使用了两个构造体,目的是研究各个构造体描述的RS触发器的行为性能如何,但是究竟在仿真中使用哪一个构造体的问题就是配置问题。配置语句格式:CONFIGURATION 配置名 OF 实体名 IS说明语句END配置名;例:最简单的配置CONFIGURATION 配置名 OF 实体名 ISFOR 被选构造体名 END FOR; END配置名;3.3 VHDL语言的数据类型和构造体的描述方式3.3.1 VHDL语言的数据类型(1)整数(INTEGER)范围:-2147483547-2147483646(2)实数(REAL)范围:-1.0E38-1.0E38,书写时一定要有小数。(3)位(BIT)在数字系统中,信号经常用位的值表示,位的值用带单引号的1和0来表示,明确说明位数值时:BIT(1)(4)位矢量(BIT_VECTOR) 位矢量是用双引号括起来的一组位数据,“010101”(5)布尔量(BOOLEAN)只有“真”和“假”两个状态,可以进行关系运算(6)字符(CHARACTER)字符量通常用单引号括起来,对大小写敏感(7)字符串(STRING) 字符串是双引号括起来的一串字符:“laksdklakld”(8)时间(TIME)时间的单位:fs,ps,ns,ms,sec,min,hr。例: 10 ns。整数数值和单位之间应有空格(9)错误等级(SEVERITY LEVEL)用来表示系统的状态,它共有4种:NOTE(注意)WARNING(警告)ERROR(错误)FAILURE(失败)(10)大于等于零的整数(NATURAL)、正整数(POSITIVE)(11)用户定义的数据类型用户定义的数据类型的一般格式:TYPE 数据类型名 ,数据类型名 数据类型定义不完整的数据类型格式:TYPE 数据类型名 ,数据类型名;3.3.2 VHDL语言构造体的描述方式有三种描述方式:行为描述,RTL描述和ASIC描述,采用后两种描述方式可以进行逻辑综合。(1)行为描述描述数字系统的行为,主要用于仿真和系统工作原理的研究。(2) 数据流描述方式数据流描述方式是一种可以进行逻辑综合的描述方式,由于要进行逻辑综合所以对使用的语句有一定的限制,VHDL中的每一个命令和语句都对逻辑综合能力进行了定义,要进行逻辑综合的设计实体就要使用有逻辑综合能力的命令和语句。(3)结构描述方式 注重调用已有的元件、元件或门级电路之间的连线是结构描述的特点,结构描述可以提高设计效率.1) 元件声明语句:元件声明语句用于调用已生成的元件,这些元件可能在库中,也可能是预先编写的元件实体描述。元件语句的格式:COMPONENT 元件名PORT 说明; 端口说明END COMPONENT;元件语句可以在ARCHITECTURE,PACKAGE和BLOCK的说明部分.2) 元件调用:格式: 标号名:元件名 PORT MAP(信号,);两层信号之间的关系为映射关系,该映射有两种:位置映射例: 有一元件的端口说明为: port (a,b: in bit; c: out bit);调用该元件时:u2: 元件名 port map(n1,n2,m);这里n1对应a,n2对应 b,m对应 c.名称映射例:该映射就是将库中已有模块的端口名称,赋予设计中的信号名.U2: 元件名 port map(a=n1.b=n2,c=m);3.4 VHDL语言的优点传统的硬件电路设计方法是采用自下而上的设计方法,即根据系统对硬件的要求,详细编制技术规格书,并画出系统控制流图;然后根据技术规格书和系统控制流图,对系统的功能进行细化,合理地划分功能模块,并画出系统的功能框图;接着就进行各功能模块的细化和电路设计;各功能模块电路设计、调试完成后,将各功能模块的硬件电路连接起来再进行系统的调试,最后完成整个系统的硬件设计。采用传统方法设计数字系统,特别是当电路系统非常庞大时,设计者必须具备较好的设计经验,而且繁杂多样的原理图的阅读和修改也给设计者带来诸多的不便。为了提高开发的效率,增加已有开发成果的可继承性以及缩短开发周期,各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为设计的分解和设计的再利用提供了有力的支持。3.5 MAXPLUS软件介绍3.5.1 MAXPLUS的概述美国Altera公司的MAXPLUS开发工具是一种CAE软件工具,全称是全集成化可编程逻辑设计环境(Multiple Array Matrix and Programmable Logic User Systems).该工具配备有编辑、编译、仿真、中和、芯片编程等功能,具有两种输入手段:文本输入(使用一种描述语言,如VHDL语言)和原理图输入。在使用中,可以把电路描述程序和设计电路图变成基本的逻辑单元写入到可编程的芯片中(如FPGA,CPLD芯片等),最终成为ASIC芯片。也可以不用搭建硬件电路,把MAXPLUS作为逻辑仿真工具,即可对设计进行调试、验证。MAXPLUS开发工具目前在国内使用很普遍,拥有完备的在线帮助,初学者可以很快学习掌握该工具的使用,完成高性能的设计。3.5.2 MAXPLUS的功能简介 它是EDA设计中不可缺少的一种工具。它的主要功能如下:(1) MAXPLUS的设计输入、处理与效验功能集合在一起提供了全集成化的一套可编辑开发工具,加快动态调试,缩短开发周期;(2) MAXPLUS支持各种硬件描述语言的设计输入,包括VHDL、VerilogHDL和Altera的AHDL;(3) MAXPLUS的编译核心支持Altera的FLEX10K、FLEX8K、FLEX6000/A系列,MAX5000系列MAX9000、MAX7000、FLASHlogic、MAX5000、Classic以及EPF10K10、EPF10K10A、EPF10K20、EPF10K30、EPM9320、EPM9320A、EPF8452A、EPF8282A等系列可编程逻辑器件;辑器,创建电路图像设计(gdf);通过MAXPLUS的文本编辑器,使用语言,创建文本设计文件(-vhd).还可以通过MAXPLUS波形编辑器,创建电路波形设计文件(.wdf)等。(4) MAXPLUS具有器件编程(Programming)和配置(Configuration)功能,让使用者自己设计所用器件,具有在线帮助的功能,更加方便了使用者。(5) MAXPLUS可与其他工业标准设计输入、综合与效验工具链接。与CAE工具的接口符合EDIF200和209、参数化模块库(LPM)、VerilogHDL、VHDL及其标准工具。设计者可使用Altera或标准CAE设计输入工具去建立逻辑设计,使用MAXPLUS编译器对Altera器件设计进行编译,并使用Altera或其他CAE效验工具进行器件或板级仿真。MAXPLUS支持与Synopsys、Viewlogic、Mentor、Graphics、Cadence、Exemplar、DataI/O、Intergraph、Minc、OrCAD等公司提供的工具接口;(6) MAXPLUS通常用的设计方法有:通过MAXPLUS图像编4 脉冲信号采集电路总体设计4.1 脉冲采集电路组成及工作原理脉冲信号采集电路由一个按键控制器,计数器模块,锁存器模块,一个“四选一”数据选择器,和译码显示模块组成。按键控制器控制采集通道,数据选择器用来选择将哪一路脉冲送入译码显示模块显示其频率值。脉冲采集电路基本原理是计算每秒钟内待测信号的脉冲个数,为此,测频控制信号发生器应设置一个控制信号时钟CLK,一个计数使能信号输出端JSEN,一个与JSEN输出信号反向的锁存输出信号SCXH,和清零输出信号CLK-JSH。由于芯片CYCLONE2C35系统时钟是50MHZ,经过分频得到CLK的输入频率为1HZ,则输出信号断JSEN输出一个脉宽恰好是2S的周期信号。可以作为闸门信号用,由它对采集电路的每一个计数器的使能断进行同步控制。当JSEN高电平时允许计数,低电平时停止计数,并保持所计的数。在停止计数期间,锁存信号SCXH的上跳沿将计数器在前1S的计数结果锁存进8位锁存器SCQ8B,由7段译码器译出并稳定显示。设置锁存器的好处是:显示的数据稳定,不会由于周期性的清零信号而不断闪烁。锁存信号之后,清零信号CLR-JSH对计数器进行清零。为下一秒的计数操作做准备。4.2脉冲采集电路总体框图采用四路通道采集脉冲信号,每路采集通道由计数模块,测频控制信号发生模块,锁存模块,译码显示模块四个模块组成。每路通道需要由下面几种器件来组成,即:测频控制信号发生器(ZPKZH),带时钟使能的十进制计数器(JSH10),8位锁存器(SCQ8B),其具体的总体原理框图如下: 按键开关控制模 块计数器计数计数计数锁存锁存锁存锁存四 选一数据选择 器译码显示脉冲信号按键FPGA图4.1 脉冲采集电路总体框图4.3脉冲采集电路VHDL设计流程图、分频EN=1选择通道NO计数 锁存译码显示按键控制接通电源YES图4.2 脉冲采集电路VHDL设计流程图5 用VHDL语言设计各个通道模块用VHDL(超高速集成电路硬件描述语言)设计脉冲信号采集电路。若按传统的设计方法,完成这个脉冲信号采集电路需用共计十几块芯片构成,不仅体积大,而且因外接引脚多,影响可靠性。而采用EDA技术,整个设计仅分两步:第一步,在MAX+PLUS开发工具中,先用VHDL语言分别编写出以上四种芯片的文本文件(称为底层文件),并将它们分别转换成相应的器件,然后分别进行时序仿真,使每个器件的时序仿真结果与设计要求一致;第二步,将这几种器件共十几块芯片按电路设计图连接起来,形成顶层文件后进行整个系统的综合,并将整个采集通道作为一个整体进行时序仿真。下面分步给出设计过程:5.1 顶层文件的编写在正确设计底层文件的基础上,按设计电路原理图的要求将这几个功能模块连接起来,形成顶层文件。电路原理图如下:顶层文件程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY clock ISPORT(FSIN:IN STD_LOGIC; CLK:IN STD_LOGIC; SEC10:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); SEC:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END clock;ARCHITECTURE struc OF clock ISCOMPONENT JSH10 PORT(CLK:IN STD_LOGIC; CLR:IN STD_LOGIC; ENA:IN STD_LOGIC; CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CARRY_OUT:OUT STD_LOGIC);END COMPONENT;COMPONENT SCQ8BPORT(SCXH:IN STD_LOGIC; DIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0); DOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END COMPONENT;COMPONENT ZPKZH PORT(CLK:IN STD_LOGIC; JSEN:OUT STD_LOGIC; CLR_JSH:OUT STD_LOGIC; SCXH:OUT STD_LOGIC); END COMPONENT;COMPONENT LED7PORT(SIN:IN STD_LOGIC_VECTOR(3 DOWNTO 0); DOUT:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END COMPONENT;SIGNAL JSEN1:STD_LOGIC;SIGNAL CLR_JSH1:STD_LOGIC;SIGNAL SCXH1:STD_LOGIC;SIGNAL DIN:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL DOUT1:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL CARRY_OUT1:STD_LOGIC;SIGNAL CO:STD_LOGIC;BEGINU1:ZPKZHPORT MAP(CLK=CLK,JSEN=JSEN1,CLR_JSH=CLR_JSH1,SCXH=SCXH1);U2:JSH10 PORT MAP(CLK=FSIN,CLR=CLR_JSH1,ENA=JSEN1, CARRY_OUT=CARRY_OUT1,CQ=DIN(3 DOWNTO 0);U3:JSH10 PORT MAP(CLK=CARRY_OUT1,CLR=CLR_JSH1,ENA=JSEN1, CARRY_OUT=CO,CQ=DIN(7 DOWNTO 4);U4:SCQ8B PORT MAP(SCXH=SCXH1,DIN=DIN,DOUT=DOUT1);U5:LED7 PORT MAP(SIN=DOUT1(7 DOWNTO 4),DOUT=SEC10);U6:LED7 PORT MAP(SIN=DOUT1(3 DOWNTO 0),DOUT=SEC);END struc;以上程序经综合仿真后,结果符合设计要求,整个脉冲信号采集系统设计完成后,原来需要很多芯片组成的电路,现在只要一块可编程芯片就可以完成了。其总体功能模块图如图: 图5.1 总体功能模块图在本设计中目标芯片选用的是ALTERA公司生产的DE2测试板(CYCLONE2C35),下载适配后,只要在输入端接上待测脉冲信号FSIN,相应的输出端接上LED7显示数码管,即可采集显示四路脉冲信号的频率。5.2 分频模块由于芯片CYCLONE2C35系统时钟是50MHZ,必须经过分频得到频率为1HZ的标准时钟。分频模块的功能是将输入的外部信号CLK进行分频,分频成计数器所需要的计数信号, 使计数器在计数信号有效的时间对外部信号进行计数。根据频率计测量的范围,确定了分频至1Hz,从而得到频率值。分频程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY clk_div50m ISPORT(clk:IN STD_LOGIC; clk_div:out STD_LOGIC);END clk_div50m;ARCHITECTURE rt1 OF clk_div50m ISSIGNAL q_tmp:integer range 0 to 49999999;BEGINprocess(clk)beginIF(clkevent and clk=1)then if(q_tmp=49999999)then q_tmp=0; else q_tmp=q_tmp+1; end if;end if;end process;process(clk)beginIF(clkevent and clk=1)then if(q_tmp=49999999)then clk_div=1; else clk_div=0; end if;end if;end process;end rt1;分频模块的功能模块图: 图5.2 分频模块的功能模块图5.3 计数模块经分析可知,此脉冲采集电路单个通道的计数模块分为2个子模块,即个位显示模块、十位显示模块。详细分析如下:计数模块的个位(SEC)可以用1个十进制计数器表示。计数模块的十位(SEC10)可以用1个十进制计数器表示。频率计的计数模块主要来实现频率计数器内部的计数功能,计数器的内部计数信号CLK和频率计数器的使能信号ENA 十进制计数器,它的输入端口主要包括使能端口ENA计数输入端口CLK, 输出端口主要包括计数输出端口CQ和进位输出端口CARRY-OUT. 。程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JSH10 ISPORT(CLK:IN STD_LOGIC; CLR:IN STD_LOGIC; ENA:IN STD_LOGIC; CQ:OUT STD_LOGIC_VEC

温馨提示

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

评论

0/150

提交评论