[其它]数字温度表设计.doc

上传人:sccc 文档编号:4662219 上传时间:2023-05-05 格式:DOC 页数:38 大小:752KB
返回 下载 相关 举报
[其它]数字温度表设计.doc_第1页
第1页 / 共38页
[其它]数字温度表设计.doc_第2页
第2页 / 共38页
[其它]数字温度表设计.doc_第3页
第3页 / 共38页
[其它]数字温度表设计.doc_第4页
第4页 / 共38页
[其它]数字温度表设计.doc_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《[其它]数字温度表设计.doc》由会员分享,可在线阅读,更多相关《[其它]数字温度表设计.doc(38页珍藏版)》请在三一办公上搜索。

1、广州大学松田学院EDA技术与应用课程设计 广州大学松田学院 课 程 设 计 说 明 书题 目: 数字温度计设计 姓 名: 梁 日 宁 系 (部): 电气与汽车工程系 班 级: 电气(2)班 专 业: 电气工程及其自动化 指导教师: 张亚林 二0一二 年 六 月 23 日摘要:本文主要研究利用FPGA器件和MAXPLUS工具软件设计数字温度表的问题,本文介绍了一种基于FPGA的数字温度表的设计,给出了仪表的硬件结构,详细介绍了用VHDL语言设计FPGA器件电路的方法。本课题在MAX+PLUS开发环境下,采用VHDL语言设计并实现了数字温度表。设计采用VHDL的结构描述风格,依据功能将系统分为三个

2、模块,控制模块、数据处理模块和扫描显示模块,通过波形仿真、下载芯片的测试,完成了温度表的功能。由AD590与FPGA组成的测温系统的硬件电路和软件设计及提高测量精度的方法,通过对实际温度的测量,本设计具有结构简单、外围电路少、抗干扰能力强、功耗小、可靠性高、速度快、反应时间短等优点。关键字:VHDL;FPGA;MAX+PLUS;数字温度表Design and Emulation of the Digital ThermometerAbstract:This article main research the question using the FPGA components and the

3、software tool MAXPLUS.design digit thermometers, this article introduced one kind design of digital thermometers based on the FPGA, has given the hardware architecture of measuring appliances, introduced the method using the language VHDL design circuit of FPGA component in detail. Under the develop

4、ment environment of MAX+PLUS this topic used the VHDL language design, and has realized the digital thermometer. The design take the structure description style of VHDL, based on the function the system consists of three modules, the control module, the data processing module and the scanning displa

5、y module, via the profile simulation, the downloading chips test, has completed thermometers function. The temperature measurement systems hardware circuit which consist of AD590 and FPGA and the method that enhancement measuring accuracy, through the testing of the practical temperature, found this

6、 design has the merits simple structure, few outside-circuit, strong ability anti interrupter ,small power loss, high reliability, high speed, short time of reaction and so on.Key Words: VHDL; FPGA; MAX+PLUS; Digital thermometer 目 录第1章 绪论11.1 课题的研究意义1第2章 总体方案设计22.1 方案原理的构思及比较22.2 A/D转换器的合理选用22.2.1 A

7、/D转换器的主要技术指标22.2.2 A/D转换器的选用原则32.2.3 本系统中A/D转换器的选择42.2.4 ADC0804转换原理52.3 A/D温度传感器的合理选用62.3.1 传感器选用原则62.3.2 本系统中温度传感器的选择82.4 多个LED的动态扫描显示92.5 数字温度表测量原理92.6 系统的硬件结构10第3章 FPGA功能模块113.1 FPGA简介113.2 FPGA结构与原理123.3利用硬件描述语言VHDL设计数字系统123.4系统中的FPGA器件设计14第4章 系统仿真174.1 MAX+plus简介与设计流程174.2各模块的仿真194.3顶层总电路图和总仿真

8、波形21结束语22参考文献23致谢24附 录25数字温度表设计第1章 绪论1.1 课题的研究意义对传统电子系统设计方法与现代电子系统设计方法进行了比较,引出了基于EDA技术的现场可编程门阵列(FPGA)电路,提出现场可编程门阵列(FPGA)是近年来迅速发展的大规模可编程专用集成电路(ASIC),在数字系统设计和控制电路中越来越受到重视。集成电路技术和计算机技术的蓬勃发展,让电子产品设计有了更好的应用市场,实现方法也有了更多的选择。传统电子产品设计方案是一种基于电路板的设计方法,该方法需要选用大量的固定功能器件,然后通过这些器件的配合设计从而模拟电子产品的功能,其工作集中在器件的选用及电路板的设

