智能化压力传感器的设计学士学位论文.doc
密级: NANCHANG UNIVERSITY学 士 学 位 论 文THESIS OF BACHELOR(20092013年)题 目 智能化压力传感器的设计 学 院: 环化学院 系 测控系 专业班级: 测控技术与仪器093班 学生姓名: 钟 刚 学号: 5801209114 指导教师: 刘 诚 职称: 讲 师 起讫日期: 2013.3.152013.6.6 南 昌 大 学学士学位论文原创性申明本人郑重申明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式表明。本人完全意识到本申明的法律后果由本人承担。作者签名: 日期:学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权南昌大学可以将本论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密,在 年解密后适用本授权书。本学位论文属于 不保密。(请在以上相应方框内打“”)作者签名: 日期:导师签名: 日期:摘 要传感器及转换器形成系统的“前端”,没有它,许多现代化的电子系统都无法正常工作。传感器已广泛的应用于工业控制系统和能源工业装置当中(如石油和天然气的生产、配电工业)。它们也是制造录音机和录像机这些原始设备产品的重要内在组成部分。大多数这些数字电子系统之所以具有普遍性和强大优势是得益于传感器广泛应用于这些电子电路中。本课题将深入研究智能压力传感器系统理论及其在压力测试方面的应用,对新型智能压力传感器系统的智能化功能、智能化软件和硬件配置进行全面的设计。提出了一种差动电容式传感器的前置电路,基于电容/ 电压转换的原理,对微小电容变化量进行测量。电路输出的直流电压与差动电容变化量成线性关系,且能对偏差电容和电路的漂移进行自动补偿。完善智能化软件,实现温度补偿、自动校准、总线数字通讯、自动增益控制等多种智能化特性,使智能化程度尽可能的提高。 关键词:传感器;压力;智能化。AbstractSensors and transducers form the “front-ends”, without which many modern electronic systems could not function. Such components are implemented extensively in industrial control systems and energy industry installations (e.g. the oil and gas production and distribution industries). They are also essential components within OEM products such as tape recorders and VCRs. In most of these systems digital electronics is pervasive and considerable advantages are obtained where the sensor is provided complete with extensive electronic circuitry.This article delves into the smart pressure sensor system theory and its application of pressure testing, the intelligent features of the new can only pressure sensor systems, intelligent software and hardware configuration to conduct a comprehensive design. A prepositive circuit for differential capacitance transducers is proposed. It can be used to detect smallcapacitance changes based on capacitance to voltage conversion. The output dc voltage is a linear with the complementary capacitance change and can be used to compensate for offset capacitance and drifts automatically.improve the intelligent software, temperature compensation, automatic calibration, bus digital communications, AGC and other intelligent features, in order to degree of intelligence to improve as much as possible.Keywords:Sensor;pressure;intelligent目 录摘 要IAbstractII第一章 压力传感器11.1 压力传感器的概述11.2 压力传感器的类型11.3 压力传感器的结构特点1第二章 智能压力传感器32.1 智能压力传感器的结构32.2 智能压力传感器的功能32.3 智能压力传感器的特点4与传统传感器相比,智能压力传感器的特点是:42.4 智能压力传感器的应用与发展4第三章 系统结构设计53.1 传感器系统总体结构设计53.2 系统的特点5第四章 硬件设计64.1 前端传感器模块64.2 信号调理电路模块74.3 A/D转换模块94.3.1 ADC0809的内部逻辑结构94.3.2 ADC0809引脚结构104.3.3 ADC0809应用说明124.4 微处理器124.5 显示模块134.5.1 LCD1602的优点134.5.2 1602 字符型 LCD 简介134.5.3 1602LCD 的基本参数及引脚功能144.5.4 1602LCD 的指令说明及时序154.6 温度补偿模块164.6.1 DS18B20的主要特征164.6.2 DS18B20引脚功能174.6.3 DS18B20工作原理及应用174.6.4 DS18B20时序图174.7 硬件设计原理图20第五章 软件程序设计225.1 语言介绍225.2 程序流程图225.3 智能数字滤波225.4 C语言程序23第六章 系统抗干扰性分析24第七章 总结25致谢28参考文献27附录29第一章 压力传感器1.1 压力传感器的概述根据我国国家标准对传感器的定义,对于压力传感器,我们可以给出定义:能够感受规定的被测量(压力信号)并按照一定规律转换成可用输出信号的器件或装置。压力传感器一般由敏感元件、转换元件、基本转换电路三部分组成。组成框图如图1-1所示。被测压力敏感元件 转换元件 基本转换电路电信号图1-1 压力传感器组成框图1.2 压力传感器的类型压力传感器通常的分类标准是按工作原理分类,分为:电容式压力传感器、压阻式压力传感器、压电式压力传感器、电感式压力传感器、智能式压力传感器等。还有一种分类方式是按压力传感器所使用的材料分类:半导体压力传感器、光学压力传感器、金属压力传感器、金属-氧化物压力传感器等。现在应用最广泛的一种压力传感器是压阻式压力传感器。它是利用的原理时压阻效应,并采用微电子技术制成。这种压力传感器准确度高、动态响应好、灵敏度高、集成化程度高并易于微型化,因此得到广泛的应用,得到迅速发展,属于新的物性型传感器。1.3 压力传感器的结构特点本课题采用差压式电容传感器作为敏感元件。电容式压力传感器结构简单,价格便宜,灵敏度高,零磁滞,真空兼容,过载能力强,动态响应特性好和对高温、辐射、强振等恶劣条件的适应性强等,在恶劣的环境下对测量静态或低频变化的压力有比较好的优势。1.4 传统压力传感器的局限性传统的压力传感器往往在性能和成本上不能两全其美,为了提高性能,就要有居高不下的成本,因为制作材料必须品种多,性能高,制作过程要求非常严格,寸偏大,但是时间相应特性不高;2、系统非线性导致随时间漂移;3、环境变化很容易影响到参数的变换;4、器件信噪比不高,是传感器容易受到噪声的干扰致使结果不稳定;5、交叉灵敏度的存在导致传感器的选择性和分辨率都不高。这些因素就造成了传统压力传感器可靠性差、精确度低、性能不稳定等缺点,也注定了传统压力传感器必将被更高级的智能化压力传感器所取代。第二章 智能压力传感器2.1 智能压力传感器的结构智能传感器主要是指利用集成电路工艺和微机械技术将敏感元件与功能强大的电子线路集成在同一芯片上,具有信号提取、信号处理、逻辑判断、决策、自检、自诊断和计算等功能。和经典传感器相比,智能传感器具有体积小、成本低、功耗小、速度快、精度高以及功能强等优点。智能压力传感器的结构如图2-1所示,其中作为作为“大脑”的微型计算机,可以是单片机,也可也是微型计算机系统。 被测压力传感器预处理及接口微型机输出接口模拟信号数字化输出接口信息处理及校正软件显示和记录D/A转换驱动电路 图2-1 智能压力传感器的结构框图2.2 智能压力传感器的功能具有逻辑判断、统计处理功能:可对检测数据进行分析、统计和修正,还可进行线性、非线性、温度、噪声、响应时间、交叉感应以及缓慢漂移等的误差补偿,提高了测量准确度。具有自诊断、自校准功能:可在接通电源时进行开机自检,可在工作中进行运行自检,并可实时自行诊断测试以确定哪一组件有故障,提高了工作可靠性。具有自适应、自调整功能:可根据待测物理量的数值大小及变化情况自动选择检测量程和测量方式,提高了检测适用性。具有组态功能:可实现多传感器、多参数的复合测量,扩大了检测与使用范围。具有记忆、存储功能:可进行检测数据的随时存取,加快了信息的处理速度。具有数据通讯功能:智能化传感器具有数据通讯接口,能与计算机直接联机,相互交换信息,提高了信息处理的质量。2.3 智能压力传感器的特点与传统传感器相比,智能压力传感器的特点是:高的性能价格比:由于智能压力传感器的种种优点都是通过调试微处理器和计算机之间的配合达到的,所以在工艺本身不会追求过多,可以采用廉价的集成电路、芯片加上调试软件实现,从而性能价格比自然会高与传统的压力传感器。适应能力强:系统在进行分析、判断和处理信号时,可以根据工作状况决定各个部分的供电和上极位传输速率,能够是系统功耗最低,传送率最优,并具有多种动能自动补偿。精度高:智能压力传感器的自校准、自选量程、自动补偿和自动修正各类误差等功能保证了它的高精确度,通过系统软件达到这些功能,相比以前依靠硬件解决的方式来说方便和容易实现很多。量程宽:智能压力传感器的测量范围很宽,具有很强的过载能力。集中控制:由于微处理器控制整个系统,自身的控制和数字处理能力都很强大,所以智能压力传感器通过软件程序充分利用微处理器,使系统的多种功能和优点充分发挥,从而实现了集中的控制方式。2.4 智能压力传感器的应用与发展智能压力传感器主要应用于检测流体或固体的压力并进行信号远距离传输。它是工业实践中最为常用的一种传感器,常常作为一种自动化控制的前端元件,因此其广泛应用于各种工业自控环境,包括石油化工、造纸、水处理、电力、船舶、机床和公用设备等行业。目前,传感器的发展主要集中在集成化和智能化两个方面。传感器的集成化是指将多个功能相同或不同的敏感器件制作在同一个芯片上构成传感器阵列。传感器的智能化是将传感器与信号处理电路和控制电路集成在同一芯片上。系统能够通过电路进行信号提取和信号处理,根据具体情况自主地对整个传感器系统进行自检、自校准和自诊断,并能根据待测物理量的大学及变化情况自动选择量程和测量工作方式。本次论文的主要工作是在现在研究基础上,设计出具有体积小、成本低、寿命长、量程范围大、反应速度快、智能化程度高的智能压力传感器。第三章 系统结构设计3.1 传感器系统总体结构设计本次课题将采用差动式电容传感器作为系统前端,A/D转换模块采用ADC0809芯片进行实现模数转换,微处理器采用单片机89C52,显示器采用LCD1602进行显示,本次课题总体设计方框图如图3-1所示 信号调理电路ADC0809单片机89C52LCD1602被测压力模拟电压信号送显示差动式传感器电容值数字信号图3-1 总体方案设计图3.2 系统的特点本次课题设计的智能压力传感器结构简单,造价便宜,采用特定的信号调理电路,利用单片机和A/ D、D/ A转换器自动调节信号Uc1和Uc2,采用负反馈技术,实现了对偏差电容的自动补偿,并且采用差动测量方式以消除寄生电容、热零点漂移、共模干扰和其它环境因素的影响,使电路具有很强的抗干扰能力。具有自动报警功能,本次设计电路图中加了一个发光二极管,若所施加压力超出压力传感器的正常承受范围,发光二极管将会自动点亮,以保护传感器安全。报警系统用软件实现。第四章 硬件设计本次课程设计的硬件共分为前端传感器、信号调理电路、A/D转换、微处理器和显示部分这五个模块组成,下面将一一对这五个模块做出详细的介绍。4.1 前端传感器模块从经济、测量精度、稳定性以及对人体无害等因素,本课题采用陶瓷电容作为传感器材料,且采用圆柱差动变面积式电容位移传感器,如图4-1所示。图4-1 圆柱差动变面积式电容位移传感器圆柱电容的计算公式为:C = .其中,X为内外电极重叠部分长度;D、d分别为外电极内径与内电极外径。当重叠部分长度X发生变化时,电容的变化量为: = - = .灵敏度为: K= .传感器由两组定片和一组动片组成。当动片上、下改变位置时,与两组定片之间重叠面积发生相应变化,成为差动电容。将上层定片与动片行形成的电容记为,下层定片与动片形成的电容记为。4.2 信号调理电路模块测量差动电容变化量的电路原理图如图4-2所示。图4-2 信号调理电路图电路的结构对称,两边都以相同的方式工作,只对其中的一边进行分析。一正弦电压Us用于激励电路,其频率为f (Hz) ,幅值为A(V) 。被测传感器电容器C1的一个极板与电压源相连,另一极板与电流检测器A1的输入端相连。电压信号也作为乘法器M的一个输入端,M的另一个输入端与控制信号Uc1相连 。乘法器的输出电压信号为K1Us,系数K1 = Uc1/ 10。电流 Im和I1之和被放大器A1转换成电压信号UA1, 经放大器A2 后, 输出电压信号Uo1。Us =Asint . ; 式中C1 =C10 +C1, C10为C1的初始值,C1为变化量。同理, Uo2有类似的表达式。Uo1和Uo2同时输入差动放大器A3,其增益为Hi,得到输出电压信号Uo为Uo = Uo1- Uo2 (1)假设C10 = C20,C1 =C2 =C, K1 =K2,则式(1) 可以简化为Uo= 2Hi RfCR1Asin(t +/2) / R2.将Uo输入相敏检波器PSD中,输出直流电压信号Ud为Ud = 8Hi R1RfAC/R2 (2)式中,系数4/可由相敏检波器PSD对输入信号的整流和放大作用得出。由式(2) 可见, Ud与被测电容的变化量C成线性关系。因此,利用AD转换器将Ud转换成数字量,再经过单片机进行数据处理,即可实现对差动电容传感器电容变化量的测量。根据式(2) 有下式式中C为最小可测电容变化量;Ud为Ud 测量分辨力;VADC为AD转换器的工作电压范围; n为AD转换器的转换位数。电容测量分辨力理论上主要取决于输出电压的测量分辨力。可以通过提高输出电压的测量分辨力来提高电容的测量分辨力。所提出的测量电路可以实现对偏差电容的自动补偿,原理如图4-3所示。移相器90°相敏检波器A/D转换器单片机UsUrUdUc1图4-3 自动补偿原理框图电压信号Uo1 和参考信号Ur 分别为相敏检波器PSD1的两个输入,输出信号Ud1 可以表示为Ud1 = 4Hi Rf (C1 + K1Cm) R1A/R2=4Hi Rf (C10 +C1 +Uc1 Cm/10) R1A/R2. (3)根据式(3) ,有下式Ud1(Uc1) = 2Hi Rf Cm R1A/5R2.因此,利用信号Uc1可以对电容器C1的固定值C10 进行补偿,则在理论上, Ud1 可表示为Ud1= 4 Hi Rf R1AC1/5R2. (4)利用单片机控制A/ D和D/ A转换单元对Ud1进行转换,并通过负反馈的方式将信号Uc1 加到乘法器M的一个输入端,便可实现对偏差电容的自动补偿。令电压Us 的幅值A =0. 5V,频率f =1.0k Hz, Cm =100p F, Rf =47k,R1 = R2 =1k,运算放大器为TL 071,相敏检波器为AD630,乘法器为MC1495, 差动放大器为INA102( Hi =100) ,8位的AD/ DA转换器工作电压为±5V。在当压力传感器所受压力处于0100KPa时,通过对差动式电容应变力的设计,使得C处于06.65F上下限范围内。根据式(4)可知,AD转换器接收的电压范围为05V。4.3 A/D转换模块本次课题选择ADC0809作为模数转换芯片。ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。4.3.1 ADC0809的内部逻辑结构 由图4-4可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。图4-4 ADC0809内部结构4.3.2 ADC0809引脚结构 ADC0809各脚功能如下:D7-D0:8位数字量输出引脚。IN0-IN7:8位模拟量输入引脚。VCC:+5V工作电压。GND:地。REF(+):参考电压正端。REF(-):参考电压负端。START:A/D转换启动信号输入端。ALE:地址锁存允许信号输入端。(以上两种信号用于启动A/D转换).EOC:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。OE:输出允许控制端,用以打开三态数据输出锁存器。CLK:时钟信号输入端(一般为500KHz)。A、B、C:地址输入线。图4-5 ADC0809引脚图ADC0809对输入模拟量要求:信号单极性,电压范围是05V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。 地址输入和控制线:4条 ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进入转换器进行转换。A,B和C为地址输入线,用于选通IN0IN7上的一路模拟量输入。通道选择表如下表所示。表4-1 ADC0809通道选择CBA选择的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7数字量输出及控制线:11条 ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE1,输出转换得到的数据;OE0,输出数据线呈高阻状态。D7D0为数字量输出线。 CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ, VREF(),VREF()为参考电压输入。 4.3.3 ADC0809应用说明 (1) ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。 (2) 初始化时,使ST和OE信号全为低电平。 (3) 送要转换的哪一通道的地址到A,B,C端口上。 (4) 在ST端给出一个至少有100ns宽的正脉冲信号。 (5) 是否转换完毕,我们根据EOC信号来判断。 (6) 当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。 4.4 微处理器本次课题采用单片机STC89C52作为处理芯片,STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。单片机STC89C52引脚图如下。图4-6 单片机STC89C52引脚图4.5 显示模块4.5.1 LCD1602的优点本次课题的显示模块采用LCD1602液晶显示屏进行显示。选择LCD1602进行显示具有如下优点:显示质量高:由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度, 恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。数字式接口液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。体积小、重量轻:液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。功耗低:相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动 IC上,因而耗电量比其它显示器要少得多。4.5.2 1602 字符型 LCD 简介字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式 LCD,目前常用 16*1, 16*2,20*2 和 40*2 行等的模块。下面以长沙太阳人电子有限公司的 1602 字符型液晶显示器为例介绍其用法。一般 1602 字符型液晶显示器实物如图4-7图4-7 LCD1602实物图4.5.3 1602LCD 的基本参数及引脚功能 1602LCD 主要技术参数:显示容量:16×2 个字符;芯片工作电压:4.55.5V ;工作电流:2.0mA(5.0V) ;模块最佳工作电压:5.0V ;字符尺寸:2.95×4.35(W×H)mm。 引脚功能说明1602LCD的引脚图如图4-8所示。图4-8 1602LCD的引脚图1602采用标准的16脚接口,其中:第 1 脚:VSS 为地电源。第 2 脚:VDD 接 5V 正电源。 第 3 脚:VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个 10K 的电位器调整对比度。第 4 脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第 5 脚:R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。当 RS 和 R/W 共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 R/W 为高电平时可以读忙信号,当 RS 为高电平 R/W 为低电平时可以写入数据。第 6 脚:E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。第 714 脚:D0D7 为 8 位双向数据线。第 15 脚:背光源正极。 第 16 脚:背光源负极。4.5.4 1602LCD 的指令说明及时序 1602 液晶模块内部的控制器共有 11 条控制指令,如表4-2所示表4-2 1602LCD控制指令表 1602LCD基本操作时序图图4-9 读操作时序图图4-10 写操作时序图4.6 温度补偿模块课程设计采用DS18B20芯片进行温度的采集,并实现温度补偿。以20为标准温度,实际温度每高一度压力值补偿0.01KPa,每低一度压力值减小0.01KPa。4.6.1 DS18B20的主要特征1、 全数字温度转换及输出。2 、先进的单总线数据通信。3 、最高12位分辨率,精度可达土0.5摄氏度。4 、12位分辨率时的最大工作周期为750毫秒。5 、可选择寄生工作方式。6 、检测温度范围为55°C +125°C (67°F +257°F)7、 内置EEPROM,限温报警功能。8 、64位光刻ROM,内置产品序列号,方便多机挂接。9 、多样封装形式,适应不同硬件系统。4.6.2 DS18B20引脚功能GND 电压地 DQ 单数据总线 VDD 电源电压 4.6.3 DS18B20工作原理及应用DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作流程之前我们有必要了解18B20的内部存储器资源。18B20共有三种形态的存储器资源,它们分别是:ROM 只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。数据在出产时设置不由用户更改。DS18B20共64位ROM。RAM 数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。在上电复位时其值将被刷新。第5个字节则是用户第3个EEPROM的镜像。第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第9个字节为前8个字节的CRC码。EEPROM 非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。4.6.4 DS18B20时序图图4-11 控制器对DS18B20操作流程1、 复位:首先我们必须对DS18B20芯片进行复位,复位就是由控制器(单片机)给DS18B20单总线至少480uS的低电平信号。当18B20接到此复位信号后则会在1560uS后回发一个芯片的存在脉冲。2、 存在脉冲:在复位电平结束之后,控制器应该将数据单总线拉高,以便于在1560uS后接收存在脉冲,存在脉冲为一个60240uS的低电平信号。至此,通信双方已经达成了基本的协议,接下来将会是控制器与18B20间的数据通信。如果复位低电平的时间不足或是单总线的电路断路都不会接到存在脉冲,在设计时要注意意外情况的处理。3、 控制器发送ROM指令:双方打完了招呼之后最要将进行交流了,ROM指令共有5条,每一个工作周期只能发一条,ROM指令分别是读ROM数据、指定匹配芯片、跳跃ROM、芯片搜索、报警芯片搜索。ROM指令为8位长度,功能是对片内的64位光刻ROM进行操作。其主要目的是为了分辨一条总线上挂接的多个器件并作处理。诚然,单总线上可以同时挂接多个器件,并通过每个器件上所独有的ID号来区别,一般只挂接单个18B20芯片时可以跳过ROM指令(注意:此处指的跳过ROM指令并非不发送ROM指令,而是用特有的一条“跳过指令”)。ROM指令在下文有详细的介绍。4、控制器发送存储器操作指令:在ROM指令发送给18B20之后,紧接着(不间断)就是发送存储器操作指令了。操作指令同样为8位,共6条,存储器操作指令分别是写RAM数据、读RAM数据、将RAM数据复制到EEPROM、温度转换、将EEPROM中的报警值复制到RAM、工作方式切换。存储器操作指令的功能是命令18B20作什么样的工作,是芯片控制的关键。5、 执行或数据读写:一个存储器操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。如执行温度转换指令则控制器(单片机)必须等待18B20执行其指令,一般转换时间为500uS。如执行数据读写指令则需要严格遵循18B20的读写时序来操作。若要读出当前的温度数据我们需要执行两次工作周期,第一个周期为复位、跳过ROM指令、执行温度转换存储器操作指令、等待500uS温度转换时间。紧接着执行第二个周期为复位、跳过ROM指令、执行读RAM的存储器操作指令、读数据(最多为9个字节,中途可停止,只读简单温度值则读前2个字节即可)。图4-12 DS18B2写时序图写时间隙分为写“0”和写“1”,时序如图4-12。在写数据时间隙的前15uS总线需要是被控制器拉置低电平,而后则将是芯片对总线数据的采样时间,采样时间在1560uS,采样时间内如果控制器将总线拉高则表示写“1”,如果控制器将总线拉低则表示写“0”。每一位的发送都应该有一个至少15uS的低电平起始位,随后的数据“0”或“1”应该在45uS内完成。整个位的发送时间应该保持在60120uS,否则不能保证通信的正常。图4-13 DS18B20读时序图读时间隙时控制时的采样时间应该更加的精确才行,读时间隙时也是必须先由主机产生至少1uS的低电平,表示读时间的起始。随后在总线被释放后的15uS中DS18B20会发送内部数据位,这时控制如果发现总线为高电平表示读出“1”,如果总线为低电平则表示读出数据“0”。每一位的读取之前都由控制器加一个起始信号。注意:如图4-13所示,必须在读间隙开始的15uS内读取数据位才可以保证通信的正确。4.7 硬件设计原理图本次课程设计采用protel软件原理图的绘制。原理图中, LCD1602与单片机P0口相连,因本次设计只需让LCD1602从52单片机中读取数据,因此将它的R/W引脚电平拉低,直接与地相连。如图4-14所示。图4-14 硬件电路原理图本次课程设计采用protues仿真软件对原理图进行仿真。图中,采用滑动变阻器代替传感器出入信号进行信号的采集。如图4-15所示。图4-15 硬件电路仿真图第五章 软件程序设计5.1 语言介绍本次设计采用C语言进行编程,C语言的特点是:简洁紧凑、灵活方便;运算符丰富;数据类型丰富;C是结构式语言:结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。 允许直接访问物理地址,对硬件进行操作:由于C语言能够直接访问物理地址,并且可以直接操作硬件,因此它既具有高级语言的功能,又具有低级语言的许多功能,C语言可以像汇编语言一样,对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可用来写系统软件。使用Keil软件进行程序的编译。5.2 程序流程图如图所示结果数据转换数字滤波读A/D转换系统初始化开始温度数据读取压力显示温度补偿结果数据转换电流输出图5-1 程序流程图5.3 智能数字滤波经硬件抗干扰措施后,大部分干扰已经被消除,但在模拟信号中还残存有少量的噪声干扰,经AD转换后输入微控制器的数字量也相应地受到干扰,影响测量的准确性,因此需要用软件进行数字滤波,去除干扰。数字滤波常用的方法有算术平均滤波、去极值平均滤波、加权平均滤波和滑动平均滤波等,为了提高滤波的效果,尽量减少噪声数据对结果的影响,本系统采用复合滤波的方法。所谓的复合滤波指采用两种或两种以上不同功能的滤波方法,达到相互补充、改善滤波效果的目的。加权均值滤波是对一个采样序列进行处理得出个结果数据,如果样本数据较大时,数据采样时间较长将造成结果数据的实际采样周期过长。不能满足实时性的要求。为了弥补加权均值滤波这一缺点,在程序设计中我们采用把滑动滤波和加权平均滤波结合起来组成复合滤波的方法。对不同时刻的数据加以不同的权,越接近时刻的数据,取得的权越大。这里我们取3组数据,将第一个数值的权值设置为1/9,第二个数值的权值设置为3/9,第三个数值的权值设置为5/9。由于这种滤波方法兼容了加权平均滤波算法和滑动滤波算法的优点,所以无论对缓慢变化的信号,还是对快速变化的信号,都能取得较好的滤波