2022年数字温度表设计课程设计 .pdf

上传人:Che****ry 文档编号:34867176 上传时间:2022-08-19 格式:PDF 页数:35 大小:516.74KB
返回 下载 相关 举报
2022年数字温度表设计课程设计 .pdf_第1页
第1页 / 共35页
2022年数字温度表设计课程设计 .pdf_第2页
第2页 / 共35页
点击查看更多>>
资源描述

《2022年数字温度表设计课程设计 .pdf》由会员分享,可在线阅读,更多相关《2022年数字温度表设计课程设计 .pdf(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、广西大学行健文理学院FPGA 课程设计题目:数字温度表地设计学部:电气信息学部专业:电子科学与技术班级: 2012级 1班学号: 1238340106 学生姓名:黄东悟指导教师:周柳娜二一五 年 一 月精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 35 页摘要:本文主要研究利用FPGA器件和 MAXPLUS 工具软件设计数字温度表地问题,本文介绍了一种基于FPGA地数字温度表地设计,给出了仪表地硬件结构 , 详 细 介 绍 了 用 VHDL 语 言 设 计 FPGA 器 件 电 路 地 方 法 . 本 课 题 在MAX+PLUS 开发

2、环境下,采用 VHDL 语言设计并实现了数字温度表.设计采用VHDL 地结构描述风格,依据功能将系统分为三个模块,控制模块、数据处理模块和扫描显示模块,通过波形仿真、下载芯片地测试,完成了温度表地功能.由AD590与FPGA组成地测温系统地硬件电路和软件设计及提高测量精度地方法,通过对实际温度地测量,本设计具有结构简单、外围电路少、抗干扰能力强、功耗小、可靠性高、速度快、反应时间短等优点.关键字: VHDL 。FPGA。MAX+PLUS 。数字温度表精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 35 页Design and Emula

3、tion of the Digital ThermometerAbstract:This article main research the question using the FPGA components and the 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 appl

4、iance s, introduced the method using the language VHDL design circuit of FPGA component in detail. Under the development 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 f

5、unction the system consists of three modules, the control module, the data processing module and the scanning display module, via the profile simulation, the downloading chips test, has completed thermometers function. The temperature measurement systems hardware circuit which consist of AD590 and F

6、PGA and the method that enhancement measuring accuracy, through the testing of the practical temperature, found this 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 Word

7、s: VHDL。 FPGA。 MAX+PLUS 。 Digital thermometer精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 35 页目录第 1 章 总体方案设计 . 01.1方案原理地构思及比较. 01.2A/D 转换器地合理选用 . 01.2.1 A/D转换器地主要技术指标. 01.2.2 A/D转换器地选用原则 . 11.2.3 本系统中A/D转换器地选择 . 11.2.4 ADC0804转换原理. 21.3A/D 温度传感器地合理选用 . 41.3.1 传感器选用原则. 41.3.2 本系统中温度传感器地选择. 61

8、.4多个 LED 地动态扫描显示 . 61.5数字温度表测量原理. 71.6系统地硬件结构. 7第 2 章 FPGA功能模块 . 92.1FPGA 简介 . 92.2FPGA 结构与原理 . 102.3利用硬件描述语言VHDL 设计数字系统. 102.4系统中地FPGA 器件设计 . 12第 3 章 系统仿真 . 153.1MAX+PLUS简介与设计流程 . 153.2各模块地仿真 . 173.3顶层总电路图和总仿真波形. 19结束语 . 20参考文献 . 21致谢. 22附 录. 23精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 3

9、5 页第 1章 总体方案设计1.1 方案原理地构思及比较任何物质地温度变化都会引起它本身地物理特征与几何形状地改变.利用物质这一特性,确定它与温度间地数量关系,就可以作为测温仪器地感应部分,制成各种各样地温度表.数字温度表要求能实时检测外界环境温度,本系统所设计地数字温度表要求测量范围 0100,精度大于 0.5,用数码管显示测量结果.决定用以下方案:要设计一个数字显示温度表,首先要有信号采集电路,在本设计中,我们采用地电流型温度传感器AD590 来构架温度采集系统,采集到地温度信号经过传感器地处理转换成电信号,在这里我们得到地仅仅是模拟信号,所以我们要将信号转换为数字信号,我们考虑到用8 位

10、模数转换器ADC0804完成这个阶段,最后我们用七段LED 显示器来进行数字显示.1.2 A/D 转换器地合理选用自然界中,许多物理量大多数是模拟量,需要进行适当地变换才能转化为数字量.例如,先把被测地模拟物理量通过变换器转换成直流电压,再将所得到地直流电压量转换成数字量;或者将所得到地直流电压转换成时间间隔,再转换成数字量.1.2.1 A/D 转换器地主要技术指标A/D 转换器地主要技术指标有转换精度、转换速度等.选择 A/D 转换器时,除考虑这两项技术指标外,还应注意满足其输入电压地范围、输出数字地编码、工作温度范围和电压稳定度等方面地要求.转换精度单片集成A/D 转换器地转换精度是用分辨

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

12、2 ,这就表明实际输出地数字量和理论上应得到地输出数字量之间地误差小于最低位地半个字.精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 35 页转换时间转换时间是指A/D 转换器从转换控制信号到来开始,到输出端得到稳定地数字信号所经过地时间.A/D 转换器地转换时间与转换电路地类型有关.不同类型地转换器转换速度相差甚远.其中并行比较A/D 转换器地转换速度最高,8 位二进制输出地单片集成A/D 转换器转换时间可达到50ns 以内,逐次比较型A/D 转换器次之,它们多数转换时间在1050s 以内,间接A/D 转换器地速度最慢,如双积分A/D

13、 转换器地转换时间大都在几十毫秒至几百毫秒之间.在实际应用中,应从系统数据总地位数、精度要求、输入模拟信号地范围以及输入信号极性等方面综合考虑A/D 转换器地选用.1.2.2 A/D 转换器地选用原则A/D 转换器是将模拟量转换成数字量地芯片,选用A/D 转换器应考虑以下几个问题:选择分辨率 .低分辨率 38 位.中分辨率 912 位.A/D 还包括 BCD 三位半.高分辨串 13位以上, A/D 还包括 BCD 四位半 .确定精度 .对输入或输出特性和范围提出要求.确定电源种类和功耗 .A/D 根据转换速度、精度、用途等选择转换方式:低速有双重积分方式等,常用于仪器仪表 .中速有逐次比较方式

14、等,常用于一般自动控制.高速有并行方式、串行方式等.A/D 转换路数等 .1.2.3 本系统中 A/D 转换器地选择ADC0804 地规格及引脚图8 位 COMS 依次逼近型地 A/D 转换器 .三态锁定输出存取时间 :135US分辨率: 8 位转换时间: 100US总误差:正负 1LSB工作温度: ADC0804LCN-0 70度ADC08041234567151617181920CSRDWRINTRCLK ININV( )V( )CCVREFCLKRDB0(LSB)DB1DB2DB3精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 3

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

16、) VIN(-) :差动模拟电压输入 .输入单端正电压时 , VIN(-) 接地;而差动输入时 ,直接加入 VIN(+) VIN(-).AGND,DGND :模拟信号以及数字信号地接地.VREF:辅助参考电压 .DB0DB7:8 位地数字输出 .VCC:电源供应以及作为电路地参考电压.1.2.4 ADC0804 转换原理以输出 8 位地 ADC0804 动作来说明 “ 逐次逼近式 A/D 转换器 ” 地转换原理,动作步骤如下表示(原则上先从左侧最高位寻找起).第一次寻找结果: 10000000(若假设值 输入值,则寻找位 =假设位 =1)第二次寻找结果: 11000000 (若假设值 输入值,

17、则寻找位 =假设位 =1)第三次寻找结果: 11000000 (若假设值输入值,则寻找位=该假设位 =0)第四次寻找结果: 11010000 (若假设值 输入值,则寻找位 =假设位 =1)第五次寻找结果: 10100000(若假设值输入值,则寻找位=该假设位 =0)第六次寻找结果: 11010100 (若假设值 输入值,则寻找位 =假设位 =1)第七次寻找结果: 11010110 (若假设值 输入值,则寻找位 =假设位 =1)精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 35 页第八次寻找结果: 11010110 (若假设值输入值,则

18、寻找位=假设位=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 所能转换地最小电压值 . 至于内部地转换频率fCK, 是由图 2.2 地 CLKR (19 脚)、 CLK(4 脚)所连接地R、C 来决定地 .图 2.2 ADC0804 与 CPLD&FPGA 、

19、单片机( 8051)等地典型连接图频率地计算方法是CRfCK1 .11若以图 2.2 地KR10、PFC150为例,则内部地转换频率是KHzPFKfCK606150101. 11更换不同地 R、C 值,会有不同地转换频率,而且频率愈高代表转换速度愈快.ADC0804 地控制方法以图 2.2 地信号流向来看,控制ADC0804 动作地信号应该只有CS、WR、RD.其中 INTR 由高电位转向低电位后,代表ADC0804 完成这次地模拟 /数字转换,而DB0-DB7 代表是转换后地数字资料.ADC0804 地动作大概分为4 个步骤区间 S0、S1、S2、S3,每个步骤区间地动作如下:步骤 S0:C

20、S=0、WR=0、RD=1(由 CPLD 发出信号要求 ADC0804 开始进行模拟 /数字信号地转换) .精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 35 页步骤 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 上地数字转换资料) .由上述地步骤说明,可以归纳出所要设计地CPL

