《房间电器综合控制系统.doc》由会员分享,可在线阅读,更多相关《房间电器综合控制系统.doc(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、房间电器综合控制系统Control system of the electrisic in the room摘 要本设计的目的是寻找一种方法来实现房间内多种电器的综合控制,采用了单片机与红外遥控相结合的方式,制作出一种房间电器综合控制系统。系统的核心由AT89S52单片机和红外收发装置构成,整个系统包括发射部分和接收部分。发射部分以AT89S52单片机为中心控制芯片,外围扩展了矩阵键盘,红外发射电路以及电源电路;接收部分则以AT89S52单片机为核心,外围扩展了红外接收电路,按键显示电路,电源电路以及与按键相应的继电器控制家用电器电路。红外信号的发射采用脉冲个数编码的方式,根据不同的按键设定不
2、同的编码,通过软件实现解码,从而控制相应电器的开和关。通过硬件和软件相结合的方式,此设计实现了手持遥控器,按下一个按键,相应的电器接通电源开始工作,并显示按键号码,再按一下,该电器切断电源停止工作。此设计具有操作码个数可随意设定,编程灵活多样等优点。关键词:单片机;红外;编码解码ABSTRACT The aid of this ariticle is to search a way to Key Words:MCU;Inframed;目 录1 引言11.1智能家居的发展11.2微处理器的功能及其应用11.3通信技术的发展及其前景12 系统原理和部分方案比较32.1系统原理综述32.2课题总体要
3、求52.3 系统各部分方案比较62.3.1控制方式比较62.3.2 信号处理方案72.3.3 微处理器的选择83 系统硬件设计方案93.1 系统工作原理流程93.2 系统主控制器选择 123.2.1 单片机(MCU)概述123.2.2 MCU芯片简介及器件选择143.2.3 AT89S52简单介绍说明153.3 信号的发射接收电路93.3.1 红外发射电路设计93.3.2 红外接收电路设计93.4 遥控键盘电路103.4.1 按键安装方法93.4.2 矩阵扫描93.4.3 健功能93.5数码显示电路103.5.1 驱动电路93.5.2 数字显示电路93.6 继电器控制家电输出电路93.6.1
4、继电器原理93.6.2 控制电路94 程序控制114.1系统软件介绍114.2总程序流程114.3程序114.4系统整体电路图115 开发环境及程序下载35.1 开发环境35.2 程序下载55.2.1系统下载65.2.2 外加软件下载76 系统测试及数据记录96.1 软件测试96.1.1 功能仿真126.2.2 146.2 硬件测试及仿真 126.3 系统数据记录 127 课题相关技术发展前景3结 论12参考文献13附录1: 程序14附录2: 系统电路图14附录3: 系统PCB图14致 谢15 1 引言当今社会是数字化的社会,也是数字集成电路广泛应用的社会。而数字集成电路本身也在不断地进行更新
5、换代,不断的进步创新。它由早期的电子管、晶体管、小中规模集成电路,发展到超大规模集成电路(VLSIC,几万门以上)以及具有许多特定功能的专用集成电路(ASIC)。并且在现代高新电子产品的设计和生产中,数字集成电路技术和现代电子设计技术是相互促进、相互推动又相互制约的两个技术环节。前者的进步就表现在大规模集成电路加工技术,即半导体工艺技术的发展上;而后者的核心则是EDA(电子设计自动化)技术,它使得设计者的工作仅限于软件的方式,即利用硬件描述语言(本文只涉及到VHDL硬件描述语言)和EDA软件来完成对系统硬件功能的实现,避免了硬件电路在搭接时所出现的问题。1.1 ASIC技术促使可编程逻辑器件发
6、展随着微电子技术的发展,设计与制造集成电路的任务已经不再由某个大规模的生产厂商来独自承担了,更甚至于系统设计师们都愿意自己设计专用集成电路(ASIC)芯片,而且希望ASIC的设计周期尽可能短,最好是在实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中。也就是这种现场可用的思想促成了现场可编程逻辑器件(FPLD)的出现,其中应用最广泛的当属现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)了。对于电子系统设计来说,在以前的很长一段时间里,设计某个电子控制系统大多数情况下是用指令少、功能单一的单片机,但是用其开发出来的硬件系统及其电路结构庞大而复杂、成本高、经常容易发生电路方
7、面的故障,并且由于系统是针对某一个特定的功能而设计的,对今后系统的升级和功能扩展都非常困难。显然这样的单片机在某种程度上已经不能再满足设计要求了。而CPLD(或FPGA)芯片作为一种新兴的设计器件,在技术上与单片机相比有很多优势,光说其实现的工艺就有反熔丝技术、EPROM技术和EEPROM技术等。实现了电可擦除、电可改写和紫外线擦除,其输出结构是可编程的逻辑宏单元,因而它的设计具有很强的灵活性。这些PLD器件的一个共同特点,就是可以实现速度特性较好的逻辑功能,可见用这种CPLD芯片进行开发设计时,只需要增加少量的外围电路,并结合可控制它的丰富的指令集合,就可以获得功能强大的控制系统。又由于这种
8、芯片内含有可下载程序固定接口和EEPROM、Flash。因此,开发出来的系统具有可升级性(内部程序可擦除,进行重新烧写),用户可以根据需要对其进行功能扩展,既可以缩短系统开发周期,又可以减少开资。利用EDA技术(CPLD/FPGA)进行电子系统设计的最终目标,是完成专用集成电路ASIC的设计和实现,而在电子科技高速发展的当今,再加上上述CPLD/FPGA(复杂可编程逻辑器件/现场可编程门阵列)的各种优点,它以成为实现这一途径的主流器件。其特点是直接面向用户,具有极大的灵活性和通用性,使用方便,硬件测试和实现快捷,开发效率高,成本低,上市时间短,技术维护简单,工作可靠性能好。例如Altera公司
9、最新生产的MAXII系列PLD ,这是一种基于FPGA(LUT)结构,集成配置芯片的PLD,在本质上它就是一种在内部集成了配置芯片的FPGA,但由于配置时间极短,上电就可以工作,所以对用户来说,感觉不到配置过程,可以与传统的PLD一样使用,加上容量和传统PLD类似,所以Altera公司把它归作PLD。 还有像Lattice公司的XP系列FPGA,也是使用了同样的原理,将外部配置芯片集成到内部,在使用方法上和PLD类似,但是因为容量大,性能和传统与FPGA相同,也是LUT架构,所以Lattice仍把它归为FPGA之列。总之,由于以上的各种突出优点,CPLD或FPGA芯片已成为大多数电子设计工程师
10、进行电子设计的首选器件。1.2 CPLD(FPGA)实现系统控制把以CPLD(或FPGA)芯片为核心,作为主控制器开发出来的各种测量及控制系统,作为家用电子产品的一个组成部分嵌入某个系统中,使其更具智能化、拥有更多功能,便于人们操作和使用,从而更具时代感,这也是家用电子产品的发展方向和趋势所在。有的家用电器领域要求增加显示、报警和自动诊断等功能。这就要求我们生产的产品具有自动控制系统。而所谓的自动控制功能的实现主要是由计算机来完成的,可用的方法主要有两种:离线控制和在线控制。离线控制包括利用计算机实现对控制系统总体的分析、设计、仿真及建模等工作;在线控制就是以计算机代替常规的模拟或数字控制电路
11、,使控制系统“软化”,让计算机位于其中,并成为控制系统、测试系统及信号处理系统的一个组成部分。这类控制由于需要有像计算机一样的智能控制系统身处其中,因此对控制系统有体积小、功耗低、价格低廉以及控制功能强大等要求,而为了满足这些要求,就应当使用可编程逻辑器件的具体芯片来实现。例如:本文所研究的课题就是利用CPLD器件(EP1K100QC208-3)为主控芯片,来实现系统的整体功能的。然而,由于CPLD与控制对象联系密切,所以设计一个系统,不但对CPLD芯片的性能要求高,而且对设计者的要求也很高。他们不但要熟练掌握CPLD知识,而且还要了解控制对象,懂得传感器技术,具有一定的控制理论知识等。还拿本
12、文所研究的课题为例,除了利用CPLD具体芯片外,还用到了传感器,A/D转换器以及放大显示电路等,才实现完成了系统总体功能检测室温显示,并实现报警。2 系统原理和部分方案比较一个完整的系统,必须经过系统整体原理分析和各部分的方案比较,选择最佳最优的实现方法,才能完美而立于不败之地。2.1 系统原理概述当今社会,随着现代测量、控制和自动化技术的发展,信息采集的方法越来越多,而在所有信息的采集途径中,用的最普遍、最基础的,就是传感器。如果把电子计算机比作人的“大脑”,那么传感器则酷似人的“五官”(视觉、嗅觉、味觉、听觉和触觉)了。其重要性则可一目了然,不过对传感器的要求可要比人的五官的要求高得多,并
13、且传感器的种类也在日益增多,涉及到的范围也日益变广。如AD公司生产的模拟电压输出型的温度传感器TMP35/36/37,它主要应用于环境控制系统、过热保护、工业过程控制、火灾报警系统、电源系统监控以及仪器散热风扇的控制等。还有NATIONAL SEMICONDUCTOR生产的与微处理器相结合的测温及温度控制、管理的温度测量控制器LM80,它主要应用于个人计算机及服务器的硬件及系统的温度监控、办公室设备、电子测试设备等。以及MAXIN公司生产的主要应用于CPU冷却控制的PWM风扇控制器及遥控温度传感器MAX1669。因此,测量外界温度的方法有很多种,然而,由于热敏电阻及其放大电路受到环境的影响,在
14、不同的条件下会出现不同的测温偏差,而TMP35/36/37,LM80,MAX1669这些传感器的造价又太高,在相同条件下,由于测温精度、处理精度等多方面的因素,不同的通道也会出现不同的偏差,因此必须采用一种灵活的修正方式,这便用到了电压型的温度传感器LM35D。它的线性好(10mV/),宽量程(0-100),精度高(+0.4 ),低成本,而且采集到的是电压型信号,易于处理,使得电路简单实用3。如上所述,本课题的设计就是利用温度传感器LM35D来采集温度信号的,随后将采集到的微弱模拟电压信号经过放大器OP07放大十倍后送入A/D转换器(ADC0804),将其转换为数字信号后,再传给CPLD芯片(
15、这里用到的型号是EP1K100QC208-3),即该系统的核心部件,通过硬件描述语言(VHDL)编程进行信号处理,然后经过预先设置好的端口将数字信号传送给74LS138译码器以及驱动器CD4511和报警器,使LED八段数码管动态显示室温和实现报警。经实验调试,用该方法对0-100范围的温度测量时,测量误差为+0.4,可靠性好、抗干扰性能强。采用CPLD芯片作为核心监控器对外界温度进行测量,这样,既可以降低对温度传感器和放大电路的要求,从而降低成本,又可以针对不同外部环境或不同通道对温度显示的显示监控设定进行灵活修改,实现系统的升级。2.2 课题总体要求(1) 利用电压型温度传感器LM35D作为
16、信息采集器件采集室温并产生10mv/的电压信号;(2) 利用OP07放大器将微弱的电压信号放大预先设置好的倍数,以驱动后面电路;(3) 利用A/D转换器将放大后的模拟信号转换为数字信号,供系统处理;(4) 将数字信号送入CPLD芯片进行处理;(5) 时时显示转换后的室温,进行监控;(6) 温度超过警戒温度时,进行报警。2.3 系统各部分方案比较2.3.1 信号采集方案比较在目前,信号采集有多种方法,而可用于本系统的温度的信号采集大致有三种方法,下面分别介绍各种方法的优缺点,讨论它们的可行性。 方案一:采用热敏电阻采集室内温度信号。用此方法可满足40-90的测量范围,但热敏电阻的精度、重复性及其
17、可靠性都比较差,并且对于检测小于1的温度信号时,误差大、不可靠,所以此方法不可取。方案二:利用电流型温度传感器AD590采集室内温度信号。AD590具有较高精度和重复性(重复性优于0.1),其良好的非线性可以保证优于+0.2的测量精度,利用其重复性较好的特点,通过非线性补偿,可以达到+0.2测量精度。电流型温度传感器AD590是二端器件,它采用了一种独特的电路结构,利用最新的薄膜激光微调技术作最后的定标,因而具有很高的精度。且其灵敏度为1uA/K,具有很宽的工作电源电压范围和很高的输入阻抗。作为一种高阻电流源,我们不需要考虑其传输线上的电压信号损失和噪声干扰的问题,因此特别适合做远距离测量或控
18、制应用。出于同样的道理,AD590也特别适用于多点温度测量系统,而不必考虑选择开关或CMOS多路转换开关所引入的附加电阻造成的误差。但是,由于AD590采集到的信号是电流信号,所以在将数据传给ADC0804模数转换器之前,必须先把电流信号转变成电压信号,在此期间不但造成了一定的信号损失,又影响了精度,这就要求我们在A/D转换器前设计一个信号保持电路。这样一来,用AD590来检测、采集室温的电路就显得很复杂。而且,在高精度测温电路中,还必须考虑AD590的输出电流不被分流影响,因此也放弃使用本方案。方案三:采用电压型温度传感器LM35D采集温度信号。LM35D是精密集成电路温度传感器,它的输出电
19、压与摄氏温度线性成比例,比例关系是10mV/。并且,LM35D无需外部校准或微调来提供0.4的常用的室温精度,就把信号损失减少到了最小。而又因为它的线性性极好,所以编程时很容易实现。因此,对于本课题来说,选用此方案。2.3.2 模拟信号数字化处理方案 由于整个系统主要是处理数字信号而进行工作的,所以当由传感器采集到模拟信号后,必须先进行模数转换才能够使整个系统运行工作。而对于模数转换器件的选择,本课题用的是ADC0804,即系统采用ADC0804模数转换器作为模拟信号数字化的器件,进行数字化处理,为系统提供数字信号量的。2.3.3 信号处理方案本系统利用CPLD芯片进行信号处理。将经过A/D转
20、换器转换后的数字信号送入CPLD芯片,进而根据已经编好的程序(程序见附录)处理温度的数字信息,进一步时时显示室内温度和报警,达到时时监控的目的。也就是说采用CPLD芯片作为系统信号处理主控制器。2.3.4 显示部分方案比较方案一:以前的电子工程师们进行电子设计时,大部分都使用单片机通过串口通信线TXD、RXD(P3.0、P3.1),再加移位寄存器74LS164来实现LED的显示功能,如图2-1所示。这样一来,使得每一个LED数码管都需要一片74LS164,使得电路比较麻烦,并且与单片机接口的编程程序不易实现,所以本课题放弃使用次方案。LEDLED74LS16474LS164 RXDTXD图2-
21、1 通过串口通信线TXO 、RXD实现LED显示功能方案二:近年来,国内外有许多基于串行总线方式的LED显示器接口芯片不断出现,这些芯片与另一种功能更强、速度更快的控制芯片连接,可实现以往单片机不能实现的多种功能,并且具有占用I/O口线少,进行功能扩展方便,使用起来十分容易等特点,这就是用EDA技术来开发的CPLD芯片,因此本系统选用此方案。在选用CPLD芯片后,再选用3个共阴极的8段数码显示管(TOD5201AE)来实现动态显示,用CPLD已经编好的程序来驱动一片CD4511和一片74LS138就可以控制段码和位选,以实现温度显示的功能。2.3.5 系统报警方案设计在设计开始时,想要的系统功
22、能之一,是想让在室温达到并超过警戒温度时,系统可实现报警,给人以提示。在此,可用一个风鸣器和一个三极管放大电路来实现报警功能。具体的电路分析,详述见下文中。3 系统整体硬件设计方案3.1 系统工作原理流程根据课题设计要求可知,该系统需要利用电压型温度传感器采集室内温度,产生10mV/的电压信号,随后,将该信号送入放大器进行放大,再把此放大后的信号送给A/D转换器进行模数转换,之后由CPLD芯片编程处理,即通过CPLD芯片编程设定上下限报警温度,并显示转换后的室温。具体流程图如图3-1所示。CPU控制电路A/D转换电路放大电路传感器控制电路译码驱动电路显示电路报警电路 图3-1 系统流程图在温度
23、信号采集电路中采用方案三,使用线性成比例(10mV/)的电压型温度传感器采集信号,之后,将微弱电压信号经过整个硬件与软件系统放大100倍后的电压信号使其显示就是室温。首先,使采集到的电压信号经过放大电路放大十倍后送入A/D转换器(ADC0804)。在此,将ADC0804的基准电压设为2.5V,由于它为8位转换器,其内部转换关系将输入信号扩大50倍后,才将模拟信号转换为数字信号。之后,将转换后的数字信号传给CPLD芯片(EP1K100QC208-3),通过VHDL编程将扩大了500倍的信号缩小5倍,即可将输入的微弱电压信号最终放大100倍,现在的电压值便是室温值。然后经过设置的I/O口将数字信号
24、传送给74LS138译码器以及驱动器CD4511和报警器,使LED八段数码管动态显示室温和实现报警,从而实现整个系统的设计功能。3.2 传感器及放大电路3.2.1 电压型温度传感器LM35D如图3-2所示,是一般传感器的工作原理方框图。敏感元件转换元件测量电路辅助电源非电量电量 图3-2 传感器原理框图本系统的设计所用的传感器为LM35D,它是LM35系列的一种,是精密集成电路温度传感器,其输出电压与摄氏温度线性成比例(10.0mV/),如图3-3所示其关系3。 U(V) 40 30 20 10 0 1 2 3 4 5 T()图3-3 传感器温度电压关系曲线因而LM35系列有优于用开尔文作为标
25、准的线性温度传感器,在额定工作温度范围内精度为3/4。其密封适合用TO-46晶体管封装,也适合用塑料TO-92晶体管封装。其特性如下:(1) 直接用摄氏温度校准,线性+10.0mV/比例因数;(2) 在-55+150额定范围内保证0.5精度(在+25时);(3) 适用于遥控设备,因晶体片微调而低费用;(4) 工作在430V,小于60A漏泄电流,有较低自热,在静止空气中0.08;(5) 只有1/4非线性值,低阻抗输出,1mA负载时0.1。 LM35系列中的LM35D的工作电压为4V20V,故可直接用温控电路的电源,但要加一个隔离二极管及平滑电容C。LM35D测温范围0100,输出电压直接与摄氏温
26、度成比例,灵敏度为10mV/。将其输出电压接2V直流电压挡数字万用表,可读出的分辨率为0.1的温度读数。例如:室内温度是28.7,那么其转换关系是 28.710 mV/=287mV (3.1)则表上的读数就为287mV,即反映室内温度:28.7。图3-4 LM35D的引脚及封装集成温度传感器LM35D是把测温传感器与放大电路做在一个硅片上,形成一个集成温度传感器,它的外形与封装如下图(见图3-4)。图3-4LM35D是一种输出电压与摄氏温度成正比例的温度传感器,精度为1。最大线性误差为0.5,静态电流为80uA。该器件如塑封三极管(TO-92)。该温度传感器最大的特点是使用时无需外围元件,也无
27、需调试和较正(标定)。如下图所示(图3-5)是LM35D的典型测温电路及其转换电路的接口电路。图3-5 LM35D的典型测温电路及与转换电路接口 在图3-5中,经LM35D输出端输出的信号经过了由75的电阻和1uF的电容构成的积分滤波网络,可滤除其他的杂质信号,使采集到的与温度成比例(10mV/)的电压信号更加稳定,之后再将温度信号经过放大器送给ADC0804进行转换。3.2.2 放大电路设计图3-6 系统的放大电路部分如图3-6所示,为系统的放大电路部分,电压型温度传感器LM35D采集到的室温为很微弱的模拟量。例如:若室温为26,那么经LM35D采集后得到的电压信号为0.26 V,这样一个微
28、弱的电压信号,既不利于处理又容易产生误差且不稳定。所以我们需要将此信号在整个硬件系统和软件系统中放大100倍(如前所述),之后将其送入驱动电路,即可在LED数码管上显示室温,达到目的。如图所示,在放大电路中,取R6为1K是为了好计算放大倍数,R5用20K的滑动变阻器使这个0.26 V的微弱电压信号可以在0-20的放大倍数范围内可调,在此,将其放大10倍,因此需要将R5调至10K。这样经放大器OP07放大后从第6脚输出的电压信号就为放大十倍的2.6V。这样就足以驱动后面的电路进行工作,达到系统设计的目的。3.3 A/D转换电路部分分析3.3.1 A/D转换器随着数字技术,特别是计算机技术的飞速发
29、展与普及,在现代控制、通信及检测领域中,为提高系统的性能指标,对信号的处理无不广泛的采用了数字计算机。但由于系统的实际对象往往都是一些模拟量(如温度、压力、位移、图象等),所以要使计算机或数字仪表能识别和处理这些信号,首先就必须将这些模拟信号转变为数字信号,这样就需要一种能将模拟信号转化为数字信号的电路模数转换器(A/D转换器)。而为了将时间和幅值都连续的模拟信号转化为时间和幅值都离散的数字信号,一般要经过四个过程5,如图3-7所示。取 样保 持量 化编 码模拟信号数字信号图3-7 模数转换流程而在实际电路中,上述四个过程中有的是合并进行的。例如,取样和保持、量化和编码,往往都是在转化过程中同
30、时实现的。具体介绍如下:(1) 取样与保持取样是将随时间连续变化的模拟量转换为时间离散的模拟量(这里要注意的是取样以后信号依然是模拟量)。取样的过程示意图如图3-8 所示。Vo(t)Vi(t)TGS(t)图3-8 取样过程图中的传输门受取样信号S(t)的控制,在S(t)的脉宽期间,传输门导通,输出信号Vo(t)为输入信号Vi(t),即Vo(t)=Vi(t),而在(Ts)期间,传输门关闭,输出信号Vo(t)=0。可见,取样就是在一个固定的时间点上采集一个模拟信号的具体值,而要将取样得来的模拟信号转换为数字信号得经过一段时间,所以有必要将取样电路每次取得的信号通过保持电路保持一段时间,以便给后续的
31、量化编码提供一个稳定值,即使用保持电路使整个系统更加协调稳定。(2) 量化与编码数字信号不仅在时间上是离散的,而且在幅值上也是不连续的。任何一个数字量的大小只能是某个规定的最小数量单位的整数倍。为了将模拟信号转化为数字量,在A/D转化过程中,还必须将取样-保持电路的输出电压,按某种近似方式归化到与之相应的离散电平上。这一转化过程称为数值量化,简称量化。量化后的数值最后还必须用某一个代码表示出来,这个过程就叫做编码。经编码得到的代码就是A/D转换器的最后输出量,就是表示模拟信号大小的数字信号量。3.3.2 A/D转换器的选择近年来,A/D转换器随着半导体技术的不断发展而日新月异,各种性能优异的A
32、/D转换器层出不穷。早期的A/D转换器与CPU接口一般采用并行总线方式,现在一些采用I2C、SPI 总线的新型A/D转换器相继被国外一些公司推出,极大地丰富了A/D转换器的种类。A/D转换器的位数与一个应用系统前向通道中被测量对象的精度有关。一般情况下,由于客观条件的影响,电路设计中A/D转换器的分辨率要高于被测量对象的信号最低分辨率。假如,我们要测量一组电源电压,其电压的输出范围是010V,如要求精确到0.1V,即分辨率为0.1/10=1%,那么在实际应用中我们选择分辨率为1/256=0.4%的8位A/D转换器便可满足要求。当然,A/D转换器的位数越多,分辨率也就越高,但是成本也就随之愈高。
33、因此在实际电路的设计中,选择A/D转换器也不能一味强调位数,应该在满足系统性能指标的前提下,追求最高的性能价格比。目前,被广泛使用的A/D转换器种类很多,从接口协议上分为串行和并行两种方式。串行接口的A/D转换器占用较少的CPU外部I/O资源,主要采用的协议有SPI和I2C等方式,程序设计较并行接口略显繁琐,典型的芯片有TI公司的TLC25431543等等。并行接口的A/D转换器芯片目前仍占多数,流行的有ADC0804、ADC0809 、AD574等等。而本课题的设计使用的是ADC0804来完成模拟信号向数字信号转变的。下面就来介绍A/D 转换芯片的硬件设计方法。3.3.3 A/D转换电路图3
34、-9 A/D转换电路如图3-9 所示,是A/D转换器ADC0804的硬件设计电路,其中ADC0804是逐次逼近型8位8通道A/D模数转换器。它的主要技术指标是:8位分辨率,1/2LSB的转换精度,转换时间典型值为100us(时钟频率为640KHZ时),电源电压为单电源5V。其引脚中DB0DB7为8位数字信号输出端(即转换后的数字量),VCC为电源端,GND为接地端,VREF为参考电压输入端,CLK是时钟信号输入端,第6脚接的是放大器送出的温度信号量。 信号从ADC0804的第6脚送入,R3与C3通过ADC0804的19脚(CLKR)接地与4脚(CLK)向内部电路提供时钟信号,以给ADC0804
35、一个正确的时序,使其正确工作。如果从量程为0-100LM35D采集到最高温度100,那么由于LM35D灵敏度为10mV/以及经过放大器OP07后放大十倍,则传到ADC0804输入脚VI+的电压信号为10V,再经过ADC0804内部的输入电压与基准电压的公式(如下)放大50倍(此50倍为数字量的50倍): (Ui/VREF*2)*256 (3.2) 其中“*”符号表示乘的意思,Ui表示为输入电压,即VI+,VREF为ADC0804内部设定的基准电压(随时可以更改)。如下图(图3-10)是A/D转换过程: Ve Vx (1000)(0100)(0110)(0111) t 图3-10 A/D转换过程
36、原理图 在硬件设计中,我们将基准电压(VREF)调至2.5V,将VI+=10V代入上公式则可得ADC0804的输出为10V电压的256/550倍,将其送入电路的信息处理部分CPLD芯片,再利用软件的方法将结果除以5便可达到最终的放大目的,之后送入驱动电路使其显示出最大温度为100。由于A/D转换器的分辨率为1/256=0.4%,我们将最高温度设为100的话,可得它的测量精度为100/256=0.4。那么如果将最高温度设为50,我们可得它的温度范围为0-50,测量精度为50/256=0.2。为了提高精度,我们将最高报警温度设为50。还如前面的例子,如果室温为26,那么经放大电路放大后传到ADC0
37、804输入角VI+的电压信号为2.6V,将其代入上公式则可得ADC0804的输出为2.6V电压的256/550倍的二进制数,将其送入系统的主控制器,我们再利用软件的方法将结果除以5便可得送入驱动电路使其显示出的温度为26。在这个转换电路中,ADC0804起着两个作用,一是将模拟量转换为二进制的数字量,二是将此输入信号在放大电路放大10倍后再放大50倍。ADC0804由CPLD芯片预设控制端启动,它与CPLD的接口电路工作的流程图如图3-11所示。经ADC0804转换后的二进制数字信号通过DB0-DB7端口传CPLD芯片的预设输入端,供后面编程控制,使其缩小5倍,然后显示室温。CS端为ADC08
38、04的片选信号端,低电平有效。、分别为写、读端,将其与CPLD芯片的写、读端相连。INTR端为中断口,当其为高电平时表示转换完成,之后,送中断信号给单片机,等待CPLD芯片发出信号接收转换好的数据。可见,在整个系统中,A/D转换电路起着至关重要的作用。它的设计好坏直接影响着整个系统的工作性能。通道、数据地址初始化启动ADC0804CS=0?数据区地址加一8个通道采集结束读A/D转化结果到数据存储区结束是是否否图3-11 ADC0804工作流程图3.4 系统主控制器选择3.4.1 CPLD(FPGA)概述集成电路的发展大大促进了EDA的发展,从而使电路设计从传统的“自上而下”的设计方法转变为“自
39、下而上”的设计方法。设计师们都希望自己设计的芯片能够反映自己的思想,并且能够及时的投入生产使用,这都有益于可编程逻辑器件(PLD)的出现。现在应用最广泛的PLD主要是现场可编程门阵列(FPGA,Field programmable Gate Array)和复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)79。可编程逻辑器件(PLD,Programmable Logic Device)是ASIC的一个重要分支,其发展历程大致经历了以下几个阶段:(1) 20世纪70年代,熔丝编程的PROM和PLA器件是最早的可编程逻辑器件。(2) 20世纪70年代
40、末,对PLA进行了改进,AMD公司推出PAL器件。(3) 20世纪80年代初,Lattice公司发明电可擦写的,比PAL使用更灵活的GAL器件。(4) 20世纪80年代中期,Xilinx公司提出现场可编程概念,同时生产出世界上第一块 FPGA芯片,并且,Altera公司推出EPLD器件,较之Gal器件具有更高的集成度,可用电或紫外线擦除。(5) 20世纪80年代末,Lattice公司又提出系统可编程技术,推出一系列具备系统可编 程能力的CPLD器件,能实现更复杂的逻辑功能。(6) 20世纪90年代,可编程逻辑集成电路技术进入飞速发展时期,器件的可用逻辑门超过百万门,并出现了内嵌发展功能模块(如
41、加法器、乘法器、RAM、CPU核、DSP核、PLL等)的SOPC。总的说来,PLD器件是厂家作为一种通用型器件生产的半定制电路,用户可通过对器件编程实现所需要的逻辑功能。并且它是一种用户可配置的逻辑器件,其成本比较底,使用灵活,设计周期短,而且可靠性高,风险小,因而很快得到普及应用,发展非成迅速。从20世纪70年代发展到现在,PLD已经在各个方面的工艺上取得了突破和不断发展。经历了从PROM、PLA、PAL、GAL到CPLD(FPGA)、ispLSI等高密度的PLD发展过程。其中PAL和GAL都所于简单的PLD,它们结构简单,设计灵活,对开发软件的要求低,但是规模都很小,难以实现复杂的逻辑功能
42、,所以随着技术的发展,种种弊端也暴露出来,因此,CPLD等一系列的复杂PLD迅速的发展起来,并向着高密度,高速度,低功耗以及结构体系更灵活、通用范围更广的方向发展。复杂可编程逻辑器件(CPLD,复杂PLD。统称将集成度达到一定程度的PLD器件叫做CPLD。),是20世纪80年代末Lattice公司提出的在线可编程(isp,In system programmability)技术以后,于20世纪90年代初出现的。它是在EPLD的基础上,采用E2CMOS工艺制作发展起来的。与EPLD相比,它增加了内部连线,对逻辑宏单元和I/O口都有重大的改进。CPLD至少包括三个部分:可编程逻辑宏单元,可编程I/
43、O单元和可编程内部连线。典型的器件有Altera的MAX7000系列,Xilinx的7000和9500系列,Lattice的PLSI/ispLSI系列和AMD的MACH系列。随着数字逻辑系统功能复杂化程度的不断加大,集成芯片正朝着超大规模、高密度的方向发展。与此同时,人们发现一个超大规模的数字时序系统芯片在工作时从时间轴上来看,并不是每一瞬间系统的各个部分都在工作,而系统是各个局部模块功能在时间链上的总成。同时还发现,基于SRAM编程的CPLD/FPGA可以在外部逻辑的控制下,通过存储于存储器中不同的目标系统数据的重新下载,来实现芯片逻辑功能的改变。正是基于这个称之为静态系统重构的技术,有人设
44、想利用芯片的这种分时复用特性,用较小规模的CPLD(或FPGA)芯片来实现更大规模的数字时序系统。在研究过程中人们却发现常规的SRAM的CPLD只能实现静态系统重构。因为该芯片功能的重新配置大约需要数毫秒到数十毫秒量级的时间;而在重新配置数据的过程中,旧的逻辑功能失去,新的逻辑功能尚未建立,电路逻辑在时间轴上断裂,系统功能无法动态连接。要实现高速的动态重构,要求芯片功能的重新配置时间缩短到纳秒量级,这就需要对CPLD的内部组成结构进行革新。在早期的CPLD中,由结构相同的逻辑阵列组成宏单元模块。对一个逻辑阵列单元来说,输入项由专用的输入端和I/O端组成,来自I/O端口输入项,可通过I/O结构控
45、制模块的反馈选择,也可以由I/O端直接输入,也可以是本单元输出的内部反馈。所有的输出项都经过缓冲器驱动,并输出其输入的原码及补码。可以看出,早期CPLD中的逻辑阵列结构与PAL、GAL中的结构极为类似,只是用EPROM单元取代了PAL中的熔丝和GAL中的EEPROM单元。和GAL一样,CPLD可实现擦除和再编程功能。在基本结构中,每个或门有8个固定乘积项,也就是说逻辑阵列单元中的或门阵列是固定的、不可编程的,当遇到复杂的组合逻辑时,需要的乘积项可能超过8个,这就要用两个或多个逻辑单元来实现,致使器件的利用率不高。为此,目前的CPLD在逻辑阵列单元结构方面做了很大的改进,主要表现在以下两个方面:(1) 乘积项数目不同的逻辑阵列单元 对于复杂的逻辑器件来说,逻辑函数往往需要附加乘积项。以便利用其他宏单元以提供以提供所需的逻辑资源,还可以利用其结构中具有的共享和并联扩展乘积项。达到尽可能的少占资源,并且尽可能的加快工作速度的目的。(2) 具有两个或项输出的逻辑阵列单元每个
限制150内