数字温度表设计课程设计.docx
- 文档编号:26777865
- 上传时间:2023-06-22
- 格式:DOCX
- 页数:41
- 大小:239.13KB
数字温度表设计课程设计.docx
《数字温度表设计课程设计.docx》由会员分享,可在线阅读,更多相关《数字温度表设计课程设计.docx(41页珍藏版)》请在冰豆网上搜索。
数字温度表设计课程设计
FPGA课程设计
题目:
数字温度表的设计
摘要:
本文主要研究利用FPGA器件和MAXPLUSⅡ工具软件设计数字温度表的问题,本文介绍了一种基于FPGA的数字温度表的设计,给出了仪表的硬件结构,详细介绍了用VHDL语言设计FPGA器件电路的方法。
本课题在MAX+PLUSⅡ开发环境下,采用VHDL语言设计并实现了数字温度表。
设计采用VHDL的结构描述风格,依据功能将系统分为三个模块,控制模块、数据处理模块和扫描显示模块,通过波形仿真、下载芯片的测试,完成了温度表的功能。
由AD590与FPGA组成的测温系统的硬件电路和软件设计及提高测量精度的方法,通过对实际温度的测量,本设计具有结构简单、外围电路少、抗干扰能力强、功耗小、可靠性高、速度快、反应时间短等优点。
关键字:
VHDL;FPGA;MAX+PLUSⅡ;数字温度表
DesignandEmulationoftheDigitalThermometer
Abstract:
ThisarticlemainresearchthequestionusingtheFPGAcomponentsandthesoftwaretoolMAXPLUSⅡ.designdigitthermometer's,thisarticleintroducedonekinddesignofdigitalthermometer'sbasedontheFPGA,hasgiventhehardwarearchitectureofmeasuringappliance’s,introducedthemethodusingthelanguageVHDLdesigncircuitofFPGAcomponentindetail.UnderthedevelopmentenvironmentofMAX+PLUSⅡthistopicusedtheVHDLlanguagedesign,andhasrealizedthedigitalthermometer.ThedesigntakethestructuredescriptionstyleofVHDL,basedonthefunctionthesystemconsistsofthreemodules,thecontrolmodule,thedataprocessingmoduleandthescanningdisplaymodule,viatheprofilesimulation,thedownloadingchip'stest,hascompletedthermometer'sfunction.Thetemperaturemeasurementsystem'shardwarecircuitwhichconsistofAD590andFPGAandthemethodthatenhancementmeasuringaccuracy,throughthetestingofthepracticaltemperature,foundthisdesignhasthemeritssimplestructure,fewoutside-circuit,strongabilityantiinterrupter,smallpowerloss,highreliability,highspeed,shorttimeofreactionandsoon.
KeyWords:
VHDL;FPGA;MAX+PLUSⅡ;Digitalthermometer
第1章总体方案设计
1.1方案原理的构思及比较
任何物质的温度变化都会引起它本身的物理特征与几何形状的改变。
利用物质这一特性,确定它与温度间的数量关系,就可以作为测温仪器的感应部分,制成各种各样的温度表。
数字温度表要求能实时检测外界环境温度,本系统所设计的数字温度表要求测量范围0~100℃,精度大于0.5℃,用数码管显示测量结果。
决定用以下方案:
要设计一个数字显示温度表,首先要有信号采集电路,在本设计中,我们采用的电流型温度传感器AD590来构架温度采集系统,采集到的温度信号经过传感器的处理转换成电信号,在这里我们得到的仅仅是模拟信号,所以我们要将信号转换为数字信号,我们考虑到用8位模数转换器ADC0804完成这个阶段,最后我们用七段LED显示器来进行数字显示。
1.2A/D转换器的合理选用
自然界中,许多物理量大多数是模拟量,需要进行适当的变换才能转化为数字量。
例如,先把被测的模拟物理量通过变换器转换成直流电压,再将所得到的直流电压量转换成数字量;或者将所得到的直流电压转换成时间间隔,再转换成数字量。
1.2.1A/D转换器的主要技术指标
A/D转换器的主要技术指标有转换精度、转换速度等。
选择A/D转换器时,除考虑这两项技术指标外,还应注意满足其输入电压的范围、输出数字的编码、工作温度范围和电压稳定度等方面的要求。
转换精度
单片集成A/D转换器的转换精度是用分辨率和转换误差来描述的。
分辨率
A/D转换器的分辨率以输出二进制(或十进制)数的位数来表示。
它说明A/D转换器对输入信号的分辨能力。
从理论上讲,n位输出的A/D转换器能区分2个不同等级的输入模拟电压,能区分输入电压的最小值为满量程输入的1/2n。
在最大输入电压一定时,输出位数愈多,分辨率愈高。
例如A/D转换器输出为8位二进制数,输入信号最大值为5V,那么这个转换器应能区分出输入信号的最小电压为9.53mV。
转换误差
转换误差通常是以输出误差的最大值形式给出。
它表示A/D转换器实际输出的数字量和理论上的输出数字量之间的差别。
常用最低有效位的倍数表示。
例如给出相对误差≤±LSB/2,这就表明实际输出的数字量和理论上应得到的输出数字量之间的误差小于最低位的半个字。
转换时间
转换时间是指A/D转换器从转换控制信号到来开始,到输出端得到稳定的数字信号所经过的时间。
A/D转换器的转换时间与转换电路的类型有关。
不同类型的转换器转换速度相差甚远。
其中并行比较A/D转换器的转换速度最高,8位二进制输出的单片集成A/D转换器转换时间可达到50ns以内,逐次比较型A/D转换器次之,它们多数转换时间在10~50s以内,间接A/D转换器的速度最慢,如双积分A/D转换器的转换时间大都在几十毫秒至几百毫秒之间。
在实际应用中,应从系统数据总的位数、精度要求、输入模拟信号的范围以及输入信号极性等方面综合考虑A/D转换器的选用。
1.2.2A/D转换器的选用原则
A/D转换器是将模拟量转换成数字量的芯片,选用A/D转换器应考虑以下几个问题:
选择分辨率。
低分辨率3~8位。
中分辨率9~12位。
A/D还包括BCD三位半。
高分辨串13位以上,A/D还包括BCD四位半。
确定精度。
对输入或输出特性和范围提出要求。
确定电源种类和功耗。
A/D根据转换速度、精度、用途等选择转换方式:
低速有双重积分方式等,常用于仪器仪表。
中速有逐次比较方式等,常用于一般自动控制。
高速有并行方式、串行方式等。
A/D转换路数等。
1.2.3本系统中A/D转换器的选择
ADC0804的规格及引脚图
8位COMS依次逼近型的A/D转换器。
三态锁定输出
存取时间:
135US
分辨率:
8位
转换时间:
100US
总误差:
正负1LSB
工作温度:
ADC0804LCN---0—70度
图2.1ADC0804引脚图
:
芯片选择信号。
:
外部读取转换结果的控制输出信号。
为HI时,DB0—DB7处理高阻抗;
为LO时,数字数据才会输出。
:
用来启动转换的控制输入,相当于ADC的转换开始(
=0时),当
由HI变为LO时,转换器被清除:
当
回到HI时,转换正式开始。
CLKIN,CLKR:
时钟输入或接振荡无件(R,C)频率约限制在100KHZ~1460KHZ,如果使用RC电路则其振荡频率为1/(1.1RC)。
:
中断请求信号输出,低地平动作。
VIN(+)VIN(-):
差动模拟电压输入。
输入单端正电压时,VIN(-)接地;而差动输入时,直接加入VIN(+)VIN(-)。
AGND,DGND:
模拟信号以及数字信号的接地。
VREF:
辅助参考电压。
DB0—DB7:
8位的数字输出。
VCC:
电源供应以及作为电路的参考电压。
1.2.4ADC0804转换原理
以输出8位的ADC0804动作来说明“逐次逼近式A/D转换器”的转换原理,动作步骤如下表示(原则上先从左侧最高位寻找起)。
第一次寻找结果:
10000000(若假设值≤输入值,则寻找位=假设位=1)
第二次寻找结果:
11000000(若假设值≤输入值,则寻找位=假设位=1)
第三次寻找结果:
11000000(若假设值>输入值,则寻找位=该假设位=0)
第四次寻找结果:
11010000(若假设值≤输入值,则寻找位=假设位=1)
第五次寻找结果:
10100000(若假设值>输入值,则寻找位=该假设位=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为0~5V电压范围,则它最小输出电压5V/256=0.01953V,这代表ADC0804所能转换的最小电压值。
至于内部的转换频率fCK,是由图2.2的CLKR(19脚)、CLK(4脚)所连接的R、C来决定的。
图2.2ADC0804与CPLD&FPGA、单片机(8051)等的典型连接图
频率的计算方法是
若以图2.2的
、
为例,则内部的转换频率是
更换不同的R、C值,会有不同的转换频率,而且频率愈高代表转换速度愈快。
ADC0804的控制方法
以图2.2的信号流向来看,控制ADC0804动作的信号应该只有CS、WR、RD。
其中INTR由高电位转向低电位后,代表ADC0804完成这次的模拟/数字转换,而DB0-DB7代表是转换后的数字资料。
ADC0804的动作大概分为4个步骤区间——S0、S1、S2、S3,每个步骤区间的动作如下:
步骤S0:
CS=0、WR=0、RD=1(由CPLD发出信号要求ADC0804开始进行模拟/数字信号的转换)。
步骤S1:
CS=1、WR=1、RD=1(ADC0804进行转换动作,转换完毕后INTR将高电位将至低电位,而转换时间>100μs)。
步骤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信号是否由低电位变为高电位,如此以便了解ADC0804的转换动作结束与否。
在步骤S3,读取转换的数字资料DB0-DB7。
1.3A/D温度传感器的合理选用
信息处理技术取得的进展以及微处理器和计算机技术的高速发展,都需要在传感器的开发方面有相应的进展。
微处理器现在已经在测量和控制系统中得到了广泛的应用。
随着这些系统能力的增强,作为信息采集系统的前端单元,传感器的作用越来越重要。
传感器已成为自动化系统和机器人技术中的关键部件,作为系统中的一个结构组成,其重要性变得越来越明显。
1.3.1传感器选用原则
现代传感器在原理与结构上千差万别,如何根据具体的测量目的、测量对象以及测量环境合理地选用传感器,是在进行某个量的测量时首先要解决的问题。
当传感器确定之后,与之相配套的测量方法和测量设备也就可以确定了。
测量结果的成败,在很大程度上取决于传感器的选用是否合理。
根据测量对象与测量环境确定传感器的类
要进行—个具体的测量工作,首先要考虑采用何种原理的传感器,这需要分析多方面的因素之后才能确定。
因为,即使是测量同一物理量,也有多种原理的传感器可供选用,哪一种原理的传感器更为合适,则需要根据被测量的特点和传感器的使用条件考虑以下一些具体问题:
量程的大小;被测位置对传感器体积的要求;测量方式为接触式还是非接触式;信号的引出方法,有线或是非接触测量;传感器的来源,国产还是进口,价格能否承受,还是自行研制。
在考虑上述问题之后就能确定选用何种类型的传感器,然后再考虑传感器的具体性能指标。
灵敏度的选择
通常,在传感器的线性范围内,希望传感器的灵敏度越高越好。
因为只有灵敏度高时,与被测量变化对应的输出信号的值才比较大,有利于信号处理。
但要注意的是,传感器的灵敏度高,与被测量无关的外界噪声也容易混入,也会被放大系统放大,影响测量精度。
因此,要求传感器本身应具有较高的信噪比,尽员减少从外界引入的厂扰信号。
传感器的灵敏度是有方向性的。
当被测量是单向量,而且对其方向性要求较高,则应选择其它方向灵敏度小的传感器;如果被测量是多维向量,则要求传感器的交叉灵敏度越小越好。
频率响应特性
传感器的频率响应特性决定了被测量的频率范围,必须在允许频率范围内保持不失真的测量条件,实际上传感器的响应总有—定延迟,希望延迟时间越短越好。
传感器的频率响应高,可测的信号频率范围就宽,而由于受到结构特性的影响,机械系统的惯性较大,因有频率低的传感器可测信号的频率较低。
在动态测量中,应根据信号的特点(稳态、瞬态、随机等)响应特性,以免产生过火的误差。
线性范围
传感器的线形范围是指输出与输入成正比的范围。
以理论上讲,在此范围内,灵敏度保持定值。
传感器的线性范围越宽,则其量程越大,并且能保证一定的测量精度。
在选择传感器时,当传感器的种类确定以后首先要看其量程是否满足要求。
但实际上,任何传感器都不能保证绝对的线性,其线性度也是相对的。
当所要求测量精度比较低时,在一定的范围内,可将非线性误差较小的传感器近似看作线性的,这会给测量带来极大的方便。
稳定性
传感器使用一段时间后,其性能保持不变化的能力称为稳定性。
影响传感器长期稳定性的因素除传感器本身结构外,主要是传感器的使用环境。
因此,要使传感器具有良好的稳定性,传感器必须要有较强的环境适应能力。
在选择传感器之前,应对其使用环境进行调查,并根据具体的使用环境选择合适的传感器,或采取适当的措施,减小环境的影响。
传感器的稳定性有定量指标,在超过使用期后,在使用前应重新进行标定,以确定传感器的性能是否发生变化。
在某些要求传感器能长期使用而又不能轻易更换或标定的场合,所选用的传感器稳定性要求更严格,要能够经受住长时间的考验。
精度
精度是传感器的一个重要的性能指标,它是关系到整个测量系统测量精度的一个重要环节。
传感器的精度越高,其价格越昂贵,因此,传感器的精度只要满足整个测量系统的精度要求就可以,不必选得过高。
这样就可以在满足同一测量目的的诸多传感器中选择比较便宜和简单的传感器。
如果测量目的是定性分析的,选用重复精度高的传感器即可,不宜选用绝对量值精度高的;如果是为了定量分析,必须获得精确的测量值,就需选用精度等级能满足要求的传感器。
对某些特殊使用场合,无法选到合适的传感器,则需自行设计制造传感器。
自制传感器的性能应满足使用要求。
1.3.2本系统中温度传感器的选择
温度传感器具有线性好、精度适中、灵敏度高、体积小、使用方便等优点,得到广泛应用。
AD590是美国模拟器件公司生产的单片集成电路温度传感器。
1、流过器件的电流(mA)等于器件所处环境的热力学温度(开尔文)度数。
2、AD590的测温范围为-55℃~+150℃。
3、AD590的电源电压范围为4V~30V。
电源电压可在4V~6V范围变化,电流变化1mA,相当于温度变化1K。
AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。
4、输出电阻为710MW。
5、精度高。
AD590共有I、J、K、L、M五档,其中M档精度最高,在-55℃~+150℃范围内,非线性误差为±0.3℃。
AD590测量热力学温度、摄氏温度、两点温度差、多点最低温度、多点平均温度的具体电路,广泛应用于不同的温度控制场合。
该传感器属于电流型,其输入量为温度,输出则为电流,体积很小,且具有互换性好、线性度好、信号可长线传输、抗电压干扰能力强、长期稳定性高、配用电路简单等优点,因而已成为工业应用中测温范围在-55℃~150℃的首选温度传感器。
因此,本次数字温度表的设计中选用集成温度传感器AD590。
1.4多个LED的动态扫描显示
七段数码管各数码段分布及排序如图2.3所示:
在许多实际的系统中,经常需要多个LED显示系统的信息,比如,此次设计的数字温度表的测量范围是–20~100℃,需要显示个、十、百及负号,就必须要3个LED。
其中若七段译码器驱动每一个LED,并使所有LED的公共端始终接有效信号,即共阴极LED公共端接地,共阳极LED公共端接电源。
这种LED显示方式称为静态显示方式。
采用静态方式,LED亮度高,但这是以复杂硬件驱动电路作为代价的,硬件成本高。
图2.3七段数码管各数码段分布及排序
因此,在实际使用时,特别是有微处理器的系统中,如果用多位的LED显示,一般采取动态扫描方式、分时循环显示,即多个发光管轮流交替点亮。
这种方式的依据是利用人眼的滞留现象,只要在1秒内一个发光管亮24次以上,每次点亮时间维持2ms以上,则人眼感觉不到闪烁,宏观上仍可看到多位LED同时显示的效果。
动态显示可以简化硬件、降低成本、减小功耗。
1.5数字温度表测量原理
本系统所设计的数字温度表测量范围00~100℃,AD590温度传感器的感测能力是温度每升高
就增加
的电流量,该电流量流入而
的电阻后,将会产生
的电压,而0℃时(等于
)时,输出电流量为
,流入
的电阻后,产生
的电压。
如果测到电压为
,则可由公式
得到要测量的温度。
1.6系统的硬件结构
根据数字温度表的测量原理,可以得到整个硬件结构如图2.4所示。
温度传感器AD590串接
的电阻,然后经一个运算放大器后,将电压引入ADC0804的
管脚。
ADC0804是8位模数转换器,测量精度为0.02V,当ADC0804的转换值为
,所测温度为
。
即对于测量到的温度是几度,可以由下面的公式得到:
℃=((ADC0804的DB7~DB0转换值)×0.02-2.73)÷10mV
=(ADC0804的DB7~DB0转换值)×2-273
例如读取到的转换值是186,则温度应为:
℃=(ADC0804的DB7~DB0转换值)×2-273
=(186)×2-273
=99℃
FPGA是本系统的核心,本系统在MAX+PLUSⅡ开发平台上,用VHDL语言来对它进行设计,实现三大功能模块:
控制模块:
激活A/D转换器动作,接收A/D转换器传递过来的数字转换值;
数据处理模块:
实现上式的运算,将接收到的转换值调整成对应的数字信号;
扫描显示模块:
产生数码管的片选信号,并将数据处理模块输出的BCD
码译成相应的7段数码管驱动值,送数码管显示出所测温度。
图2.4数字温度表硬件结构
第2章FPGA功能模块
2.1FPGA简介
FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。
FPGA的基本特点主要有:
采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。
FPGA可做其它全定制或半定制ASIC电路的中试样片。
FPGA内部有丰富的触发器和I/O引脚。
FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。
FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。
可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。
目前FPGA的品种很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。
FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。
用户可以根据不同的配置模式,采用不同的编程方式。
加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。
掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。
FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。
当需要修改FPGA功能时,只需换一片EPROM即可。
这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。
因此,FPGA的使用非常灵活。
FPGA有多种配置模式:
并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。
2.2FPGA结构与原理
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,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。
2.查找表结构的FPGA逻辑实现原理
在EDA的软件系统中,输入设计项目,经编译后生成网表文件,并下载到FPGA中,其逻辑输出入由FPGA的芯片输入后进入可编程连线,然后作为地址线到LUT,LUT中已经事先写入了所有可能的逻辑结果,通过地址查找到相应的数据然后输出,这样组合逻辑就实现了。
电路中D触发器是直接利用LUT后面D触发器来实现。
时钟信号CLK由I/O脚输入后进入芯片内部的时钟专用通道,直接连接到触发器的时钟端。
触发器的输出与I/O脚相连,把结果输出到芯片管脚。
这就实现了特定功能的电路。
2.3利用硬件描述语言VHDL设计数字系统
VHDL语言
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 温度表 设计 课程设计