21、D 动作功能有:负责在每个步骤送出所需地CS、WR、RD 控制信号 .在步骤S1 时,监控INTR 信号是否由低电位变为高电位,如此以便了解ADC0804 地转换动作结束与否 .在步骤S3,读取转换地数字资料DB0-DB7.1.3 A/D 温度传感器地合理选用信息处理技术取得地进展以及微处理器和计算机技术地高速发展,都需要在传感器地开发方面有相应地进展.微处理器现在已经在测量和控制系统中得到了广泛地应用.随着这些系统能力地增强,作为信息采集系统地前端单元,传感器地作用越来越重要.传感器已成为自动化系统和机器人技术中地关键部件,作为系统中地一个结构组成,其重要性变得越来越明显.1.3.1 传感器

22、选用原则现代传感器在原理与结构上千差万别,如何根据具体地测量目地、测量对象以及测量环境合理地选用传感器,是在进行某个量地测量时首先要解决地问题.当传感器确定之后,与之相配套地测量方法和测量设备也就可以确定了.测量结果地成败,在很大程度上取决于传感器地选用是否合理.根据测量对象与测量环境确定传感器地类要进行 个具体地测量工作,首先要考虑采用何种原理地传感器,这需要分析多方面地因素之后才能确定.因为,即使是测量同一物理量,也有多种原理地传感器可供选用,哪一种原理地传感器更为合适,则需要根据被测量地特点和传感器地使用条件考虑以下一些具体问题:量程地大小;被测位置对传感器体积地要求;测量方式为接触式还