9、计上。现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA 技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。本文所指的EDA技术,主要针对电子电路设计、PCB设计和IC设计。EDA 设计可分为系统级、电路级和物理实现级。EDA工具层出不穷,目前进入我国并具有广泛影响的EDA软件有:EWB、PSPICE、OrCAD、PCAD、Protel、Viewlogic、Mentor、Graphics、Synopsys、LSIlogic

10、、Cadence、MicroSim等等。这些工具都有较强的功能,一般可用于几个方面,例如很多软件都可以进行电路设计与仿真,同时以可以进行PCB自动布局布线,可输出多种网表文件与第三方软件接口。1第2章 总体方案设计2.1 方案原理的构思及比较任何物质的温度变化都会引起它本身的物理特征与几何形状的改变。利用物质这一特性,确定它与温度间的数量关系,就可以作为测温仪器的感应部分,制成各种各样的温度表。数字温度表要求能实时检测外界环境温度,本系统所设计的数字温度表要求测量范围-20100,并且能实时连续显示温度值。方案一:用温度传感器、放大器、3(1/2)位A/D转换器和显示器组成的数字温度计,但是它

11、要用到温度敏感的硅热敏晶体管,价格比较贵,所以舍弃。方案二:用检测电路、AD转换器、比较器和热电阻传感器组成简易温度控制器,它采用ADC0809、74LS248、74LS85芯片,由于对ADC0809芯片和热电阻传感器熟悉程度不够,所以放弃。所以最后决定用以下方案:要设计一个数字显示温度表,首先要有信号采集电路,在本设计中,我们采用的电流型温度传感器AD590来构架温度采集系统,采集到的温度信号经过传感器的处理转换成电信号,在这里我们得到的仅仅是模拟信号,所以我们要将信号转换为数字信号,我们考虑到用8位模数转换器ADC0804完成这个阶段,最后我们用七段LED显示器来进行数字显示。2.2 A/

12、D转换器的合理选用自然界中,许多物理量大多数是模拟量,需要进行适当的变换才能转化为数字量。例如,先把被测的模拟物理量通过变换器转换成直流电压,再将所得到的直流电压量转换成数字量;或者将所得到的直流电压转换成时间间隔,再转换成数字量。2.2.1 A/D转换器的主要技术指标A/D转换器的主要技术指标有转换精度、转换速度等。选择A/D转换器时,除考虑这两项技术指标外,还应注意满足其输入电压的范围、输出数字的编码、工作温度范围和电压稳定度等方面的要求。转换精度单片集成A/D转换器的转换精度是用分辨率和转换误差来描述的。分辨率A/D转换器的分辨率以输出二进制(或十进制)数的位数来表示。它说明A/D转换器

13、对输入信号的分辨能力。从理论上讲,n位输出的A/D转换器能区分2个不同等级的输入模拟电压,能区分输入电压的最小值为满量程输入的1/2n。在最大输入电压一定时,输出位数愈多,分辨率愈高。例如A/D转换器输出为8位二进制数,输入信号最大值为5V,那么这个转换器应能区分出输入信号的最小电压为9.53mV。转换误差转换误差通常是以输出误差的最大值形式给出。它表示A/D转换器实际输出的数字量和理论上的输出 数字量之间的差别。常用最低有效位的倍数表示。例如给出相对误差LSB/2,这就表明实际输出的数字量和理论上应得到的输出数字量之间的误差小于最低位的半个字。转换时间转换时间是指A/D转换器从转换控制信号到

14、来开始,到输出端得到稳定的数字信号所经过的时间。A/D转换器的转换时间与转换电路的类型有关。不同类型的转换器转换速度相差甚远。其中并行比较A/D转换器的转换速度最高,8位二进制输出的单片集成A/D转换器转换时间可达到50ns以内,逐次比较型A/D转换器次之,它们多数转换时间在1050s以内,间接A/D转换器的速度最慢,如双积分A/D转换器的转换时间大都在几十毫秒至几百毫秒之间。在实际应用中,应从系统数据总的位数、精度要求、输入模拟信号的范围以及输入信号极性等方面综合考虑A/D转换器的选用。2.2.2 A/D转换器的选用原则A/D转换器是将模拟量转换成数字量的芯片,选用A/D转换器应考虑以下几个

