1、 1 1 引言 当今社会是数字化的社会, 也 是数字集成电路广泛应用的社会 。而 数字集成电路本身 也 在不断地进行更新换代 ,不断的进步创新。 它由早期的电子管、晶体管、小中规模集成电路 , 发展到超大规模集成电路 ( VLSIC,几万门以上 ) 以及具有许多特定功能的专用集成电路 ( ASIC) 。 并且在现代高新电子产品的设计和生产中, 数字集成电路 技术和现代电子设计技术是相互促进、相互推动又相互制约的两个技术环节。前者的进步就表现在大规模集成电路加工技术,即半导体工艺技术的发展上;而后者的核心则是 EDA(电子设计自动化)技术,它使得设计 者的工作仅限于软件的方式,即利用硬件描述语言
2、(本文只涉及到 VHDL硬件描述语言)和 EDA软件来完成对系统硬件功能的实现,避免了硬件电路在搭接时所出现的问题。 1.1 ASIC技术促使 可编程逻辑器件 发展 随着微电子技术的发展,设计与制造集成电路的任务 已经 不 再 由 某个大规模的生产厂商 来独 自 承担 了,更甚至于 系统设计师们 都 愿意自己设计专用集成电路 ( ASIC) 芯片,而且希望 ASIC 的设计周期尽可能短,最好是在实验室里就能设计出合适的 ASIC 芯片,并且立即投入实际应用之中 。也就是这种现场可用的思想促成 了现场可编程逻辑器件( FPLD)的出现 ,其中应用最广泛的当属现场可编程门阵列 ( FPGA) 和复
3、杂可编程逻辑器件 ( CPLD)了 。 对于电子系统设计来说,在以前的很长一段时间里,设计某个电子控制系统大多数情况下是用指令少、功能单一的单片机,但是用其开发出来的硬件系统及其电路结构庞大而复杂、成本高、经常容易发生电路方面的故障,并且由于系统是针对某一个特定的功能而设计的,对今后系统的升级和功能扩展都非常困难。显然这样的单片机在某种程度上已经不能再满足设计要求了。而 CPLD(或 FPGA)芯片作为一种新兴的设计器件,在技术上与 单片机相比有很多优势,光说其 实现 的 工艺 就 有反熔丝技术、 EPROM 技术和EEPROM 技术 等 。实现了电可 擦 除、电可改写 和紫外线擦除 ,其输出
4、结构是可编程的逻辑宏单元,因而它的设计具有很强的灵活性。这些 PLD 器件的一个共同特点 ,就 是可以实现速度特性较好的逻辑功能, 可见用这种 CPLD 芯片进行开发设计时,只需要增加少量的外围电路,并结合可控制它的丰富的指令集合,就可以获得功能强大的控制系统。又由于这种芯片内含有可下载程序固定接口和 EEPROM、 Flash。因此,开发出来的系统具有可升级性 (内部程序可擦除,进行重新烧写 ),用户可以根据需要对其进行功能扩展,既可以缩短系统开发周期,又可以减少开资。 利用 EDA 技术( CPLD/FPGA)进行电子系统设计的最终目标,是完成专用集成电路ASIC 的设计和实现,而在电子科
5、技高速发展的当今,再加上上述 CPLD/FPGA(复杂 可编程逻辑器件 /现场可编程门阵列 )的各种优点,它以成为实现这一途径的主流器件。其特点是直接面向用户,具有极大的灵活性和通用性,使用方便,硬件测试和实现快捷,开发效率高,成本低,上市时间短,技术维护简单,工作可靠性能好。 例如 Altera公司 最2 新 生产 的 MAXII 系列 PLD ,这是一种基于 FPGA( LUT) 结构,集成配置芯片的 PLD,在本质上它就是一种在内部集成了配置芯片的 FPGA,但由于配置时间极短,上电就可以工作,所以对用户来说,感觉不到配置过程,可以 与 传统的 PLD 一样使用,加上容量和传统 PLD类
6、似,所以 Altera 公司 把它归作 PLD。 还有像 Lattice公司 的 XP 系列 FPGA,也是使用了同样的原理,将外部配置芯片集成到内部 , 在使用方法上和 PLD 类似,但是因为容量大,性能和传统 与 FPGA相同,也是 LUT架构,所以 Lattice仍把它归为 FPGA之列 。 总之,由于以上的各种 突出优点, CPLD 或 FPGA 芯片已成为大多数电子设计工程师进行电子设计的首选器件。 1.2 CPLD( FPGA)实现系统控制 把以 CPLD(或 FPGA)芯片为核心,作为主控制器开发出来的各种测量及控制系统,作为家用电子产品的一个组成部分嵌入某个系统中,使其更具智能
7、化、拥有更多功能,便于人们操作和使用,从而更具时代感,这也是家用电子产品的发展方向和趋势所在。有的家用电器领域要求增加显示、报警和自动诊断等功能。这就要求我们生产的产品具有自动控制系统。而所谓的自动控制功能的实现主要是由计算机来完成的,可用的方法主 要有两种:离线控制和在线控制。离线控制包括利用计算机实现对控制系统总体的分析、设计、仿真及建模等工作;在线控制就是以计算机代替常规的模拟或数字控制电路,使控制系统“软化”,让计算机位于其中,并成为控制系统、测试系统及信号处理系统的一个组成部分。这类控制由于需要有像计算机一样的智能控制系统身处其中,因此对控制系统有体积小、功耗低、价格低廉以及控制功能
8、强大等要求,而为了满足这些要求,就应当使用可编程逻辑器件的具体芯片来实现。例如:本文所研究的课题就是利用 CPLD器件( EP1K100QC208-3)为主控芯片,来 实现系统的整体功能的。 然而,由于 CPLD 与控制对象联系密切,所以设计一个系统,不但对 CPLD 芯片的性能要求高,而且对设计者的要求也很高。他们不但要熟练掌握 CPLD 知识,而且还要了解控制对象,懂得传感器技术,具有一定的控制理论知识等。还拿本文所研究的课题为例,除了利用 CPLD具体芯片外,还用到了传感器, A/D转换器以及放大显示电路等,才实现完成了系统总体功能 检测室温显示,并实现报警。 2 系统原理和部分方案比较
9、 一个完整的系统,必须经过系统整体原理分析和各部分的方案比较,选择最佳最优的实现方法,才能完 美而立于不败之地。 2.1 系统原理概述 当今社会,随着现代测量、控制和自动化技术的发展,信息采集的方法越来越多,而在所有信息的采集途径中,用的最普遍、最基础的,就是传感器。如果把电子计算机比作人的“大脑” ,那么传感器则酷似人的“五官”(视觉、嗅觉、味觉、听觉和触觉)了。其重要性则可一目了然,不过对传感器的要求可要比人的五官的要求高得多,并且传感器的3 种类也在日益增多,涉及到的范围也日益变广。如 AD公司生产的模拟电压输出型的温度传感器 TMP35/36/37,它主要应用于环境控制系统、过热保护、
10、工业过程控制、火 灾报警系统、电源系统监控以及仪器散热风扇的控制等。还有 NATIONAL SEMICONDUCTOR生产的与微处理器相结合的测温及温度控制、管理的温度测量控制器 LM80,它主要应用于个人计算机及服务器的硬件及系统的温度监控、办公室设备、电子测试设备等。以及 MAXIN公司生产的主要应用于 CPU冷却控制的 PWM风扇控制器及遥控温度传感器 MAX1669。因此, 测量外界温度 的 方法 有 很多种 ,然而, 由于 热敏电阻 及其放大电路受到环境的影响,在不同的条件下会出现不同的测温偏差 ,而 TMP35/36/37, LM80, MAX1669这些传感器的造价又太高, 在相
11、同条件下,由于测温精度、处理精度等多方面的因素,不同的通道也会出现不同的偏差,因此必须采用一种灵活的修正方式 ,这便用到了电压型的温度传感器 LM35D。它的线性好( 10mV/), 宽量程( 0-100), 精度高 ( +0.4 ),低成本,而且采集到的是电压型信号,易于处理,使得电路简单实用 3 。 如上所述,本课题的设计就是利用温度传感器 LM35D 来采集温度信号的,随后将采集到的微弱模拟电压信号经过放大器 OP07放大十倍后送入 A/D转换器( ADC0804) ,将其转换为数字信号后, 再传给 CPLD芯片(这里用到的型号是 EP1K100QC208-3),即该系统的 核心 部件
12、, 通过硬件描述语言( VHDL)编程进行信号处理,然后经过预先设置好的端口将数字信号传送给 74LS138译码器以及驱动器 CD4511 和报警器,使 LED八段数码管动态显示室温和实现报警。 经实验调试,用该方法对 0 -100 范围的温度测量时,测量误差 为 +0.4 ,可靠性好、抗干扰性能强 。 采用 CPLD芯片 作为核心监控器对外界温度进行测量 , 这样,既可以降低对温度传感器和放大电路的要求,从而降低成本,又可以针对不同外部环境或不同通道 对温度显示 的显示监控 设定进行灵活修改 ,实现系统的升级。 2.2 课题总体要求 (1) 利用电压型温度传感器 LM35D 作为信息采集器件
13、采集室温并产生 10mv/的电压信号; (2) 利用 OP07 放大器将微弱的电压信号放大预先设置好的倍数,以驱动后面电路; (3) 利 用 A/D 转换器将放大后的模拟信号转换为数字信号,供系统处理; (4) 将数字信号送入 CPLD 芯片进行处理; (5) 时时显示转换后的室温,进行监控 ; (6) 温度超过警戒温度时,进行报警。 2.3 系统各部分方案比较 2.3.1 信号采集方案比较 在目前,信号采集有多种方法,而可用于本系统的温度的信号采集大致有三种方法,下面分别介绍各种方法的优缺点,讨论它们的可行性。 方案一:采用热敏电阻采集室内温度信号。用此方法可满足 40 -90 的测量范围,
14、但热敏电阻的精度、重复性及其可靠性都比较差,并且对于检测小于 1 的温度信号时,4 误差大、不可靠,所以此方法不可取。 方案二:利用电流型温度传感器 AD590 采集室内温度信号。 AD590 具有较高精度和重复性(重复性优于 0.1 ),其良好的非线性可以保证优于 +0.2 的测量精度,利用其重复性较好的特点,通过 非线性补偿,可以达到 +0.2 测量精度。 电流型温度传感器 AD590 是二端器件,它采用了一种独特的电路结构,利用最新的薄膜激光微调技术作最后的定标,因而具有很高的精度。且其灵敏度为 1uA/K,具有很宽的工作电源电压范围和很高的输入阻抗。作为一种高阻电流源,我们不需要考虑其
15、传输线上的电压信号损失和噪声干扰的问题,因此特别适合做远距离测量或控制应用。出于同样的道理, AD590也特别适用于多点温度测量系统,而不必考虑选择开关或 CMOS多路转换开关所引入的附加电阻造成的误差。 但是,由于 AD590采集到的信号是电流 信号,所以在将数据传给 ADC0804模数转换器之前,必须先把电流信号转变成电压信号,在此期间不但造成了一定的信号损失,又影响了精度,这就要求我们在 A/D转换器前设计一个信号保持电路。这样一来,用 AD590来检测、采集室温的电路就显得很复杂。而且,在高精度测温电路中,还必须考虑 AD590的输出电流不被分流影响,因此也放弃使用本方案。 方案三:采
16、用电压型温度传感器 LM35D 采集温度信号。 LM35D 是精密集成电路温度传感器,它的输出电压与摄氏温度线性成比例, 比例关系是 10mV/。并且, LM35D 无需外部校准或微 调来提供 0.4 的常用的室温精度, 就把信号损失减少到了最小。而又因为它的线性性极好,所以编程时很容易实现。因此,对于本课题来说,选用此方案。 2.3.2 模拟信号数字化处理方案 由于整个系统主要是处理数字信号而进行工作的,所以当由传感器采集到模拟信号后,必须先进行模数转换才能够使整个系统运行工作。而对于模数转换器件的选择,本课题用的是 ADC0804,即系统采用 ADC0804 模数转换器 作为模拟信号数字化
17、的器件,进行数字化处理,为系统提供数字信号量的。 2.3.3 信 号处理方案 本系统利用 CPLD芯片 进行信号处理。 将经过 A/D转换器转换后的数字信号送入 CPLD芯片,进而根据已经编好的程序(程序见附录)处理温度的数字信息,进一步时时显示室内温度和报警,达到时时监控的目的。也就是说采用 CPLD 芯片作为系统信号处理主控制器。 2.3.4 显示部分方案比较 方案一: 以前的 电子工程师们进行电子设计时,大部分都使用单片机 通过串口通信线TXD、 RXD( P3.0、 P3.1) ,再加移位寄存器 74LS164来 实现 LED的 显示功能,如图 2-1所示。这样一来,使得每一个 LED
18、数码管都需要一片 74LS164,使得电路比较麻烦,并 且与单片机接口的编程程序不易实现 , 所以本课题放弃使用次方案。 5 RXD TXD 图 2-1 通过串口通信线 TXO 、 RXD 实现 LED显示功能 方案二: 近年来,国内外有许多基于串行总线方式的 LED显示器接口芯片不断出现,这些芯片与另一种功能更强、速度更快的控制芯片连接,可实现以往单片机不能实现的多种功能,并且具有占用 I/O 口线少,进行功能扩展方便,使用起来十分容易等特点,这就是用 EDA技术来开发的 CPLD芯片, 因此本系统选用此方案。 在选用 CPLD芯片后,再选用 3个共阴极的 8段数码显示管( TOD5201A
19、E)来实现动态显示,用 CPLD已经编好的程序来驱动一片 CD4511和一片 74LS138就可以控制段码和位选 ,以实现温度显示的功能。 2.3.5 系统报警方案设计 在设计开始时,想要的系统功能之一,是想让在室温达到并超过警戒温度时,系统可实现报警,给人以提示。在此,可用一个风鸣器和一个三极管放大电路来实现报警功能。具体的电路分析,详述见下文中。 3 系统整体硬件设计方案 3.1 系统工作原理流程 根据课题设计要求可知,该系统需要利用电压型温度传 感器采集室内温度,产生10mV/ 的电压信号,随后,将该信号送入放大器进行放大,再把此放大后的信号送给A/D 转换器进行模数转换,之后由 CPL
20、D 芯片编程处理,即通过 CPLD 芯片编程设定上下限报警温度,并显示转换后的室温。具体流程图如图 3-1所示。 图 3-1 系统流程图 LED LED 74LS164 74LS164 CPU控制电路 A/D 转换电路 放大电路 传感器控制电路 译码驱动电路 显示电路 报警电路 6 在温度信号采集电路中采用方案三,使用线性成比例( 10mV/)的电压型温度传感器采集信号,之后 ,将微弱电压信号经过整个硬件与软件系统放大 100 倍后的电压信号使其显示就是室温。首先,使采集到的电压信号经过放大电路放大十倍后送入 A/D 转换器( ADC0804) 。在此,将 ADC0804的基准电压设为 2.5
21、V,由于它为 8 位转换器,其内部转换关系将输入信号扩大 50 倍后,才将模拟信号转换为数字信号。之后,将转换后的数字信号传给 CPLD芯片( EP1K100QC208-3),通过 VHDL编程将扩大了 500倍的信号缩小 5倍,即可将输入的微弱电压信号最终放大 100 倍,现在的电压值便是室温值。然后经过设置的 I/O口将数字信 号传送给 74LS138译码器以及驱动器 CD4511 和报警器,使 LED八段数码管动态显示室温和实现报警,从而实现整个系统的设计功能。 3.2 传感器及放大电路 3.2.1 电压型温度传感器 LM35D 如图 3-2 所示,是一般传感器的工作原理方框图。 图 3
22、-2 传感器原理框图 本系统的设计所用的传感器为 LM35D, 它 是 LM35系列 的一种, 是精密集成电路温度传感器, 其 输出电压与摄氏温度线性成比例 ( 10.0mV/ ) ,如图 3-3所示其关系 3。 U(V) 40 30 20 10 0 1 2 3 4 5 T( ) 图 3-3 传感器温度电压关系曲线 因而 LM35 系列 有优于用开尔文 作为 标准的线性温度传感器, 在 额定工作温度范围 内精度 为 3/4 。其 密封适合用 TO-46 晶体管封装,也适合 用 塑料 TO-92晶体管封装。 其特性 如下: (1) 直接用摄氏温度校准 , 线性 +10.0mV/ 比例因数 ; (
23、2) 在 -55 +150 额定范围 内 保证 0.5 精度(在 +25 时); (3) 适用于遥控设备 , 因晶体片微调而低费用; 敏感元 件 转换元件 测量电路 辅助电源 非电 量 电量 7 (4) 工作在 4 30V, 小于 60A 漏泄电流 ,有 较低自热,在静止空气中 0.08 ; (5) 只有 1/4 非线性值 , 低阻抗输出, 1mA负载时 0.1 。 LM35 系列中的 LM35D的工作电压为 4V 20V,故可直接用温控电路的电源,但要加一个隔离二极管及平滑电容 C。 LM35D 测温范围 0 100 ,输出电压直接与 摄氏温度成比例,灵敏度为 10mV/ 。 将其 输出电压
24、接 2V 直流电压挡数字万用表,可读出 的 分辨率为 0.1 的温度读数。 例 如 :室内温度是 28.7,那么其转换关系是 28.7 10 mV/ =287mV ( 3.1) 则 表上 的 读数 就 为 287mV,即 反映室内 温度 : 28.7 。 集成温度传感器 LM35D是把测温传感器与放大电路做在一个硅片上,形成一个集成温度传感器,它的 外形与封装 如下图(见图 3-4)。 LM35D 是一 种输出电压与摄氏温度成正比例的温度传感器,精度为 1。最大线性误差为 0.5,静态电流为 80uA。该器件如塑封三极管( TO-92)。该温度传感器最大的特点是使用时无需外围元件,也无需调试和
25、较正(标定)。如下图所示(图 3-5)是 LM35D的典型测温电路及其转换电路的接口电路。 图 3-5 LM35D 的典型测温电路及与转换电路接口 图 3-4 图 3-4 LM35D的引脚及封装 8 在图 3-5中,经 LM35D 输出端输出的信号经过了由 75 的电阻和 1uF的电容构成的积分滤波网络,可滤除其他的杂质信号,使采集到的与 温度成比例( 10mV/)的电压信号更加稳定,之后再将温度信号经过放大器送给 ADC0804进行转换。 3.2.2 放大电路设计 图 3-6 系统的放大电路部分 如图 3-6 所示,为系统的放大电路部分,电压型温度传感器 LM35D 采集到的室温为很微弱的模
26、拟量。例如:若室温为 26,那么经 LM35D 采集后得到的电压信号为 0.26 V,这样一个微弱的电压信号,既不利于处理又容易产生误差且不稳定。所以我们需要将此信号在整个硬件系统和软件系统中放大 100倍(如前所述),之后将其送入驱动电路,即可在 LED数码管上显示室 温,达到目的。如图所示,在放大电路中,取 R6为 1K是为了好计算放大倍数, R5 用 20K 的滑动变阻器使这个 0.26 V 的微弱电压信号可以在 0-20的放大倍数范围内可调,在此,将其放大 10 倍,因此需要将 R5 调至 10K。这样经放大器 OP07 放大后从第 6脚输出的电压信号就为放大十倍的 2.6V。这样就足
27、以驱动后面的电路进行工作,达到系统设计的目的。 3.3 A/D转换电路部分分析 3.3.1 A/D 转换器 随着数字技术,特别是计算机技术的飞速发展与普及,在现代控制、通信及检测领域中,为提高系统的性能指标,对信号的处理 无不广泛的采用了数字计算机。但由于系统的实际对象往往都是一些模拟量(如温度、压力、位移、图象等),所以要使计算机或数字仪表能识别和处理这些信号,首先就必须将这些模拟信号转变为数字信号,这样就需要一种能将模拟信号转化为数字信号的电路 模数转换器( A/D转换器)。而为了将时间和幅值都连续的模拟信号转化为时间和幅值都离散的数字信号,一般要经过四个过程 5,如图 3-7所示。 9
28、图 3-7 模数转换流程 而在实际电路中,上述四个过程中有的是合并进行的。例如,取样和保持、量化和编码,往往都是在转化过程中同 时实现的。具体介绍如下: (1) 取样与保持 取样是将随时间连续变化的模拟量转换为时间离散的模拟量(这里要注意的是取样以后信号依然是模拟量)。取样的过程示意图如图 3-8 所示。 图 3-8 取样过程 图中的传输门受取样信号 S( t)的控制,在 S( t)的脉宽期间,传输门导通,输出信号 Vo( t)为输入信号 Vi(t),即 Vo(t)=Vi(t),而在( Ts)期间,传输门关闭,输出信号 Vo( t) =0。可见,取样就是在一个固定的时间点上采集一个模拟信号的具
29、体值,而要将取样得来的模拟信号转换为数字信号得经 过一段时间,所以有必要将取样电路每次取得的信号通过保持电路保持一段时间,以便给后续的量化编码提供一个稳定值,即使用保持电路使整个系统更加协调稳定。 (2) 量化与编码 数字信号不仅在时间上是离散的,而且在幅值上也是不连续的。任何一个数字量的大小只能是某个规定的最小数量单位的整数倍。为了将模拟信号转化为数字量,在 A/D转化过程中,还必须将取样 -保持电路的输出电压,按某种近似方式归化到与之相应的离散电平上。这一转化过程称为数值量化,简称量化。量化后的数值最后还必须用某一个代码表示出来,这个过程就叫做编码。经编码 得到的代码就是 A/D转换器的最
30、后输出量,就是表示模拟信号大小的数字信号量。 3.3.2 A/D转换器的选择 近年来, A/D转换器随着半导体技术的不断发展而日新月异,各种性能优异的 A/D转换器层出不穷。早期的 A/D转换器与 CPU接口一般采用并行总线方式,现在一些采用 I2C、 SPI 总线的新型 A/D转换器相继被国外一些公司推出,极大地丰富了 A/D转换器的种类。 A/D转换器的位数与一个应用系统前向通道中被测量对象的精度有关。一般情况下,由于客观条件的影响,电路设计中 A/D转换器的分辨率要高于被测量对象的信号最低 分辨取 样 保 持 量 化 编 码 模拟信号 数字信号 Vo(t) Vi(t) TG S(t) 1
31、0 率。假如,我们要测量一组电源电压,其电压的输出范围是 0 10V,如要求精确到 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和 I2C等方式,程序设计较并行接
32、口略显繁琐,典型的芯片有 TI公司的 TLC25431543等等。并行接口的 A/D转换器芯片目前仍占多数,流行的有 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。其引脚中 DB0 DB7为 8位数字信号输出端 (即转换后的数字量 ), VCC为电源端, GND为接地端, VREF为参考电压输入端, CLK是时钟信号输入端,第 6脚接的是放大器送出的温度信号量。 信号从 ADC0804的第 6脚送入, R3与 C3通过 ADC0804的 19脚( CLKR)接地与 4脚( CLK)向内部电路提供时钟信号,以给 ADC0804一个正确的时序,使其正确工作。 如果从 量程 为 0-100 LM35D采集到最高温度 100 ,那么由于 LM35D灵敏度为 10mV/