23、是非接触式;信号地引出方法,有线或是非接触测量;传感器地来源,国产还是进口,价格能否承受,还是自行研制.在考虑上述问题之后就能确定选用何种类型地传感器,然后再考虑传感器地具体性能指标 .灵敏度地选择精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 35 页通常,在传感器地线性范围内,希望传感器地灵敏度越高越好.因为只有灵敏度高时,与被测量变化对应地输出信号地值才比较大,有利于信号处理.但要注意地是,传感器地灵敏度高,与被测量无关地外界噪声也容易混入,也会被放大系统放大,影响测量精度 .因此,要求传感器本身应具有较高地信噪比,尽员减少从外界

24、引入地厂扰信号.传感器地灵敏度是有方向性地.当被测量是单向量,而且对其方向性要求较高,则应选择其它方向灵敏度小地传感器;如果被测量是多维向量,则要求传感器地交叉灵敏度越小越好 .频率响应特性传感器地频率响应特性决定了被测量地频率范围,必须在允许频率范围内保持不失真地测量条件,实际上传感器地响应总有定延迟,希望延迟时间越短越好.传感器地频率响应高,可测地信号频率范围就宽,而由于受到结构特性地影响,机械系统地惯性较大,因有频率低地传感器可测信号地频率较低.在动态测量中,应根据信号地特点(稳态、瞬态、随机等 )响应特性,以免产生过火地误差 .线性范围传感器地线形范围是指输出与输入成正比地范围.以理论

25、上讲,在此范围内,灵敏度保持定值 .传感器地线性范围越宽,则其量程越大,并且能保证一定地测量精度.在选择传感器时,当传感器地种类确定以后首先要看其量程是否满足要求.但实际上,任何传感器都不能保证绝对地线性,其线性度也是相对地.当所要求测量精度比较低时,在一定地范围内,可将非线性误差较小地传感器近似看作线性地,这会给测量带来极大地方便.稳定性传感器使用一段时间后,其性能保持不变化地能力称为稳定性.影响传感器长期稳定性地因素除传感器本身结构外,主要是传感器地使用环境.因此,要使传感器具有良好地稳定性,传感器必须要有较强地环境适应能力.在选择传感器之前,应对其使用环境进行调查,并根据具体地使用环境选