15、问题:选择分辨率。低分辨率38位。中分辨率912位。A/D还包括BCD三位半。高分辨串13位以上,A/D还包括BCD四位半。确定精度。对输入或输出特性和范围提出要求。确定电源种类和功耗。A/D根据转换速度、精度、用途等选择转换方式:低速有双重积分方式等,常用于仪器仪表。中速有逐次比较方式等,常用于一般自动控制。高速有并行方式、串行方式等。A/D转换路数等。2.2.3 本系统中A/D转换器的选择ADC0804的规格及引脚图8 位COMS 依次逼近型的A/D 转换器。三态锁定输出存取时间:135US分辨率:8位转换时间:100US总误差:正负1LSB工作温度:ADC0804LCN-070度图2.1

16、 ADC0804引脚图:芯片选择信号。:外部读取转换结果的控制输出信号。为HI时,DB0DB7处理高阻抗;为LO时,数字数据才会输出。:用来启动转换的控制输入,相当于ADC的转换开始(=0时),当 由HI变为LO时,转换器被清除:当回到HI时,转换正式开始。CLK IN,CLK R:时钟输入或接振荡无件(R,C)频率约限制在100KHZ1460KHZ,如果使用RC 电路则其振荡频率为1/(1.1RC)。:中断请求信号输出,低地平动作。VIN(+) VIN(-):差动模拟电压输入。输入单端正电压时, VIN(-)接地;而差动输入时,直接加入VIN(+) VIN(-)。AGND,DGND:模拟信号

17、以及数字信号的接地。VREF:辅助参考电压。DB0DB7:8 位的数字输出。VCC:电源供应以及作为电路的参考电压。2.2.4 ADC0804转换原理以输出8位的ADC0804动作来说明“逐次逼近式A/D转换器”的转换原理,动作步骤如下表示(原则上先从左侧最高位寻找起)。第一次寻找结果:10000000(若假设值输入值,则寻找位=假设位=1)第二次寻找结果:11000000(若假设值输入值,则寻找位=假设位=1)第三次寻找结果:11000000(若假设值输入值,则寻找位=该假设位=0)第四次寻找结果:11010000(若假设值输入值,则寻找位=假设位=1)第五次寻找结果:10100000(若假

18、设值输入值,则寻找位=该假设位=0)第六次寻找结果:11010100(若假设值输入值,则寻找位=假设位=1)第七次寻找结果:11010110(若假设值输入值,则寻找位=假设位=1)第八次寻找结果:11010110(若假设值输入值,则寻找位=假设位=0)这样使用二分法的寻找方式,8位的A/D转换器只要8次寻找,12位的A/D转换器只要12次寻找,就能完成转换的动作,其中的输入值代表图2.1的模拟输入电压VIN。对8位ADC0804而言,它的输出准位共有28=256种,即它的分辨率是1/256,假设输入信号VIN为05V电压范围,则它最小输出电压5V/256=0.01953V,这代表ADC0804

19、所能转换的最小电压值。 至于内部的转换频率fCK,是由图2.2的CLKR(19脚)、CLK(4脚)所连接的R、C来决定的。图2.2 ADC0804与CPLD&FPGA、单片机(8051)等的典型连接图频率的计算方法是若以图2.2的、为例,则内部的转换频率是更换不同的R、C值,会有不同的转换频率,而且频率愈高代表转换速度愈快。ADC0804的控制方法以图2.2的信号流向来看,控制ADC0804动作的信号应该只有CS、WR、RD。其中INTR由高电位转向低电位后,代表ADC0804完成这次的模拟/数字转换,而DB0-DB7代表是转换后的数字资料。ADC0804的动作大概分为4个步骤区间S0、S1、

