




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录1、前 言- 2 -1.1 EDA技术介绍- 2 -1.2 Verilog HDL简介- 2 -1.3 数字频率计概述- 3 -2、总体方案设计- 4 -2.1设计内容- 4 -2.2设计方案比较- 5 -2.3方案论证- 6 -3、单元模块设计- 7 -3.1 放大整形电路- 7 -3.2 时基电路- 8 -3.3 计数模块- 9 -3.4 分频模块133.5 门控模块153.6 锁存模块173.7 译码显示模块184、系统总体设计及调试204.1 顶层电路204.2 仿真及调试215、特殊器件的介绍225.1 CPLD器件介绍225.2 FPGA器件介绍225.3 EP1K30TC144器件介绍236、总结246.1设计小结246.2设计收获246.3设计改进246.4 致谢25参考文献251、 前 言1.1EDA技术介绍EDA是电子设计自动化(Electronic Design Automation)缩写,是90年代初从CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。EDA技术是以计算机为工具,根据硬件描述语言HDL( Hardware Description language)完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局布线、仿真以及对于特定目标芯片的适配编译和编程下载等工作。硬件描述语言HDL是相对于一般的计算机软件语言,如:C、PASCAL而言的。HDL语言使用与设计硬件电子系统的计算机语言,它能描述电子系统的逻辑功能、电路结构和连接方式。设计者可利用HDL程序来描述所希望的电路系统,规定器件结构特征和电路的行为方式;然后利用综合器和适配器将此程序编程能控制FPGA和CPLD内部结构,并实现相应逻辑功能的的门级或更底层的结构网表文件或下载文件。目前,就FPGA/CPLD开发来说,比较常用和流行的HDL主要有ABEL-HDL、AHDL和VHDL。 1.2 Verilog HDL简介Verilog HDL是一种硬件描述语言(HDL:Hardware Discription Language),是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。Verilog HDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。Verilog HDL 语言具有下述描述能力:设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。所有这些都使用同一种建模语言。此外,Verilog HDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行。Verilog 的设计者以 C 程序语言为基础设计一种语言,可以使工程师比较熟悉跟容易接受。事实上,它产生与 C 程序语言类似的不严谨性质,并且大概与Pascal很相像。这种语言跟传统的程序设计语言不同,在于它的程序叙述并非严格地线性(循序)执行。Verilog 模式包含不同模组(modules)的阶层关系。模组(modules)是输出(inputs)和输入(outputs)所定义出来的一个集合。在每个模组中,有一串的电线(wires)、暂存器(registers)和子模组(submodules)的定义。并且在每个模组里面,语言叙述大部分都被群组成为各种的执行区块(blocks),用来定义模组所产生的行为描述。在每个区块(blocks)内,使用 begin 和 end 的关键字来区隔开来,其中的叙述是循序被执行。但是同一个设计,不同的区块间的执行是平行的。这个语言的叙述之子集合是可合成(synthesizable)。如果在一个电路设计的模组中仅包含可合成的叙述,那么这个电路设计就可以被适当的软件,转换合成为电脑芯片的电路。1.3 数字频率计概述频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1秒。闸门时间也可以大于或小于一秒。闸门时间越长,得到的频率值就越准确,但闸门时间越长则没测一次频率的间隔就越长。闸门时间越短,测的频率值刷新就越快,但测得的频率精度就受影响。本文数字频率计是用数字显示被测信号频率的仪器,被测信号可以是正弦波,方波或其它周期性变化的信号。如配以适当的传感器,可以对多种物理量进行测试,比如机械振动的频率,转速,声音的频率以及产品的计件等等。因此,数字频率计是一种应用很广泛的仪器电子系统非常广泛的应用领域内,到处可见到处理离散信息的数字电路。数字电路制造工业的进步,使得系统设计人员能在更小的空间内实现更多的功能,从而提高系统可靠性和速度。集成电路的类型很多,从大的方面可以分为模拟电路和数字集成电路2大类。数字集成电路广泛用于计算机、控制与测量系统,以及其它电子设备中。一般说来,数字系统中运行的电信号,其大小往往并不改变,但在实践分布上却有着严格的要求,这是数字电路的一个特点。数字集成电路作为电子技术最重要的基础产品之一,已广泛地深入到各个应用领域。2、总体方案设计2.1设计内容设计一个能在时钟脉冲CLK的激励下对输入信号FIN计数的数字频率计。时钟脉冲能产生计数使能信号EN、计数清零信号CLR、锁存使能信号LOAD。当EN为高电平时,启动计数;低电平时停止计数,并保持记录的脉冲数。在停止计数期间,用锁存信号的LOAD的上升沿,将计数器在前1秒钟的计数值锁存,并由外部的的7段译码器译码,显示计数结果,其原理框图如下:2.2设计方案比较方案一:谐振测频法利用具有尖锐频率特性的可调谐无源网络再配上适当的读数及指示设备来测量信号频率。被测信号经互感M与LC串联谐振回路耦合,改变可变电容C,使回路发生串联谐振。谐振时回路电流I达到最大,与电容相串联的电流指示也将达到最大。通常被测频率计算式为: 测量时,调节标准电容是回路谐振可从特性曲线上直接查出被测频率。方案二:基于Verilog编程的电子计数器测频法采用Verilog HDL硬件描述语言实现数字频率计的电路设计。程序设计思想:电子计数器严格按照fN/T的定义进行测频,其对应的测频原理方框图和工作时间波形如图2.2.1 所示。从图中可以看出测量过程:输入待测信号经过脉冲形成电路形成计数的窄脉冲,时基信号发生器产生计数闸门信号,待测信号通过闸门进入计数器计数,即可得到其频率。若闸门开启时间为T、待测信号频率为,在闸门时间内计数器计数值为N,则待测频率为 = N / Tdaiche待测信号放大整形闸门计数显示门控电路晶振分频电路图2.2.1 测频原理结构框图2.3方案论证方案一直接利用电路的频率响应特性来测量频率值,利用各种有源和无源的频率比较设备和指示器来确定这种函数关系的具体形式,以获得被测信号的频率。这种测频方法简单,但是精度低。其测量误差主要来自于频率特性函数式的理论误差、各个参数的测量误差以及判断误差。方案二输入信号通过放大整形电路形成计数窄脉冲;晶体振荡器产生高稳定度的时基信号,经分频后作为门控双稳态电路的开门信号;在开门时间内,被测信号通过闸门进入计数器计数并显示。误差来源:(1)计数过程中存在最大计数误差1个字的量化误差当被测信号频率f高或者闸门时间T大时可以减小1误差。(2)基准时钟的时间准确性、整形电路、分频电路以及技术时间控制闸门的开关速度等因素。总相对误差可以表达为()max=( |1/N| + |G| )=( |1/ft| + |G| ) 其中:N为脉冲的个数,G为标准时钟的频率稳定性,f为被测信号频率,t为被测信号产生N个脉冲所需的时间。 2.4方案选择上述两种方案都达到测量频率的目的,方案一采用模拟测量原理方法简单、容易实现,但是存在精度低、误差大等缺陷,此方案多用于高频段的测量。而方案二采用电子计数器测频,电子计数器具有测量精度高、速度快、操作简单、直接数字显示等优点,是目前最广泛采用的方法。采用Verilog语言编程的系统精度很高,误差低,可实现软件仿真,其实现电路也比较简单,只有FPGA芯片加上外围电路,如晶振电路,复位电路,JTAG下载电路,电源电路等就可以实现系统数字频率计的功能,所以我决定采用方案二。3、单元模块设计基于Verilog的数字频率计以CPLD/FPGA作为核心器件,通过模块化编程主要实现在一定时间内,对被测信号的脉冲个数进行计算,并且转化为相应的频率值显示在数码管上。系统可分成九个模块来分别设计仿真。分别有以下九个模块: 放大整形电路:将被测信号放大整形成标准的方波信号便于计数。 计数模块counter:对包含被测信号频率信息的脉冲进行计数 分频模块fdiv:将标准时钟分频,得到计数以及动态显示所需的时钟。 门控模块gate_control:控制计数模块计数、清零。 寄存器模块flip_latch:对计数模块的计数值进行寄存。 BCD译码模块dispdenoder:将BCD码译成数码管的显示数据 标准时钟:标准时钟为频率计测量提供精度相对比较高的时基信号。 LED显示模块:将测量结果通过数码管(LED)来显示。3.1放大整形电路放大整形电路包括衰减器、跟随器、放大器、施密特触发器,衰减器由两个双向限幅二极管构成,将来的信号限制在0.7V到-0.7V之间。跟随器由一个集成运算放大器组成,以增大带负载能力。放大器为由集成运算放大器构成一个同向比例放大器,放大位数为50倍。施密特触发器由555定时器组成,实现对波形的整形,整形后的方波送到闸门以便计数。其仿真电路如下图所示:当输入信号为3V 时,仿真放大整形后的输出结果如下图示:3.2时基电路采用石英晶体组成的石英晶体振荡器产生频率稳定度很高的脉冲波形。电路的振荡频率仅取决于石英晶体的串联谐振频率,而与电路中的R、C的数值无关。石英晶体振荡器电路如下图所示: 图3.2.1 时基电路3.3 计数模块该模块主要完成对被测信号经过放大整形后输入到可编程逻辑器件的F_IN信号是现在一定的时间下的计数,采用六个异步BCD码十进制计数器来实现 0999999范围的计数。计数模块的结构框图如图3.3.1所示:图3.3.1 计数模块的结构框图计数模块输入输出端口定义: EN:异步BCD码十进制计数器的全局使能信号 CLR:异步BCD码十进制计数器复位信号 F_IN:被测信号经过放大与整形处理后的信号该模块定义输出端口如下: F_OUT:超出技术范围0999999的输出信号,用来指示提醒用户选择更大的量程。 Q0:计数器的最低位输出 Q1:计数器的第5位输出 Q2:计数器的第4位输出 Q3:计数器的第3位输出 Q4:计数器的第2位输出 Q5:计数器的第1位输出计数模块代码:module counter(EN,CLR,F_IN,F_OUT,Q0,Q1,Q2,Q3,Q4,Q5);output 3:0Q5,Q4,Q3,Q2,Q1,Q0;output F_OUT;input EN;input CLR;input F_IN;reg 3:0Q5,Q4,Q3,Q2,Q1,Q0;reg F_OUT;reg F_out0,F_out1,F_out2,F_out3,F_out4;always (posedge F_IN)begin if(EN=1b1)&(CLR=1b0)&(Q0!= 4b1001) begin Q0=Q0+4b0001;F_OUT=1b0; end else beginQ0=4b0000;if(EN=1b1)&(CLR=1b0)&(Q1!=4b1001)begin Q1 =Q1+4b0001; F_OUT=1b0;endelsebegin Q1=4b0000; if(EN=1b1)&(CLR =1b0)&(Q2!=4b1001) begin Q2=Q2+4b0001; F_OUT=1b0; end else beginQ2=4b0000;if(EN=1b1)&(CLR=1b0)&(Q3!=4b1001)begin Q3=Q3+4b0001; F_OUT=1b0;endelsebegin Q3=4b0000; if(EN =1b1)&(CLR=1b0)&(Q4!=4b1001) begin Q4=Q4+4b0001; F_OUT=1b0; end else begin Q4 = 4b0000; if(EN=1b1)&(CLR=1b0)&(Q5!=4b1001) begin Q5=Q5+4b0001; F_OUT=1b0; end else begin Q5=4b0000; F_OUT=1b1; end end end end end endendendmodule时序仿真图如图3.3.2所示:图3.3.2 计数模块counter的仿真波形 3.4 分频模块晶体振荡器产生的时基信号经过分频模块分频得到系统中所需要的多种频率成分的时钟信号。分频模块的结构框图如图3.4.1所示:图3.4.1 分频模块结构框图分频模块输入输出端口定义: Clk:系统时钟信号输入端 F1hz:输出1Hz的时钟信号 F10hz:输出10Hz的时钟信号 F100hz:输出100Hz的时钟信号 F1khz:输出1Hz的时钟信号分频模块代码:module fdiv(clk,f1hz,f10hz,f100hz,f1khz);output f1hz,f10hz,f100hz,f1khz;input clk;reg f1hz,f10hz,f100hz,f1khz;integer cnt1=0,cnt2=0,cnt3=0,cnt4=0;always (posedge clk)beginif(cnt12)begin f1khz=1b0; cnt1=cnt1+1;endelsebegin f1khz=1b1; cnt1=0;endendalways (posedge f1khz)beginif(cnt22)begin f100hz=1b0; cnt2=cnt2+1;endelsebegin f100hz=1b1; cnt2=0;endendalways (posedge f100hz)beginif(cnt32) begin f10hz=1b0; cnt3=cnt3+1;endelsebegin f10hz=1b1; cnt3=0;endendalways (posedge f10hz)beginif(cnt42)begin f1hz=1b0; cnt4=cnt4 + 1;endelsebegin f1hz=1b1; cnt4=0;endendendmodule时序仿真图如图3.4.2所示:图3.4.2 分频模块的仿真波形3.5 门控模块门控模块主要实现对闸门的选择功能,通过输入的门选信号来确定输出的闸门时间,生成的模块如图3.5.1所示: 图3.5.1 门控模块结构框图 门控模块输入输出端口定义: gate_ch1、gate_ch2、gate_ch3:量程选择开关 flhz:1Hz的标准时钟输入 fl0hz:10Hz的标准时钟输入 fl00hz:100Hz的标准时钟输入 flkhz:1kHz的标准时钟输入 reset:清零端口 gate_out:闸门信号输出端 err:错误信号提示端门控模块代码:module gate_ch(reset,gate_ch1,gate_ch2,gate_ch3,clk_1hz,clk_10hz,clk_100hz,clk_1khz,gate_out,err ,f);input reset,gate_ch1,gate_ch2,gate_ch3,clk_1hz,clk_10hz,clk_100hz,clk_1khz;output reg gate_out,err;output reg 1:0 f;reg 2:0 counter5;reg gate;always (posedge clk_1khz or negedge reset)beginif(!reset) begingate=0;counter5=0;err=1;f=2b01;end else beginif(gate_ch1=0&gate_ch2=1&gate_ch3=1) begingate=clk_1hz; f=2b01;err=1;end else if(gate_ch1=1&gate_ch2=0&gate_ch3=1) begingate=clk_10hz;f=2b10;err=1;end else if(gate_ch1=1&gate_ch2=1&gate_ch3=0) begingate=clk_100hz;f=2b11;err=1;end else beginerr=0;endendendalways (posedge gate or negedge reset)beginif(!reset) begingate_out=0;endelse begingate_out=gate_out;endendendmodule时序仿真图如图3.5.2所示:图3.5.2 门控模块的仿真波形3.6锁存模块如果计数器输出直接与译码器相连接,那么在计数过程中输出端则随输入脉冲数的增加而不断跳变,那么显示数码管则也会不断闪烁跳变,让人不能看到稳定的输出,设锁存器后,则不再跳变,便可清晰读出计数结果。其生成的功能模块如图3.6.1所示:图3.6.1 锁存器模块锁存模块输入输出端口定义: clk:所存数据信号输入,当clk的上升沿到来时,寄存器将输入端信号锁存进寄存器,并且改变输出。 A0,A1,A2,A3,A4,A5:寄存器的数据输入端该模块定义输出端口如下: Q0,Q1,Q2,Q3,Q4,Q5:寄存器的数据输出端。锁存器模块代码:module flip_latch(clk,A0,A1,A2,A3,A4,A5,Q0,Q1,Q2,Q3,Q4,Q5);output 3:0Q0,Q1,Q2,Q3,Q4,Q5;input clk;input 3:0A0,A1,A2,A3,A4,A5;reg 3:0Q0,Q1,Q2,Q3,Q4,Q5;always (posedge clk)beginQ0=A0;Q1=A1;Q2=A2;Q3=A3;Q4=A4;Q5=A5;end endmodule时序仿真图如图3.6.2所示:图3.6.2 寄存器模块的仿真波形3.7译码显示模块BCD译码显示模块主要实现BCD码到7段数码管显示码字段的转换,4个输入d3:0可能出现16种组合情况;它的7个输出y6:0分别控制共阴LED数码管的a、b、c、d、e、f、g七段的亮/灭,从而显出对应的16个字符。BCD译码模块的结构框图如图3.7.1所示:图3.7.1 BCD译码模块的结构框图译码显示模块输入输出端口定义:d3,d2,d1,d0:译码输入端y6,y5,y4,y3,y2,y1,y0:译码输出端 译码显示模块代码:module de_7(d, y);input 3:0d;output 6:0y;reg 6:0y;always ( d )case( d )4b0000: y=7b1111110;4b0001: y=7b0110000;4b0010: y=7b1101101;4b0011: y=7b1111001;4b0100: y=7b0110011;4b0101: y=7b1011011;4b0110: y=7b1011111;4b0111: y=7b1110000;4b1000: y=7b1111111;4b1001: y=7b1111011;4b1010: y=7b1110111;4b1011: y=7b0011111;4b1100: y=7b1001110;4b1101: y=7b0111101;4b1110: y=7b1001111;4b1111: y=7b1000111;endcaseendmodule时序仿真图如图3.7.2所示:图3.7.2 BCD译码模块的仿真波形4、系统总体设计及调试4.1 顶层电路在设计完各个模块后,需要将各个模块有机地组合成一个整体,最后来实现系统的功能。在数字频率计中,同时采用了电路原理图示的设计以及Verilog HDL语言来编写的顶层电路,其中顶层电路图如图4.1.1所示: 图4.1.1顶层电路图4.2 仿真及调试5、特殊器件的介绍5.1 CPLD器件介绍CPLD是Complex Programmable Logic Device的缩写,它是有最早的PLD器件发展形成的高密度可编程逻辑器件,它具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设计制造成本低、对设计者的硬件经验要求低、标准产品无需测试、保密性强、价格大众化等特点。 CPLD是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。许多公司都开发出了CPLD可编程逻辑器件。比较典型的就是Altera、Lattice、Xilinx世界三大权威公司的产品。如 Altera公司的MAXII器件,就是其极具代表性的一类CPLD器件,是有史以来功耗最低、成本最低的CPLD。MAX II CPLD基于突破性的体系结构,在所有CPLD系列中,其单位I/O引脚的功耗和成本都是最低的。 Altera公司的MAX7000A系列器件是高密度、高性能的EPLD,它是基于第二代MAX结构,采用CMOS EPROM工艺制造的。该系列的器件具有一定得典型性,其他结构都与此结构非常的类似。它包括逻辑阵列块、宏单元、扩展乘积项、可编程连线阵列和IO控制部分。由于大多数CPLD是基于乘积项的“与或”结构,故适合设计组合逻辑电路。5.2 FPGA器件介绍FPGA(FieldProgrammable Gate Array)可以达到比PLD更高的集成度,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展起来的,具有更复杂的布线结构和逻辑实现。PLD器件和FPGA的主要区别在于PLD是通过修改具有固定内连电路得逻辑功能来进行编程,而FPGA是通过修改一根或多根分割宏单元的基本功能块的内连线的布线来进行编程。它一般由可嵌入式阵列块(EAB)、逻辑阵列块(LAB)、快速互联通道(Fast Track)、IO单元(IOE)组成。Altera Cyclone II 采用全铜层、低K值、1.2伏SRAM工艺设计,裸片尺寸被尽可能最小的优化。采用300毫米晶圆,以TSMC成功的90nm工艺技术为基础,Cyclone II 器件提供了4,608到68,416个逻辑单元(LE),并具有一整套最佳的功能,包括嵌入式18比特x18比特乘法器、专用外部存储器接口电路、4kbit嵌入式存储器块、锁相环(PLL)和高速差分I/O能力。Cyclone II 器件扩展了FPGA在成本敏感性、大批量应用领域的影响力,延续了第一代Cyclone器件系列的成功。由于FPGA是基于查找表(LUT)结构的器件,且每个LAB由10个LE组成,一个LE由LUT和寄存器组成,适合于时序逻辑电路的设计。5.3 EP1K30TC144器件介绍ACEX1K器件是Altera公司在2000推出的2.5V低价格SRAM工艺FPGA结构与10KE类似,带嵌入式存储块(EAB),部分型号带PLL,主要有1K10、1K30、1K50、1K100等型号。EP1K30TC144器件中,EP1K表示器件类型,30表示器件内有30K个逻辑门,T代表封装类型,C表示用途为商用,144表示管脚数为144。其引脚图如图5.3.1所示 图5.3.1 EP1K30TC6、总结6.1设计小结本设计的电路实现是基于FPGA最小系统原理图,再配以所需的外设。最小系统设计包含了时钟产生电路模块、程序下载配置电路模块、电源电路模块,通过连线将各个模块进行连接成最小系统。由于本设计电路比较简单,外设比较少,使用到的四个独立键盘,模拟实现信号输入,六个LED灯模拟实现信号状态指示。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 销售咨询运营方案范文
- 云浮商场促销活动策划方案
- 某私立学校关于人工智能教育教学试点工作总结报告
- 教代会民主评议学校领导干部暂行办法
- 农业咨询调查方案范文
- 大连立体植物墙施工方案
- 医疗健康产业新动能前景展望
- 电商平台电商生态圈构建
- 关于举办第六届高效先进破碎筛分与磨矿分级技术交
- 巡察财务方面存在的问题及整改措施
- 第五讲铸牢中华民族共同体意识-2024年形势与政策
- 医学伦理学全套课件
- 车用驱动电机原理与控制基础(第2版)课件:三相交流绕组及其磁场
- 加油站安全费用提取、使用台账
- 高考政治一轮复习:统编版必修1《中国特色社会主义》必背考点提纲填空练习版(含答案)
- 2025届高考数学一轮复习建议-函数与导数专题讲座课件
- 近代中国交通工具变迁史说课材料
- 《中华民族一家亲-同心共筑中国梦》队会课件
- 2025届高考试题原创命题比赛说题稿
- 资产负债管理与精算风险控制
- 小学道法小课题研究活动记录
评论
0/150
提交评论