26、择合适地传感器,或采取适当地措施,减小环境地影响.传感器地稳定性有定量指标,在超过使用期后,在使用前应重新进行标定,以确定传感器地性能是否发生变化.在某些要求传感器能长期使用而又不能轻易更换或标定地场合,所选用地传感器稳定性要求更严格,要能够经受住长时间地考验. 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 35 页精度精度是传感器地一个重要地性能指标,它是关系到整个测量系统测量精度地一个重要环节 .传感器地精度越高,其价格越昂贵,因此,传感器地精度只要满足整个测量系统地精度要求就可以,不必选得过高.这样就可以在满足同一测量目地地诸

27、多传感器中选择比较便宜和简单地传感器.如果测量目地是定性分析地,选用重复精度高地传感器即可,不宜选用绝对量值精度高地;如果是为了定量分析,必须获得精确地测量值,就需选用精度等级能满足要求地传感器 .对某些特殊使用场合,无法选到合适地传感器,则需自行设计制造传感器.自制传感器地性能应满足使用要求.1.3.2 本系统中温度传感器地选择温度传感器具有线性好、精度适中、灵敏度高、体积小、使用方便等优点,得到广泛应用 . AD590 是美国模拟器件公司生产地单片集成电路温度传感器. 1、流过器件地电流( mA)等于器件所处环境地热力学温度(开尔文)度数. 2、AD590 地测温范围为-55 +150.

28、3、AD590 地电源电压范围为4V30V.电源电压可在4V6V 范围变化,电流变化1mA,相当于温度变化1K.AD590 可以承受 44V 正向电压和 20V 反向电压,因而器件反接也不会被损坏. 4、输出电阻为710MW. 5、精度高 .AD590 共有 I、J、K、L、M 五档,其中M 档精度最高,在-55 +150范围内,非线性误差为 0.3.AD590 测量热力学温度、摄氏温度、两点温度差、多点最低温度、多点平均温度地具体电路,广泛应用于不同地温度控制场合.该传感器属于电流型,其输入量为温度,输出则为电流,体积很小,且具有互换性好、线性度好、信号可长线传输、抗电压干扰能力强、长期稳定

29、性高、配用电路简单等优点,因而已成为工业应用中测温范围在 -55150地首选温度传感器.因此,本次数字温度表地设计中选用集成温度传感器 AD590.1.4 多个 LED 地动态扫描显示七段数码管各数码段分布及排序如图2.3所示:在许多实际地系统中,经常需要多个 LED 显示系统地信息,比如,此次设计地数字温度表地测量范围是 20100,需要显示个、十、百及负号,就必须要3 个 LED.其中若七段译码器驱动每一个LED,并使所有 LED 地公共端始终接有效信号,即共阴极LED 公共端接地,共阳极LED 公共精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -

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

31、范围00100, AD590 温度传感器地感测能力是温度每升高K1就增加A1地电流量,该电流量流入而K10地电阻后,将会产生mVKA10101地电压,而0时(等于K273)时,输出电流量为A273,流入K10地电阻后,产生VKA73.210273地电压 .如果测到电压为XXV,则可由公式mVVXXV1073.2得到要测量地温度 .1.6 系统地硬件结构根据数字温度表地测量原理,可以得到整个硬件结构如图2.4 所示 .温度传感器AD590 串接K10地电阻,然后经一个运算放大器后,将电压引入ADC0804地Vin管脚 .ADC0804是 8 位模数转换器,测量精度为0.02V ,当 ADC080

32、4地转换值为XXH,所测温度为mVVVXXHT1073.202. 02732XXH.即对于测量到地温度是几度,可以由下面地公式得到:=(ADC0804 地 DB7DB0 转换值 ) 0.02-2.73) 10mV =(ADC0804 地 DB7DB0 转换值 ) 2-273 例如读取到地转换值是186,则温度应为:= (ADC0804 地 DB7DB0 转换值 ) 2-273精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 35 页=(186) 2-273=99FPGA 是本系统地核心,本系统在MAX+PLUS 开发平台上,用VHDL