20、S2、S3,每个步骤区间的动作如下:步骤S0:CS=0、WR=0、RD=1(由CPLD发出信号要求ADC0804开始进行模拟/数字信号的转换)。步骤S1:CS=1、WR=1、RD=1(ADC0804进行转换动作,转换完毕后INTR将高电位将至低电位,而转换时间100s)。步骤S2:CS=0、WR=1、RD=0(由CPLD发出信号以读取ADC0804的转换资料)。步骤S3:CS=1、WR=1、RD=1(由CPLD读取DB0-DB7上的数字转换资料)。由上述的步骤说明,可以归纳出所要设计的CPLD动作功能有:负责在每个步骤送出所需的CS、WR、RD控制信号。在步骤S1时,监控INTR信号是否由低电

21、位变为高电位,如此以便了解ADC0804的转换动作结束与否。在步骤S3,读取转换的数字资料DB0-DB7。2.3 A/D温度传感器的合理选用信息处理技术取得的进展以及微处理器和计算机技术的高速发展,都需要在传感器的开发方面有相应的进展。微处理器现在已经在测量和控制系统中得到了广泛的应用。随着这些系统能力的增强,作为信息采集系统的前端单元,传感器的作用越来越重要。传感器已成为自动化系统和机器人技术中的关键部件,作为系统中的一个结构组成,其重要性变得越来越明显。2.3.1 传感器选用原则现代传感器在原理与结构上千差万别,如何根据具体的测量目的、测量对象以及测量环境合理地选用传感器,是在进行某个量的

22、测量时首先要解决的问题。当传感器确定之后,与之相配套的测量方法和测量设备也就可以确定了。测量结果的成败,在很大程度上取决于传感器的选用是否合理。根据测量对象与测量环境确定传感器的类要进行个具体的测量工作,首先要考虑采用何种原理的传感器,这需要分析多方面的因素之后才能确定。因为,即使是测量同一物理量,也有多种原理的传感器可供选用,哪一种原理的传感器更为合适,则需要根据被测量的特点和传感器的使用条件考虑以下一些具体问题:量程的大小;被测位置对传感器体积的要求;测量方式为接触式还是非接触式;信号的引出方法,有线或是非接触测量;传感器的来源,国产还是进口,价格能否承受,还是自行研制。在考虑上述问题之后

23、就能确定选用何种类型的传感器,然后再考虑传感器的具体性能指标。灵敏度的选择通常,在传感器的线性范围内,希望传感器的灵敏度越高越好。因为只有灵敏度高时,与被测量变化对应的输出信号的值才比较大,有利于信号处理。但要注意的是,传感器的灵敏度高,与被测量无关的外界噪声也容易混入,也会被放大系统放大,影响测量精度。因此,要求传感器本身应具有较高的信噪比,尽员减少从外界引入的厂扰信号。传感器的灵敏度是有方向性的。当被测量是单向量,而且对其方向性要求较高,则应选择其它方向灵敏度小的传感器;如果被测量是多维向量,则要求传感器的交叉灵敏度越小越好。频率响应特性传感器的频率响应特性决定了被测量的频率范围,必须在允

24、许频率范围内保持不失真的测量条件,实际上传感器的响应总有定延迟,希望延迟时间越短越好。传感器的频率响应高,可测的信号频率范围就宽,而由于受到结构特性的影响,机械系统的惯性较大,因有频率低的传感器可测信号的频率较低。在动态测量中,应根据信号的特点(稳态、瞬态、随机等)响应特性,以免产生过火的误差。线性范围传感器的线形范围是指输出与输入成正比的范围。以理论上讲,在此范围内,灵敏度保持定值。传感器的线性范围越宽,则其量程越大,并且能保证一定的测量精度。在选择传感器时,当传感器的种类确定以后首先要看其量程是否满足要求。但实际上,任何传感器都不能保证绝对的线性,其线性度也是相对的。当所要求测量精度比较低

25、时,在一定的范围内,可将非线性误差较小的传感器近似看作线性的,这会给测量带来极大的方便。稳定性传感器使用一段时间后,其性能保持不变化的能力称为稳定性。影响传感器长期稳定性的因素除传感器本身结构外,主要是传感器的使用环境。因此,要使传感器具有良好的稳定性,传感器必须要有较强的环境适应能力。在选择传感器之前,应对其使用环境进行调查,并根据具体的使用环境选择合适的传感器,或采取适当的措施,减小环境的影响。传感器的稳定性有定量指标,在超过使用期后,在使用前应重新进行标定,以确定传感器的性能是否发生变化。在某些要求传感器能长期使用而又不能轻易更换或标定的场合,所选用的传感器稳定性要求更严格,要能够经受住

