基于FPGA的数字电压表显示设计Word文档格式.docx
- 文档编号:16537524
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:29
- 大小:389.33KB
基于FPGA的数字电压表显示设计Word文档格式.docx
《基于FPGA的数字电压表显示设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于FPGA的数字电压表显示设计Word文档格式.docx(29页珍藏版)》请在冰豆网上搜索。
本电压表的电路设计正是用VerilogHDL语言完成的。
本次设计的主要应用软件是美国ALTERA公司自行设计的一种EDA软件工具,即MAX+PLUSⅡ。
本次所设计的电压表的测量范围是0~5V,精度为0.01V。
此电压表的设计特点为:
通过软件编程下载到硬件实现,设计周期短,开发效率高。
关键词:
FPGAVerilogHDLA/D采集数字电压表
Abstract
Thedesignofdigitalsystemisbecomingfaster,bulkier,smallerandlighterthanbefore.Electronicdesignautomationisinthelastfewyearsquicklydevelop,itmakesuseofsoftware,hardware,micro-electronicstechnologytoformacourseofelectronicdesign.Amongthem,theVerilogHDLlanguageofEDAisakindoftooloffastcircuitdesign,thefunctioncoveredthecircuitdescribe,thecircuitsynthesize,thecircuitimitatethetrueetc.ThecircuitofthedesignthatuseVerilogHDLlanguagetocomplete.ThethistimedesignisprimarilytheappliedsoftwareisMAXPLUSⅡwhichismadebytheUnitedStatesALTERAcompany.Thissystem’srangeis0vto+5vandprecisionis0.01v.Characteristicsofthiselectricvoltagewatchis:
Passthesoftwareprogramtodownloadthehardwareorealize,designtheperiodisshort,developmenttheefficiencyishigh.
Keywords:
FPGAVerilogHDLA/DAcquisitionDigitalvoltage
1绪论
1.1研究的目的、意义及前景
数字电压表(DigitalVoltmeter)简称DVM,是实验中的重要仪表,其数字化是指将连续的模拟电压量转换成不连续、离散的数字量并加以显示。
传统的实验用模拟电压表功能单一、精度低、体积大,且存在读数时的视差,长时间连续使用易引起视觉疲劳,使用中存在诸多不便。
而目前数字万用表的内部核心多是模/数转换器,其精度很大程度上限制了整个表的准确度,可靠性较差。
传统的数字电压表设计通常以大规模ASIC(专用集成电路)为核心器件,并辅以少量中规模集成电路及显示器件构成。
ASIC完成从模拟量的输入到数字量的输出,是数字电压表的心脏。
这种电压表的设计简单、精确度高,但是这种设计方法由于采用了ASIC器件使得它欠缺灵活性,其系统功能固定,难以更新扩展。
后来发展起来的用微处理器(单片机)控制通用A/D转换器件的数字电压表的设计的灵活性明显提高,系统功能的扩展变得简单,但是由于微处理器的引脚数量有限,其控制转换速度和灵活性还是不能满足日益发展的电子工业的需求。
而应用EDA(电子设汁自动化)技术及FPGA(现场可编程门阵列),其集成度高、速度快、性能十分可靠、用户可自由编程且编程语言通俗易懂、系统功能扩展非常方便。
采用FPGA芯片控制通用A/D转换器可使速度、灵活性大大优于由微处理器和通用A/D转换器构成的数字电压表。
[1]
科学技术的发展为测量仪器、仪表提供了新原理和新技术以及新型的元、器体,同时又对测量仪表提出了更新、更高的要求。
数字电压表(简写为DVM)就是在精密电测量技术、计算技术、自动化技术和电子技术的基础上产生和发展起来的。
数字式仪表是能把连续的被测量自动地变成断续的、用数字编码方式的、并以十进制数字自动显示测量结果的一种测量仪表。
这是一种新型仪表,它把电子技术、计算技术、自动化技术的成果与精密电测量技术密切的结合在一起。
成为仪器、仪表领域中独立而完整的一个分支。
1952年,美国NLS公司首创四位数字电压表,到现在的五十多年中经过了不断的改进和提高。
电压表是从电位差计的自动化考虑中研制成功的,开始是四位然后是五位、六位,而现在发展到七位、八位数码显示;
从最初的一、二种工作原理发展到几十种原理,从最早采用继电器、电子管发展到全晶体管化、集成电路化、微处理器化;
认一台DVM只能测一、二种参数到能测十几种参数的多用型;
显示器件也从辉光数码显示发展到等离子体、发光二极管、液晶显示等。
电压表的体积和功耗越来越小,重量不断减轻,价格也逐步下降,可靠性越来越高,量程范围也逐渐扩大。
回顾一下电压表的发展过程,大致可分为以下三个阶段:
数字化阶段。
50-60年代中期,电压表的特点是运用各种原理实现模数(A/D)转换,即将模拟量转化成数字量,从而实现测量仪表的数字化。
高准确度阶段。
由于精密电测量的需要,电压表开始向高准确度、高位数方向发展,出现了所谓复合型原理的仪表。
智能化阶段。
60年代末期,电子技术和工艺结构有了飞跃的发展,而大规模集成电路(LSI)与计算机技术相结合的产物是微处理器(简写为μP)。
1972年,美国Intel公司首创微处理器不久即研制出微处理器式数字电压表,实现了电压表数据处理自动化和可编程序。
因为带有存贮器并使用软件,所以可进行信息处理,可通过标准接口组成自动测试系统(简写为ATS)。
这些仪表除了完成原有电压表的各种功能外,还能够自校、自检,保证了自动测量的高准确度,实现了仪器、仪表的所谓“智能化”。
当前,智能表发展十分迅速,而微处理式电压表在智能仪表中占的比重最大。
智能化的电压表为实现各种物理量的动态测量提供了可能。
1.2研究的主要内容
本课题主要研究数字电压表的一般设计原理,并结合新型的可编程逻辑器件(FPGA)设计了一种方便、实用的数字电压表。
我主要设计软件那部分。
采用ACEX1k30TC144-3的一款FPGA芯片实现电压表的数码显示的功能。
设计中所要求设计的数字电压表为4位,由三大部分组成,数据转换模块进行模数转换后到数据处理模块处理得到BCD码转换成能被数码管识别的字型编码,再到显示模块,每一部分又包含了若干子电路,将各电路组合起来,就构成了一个整体。
硬件设计所需的硬件主要有:
直流电平输出电路、ADC0809、七段显示器。
基于FPGA的数字电压表有三大部分组成,具体分为A/D转换电路、FPGA控制电路和显示电路。
电压输入A/D转换器后转化为数字量送入FPGA芯片,经过FPGA的逻辑控制(A/D控制、BCD码转换和扫描显示),最终由LED数码显示结果。
图1-1硬件结构图
我采用8位A/D转换器ADC0809对模拟电压采样,以一片高性能FPGA芯片为控制核心,以软件实现了诸多硬件功能,对电压信号的转换结果进行准确实时的运算处理并送出显示。
系统的主要功能都集成在一块芯片上,大大减少了系统的分立元件数量,降低了功耗,增加了可靠性,较好地实现了电压的精准测量。
2开发工具介绍
2.1EDA技术的简介
随着微电子技术和计算机技术的不断发展,在涉及机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等领域的电子系统设计工作中,EDA技术的含量正以惊人的速度上升,它已成为当今电子技术发展的前沿之一。
EDA以计算机为工具,设计者在其软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作[2]。
利用EDA技术(特指IES/ASIC自动设计技术)进行电子系统的设计,具有以下几个特点:
(1)用软件的方式设计硬件;
(2)用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;
(3)设计过程中可用有关软件进行各种仿真;
系统可现场编程,在线升级;
(4)整个系统可集成在一个芯片上,体积小、功耗低、可靠性高;
(5)从以前的“组合设计”转向真正的“自由设计”;
(6)设计的移植性好,效率高;
(7)非常适合分工设计,团体协作。
因此,EDA技术是现代电子设计的发展趋势。
[3]
EDA技术的理论基础,设计工具,设计器件应是这样的关系:
设计师用硬件描述语言HDL描绘出硬件的结构或硬件的行为,再用设计工具将这些描述综合映射成与半导体工艺有关的硬件配置文件,半导体器件FPGA则是这些硬件配置文件的载体.当这些FPGA器件加载,配置上不同的文件时,这个器件便具有了相应的功能.在这一系列的设计,综合,仿真,验证,配置的过程中,现代电子设计理论和现代电子设计方法贯穿于其中。
以HDL语言表达设计意图,以FPGA作为硬件实现载体,以计算机为设计开发工具,以EDA软件为开发环境的现代电子设计方法日趋成熟.在这里,笔者认为,要振兴我国电子产业,需要各相关专业的人士共同努力.HDL语言的语法语义学研究与半导体工艺相关联的编译映射关系的研究,深亚微米半导体工艺与EDA设计工具的仿真,验证及方法的研究,这需要半导体专家和操作系统专家共同努力,以便能开发出更加先进的EDA工具软件.软件,硬件协同开发缩短了电子设计周期,加速了电子产品更新换代的步伐.毫不夸张地说,EDA工程是电子产业的心脏起搏器,是电子产业飞速发展的原动力[4]。
2.2FPGA的概念与特点
FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
目前以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至FPGA上进行测试,是现代IC设计验证的技术主流。
这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。
在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。
[5]
系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。
一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。
FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。
但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。
厂商也可能会提供便宜的但是编辑能力差的FPGA。
因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。
另外一种方法是用CPLD(复杂可编程逻辑器件备)。
早在1980年代中期,FPGA已经在PLD设备中扎根。
CPLD和FPGA包括了一些相对大数量的可以编辑逻辑单元。
CPLD逻辑门的密度在几千到几万个逻辑单元之间,而FPGA通常是在几万到几百万。
CPLD和FPGA的主要区别是他们的系统结构。
CPLD是一个有点限制性的结构。
这个结构由一个或者多个可编辑的结果之和的逻辑组列和一些相对少量的锁定的寄存器。
这样的结果是缺乏编辑灵活性,但是却有可以预计的延迟时间和逻辑单元对连接单元高比率的优点。
而FPGA却是有很多的连接单元,这样虽然让它可以更加灵活的编辑,但是结构却复杂的多。
CPLD和FPGA另外一个区别是大多数的FPGA含有高层次的内置模块(比如加法器和乘法器)和内置的记忆体。
一个因此有关的重要区别是很多新的FPGA支持完全的或者部分的系统内重新配置。
允许他们的设计随着系统升级或者动态重新配置而改变。
一些FPGA可以让设备的一部分重新编辑而其他部分继续正常运行。
FPGA采用了逻辑单元阵列LCA(LogicCellArray)这样一个概念,内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分。
FPGA的基本特点主要有:
1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。
2)FPGA可做其它全定制或半定制ASIC电路的中试样片。
3)FPGA内部有丰富的触发器和I/O引脚。
4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。
5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。
可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。
FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。
用户可以根据不同的配置模式,采用不同的编程方式。
加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。
掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。
FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。
当需要修改FPGA功能时,只需换一片EPROM即可。
这样,同一片FPGA不同的编程数据,可以产生不同的电路功能。
因此,FPGA的使用非常灵活。
2.3VerilogHDL语言概述
VerilogHDL是一种硬件描述语言(HDL:
HardwareDiscriptionLanguage),是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。
VerilogHDL和VHDL是目前世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的。
前者由GatewayDesignAutomation公司(该公司于1989年被Cadence公司收购)开发。
两种HDL均为IEEE标准。
[6]
VerilogHDL就是在用途最广泛的C语言的基础上发展起来的一种硬件描述语言,它是由GDA(GatewayDesignAutomation)公司的PhilMoorby在1983年末首创的,最初只设计了一个仿真与验证工具,之后又陆续开发了相关的故障模拟与时序分析工具。
1985年Moorby推出它的第三个商用仿真器Verilog-XL,获得了巨大的成功,从而使得VerilogHDL迅速得到推广应用。
1989年CADENCE公司收购了GDA公司,使得VerilogHDL成为了该公司的独家专利。
1990年CADENCE公司公开发表了VerilogHDL,并成立LVI组织以促进VerilogHDL成为IEEE标准,即IEEEStandard1364-1995。
VerilogHDL的最大特点就是易学易用,如果有C语言的编程经验,可以在一个较短的时间内很快的学习和掌握,因而可以把VerilogHDL内容安排在与ASIC设计等相关课程内部进行讲授,由于HDL语言本身是专门面向硬件与系统设计的,这样的安排可以使学习者同时获得设计实际电路的经验。
与之相比,VHDL的学习要困难一些。
但VerilogHDL较自由的语法,也容易造成初学者犯一些错误,这一点要注意。
选择VHDL还是verilogHDL这是一个初学者最常见的问题。
其实两种语言的差别并不大,他们的描述能力也是类似的。
掌握其中一种语言以后,可以通过短期的学习,较快的学会另一种语言。
选择何种语言主要还是看周围人群的使用习惯,这样可以方便日后的学习交流。
当然,如果您是集成电路(ASIC)设计人员,则必须首先掌握verilog,因为在IC设计领域,90%以上的公司都是采用verilog进行IC设计。
对于PLD/FPGA设计者而言,两种语言可以自由选择。
设计人员通过计算机对HDL语言进行逻辑仿真和逻辑综合,方便高效地设计数字电路及其产品。
常用的VerilogHDL语言开发软件有Altera公司的MAX+PLUSII,QuartusII和Xilinx公司的FoundationISE。
VerilogHDL的发展历史:
1、1981年GatewayAutomation(GDA)硬件描述语言公司成立。
2、1983年该公司的PhilipMoorby首创了VerilogHDL,Moorby后来成为VerrlogHDL-XL的主要设计者和Cadence公司的第一合伙人。
3、1984-1985年Moorby设计出第一个关于VerilogHDL的仿真器。
4、1986年Moorby对VerilogHDL的发展又做出另一个巨大的贡献,提出了用于快速门级仿真的XL算法。
5、随着VerilogHDL-XL的成功,VerilogHDL语言得到迅速发展。
6、1987年Synonsys公司开始使用VerilogHDL行为语言作为综合工具的输入。
7、1989年Cadence公司收购了Gateway公司,VerilogHDL成为Cadence公司的私有财产。
8、1990年初Cadence公司把VerilongHDL和VerilongHDL-XL分开,并公开发布了VerilogHDL.随后成立的OVI(OpenVerilogHDLInternational)组织负责VerilogHDL的发展,OVI由VerilogHDL的使用和CAE供应商组成,制定标准。
9、1993年,几乎所有ASIC厂商都开始支持VerilogHDL,并且认为VerilogHDL-XL是最好的仿真器。
同时,OVI推出2.0版本的VerilongHDL规范,IEEE接收将OVI的VerilongHDL2.0作为IEEE标准的提案。
10、1995年12月,IEEE制定了VerilongHDL的标准IEEE1364-1995.任何新生事物的产生都有它的历史沿革,早期的硬件描述语言是以一种高级语言为基础,加上一些特殊的约定而产生的,目的是为了实现RTL级仿真,用以验证设计的正确性,而不必像在传统的手工设计过程中那样,必须等到完成样机后才能进行实测和调试。
Verilog硬件描述语言的主要能力:
基本逻辑门,例如and、or和nand等都内置在语言中。
[7]
用户定义原语(UDP)创建的灵活性。
用户定义的原语既可以是组合逻辑原语,也可以是时序逻辑原语。
开关级基本结构模型,例如pmos和nmos等也被内置在语言中。
提供显式语言结构指定设计中的端口到端口的时延及路径时延和设计的时序检查。
可采用三种不同方式或混合方式对设计建模。
这些方式包括:
行为描述方式—使用过程化结构建模;
数据流方式—使用连续赋值语句方式建模;
结构化方式—使用门和模块实例语句描述建模。
VerilogHDL中有两类数据类型:
线网数据类型和寄存器数据类型。
线网类型表示构件间的物理连线,而寄存器类型表示抽象的数据存储元件。
能够描述层次设计,可使用模块实例结构描述任何层次。
设计的规模可以是任意的;
语言不对设计的规模(大小)施加任何限制。
VerilogHDL不再是某些公司的专有语言而是IEEE标准。
人和机器都可阅读Verilog语言,因此它可作为EDA的工具和设计者之间的交互语言。
VerilogHDL语言的描述能力能够通过使用编程语言接口(PLI)机制进一步扩展。
PLI是允许外部函数访问Verilog模块内信息、允许设计者与模拟器交互的例程集合。
设计能够在多个层次上加以描述,从开关级、门级、寄存器传送级(RTL)到算法级,包括进程和队列级。
能够使用内置开关级原语在开关级对设计完整建模。
同一语言可用于生成模拟激励和指定测试的验证约束条件,例如输入值的指定。
VerilogHDL能够监控模拟验证的执行,即模拟验证执行过程中设计的值能够被监控和显示。
这些值也能够用于与期望值比较,在不匹配的情况下,打印报告消息。
在行为级描述中,VerilogHDL不仅能够在RTL级上进行设计描述,而且能够在体系结构级描述及其算法级行为上进行设计描述。
能够使用门和模块实例化语句在结构级进行结构描述。
在VerilogHDL的混合方式建模能力,即在一个设计中每个模块均可以在不同设计层次上建模。
VerilogHDL还具有内置逻辑函数,例如&
(按位与)和|(按位或)。
对高级编程语言结构,例如条件语句、情况语句和循环语句,语言中都可以使用。
可以显式地对并发和定时进行建模。
提供强有力的文件读写能力。
语言在特定情况下是非确定性的,即在不同的模拟器上模型可以产生不同的结果;
例如,事件队列上的事件顺序在标准中没有定义。
2.4软件工具MAX+PLUSII的简介
Max+plusⅡ是Altera公司提供的FPGA/CPLD开发集成环境,Altera是世界上最大可编程逻辑器件的供应商之一。
Max+plusⅡ界面友好,使用便捷,被誉为业界最易用易学的EDA软件。
在Max+plusⅡ上可以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个流程,它提供了一种与结构无关的设计环境,是设计者能方便地进行设计输入、快速处理和器件编程,也是本人在整个课题的研究过程中选用的EDA开发工具。
MAX+PLUSIIComplier(编译器)是MAX+PLUSII软件的核心。
它支持Altera的多种PLD器件,能提供真正与结构无关的设计环境和强有力的逻辑综合能力。
[8]
Max+plusⅡ特点:
1、开放的界面
Max+plusⅡ支持与Cadence,Exemplarlogic,MentorGraphics,Synplicty,Viewlogic和其它公司所提供的EDA工具接口。
2、与结构无关
Max+plusⅡ系统的核心Complier支持Altera公司的FLEX10K、FLEX8000、FLEX6000、MAX9000、MAX7000、MAX5000和Classic可编程逻辑器件,提供了世界上唯一真正与结构无关的可编程逻辑设计环境。
3、完全集成化
Max+plusⅡ的设计输入、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA 数字 电压表 显示 设计