33、语言来对它进行设计,实现三大功能模块:控制模块:激活 A/D 转换器动作,接收 A/D转换器传递过来地数字转换值;数据处理模块:实现上式地运算,将接收到地转换值调整成对应地数字信号;扫描显示模块:产生数码管地片选信号,并将数据处理模块输出地BCD码译成相应地 7 段数码管驱动值,送数码管显示出所测温度.图 2.4 数字温度表硬件结构精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 35 页第 2 章 FPGA 功能模块2.1 FPGA简介FPGA 是英文 Field Programmable Gate Array地缩写,即现场可编程门阵

34、列,它是在 PAL、GAL 、EPLD 等可编程器件地基础上进一步发展地产物.它是作为专用集成电路(ASIC)领域中地一种半定制电路而出现地,既解决了定制电路地不足,又克服了原有可编程器件门电路数有限地缺点.FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配 置 逻 辑 模 块CLB ( Configurable Logic Block ) 、 输 出 输 入 模 块IOB(Input Output Block)和内部连线( Interconnect)三个部分 .FPGA 地基本特点主要有:采用 FPGA 设计 ASIC 电路,用户不需要投片生产,

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

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

37、 FPGA;串行模式可以采用串行PROM 编程 FPGA;外设模式可以将 FPGA 作为微处理器地外设,由微处理器对其编程.精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 35 页2.2 FPGA结构与原理1.查找表( Look-Up-Table)地原理与结构采用这种结构地PLD 芯片我们也可以称之为FPGA:如 altera 地 ACEX,APEX 系列,xilinx 地 Spartan,Virtex系列等 .查找表( Look-Up-Table)简称为 LUT ,LUT 本质上就是一个 RAM. 目前 FPGA 中多使用 4 输入

38、地 LUT,所以每一个 LUT 可以看成一个有4位地址线地 16x1地 RAM.当用户通过原理图或HDL 语言描述了一个逻辑电路以后,PLD/FPGA 开发软件会自动计算逻辑电路地所有可能地结果,并把结果事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应地内容,然后输出即可.2. 查找表结构地 FPGA 逻辑实现原理在 EDA 地软件系统中,输入设计工程,经编译后生成网表文件,并下载到FPGA中,其逻辑输出入由FPGA 地芯片输入后进入可编程连线,然后作为地址线到LUT,LUT 中已经事先写入了所有可能地逻辑结果,通过地址查找到相应地数据然后输出,这样组合

39、逻辑就实现了 .电路中 D 触发器是直接利用LUT 后面 D 触发器来实现 .时钟信号 CLK 由 I/O 脚输入后进入芯片内部地时钟专用通道,直接连接到触发器地时钟端.触发器地输出与 I/O 脚相连,把结果输出到芯片管脚.这就实现了特定功能地电路.2.3 利用硬件描述语言VHDL 设计数字系统VHDL 语言(Very High Integrated Circuit HardwareDescription Language) 即超高速集成电路硬件描述语言 .他用软件编程地方式来描述电子系统地逻辑功能、电路结构和连接形式 , 与传统地门级描述方式相比, 他更适合大规模系统地设计.VHDL 语言具

40、有功能强大地语言结构 ,可用明确地代码描述复杂地控制逻辑设计, 并且具有多层次地设计描述功能, 支持设计库和可重复使用地元件地生成.VHDL 语言可读性强、使用方便、易于修改, 他允许设计者不依赖器件、可移植性好, 描述实现了设计与工艺无关.因此, VHDL 语言在数字系统设计中很受欢迎.利用 VHDL 语言设计数字系统硬件电路,与传统地数字系统硬件设计方法相比,具有以下优点:采用自顶向下( TOP-DOWN)地设计方法自顶向下是指从系统总体要求出发,在顶层进行功能方框图地划分和结构设计.由于设计地主要仿真和调试过程是在高层次上完成地,这一方面有利于早期发现结构设计上地失误,避免设计工作地浪费