26、长时间的考验。 精度精度是传感器的一个重要的性能指标,它是关系到整个测量系统测量精度的一个重要环节。传感器的精度越高,其价格越昂贵,因此,传感器的精度只要满足整个测量系统的精度要求就可以,不必选得过高。这样就可以在满足同一测量目的的诸多传感器中选择比较便宜和简单的传感器。如果测量目的是定性分析的,选用重复精度高的传感器即可,不宜选用绝对量值精度高的;如果是为了定量分析,必须获得精确的测量值,就需选用精度等级能满足要求的传感器。对某些特殊使用场合,无法选到合适的传感器,则需自行设计制造传感器。自制传感器的性能应满足使用要求。2.3.2 本系统中温度传感器的选择温度传感器具有线性好、精度适中、灵敏

27、度高、体积小、使用方便等优点,得到广泛应用。 AD590是美国模拟器件公司生产的单片集成电路温度传感器。 1、流过器件的电流(mA)等于器件所处环境的热力学温度(开尔文)度数。 2、AD590的测温范围为-55+150。 3、AD590的电源电压范围为4V30V。电源电压可在4V6V范围变化,电流变化1mA,相当于温度变化1K。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。 4、输出电阻为710MW。 5、精度高。AD590共有I、J、K、L、M五档,其中M档精度最高,在-55+150范围内,非线性误差为0.3。AD590测量热力学温度、摄氏温度、两点温度差、多点

28、最低温度、多点平均温度的具体电路,广泛应用于不同的温度控制场合。该传感器属于电流型,其输入量为温度,输出则为电流,体积很小,且具有互换性好、线性度好、信号可长线传输、抗电压干扰能力强、长期稳定性高、配用电路简单等优点,因而已成为工业应用中测温范围在-55150的首选温度传感器。因此,本次数字温度表的设计中选用集成温度传感器AD590。2.4 多个LED的动态扫描显示七段数码管各数码段分布及排序如图2.3所示:在许多实际的系统中,经常需要多个LED显示系统的信息,比如,此次设计的数字温度表的测量范围是20100,需要显示个、十、百及负号,就必须要3个LED。其中若七段译码器驱动每一个LED,并使

29、所有LED的公共端始终接有效信号,即共阴极LED公共端接地,共阳极LED公共端接电源。这种LED显示方式称为静态显示方式。采用静态方式,LED亮度高,但这是以复杂硬件驱动电路作为代价的,硬件成本高。图2.3七段数码管各数码段分布及排序因此,在实际使用时,特别是有微处理器的系统中,如果用多位的LED显示,一般采取动态扫描方式、分时循环显示,即多个发光管轮流交替点亮。这种方式的依据是利用人眼的滞留现象,只要在1秒内一个发光管亮24次以上,每次点亮时间维持2ms以上,则人眼感觉不到闪烁,宏观上仍可看到多位LED同时显示的效果。动态显示可以简化硬件、降低成本、减小功耗。2.5 数字温度表测量原理本系统

30、所设计的数字温度表测量范围-20100,AD590温度传感器的感测能力是温度每升高就增加的电流量,该电流量流入而的电阻后,将会产生的电压,而0时(等于)时,输出电流量为,流入的电阻后,产生的电压。如果测到电压为,则可由公式得到要测量的温度。2.6 系统的硬件结构根据数字温度表的测量原理,可以得到整个硬件结构如图2.4所示。温度传感器AD590串接的电阻,然后经一个运算放大器后,将电压引入ADC0804的管脚。ADC0804是8位模数转换器,测量精度为0.02V,当ADC0804的转换值为,所测温度为。即对于测量到的温度是几度,可以由下面的公式得到:=(ADC0804的DB7DB0转换值)0.0

