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