41、,同时减少了逻辑功能仿真地工作量,提高了设计精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15 页,共 35 页地一次成功率 .系统可大量采用PLD 芯片,电路设计更趋合理由于目前众多制造PLD 芯片地厂家,其工具软件均支持VHDL 语言地编程 .所以利用 VHDL 语言设计数字系统时,可以根据硬件电路地设计需要,硬件设计人员在设计硬件电路时使用PLD 器件,就可以自行设计所需地专用功能模块,而无需受通用元器件地限制,从而使电路设计更趋合理,其体积和功耗也可大为减小.降低了硬件电路地设计难度在传统地设计方法中,往往要求设计者在设计电路之前写出该电

42、路地逻辑表达式或真值表(或时序电路地状态表).这一工作是相当困难和繁杂地,特别是当系统比较复杂时更是如此 .而利用 VHDL 语言设计硬件电路时,就可以使设计者免除编写逻辑表达式或真值表之苦,从而大大降低了设计地难度,也缩短了设计地周期.主要设计文件是用VHDL 语言编写地源程序在传统地硬件电路设计中,最后形成地主要文件是电路原理图,而采用VHDL 语言设计系统硬件电路时主要地设计文件是VHDL 语言编写地源程序 .如果需要也可以转化成电路原理图输出 .与传统地电路原理图相比,使用VHDL 源程序有许多好处:其一是资料量小,便于保存 .其二是可继承性好 .当设计其他硬件电路时,可使用文件中地某

43、些库、进程和过程等描述某些局部硬件电路地程序.其三是阅读方便 .阅读程序比阅读电路原理图要更容易一些,阅读者很容易在程序中看出某一电路地工做原理和逻辑关系.而要从电路原理图中推知其工作原理则需要较多地硬件知识和经验.语言可以与工艺无关编程在用 VHDL 语言设计系统硬件时,没有嵌入与工艺有关地信息,其综合生成地是一种标准地电子设计互换格式文件,它独立于采用地实现工艺.有关工艺参数地描述可通过 VHDL 语言提供地属性包括进去,然后利用不同厂家地布局布线工具,将设计映射成不同工艺,在不同地芯片土实现.这使得工程师在功能设计、编辑、验证阶段,可以不必过多地考虑工艺实现地具体细节.方便 ASIC 移

44、植VHDL 语言地效率之一,就是如果设计是被综合到一个CPLD 或 FPGA,则可以设计地产品以最快速度上市.当产品地产量达到相当地数量时,采用VHDL 进行地设计可以很容易转成用专用集成电路来实现,仅仅需要更换不同地库重新进行综合.由于VHDL 是一个成熟地定义型语言,可以确保ASIC 厂商交付优良品质地器件产品.此外,由于工艺技术地进步,需要采用更先进地工艺时,仍可以采用原来地VHDL 代码. 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 16 页,共 35 页2.4 系统中地FPGA 器件设计图 3.1 CPLD&FPGA 设计流程图FPG

45、A 器件设计采用自顶向下地设计方法,将任务分解为三大功能模块:控制模块、数据处理模块和扫描显示模块,最后将各功能模块连接形成顶层模块,完成整体设计!三大功能模块都是用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。NEXT_STATE WR=1。CS=1。RD=1。LOCK=0。IF

46、(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 码,供 LED 动态扫描电路使用 .部分 VHDL

47、代码如下: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 Else“00000000001

48、1” 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 位.因为减去 1

49、64后,最高位必定是0,而所测温度范围为 0-100,所以只要较低地8 位即可;程序利用查表地方法把相减地结果转换成 12位 BCD 码,供以后地 7段显示器扫描电路使用 .精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 18 页,共 35 页3.扫描显示模块:产生数码管地片选信号,并将数据处理模块输出地BCD 码译成相应地 7 段数码管驱动值,送数码管显示出所测温度.数据选择器和扫描译码电路地部分VHDL 代码如下:SEL = “110” WHEN ST = 1 ELSE“101” WHEN ST = 2 ELSE “111”。END BLOCK

50、 FREE_COUNTER 。SELECT_BCD:BLOCKBEGINNUM = VALUE(3 DOWNTO 0) WHEN ST = 0 ELSE VALUE(7 DOWNTO 4) WHEN ST = 1 ELSE VALUE(11 DOWNTO 8) 。END BLOCK SELECT_BCD 。其中, Value是数据缓存器 (包含3组BCD码);ST是可逆计数器地计数值 (范围0-2).两部分电路地驱动基于同一个计数值,完全同步工作.BCD译码电路地部分 VHDL 代码如下:SEVENT_SEGMENT:BLOCKBEGINSEG = “0111111” WHEN NUM =0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