31、2-2.73)10mV =(ADC0804的DB7DB0转换值)2-273 例如读取到的转换值是186,则温度应为:= (ADC0804的DB7DB0转换值)2-273=(186) 2-273=99FPGA是本系统的核心,本系统在MAX+PLUS开发平台上,用VHDL语言来对它进行设计,实现三大功能模块:控制模块:激活A/D转换器动作,接收A/D转换器传递过来的数字转换值;数据处理模块:实现上式的运算,将接收到的转换值调整成对应的数字信号;扫描显示模块:产生数码管的片选信号,并将数据处理模块输出的BCD码译成相应的7段数码管驱动值,送数码管显示出所测温度。图2.4 数字温度表硬件结构第3章 F

32、PGA功能模块3.1 FPGA简介FPGA是英文FieldProgrammableGateArray的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA采用了逻辑单元阵列LCA(LogicCellArray)这样一个新概念,内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分。FPGA的基本

33、特点主要有:采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。 FPGA可做其它全定制或半定制ASIC电路的中试样片。 FPGA内部有丰富的触发器和IO引脚。 FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。 FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。目前FPGA的品种很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用

34、户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA

35、;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。3.2 FPGA结构与原理1.查找表(Look-Up-Table)的原理与结构采用这种结构的PLD芯片我们也可以称之为FPGA:如altera的ACEX,APEX系列,xilinx的Spartan,Virtex系列等。查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的16x1的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM,这样,每

36、输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。2. 查找表结构的FPGA逻辑实现原理在EDA的软件系统中,输入设计项目,经编译后生成网表文件,并下载到FPGA中,其逻辑输出入由FPGA的芯片输入后进入可编程连线,然后作为地址线到LUT,LUT中已经事先写入了所有可能的逻辑结果,通过地址查找到相应的数据然后输出,这样组合逻辑就实现了。电路中D触发器是直接利用LUT后面D触发器来实现。时钟信号CLK由I/O脚输入后进入芯片内部的时钟专用通道,直接连接到触发器的时钟端。触发器的输出与I/O脚相连,把结果输出到芯片管脚。这就实现了特定功能的电路。3.3利用硬件描

37、述语言VHDL设计数字系统VHDL 语言(Very High Integrated Circuit HardwareDescription Language) 即超高速集成电路硬件描述语言。他用软件编程的方式来描述电子系统的逻辑功能、电路结构和连接形式, 与传统的门级描述方式相比, 他更适合大规模系统的设计。VHDL 语言具有功能强大的语言结构,可用明确的代码描述复杂的控制逻辑设计, 并且具有多层次的设计描述功能, 支持设计库和可重复使用的元件的生成。VHDL 语言可读性强、使用方便、易于修改, 他允许设计者不依赖器件、可移植性好, 描述实现了设计与工艺无关。因此, VHDL 语言在数字系统设

38、计中很受欢迎。利用VHDL语言设计数字系统硬件电路,与传统的数字系统硬件设计方法相比,具有以下优点:采用自顶向下(TOP-DOWN)的设计方法自顶向下是指从系统总体要求出发,在顶层进行功能方框图的划分和结构设计。由于设计的主要仿真和调试过程是在高层次上完成的,这一方面有利于早期发现结构设计上的失误,避免设计工作的浪费,同时减少了逻辑功能仿真的工作量,提高了设计的一次成功率。系统可大量采用PLD芯片,电路设计更趋合理由于目前众多制造PLD芯片的厂家,其工具软件均支持VHDL语言的编程。所以利用VHDL语言设计数字系统时,可以根据硬件电路的设计需要,硬件设计人员在设计硬件电路时使用PLD器件,就可

39、以自行设计所需的专用功能模块,而无需受通用元器件的限制,从而使电路设计更趋合理,其体积和功耗也可大为减小。降低了硬件电路的设计难度在传统的设计方法中,往往要求设计者在设计电路之前写出该电路的逻辑表达式或真值表(或时序电路的状态表)。这一工作是相当困难和繁杂的,特别是当系统比较复杂时更是如此。而利用VHDL语言设计硬件电路时,就可以使设计者免除编写逻辑表达式或真值表之苦,从而大大降低了设计的难度,也缩短了设计的周期。主要设计文件是用VHDL语言编写的源程序在传统的硬件电路设计中,最后形成的主要文件是电路原理图,而采用 VHDL语言设计系统硬件电路时主要的设计文件是VHDL语言编写的源程序。如果需

40、要也可以转化成电路原理图输出。与传统的电路原理图相比,使用VHDL源程序有许多好处:其一是资料量小,便于保存。其二是可继承性好。当设计其他硬件电路时,可使用文件中的某些库、进程和过程等描述某些局部硬件电路的程序。其三是阅读方便。阅读程序比阅读电路原理图要更容易一些,阅读者很容易在程序中看出某一电路的工做原理和逻辑关系。而要从电路原理图中推知其工作原理则需要较多的硬件知识和经验。语言可以与工艺无关编程在用VHDL语言设计系统硬件时,没有嵌入与工艺有关的信息,其综合生成的是一种标准的电子设计互换格式文件,它独立于采用的实现工艺。有关工艺参数的描述可通过VHDL语言提供的属性包括进去,然后利用不同厂

41、家的布局布线工具,将设计映射成不同工艺,在不同的芯片土实现。这使得工程师在功能设计、编辑、验证阶段,可以不必过多地考虑工艺实现的具体细节。方便ASIC移植VHDL语言的效率之一,就是如果设计是被综合到一个CPLD或FPGA,则可以设计的产品以最快速度上市。当产品的产量达到相当的数量时,采用VHDL进行的设计可以很容易转成用专用集成电路来实现,仅仅需要更换不同的库重新进行综合。由于VHDL是一个成熟的定义型语言,可以确保ASIC厂商交付优良品质的器件产品。此外,由于工艺技术的进步,需要采用更先进的工艺时,仍可以采用原来的VHDL代码。 3.4系统中的FPGA器件设计启动控制模块等待信号开始是否结

42、束启动数字处理模块扫描显示模块结束NY图3.1 CPLD&FPGA设计流程图FPGA器件设计采用自顶向下的设计方法,将任务分解为三大功能模块:控制模块、数据处理模块和扫描显示模块,最后将各功能模块连接形成顶层模块,完成整体设计!三大功能模块都是用VHDL语言编程实现的,其设计流程图见图3.1所示。1.控制模块:激活A/D转换器动作,接收A/D转换器传递过来的数字转换值。部分VHDL代码如下:PRO: PROCESS(CURRENT_STATE,INTR) BEGIN -规定各状态转换方式CASE CURRENT_STATE ISWHEN S0 = WR=0;CS=0;RD=1;LOCK=0;N

43、EXT_STATE WR=1;CS=1;RD=1;LOCK=0;IF (INTR=1) THEN NEXT_STATE = ST1; -测试INTR的下降沿ELSE NEXT_STATE WR=1;CS=0;RD=0;LOCK=0;IF (INTR=0) THEN NEXT_STATE = ST2; -测试INTR的上升沿ELSE NEXT_STATE WR=1;CS=1;RD=1;LOCK=1;NEXT_STATE WR=1;CS=1;RD=1;LOCK=0;NEXT_STATE = ST0;2.数据处理模块:A/D传送过来的二进制数据通过上式转换成十进制温度值,再将其转换成对应的BCD码,

44、供LED动态扫描电路使用。部分VHDL代码如下:Conversion:BlockSignal V : STD_LOGIC_VECTOR(8 DOWNTO 0);Signal T : STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINV = (D & 0) “100010001”; - A/D Date * 2 -273T = V(7 DOWNTO 0); -只取低8位 Temp = T;Value = “000000000000” When T = 0 Else “000000000001” When T = 1 Else “000000000010” When T = 2

45、Else“000000000011” When T = 3 Else“000000000100” When T = 4 Else“000000000101” When T = 5 Else“000000000110” When T = 6 Else“000000000111” When T = 7 Else “000010011000” When T = 98 Else“000010011001” When T = 99 Else“000100000000”;End Block Conversion;其中,程序将读取到的ADC0804的数字转换值乘2(左移一位即可),再减去164;程序只取相减结果的后面8位。因为减去164后,最高位必定是0,而所测温度范围为0-100,所以只要较低的8位即可;程序利用查表的方法把相减的结果转换成12位BCD码,供以后的7段显示器扫描电路使用。3.扫描显示模块:产生数码管的片选信号,并将数据处理模块输出的BCD码译成相应的7段数码管驱动值,送数码管显示出所测温度。数据选择器和扫描译码电路的部分VHDL代码如下:SEL = “110” WHEN ST = 1 ELSE “101” WHEN

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号