基于MSP430单片机的温度监控系统设计说明

上传人:无*** 文档编号:102007845 上传时间:2022-06-06 格式:DOC 页数:79 大小:1.87MB
收藏 版权申诉 举报 下载
基于MSP430单片机的温度监控系统设计说明_第1页
第1页 / 共79页
基于MSP430单片机的温度监控系统设计说明_第2页
第2页 / 共79页
基于MSP430单片机的温度监控系统设计说明_第3页
第3页 / 共79页
资源描述:

《基于MSP430单片机的温度监控系统设计说明》由会员分享,可在线阅读,更多相关《基于MSP430单片机的温度监控系统设计说明(79页珍藏版)》请在装配图网上搜索。

1、摘要当前,温度控制系统被广泛应用于生活的很多方面,它与人们的日常生活、工作和学习息息相关。如何设计制作一个性能良好的温度监控系统,实现温度的精确、实时监控成为设计该系统的主要问题。随着我国电子技术的不断提高,以单片机为核心处理器,温度传感器为远端设备构成的温度监控系统逐渐成为时下的主流设计。论文介绍了温度控制系统的研究背景和研究意义,国外发展状况,超低功耗系列单片机MSP430,单总线数字温度传感器DS18B20等器件以及设计所需的相关软件的使用。在此基础上,对系统进行设计、编程和调试,并绘制了系统的电路原理图和印制板图。该温度监控系统具有监控多点温度,并将其循环显示,利用按键实现某一点的选择

2、显示,从而实现多点温度的实时监控的功能。关键词:超低功耗单片机,单总线温度传感器,JTAG仿真ABSTRACTCurrently,The temperature control system is widely used in our daily life and closely linked with our work and study.How to design and make a temper -ature control system which has the characters ofhighperformance,accurate measurement,real time

3、monitoring is still a main problem. As with the high de-velopment of the electronic technique in our country,the temperature control system used the microcontroller as the centre and thermal sensor as the far-end equipment is becoming the main trend.In this paper,it introduces the research backgroun

4、d and the significance of the temperature control system,the situation at home and abroad. the MSP430 series MCU which is widely used now ,the digital thermal sensor,DS18B20 and so on. At that basis , we design, programe and debug it, draw the SCH and PCB about it in the Protel. It can monitor the t

5、emperature ofmulti-points and choose one to display in the LCD by pressing the key,which leads to realizing the meal time monitoring of the temperature of these points. Keywords:Ultralow-Power microcontroller,the one-wire digital thermal sensor, JTAG simulation75 / 79目录1 绪论11.1研究背景和意义11.2 国外动向21.3 课

6、题的主要研究容52 系统方案设计62.1 MSP430系列单片机62.2 DS18B20数字温度传感器112.3 DS1302日历时钟芯片172.4 OCMJ4x8B液晶显示模块202.5 键盘232.6 JTAG仿真和IAR Workbench252.7 结语293 系统电路及软件实现303.1系统设计框图及功能实现303.2单元电路原理图313.3 系统程序设计353.4结语434 总结与展望44参考文献46致48附录49附录1 外文文献49附录2 温度监控系统C语言程序61附录3 电路原理图和印制板图691 绪论1.1研究背景和意义在人们的日常生活、工业制造、制冷等领域,温度作为当前环境

7、的重要因素之一,被人们广泛的作为参考因素来使用,从而保证各项工作的正常运行,如火灾报警、温室或粮仓中温度的实时监测、冷库温度的调节等,因此以温度参数为基础而设计的温度控制系统被广泛开发和使用。使用传统意义上的温度计采集温度信息,不但采集精度低,实时性差,而且操作人员的劳动强度高,不利于广泛的推广。此外由于环境因素导致的数据难以采集的问题,特别是在工厂,火灾等的现场,工作人员不能长时间停留在现场观察和采集温度,就需要实现能够将数据采集并将其传送到一个地方集中进行处理,以节省人力,提高效率,但这样就会出现数据传输的问题,由于厂房大、需要传输数据多,使用传统方法容易造成资源浪费而且可操作性差,精度不

8、高,这都在不同程度上限制了工作的进行和展开。因此,高精度,低成本,实时性好的温度控制系统亟待人们去开发。市场决定技术,技术引导产品的开发,在这样的环境下,与温度控制相关的电子类产品的开发成为当今的研究热点。随着单片机技术的日益成熟,应用围的逐渐扩大,以单片机为核心的控制系统,逐渐应用到生活中的很多方面,这不仅克服了温度控制系统中存在的严重时延,节省了人力,提高了采样频率,而且在很大程度上提高了控制效果和控制精度。以往的温度检测系统所使用的单片机,管脚少,功能少,功耗大,虽经数十年发展,仍不能满足现在的市场需要。自1996年TI公司推出的16位、具有超低功耗和丰富的片上外围模块的MSP430系列

9、单片机以来,该系列单片机就以其低功耗特性被广泛应用于医疗、电子仪表以及消费类电子等产品中。MSP430系列单片机支持采用汇编语言和C语言进行开发,该系列单片机集成了较丰富的片外设备,方便高效的开发环境,适应工业级运行环境。与目前广泛使用的89C51单片机相比,具有指令少,超低功耗,运算速度快等优点,因而在许多领域特别是要求超低功耗的领域得到了广泛应用1。进入21世纪后,温度检测系统已逐步走向复合型和智能化,温度作为其中的重要参数,其测量的准确性对提高正确性是很重要的,研究和设计高性能的温度控制系统具有非常重要的意义,而其中最重要的器件就是温度传感器,它的性能也直接影响到了采集的温度数据的精度和

10、时效性。现如今,智能温度传感器正迅速朝着高精度、高可靠性及安全性等高科技的方向发展,提高温度传感器测温精度和分辨力,增加传感器测试功能,提高总线技术的标准化与规化,增强可靠性及安全性设计,虚拟温度传感器和网络温度控制器的设计成为当前要解决的主要问题。由美国Dallas公司生产的DS18B20温度传感器具有单总线,两种工作模式,能够直接读出被测温度等特点,特别是它的单总线设计,使得系统结构简单,可以节省单片机的I/O接口的开销,多个传感器可共用一个接口而不会产生干扰;虽然软件设计复杂,但通过软件的设计,可以提高可靠性,增强抗干扰能力,适合于恶劣的环境,共地模式2使得它耗电量小,支持串行数据传输,

11、传输距离远;温度测量围广,精度高,可根据实际情况实现精度的变换,因而成为目前各类有关温度采集工作的首选23。1.2 国外动向温度控制,在工业自动化控制中占有非常重要的地位,单片机系统的开发应用给现代工业测控领域带来了一次新的技术革命。随着科学技术的迅猛发展,各个领域对自动控制系统控制精度、响应速度、系统稳定性与自适应能力的要求越来越高,被控对象或过程的非线性、时变性、多参数点的强烈耦合、较大的随机扰动、各种不确定性以及现场测试手段不完善等,使得难以按数学方法建立被控对象的精确模型得以解决。随着电子技术的日趋成熟,电子类产品的开发成为当今的研究热点。电子技术以及应用需求的发展使得单片机技术也得到

12、了迅速的发展,在高集成度,高速度,低功耗以及高性能方面取得了很大的进展。以单片机为核心的的控制系统被广泛使用,现代自动控制越来越朝着自动化、智能化发展,在很多自动控制系统中都用到了工控机、小型机、甚至是巨型处理机。然而其运行速度快,存需求大,数据存储器容量大的要求使得它的开发维护成本很高,在很多的小型系统中,用成本低廉的单片机控制小型的,不需要大量复杂运算的系统是非常合适的。伴随着科学技术的发展,电子技术有了更高的飞跃,我们现在完全可以运用单片机和温度传感器对某处进行温度检测,而且可以很容易地做到多点的温度检测,并实现多路温度数据的循环显示和指定某一路温度的显示。MSP430 系列单片机是美国

13、仪器推向市场的一个16位、具有精简指令集、超低功耗的混合型单片机,自1996年问世,由于它的各项优点,成为许多电子产品设计的不二选择,超低功耗不仅延长了设备电池的使用时间,降低了企业成本,同时开辟了全新的服务,为消费者带来丰富的节能选择。此外,TI计量设备还包括针对水气表计量应用的器件,以及针对自动仪表读取的电力线通信与射频接口,在医疗方面研制开发了许多便携医疗设备与无线射频系统 1。不仅如此,随着信息时代的到来,传感器技术得到了显著的提高,应用领域越来越广泛,对其要求也越来越高,需求越来越迫切。传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。由于传感器能将各种信号转变为电信号,使

14、得人们可以利用计算机实现自动测量、信息处理和自动控制等操作,但是它们都不同程度的存在温漂和非线性等不足,因此,不仅必须掌握各类传感器的结构、原理及其性能指标,还必须懂得传感器只有经过适当的接口电路调整才能满足信号的处理、显示和控制要求,而且只有通过对传感器应用实例的原理和智能传感器实例的分析了解,才能将传感器与信息通信和信息处理结合起来,才能适应传感器的生产、研制、开发和应用;另一方面,传感器的被测信号来自于各个应用领域,每个领域都在为了改革生产力、提高功效,开发研制适合应用的传感器,于是种类繁多的新型传感器及传感器系统不断涌现。温度传感器是其中重要的一类传感器,发展速度快,应用围广,并且具有

15、很大潜力。单总线数字温度传感器DS18B20由美国DALLAS公司生产,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域;两种驱动模式的设计使得它的耗电量可以很小,串行传输数据,传输距离远;温度测量围广,精度高,可根据实际情况实现精度的变换。DS1302是DALLAS公司推出的涓流充电时钟芯片,含有一个时钟/日历电路和31字节的静态RAM,实时时钟/日历电路能提供秒、分、时、日、日期、月、年的信息,每月的天数和闰年的天数可根据实际情况自动调整,时钟操作可通过AM/PM指示决定采用24或12小时格式。该芯片与单片机之间能简单地采用同步串行的方式进行通信,仅需

16、用到RES、I/O、SCLK三个接口,时钟RAM 的读/写数据以一个字节或多达31个字节的字符组方式通信,保持数据和时钟信息时功率小于1mw4,方便了温度的实时监控和记录,提高了系统的实用性。除此以外,显示技术的提高,键盘控制方式的多样化也使我们选择的余地增多。与LED显示相比,LCD液晶显示器分为点阵式和段码式两种,它具有显示质量高,可视面积大,应用围广,画面效果好,接口数字化,功耗低等优点,因而在电视机、电脑工厂显示等领域被广泛使用。矩阵式键盘的编程和识别相对较复杂,但在键盘中按键数量较多时可以减少I/O口的占用,节省单片机接口资源,因而被广泛使用。1.3 课题的主要研究容本课题通过对超低

17、功耗系列单片机MSP430,单总线数字温度温度传感器DS18B20,日历/时钟芯片DS1302,液晶显示模块OCMJ4x8B等的介绍,达到熟练掌握器件的性能、功能及使用方法,应用C语言设计编程实现一个多点温度循环监控系统,实现温度数据的循环显示和指定某一路温度的显示,并用Protel绘制电路原理图和印制板图,完成JTAG仿真。2 系统方案设计根据本次设计的目的,我们对该温度检测系统所需的元器件进行比较和选型,重点介绍了超低功耗单片机MSP430F449,单总线数字温度传感器DS18B20,日历/时钟芯片DS1302,液晶显示模块OCMJ4x8B,JTAGA仿真等的基础知识,了解所选元器件及相关

18、软件的优点及使用方法。2.1 MSP430系列单片机2.1.1 MSP430系列单片机简介MSP430系列单片机是美国仪器推向市场的一个16位、具有精简指令集、超低功耗的混合型单片机,自1996年问世,由于它具有极低的功耗、丰富的片外设备和方便灵活的开发手段,成为许多电子产品设计的首选,1999年进入中国就受到了中国广大设计工程师的青睐。目前,该系列单片机不仅在电子工程、测控技术与仪器、自动控制、机电一体化等方面得到广泛应用,而且逐渐走进校园,被越来越多的使用在硕士研究生和高年级本科生的科技实践和毕业设计中,在20XX暑期全国大学生电子设计竞赛中就选用了该系列的单片机5。MSP430系列单片机

19、的型号很多,TI公司用3或4位数字表示单片机型号,其中一位数字表示一个系列。目前有四大系列:带有液晶驱动的MSP430F4xx系列单片机、不带液晶驱动器的MSP430F1xx系列单片机、16MIPS高速MSP430F2xx系列单片机、一次性写入OTP型低价MSP430C系列单片机,每个系列中又含有许多子系列。单片机型号的第二位数字表示子系列号,一般子系列号越大包含的功能模块越多,最后一或两位数字表示存储器容量,数字越大表示ROM和RAM的容量越大。此外,MSP430系列单片机还针对许多热门应用设计了一系列专用单片机,如水表专用单片机、医疗仪器专用单片机,电能计量专用单片机,这些单片机都是在相同

20、型号的通用单片机的基础上增加专用模块构成的5。MSP430F449单片机的主要性能有:l 低供电电压围:1.8V-3.6V及欠电压检测器l 超低功耗,具有五种省电模式:活动模式:1MHz,2.2V时为280uA;等待模式:1.6uA;关闭模式RAM保持:0.1uAl 数字控制的振荡器DCO可以在6us将CPU从休眠中唤醒,这也是实现低功耗的重要手段之一l 16位精简指令结构,125ns指令时间周期,10个16位的寄存器以及常数发生器,能够最大限度的提高代码的效率l 具有部参考电平,采样保持和自动扫描的12位A/D转换器l 带有三个或七个捕捉/比较影子寄存器的16位定时器Bl 带有三个捕捉/比较

21、寄存器的16位定时器Al 串行通讯接口USART,软件选择异步UART或者同步SPI接口,对于MSP430F44x系列的单片机有两个UARTUART0,UART1l 可编程电平检测的供电电压管理器/监视器l 串行在线编程无需外部编程电压,可编程的安全熔丝代码保护l 集成多达160段的LCD驱动器如图2.1所示为MSP430F449单片机的引脚图。该单片机共有100个引脚,大部分引脚是复用的,最多有三种功能模块复用在一个引脚上,主要包括:6个8位的I/O口:P1-P6且P1、P2口具有中断功能;JTAG仿真接口;一个8+4通道的12位A/D转换器外部8个,部4个;两个串行通讯模块USART0/1

22、,每个都可用软件选择UAST/SPI模式;一个高精度的比较器A,配合其它器件可构成单斜边A/D转换器;具有4个COM端的液晶驱动;液晶接口S0-S3134。图2.1 MSP430单片机引脚图2.1.2 MSP430系列单片机超低功耗的原理及实现MSP430单片机超低功耗的关键是应用其时钟系统,最大化低功耗模式的工作时间,典型的LMP3电流消耗少于2A,32kHz晶振用于ACLK的时钟,DCO用于CPU激活后的突发短暂运行1。MSP430系列单片机的基本时钟系统操作模式如表2.1所示。运行模式要考虑到三个不同的需求:低功耗、速度和数据的吞吐量;单个外围设备电流消耗的最小限度。在状态寄存器中,用C

23、PU Off、OSC Off、SCG0 和SCG1位配置低功耗方式04,可以在中断服务程序中将当前工作状态保存在堆栈中。利用堆栈SR值,程序溢出能返回到不同的工作状态。模式控制位和堆栈能被任何指令访问。当设置任一种模式的控制位时,被选择的工作状态立刻响应。如果时钟未被激活,用任何禁用时钟操作的外围JTAG口可以进行嵌入式仿真,不需要附加任何外围电路。表2.1 基本时钟系统操作模式控制位工作模式CPU状态、振荡器及时钟SCG1SCG0OSC OffCPU Off0000活动模式AMCPU、MCLK、SMCLK、ACLK均处于活动状态0001低功耗模式0LMP0CPU、MCLK禁止0101低功耗模

24、式1LMP1CPU、MCLK禁止,在活动模式,如果DCO为用作MCLK及SMCLK,则直接流发生器保持有效;ACLK活动1001低功耗模式2LMP2CPU、MCLK、SMCLK禁止,如果DCO为用作MCLK及SMCLK,则直接流发生器保持有效;ACLK活动1101低功耗模式3LMP3仅ACLK有效1111低功耗模式4LMP4CPU及所有时钟禁止MSP430系列单片机的低功耗主要是靠CPU进入休眠状态来实现的,能够将CPU从休眠状态唤醒的条件只有发生中断或复位。因此低功耗和中断之间的关系非常密切。MSP430单片机的所有的大部分功能模块均能够在不需要CPU干预的情况下独立工作且能引发中断,所以在

25、对MSP430进行编程时,软件的基本结构之一就是先向某工作模块发出工作指令,然后CPU休眠,等待模块操作完毕后产生中断,唤醒CPU继续下面的任务,从而将CPU运行的时间降到最少,功耗降到最低。不仅如此,单片机的SR寄存器保存着低功耗休眠标志位,如果中断发生前是休眠状态,那么从中断返回时CPU仍将是休眠状态。若想返回主程序时退出休眠,可通过一些软件手段在退出中断前修改堆栈的值。针对这一特殊操作,MSP430系列单片机提供了一个修改堆栈SR的函数:_low_power_mode_off_on_exit只要执行该操作,就可以在退出中断后唤醒CPU。定义中断的方式有两种:一种是:_interrupt

26、PORT1_VECTOR void PORT1这种方式比较常用;另一种是:#pragma function=interruptvoid PORT1#prama function=default与前者相比,后者的缺点是编译命令不能提供矢量选项。此外,MSP430的中断管理机制是把同类的中断合并成一个总中断源,根据需要由软件判断标志位来确定。如对于P1口的任何一个中断,程序都会执行P1口的中断服务子程序,在该程序中根据P1IFG标志位来判断具体是哪一个I/O口发生了中断,如本次系统设计程序中对于键值的判断15。MSP430单片机中有数百个寄存器,数千个控制位,通过这些寄存器可以配置各个模块的工作方

27、式、状态、连接参数等关系。如:P1DIR=0xff;/将P1口的I/O性质设置为输出不仅如此,还可以对寄存器的某位进行操作,如:P1DIR|=BIT0; /将P1.0置高电平P1DIR|=BIT0;/将P1.0置低电平P1DIR|=BIT0;/将P1.0取反注意:大部分寄存器在上电复位后会自动清零,初始化后各寄存器标志位的值可以用|=来赋值,一般不会影响到其他标志位的设置,但一定要保证被赋值的若干标志位在赋值之前为0,特别是使用快捷宏定义时,所以,为保证程序执行的正确性,一般在赋值前,先给寄存器送0。2.1.3 方案比较与选择本次系统设计的核心处理器有两种选择:一个是本科期间学习过的且目前被广

28、泛使用的89C51单片机,另一个就是上文所介绍的具有超低功耗特性的MSP430系列单片机。方案一:采用89C51单片机作为主控制器。89C51单片机的工作电压为5V,有两种低功耗模式:待机方式和掉电方式。但是正常情况下消耗的电流为24mA,在掉电状态下其耗电电流为3mA。即使在掉电状态下电源电压降到2V,但耗电电流仍达到50uA,功耗比较大。方案二:采用MSP430作为主控制器。由于其具有低电压、超低功耗、数据处理能力强大、片外资源丰富的特点,而且有16个中断源,可以嵌套使用,通过中断将CPU从低功耗模式下唤醒,所以可以编写出实时性很高的程序且实现系统低功耗的要求。由于在以后的设计和工作中在提

29、高设备性能的前提下对低功耗的要求更加迫切,MSP430则能够满足低功耗的要求,所以选择方案二。2.2 DS18B20数字温度传感器2.2.1 DS18B20简介 在传统的模拟信号远距离温度测量系统中,为达到较高的测量精度需要很好的解决引线误差补偿、多点测量切换误差及放大电路零点漂移误差等技术问题。另外一般监控现场的电磁环境都比较恶劣,模拟温度信号容易受到干扰而产生测量误差,影响测量精度,因此,在温度测量系统中,采用抗干扰能力强的新型数字温度传感器是解决这些问题的最有效方案。DS18B20数字温度传感器是美国Dallas公司继DS1820之后推出的增强型单总线温度传感器,它具有体积更小、精度更高

30、、适用电压更宽、可组网等优点,在实际应用中取得了良好的测温效果。与传统的热敏电阻相比,它具有可根据实际要求设置转换精度并直接将温度值转换为数字量独处的特点。由于采用单总线,而且每一个DSl8B20在出厂时已经给定了唯一的序号,因此任意多个DSl8B20可以在同一条单线总线上工作,从而实现多点组网功能,节约了成本,方便了设计。这一特性在HVAC环境控制、探测建筑物、仪器或机器的温度以及过程监测和控制等方面非常有用。DS18B20数字温度传感器的主要特性有:1适应电压围宽:3.0-5.5V,也可由数据线供电,零待机功耗;2单线接口方式,仅需一个端口就可以与CPU连接实现双向通讯;3可编程分辨率为9

31、12位,对应温度转换时间为93.75ms750ms,对应温度分辨率为0.5,0.25,0.125,0.0625,可实现高精度测温;4测温围-55+125,在-10+85测温精度为0.5;5具有温度报警功能,用户可根据需要设置报警上下限,设置的限值掉电后不丢失,测量结果直接输出数字温度信号,同时可传送CRC校验码;6支持多点组网功能,可应用与多点分布系统,多个DS18B20可挂在一条总线上,实现组网的多点测温。2.2.2 DS18B20部结构及功能DS18B20部结构主要由四部分组成64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。如图2.2所示,为DS18B20部结构

32、框图。暂存器温度传感器上限触发TH下限触发TL存储器和控制寄存器8位CRC暂存器64位ROM和单线端口电源探测二极管二极管图 2.2 DS18B20部结构框图如前所述,每只DS18B20都有一个唯一的长达64位的只读存储器号,该只读存储器号存放在DS18B20部的ROM中。其中,低8位为DS18B20单总线温度传感器的家族号;高8位为CRC循环冗余校验码,用以校正前56位是否正确;中间的48位是一个唯一的序列号。该64为只读存储器号常用于元器件的识别和匹配。表 2.2 DS18B20的64位ROM号MSB 64位ROM号 LSB8位校验码MSB LSB48位序列号MSB LSB8位家族号MSB

33、 LSB64位ROM和ROM操作控制区允许DS18B20作为单线制器件并按照单总线协议工作。只有建立了ROM操作协议,才能对DS18B20进行控制操作。单总线的所有ROM操作,都从一个初始化序列开始。此外,单总线控制器还提供了5个ROM操作命令和6个RAM操作指令。ROM操作命令:1) Read ROM 33h:该命令允许总线控制器读到DS18B20的ROM序列。进仅总线上存在单个器件时才能使用,否则会发生数据冲突。2) Match ROM 55h:匹配ROM命令,后跟64位ROM序列,此后所有操作都对该器件进行。3) Skip ROM CCh:此后的指令将对在线所有器件起作用。4) Sear

34、ch ROM F0h:允许总线控制器识别总线上的所有从机编码。5) Alarm Search ECh:响应最近一次测温遇到符合报警条件的情况。RAM操作指令:1) Write Scratchpad 4E:向DS18B20的暂存器中写入数据。2) Read Scratchpad BEh:读取暂存器的容。3) Copy Scratchpad 48h:这条命令把暂存器的容拷贝到DS18B20的E2存储器里,即把温度报警触发字节存入非易失性存储器里。4) Convert T 44h:启动一次温度转换而无需其他数据。5) B8h:把报警触发器里的值拷回暂存器,上电时自动执行。6) Read Power

35、Supply B4h:获取器件的电源模式:0=寄生电源,1=外部电源。存储器由一个暂存RAM和一个存储高低温报警触发值TH和TL的非易失性电可擦除E2RAM组成。当在单线总线上通讯时,暂存器帮助确保数据的完整性。数据先被写入暂存器,经过校验后,用一个拷贝暂存器命令把数据传到非易失性E2RAM中,这一过程确保更改存储器时数据的完整性。暂存器的结构为8个字节的存储器。头两个字节包含测得的温度信息,第三和第四字节是TH和TL的拷贝,每次上电复位时被刷新,下面两个字节没有使用,但是在读回数据时,它们全部表现为逻辑1,第七和第八字节是计数寄存器,它们可以被用来获得更高的温度分辨力,还有一个第九字节,可以

36、用读暂存器命令读出。这个字节是以上八个字节的CRC码。 图 2.3 DS18B20的管脚排列图DS18B20的管脚排列如图2.3所示。引脚定义如下:DQ为数字信号I/O端;GND为接地端;VDD为外接供电电源输入端,NC表示悬空。此外,DS18B20有两种供电方式,寄生电源供电和外部电源供电,这也就决定了它对外的连接方式。在寄生电源供电方式下,DS18B20从单线信号线上汲取能量:在信号线DQ处于高电平期间把能量储存在部电容里,在信号线处于低电平期间消耗电容上的电能,直到高电平到来再给寄生电源充电。这种供电方式具有远距离测温时无需本地电源、可以在没有常规电源的条件下读取ROM、电路简洁等优点,

37、但当多个温度传感器挂在同一根I/O线上进行多点测温时,容易出现供电不足而无法转换温度或温度误差过大的现象, 因此适宜于单点测温。特别是当温度高于100时,由于此时DS18B20表现出的漏电流比较大,通讯可能无法进行,因此应使用外部电源供电方式。在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,不存在电源电流不足的问题,可以保证转换精度,可以在总线上挂接多个DS18B20传感器,组成多点测温系统。外部电源供电方式是DS18B20的最佳工作方式,工作稳定可靠,即使VCC降到了3V时,依然能够保证温度测量精度;抗干扰能力强,而且电路比较简单,适用围广。如图2.4所示为DS18B20的两种

38、电源连接方式。图 2.4 DS18B20的两种电源连接方式当总线控制器不知道总线上的器件是何种供电方式时,总线控制器发出读电源命令,等待返回值。如果是寄生电源,则发回0,如果是VDD供电,则发回1,这样总线控制器就能决定是否有DS18B20需要强上拉。如果控制器接收到 0,则必须在温度转换期间给I/O线提供强上拉。当温度传感器DS18B20的转换精度设置为12时,它用12位存贮温度值,最高位为符号位。如表2.3DS18B20的温度存储方式所示:负温度S=1;正温度S=0。如:0550H为+85,0191H为25.0625,FC90H为-55。C表 2.3 DS18B20的温度存储方式bit7b

39、it6bit5bit4bit3bit2bit1bit0LSB BYTE232221202-12-22-32-4bit15bit14bit13bit12bit11bit10bit9bit8MSB BYTESSSSS262524DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中还需注意以下几个方面的问题。1 在对DS18B20进行编写程序时,必须严格保证读/写时序,否则将无法读取测量结果所有电压参考点为接地点,VDD低至3.4V时,温度转换精度2。2 在理论上单总线上可挂接任意多个DS18B20,但在实际应用时并非如此,当单总线上所挂DS18B20超过8个时

40、,就需要解决总线驱动问题;3连接DS18B20的总线电缆是有长度限制的,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当改为双绞线带屏蔽电缆时,正常通讯距离可达150m,测温电缆最好采用屏蔽四芯双绞线,一对接地线与信号线,另一对接VCC和地线,屏蔽层在源端单点接地。2.2.3 方案比较与选择本次设计中对于温度传感器设计了以下两种方案:方案一:利用热敏电阻NTC温度传感器组成测温电路,经过温度频率变换电路进行模数转换,由于这样做的温度传感器的线性特性不是很好,测量误差较大,为此利用单片机的计算和查表功能对热敏电阻的温度非线性特性进行线性化处理,这样就提高了热敏电阻测温精度。框

41、图如下。A/D转换电路热敏电阻传感器单片机非线性到线性此种方案和传统的利用硬件电路对热敏电阻温度非线性特性进行线性化相比,可以消除硬件参数随温度变化而引起的测量误差,线路简单,成本相对便宜,利于维护。方案二:利用单总线数字温度传感器DS18B20进行测温。DS18B20是单总线器件,接口线路简单,体积小,测温围在-55+125;转换精度912位,可编程确定转换的位数;采用一线总线的数字传输方式及两种供电模式,提高了系统的抗干扰性,适合多种环境的温度测量。对上述两种方案进行比较,用DS18B20,不仅功耗低、抗干扰能力强而且节省单片机的端口,电路实现简单,测量精度高,所以采用方案二。2.3 DS

42、1302日历时钟芯片2.3.1 DS1302日历时钟芯片简介在测量控制系统特别是长时间无人值守的测控系统,经常需要记录某些具有特殊意义的数据及其出现的时间,这对测控系统的性能分析及其正常运行具有重要的意义。传统的数据记录方式是隔时采样或定时采样,没有具体的时间记录,若采用单片机计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,耗费单片机的资源,若在系统中采用DS1302,则能很好地解决这个问题。DS1302日历时钟芯片是美国Dallas公司推出的一款高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿功能,时钟操作可通过AM

43、/PM指示决定采用24或12小时格式,工作电压宽达2.55.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302部有一个31的用于临时性存放数据的RAM寄存器,增加了主电源后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力,DS1302保持数据和时钟信息时功率小于1mw。DS1302的主要的特性有:l 实时时钟,具有能计算2100年之前的秒/分/时/日/日期/星期/月/年的能力以及闰年自补偿功能l 串行I/O口方式使得管脚数量最少l 工作电流2.0V时,小于300nA,与TTL兼容Vcc=5Vl 读/写时钟或RAM数据时,分为

44、单字节传送和多字节传送l 8脚DIP封装或8脚SOIC封装l 可选工业级温度围-40-+85由于以上特性,以及它的便捷,耐用,易于编程,使得DS1302被广泛应用于、便携式仪器以及电池供电的仪器仪表等产品领域。2.3.2 DS1302部结构及功能DS1302的引脚图如图2.5所示:图 2.5 DS1302的引脚图引脚描述:l X1,X2连接32.768KHz晶振管脚,为芯片提供定时脉冲l GND为地l RST为芯片强制复位脚l I/O为数据输入/输出引脚l SCLK为串行时钟提供端,在上升沿实现数据读操作,在下降沿实现数据写操作l VCC1,VCC2为双电源供电管脚DS1302的控制字如表2.

45、4所示。控制字节的最高有效位必须是逻辑1,如果为0,则不能把数据写入到DS1302中,位6如果为0,则表示存取日历/时钟数据,为1表示存取RAM数据,位至位1指示操作单元的地址,最低有效位位0如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。表2.4 DS1302的控制字765432101RAM/CKA4A3A2A1A0RAM/KDS1302的12个寄存器中有7个寄存器与日历、时钟相关,存放的数据位为非压缩BCD码形式。DS1302与RAM相关的寄存器分为两类,一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为COHFDH,其中奇数为读操作,偶

46、数为写操作;再一类为突发方式下RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH写、FFH读。表2.5 DS1302日历,时钟寄存器及其控制字寄存器名命令字取值围各位容写操作读操作76543210秒寄存器80H81H00-59CH10SECSEC分钟寄存器82H83H00-59010MINMIN小时寄存器84H85H01-12或00-2312/240APHRHR日期寄存器86H87H28,29,30,310010DATEDATE月份寄存器88H89H01-1200010MMONTH周日寄存器8AH8BH01-0700000DAY年份寄存器8CH8DH00-9910Y

47、EARYEAR2.3.3 方案比较与选择方案一:采用并行接口的时钟芯片,如MC146818、DS12C887等。它们已能完全满足单片机系统对实时时钟的要求,存储的时间信息在掉电情况下仍可以保存10年。但是这些芯片与单片机接口复杂、占用的数据总线多、芯片体积大,占用空间多。方案二:采用串行接口的时钟芯片DS1302。它是一款具有涓细电流充电能力的时钟芯片,功耗极低,含一个实时日历/时钟和31字节的静态RAM,与单片机之间进行同步串行通信,仅需RST,I/O,SCLK串行时钟三根线连接,可以工作在很低的耗电状态以保存时钟信息和数据。综上两种方案,方案二采用的是串行接口,节省单片机的接口资源,而且体

48、积小,占用的空间小,价格便宜,所以选择方案二。2.4 OCMJ4x8B液晶显示模块2.4.1OCMJ4x8B简介OCMJ中文模块系列液晶显示器含:GB 2312 16*16点阵国标一级简体汉字;ASCII 8*8半高点阵英文字库;ASCII 8*16全高点阵英文字库;有位点阵和字节点阵两种图形显示功能模块,用户可以通过输入区位码或ASCII码实现文本显示,也可以在屏幕的指定位置上以点为单位或以字节为单位实现图形显示,与一般的点阵模块完全兼容。此外,OCMJ中文模块系列液晶显示器可以实现汉字、ASCII码、点阵图形和变化曲线的同屏显示,并可通过字节点阵图形方式造字,因而被广泛用于各种仪器仪表、家

49、用电器的显示上。OCMJ4x8B液晶显示模块的主要参数:l 工作温度常温下为0-55,宽温下为-20-+70,常温型存储温度为-10-+65l 电源工作电压为5V,电源电流3mA,输入引脚电压5Vl 最大输入电压建立时间1us,最小复位电压持续时间6usRES端低电平时间,复位部处理时间15msl 背光电压5V,标称背光电流180mA,外接灰度调节电位器10K如图2.7与表2.6所示为LCD的外部引脚图和引脚功能表:图2.7 LCD的外部引脚图 表 2.6 LCD的引脚功能表2.4.2 硬件接口介绍接口协议为请求/应答REQ/BUSY握手协议。由应答BUSY控制,当BUSY =1时,OCMJ忙

50、于部处理数据,不能接收用户命令,BUSY=0时,OCMJ空闲,可以开始接收用户命令或者继续接收用户命令。向OCMJ发送命令在BUSY =0后开始,先向数据线发送用户命令,然后发送REQ的高电平信号即REQ=1,请求OCMJ处理当前数据线上的命令或数据。收到外部的REQ高电平信号后,OCMJ模块立即读取数据线上的命令或数据,同时将BUSY置1,表明模块已收到数据并正在对数据进行处理。此时,对模块的写操作已经完成,用户既可以撤消数据线上的信号进行其他工作,也可不断地查询 BUSY=0?,当BUSY=0,表明模块对用户的写操作已经执行完毕,可以再送下一个数据。如:若向模块发出显示汉字的命令,共需发送

51、5个字节包括坐标及汉字代码,模块只有在接收到最后一个字节后才开始执行整个命令的部操作,因此,最后一个字节的应答脉冲BUSY =1持续高电平时间较长,如图2.8所示图 2.8 接口协议时序图用户可以通过调用OCMJ系列液晶显示器的各种功能命令,实现对液晶显示器的各种操作。命令分为操作码及操作数两部分,操作数为十六进制,共分3类10条,如表2.7所示。表 2.7 OCMJ系列液晶显示器的功能命令表字符显示命令: 显示国标汉字;显示8X8字符;显示8X16字符; 图形显示命令: 显示位点阵; 显示字节点阵; 屏幕控制命令: 清屏; 上移;下移;左移;右移;此外,OCMJ中文模块在上电后自动完成设置初

52、始化工作,当需要进行复位操作时,只需使RES=0并保持10us,正常的复位功能包括清屏在,占用时间15ms,为防止数据丢失,在此期间用户不能对模块进行任何操作,其他操作可在BUSY=0之后开始进行。模块电源VDD与LED+背光电源既可以使用同一电源也可以分开供电,但由于背光源功耗相对大,影响模块显示,所以最好取两组电源分开供电。LED+/LED-为背光源引脚,在模块背面,PCB板上的电路连接线途经两焊盘断开,是空开两个贴片电阻位置,由用户接上相应的电阻调整LED背光亮度,电阻阻值围为10-30。该电阻不可短路,以免烧坏背光源或PCB板过热而烧坏模块IC。引出脚RT1/RT2为外接灰度调节电位器

53、接脚,出厂前该电位器被固定电阻所代替即模块上的R6,当用户需要调节屏幕灰度时,可在引出脚RT1/RT2间接电位器,若没有变化或变化不大,可将和RT1、RT2并联的电阻断开,再调整电位器。2.4.3 方案比较与选择显示输出主要如下两种方案:方案一:采用数码管显示。该方案实现比较简单,而且有静态和动态两种方式可供选择,程序编写简单,但只能显示数字,不能显示汉字或图形,而且功耗较大,难以满足低功耗的要求。方案二:采用集成的LCD液晶显示模块进行显示,不仅可以实现一般的点阵图形显示功能,还可以实现对汉字、ASCII码的同屏显示,以更好的完成人机交互,功耗也比数码管显示要低。综上所述,我们选择方案二,即

54、OCMJ4x8B液晶显示模块。2.5 键盘键盘输入是人机交互界面中最重要的组成部分,它是系统接受用户指令的直接途径。尤其是在本系统中键盘要实现按键唤醒,实现低功耗,因此键盘的设计尤为重要。图2.9 矩阵式键盘目前,我们学过两种键盘形式:矩阵式键盘和独立式键盘。在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,这样,在使用相同的I/O口的基础上实现了按键数量的增加,但是占用的空间大,由此带来的硬件开销很大如图2.9所示。考虑到MSP430单片机具有大量的端口,而本系统其他部分多采用串行接口连接,因而单片机可以预留出大量的端口,可以将键盘直接和单片机的端口相连,通过键盘直接

55、控制单片机端口的电平的高低,达到控制单片机的效果,所以选用较为简单的直接式键盘。如图2.10所示为独立式式键盘。 图 2.10独立式式键盘2.6 JTAG仿真和IAR Workbench2.6.1 JTAG及边界扫描技术JTAG是JOINT TEST ACTION GROUP的简称。IEEE1149.1标准最初就是由JTAG这个组织提出,最终由IEEE批准并标准化的。所以,该标准也称为JTAG调试标准。下面要介绍的是JTAG中的BOUNDARY-SCAN ARCHITECTURE和TAP 的基本构架。边界扫描Boundary-Scan即在芯片的每个输入输出管脚上都增加一个移位寄存器单元,因为这

56、些移位寄存器单元分布在芯片的边界上,所以被称为边界扫描寄存器。在JTAG 调试中,边界扫描是一个很重要的概念,当需要调试芯片时,这些寄存器将芯片与外围电路隔离,实现对芯片输入输出信号的观察和控制:对于输入管脚,可以通过与之相连的边界扫描寄存器单元把数据加载到该管脚中;对于输出管脚,可以通过与之相连的边界扫描寄存器捕获CAPTURE该管脚上的输出信号;正常运行状态下,这些边界扫描寄存器单元对芯片是透明的,所以正常的运行不会受到影响。另外,芯片输入输出管脚上的边界扫描移位寄存器单元可以相互连接起来,在芯片的周围形成一个边界扫描链Boundary-Scan Chain,它可以串行的输入和输出,通过相

57、应的时钟信号和控制信号,实现对处在调试状态下的芯片的输入和输出状态的观察和控制,一般的芯片都会提供几条独立的边界扫描链,对边界扫描链的控制主要是通过 TAPTest Access Port Controller来完成的。 在IEEE1149.1标准里面,寄存器可以分为数据寄存器和指令寄存器。边界扫描链属于数据寄存器,用来实现对芯片的输入输出的观察和控制,指令寄存器用来实现对数据寄存器的控制。 TAP是一个通用端口,它通过TAP Controller实现对芯片提供的所有数据寄存器DR和指令寄存器IR的访问。TAP包括 4个输入信号接口TCK、TMS、TDI、TRST和一个输出信号接口TDO,我们

58、见到的开发板上的JTAG接口主要信号接口就是这5个。TCK为TAP的操作提供独立的、基本的时钟信号,TMS信号用来控制TAP状态机的转换,TDI/TDO分别是数据的输入和输出接口,这四个指令在IEEE1149.1标准里是强制要求的。TRST可以用来对TAP Controller进行复位,但这个信号接口在IEEE1149.1标准里是可选的,并未强制要求,因为通过TMS也可以对TAP Controller进行复位。通过TAP接口,对数据寄存器进行访问的一般过程是: 1、通过指令寄存器IR,选定一个需要访问的数据寄存器;2、把选定的数据寄存器连接到TDI和TDO之间;3、由TCK驱动,通过TDI,把

59、需要的数据输入到选定的数据寄存器当中去,同时把选定的数据寄存器中的数据通过TDO读出来。JTAG本来是用作边界扫描测试的,将其用作编程接口可省去专用的编程接口,减少系统引出线;JTAG是工业标准IEEE1149.1边界扫描测试的访问接口,用做编程功能有利于各可编程逻辑器件编程就口的统一。2.6.2 IAR Workbench的安装和使用1.安装编程软件FET_R511.exe2.点击应用图标进入编程界面3.如下图所示,单击菜单Project/Creat New Project建立新项目4.在建立新项目对话框中选择C/main,然后单击OK按钮,在接下来的对话框中选择要存储的目录和项目名称5.对

60、项目进行设置。如下图所示,在项目名称上单击鼠标右键,在下拉菜单中单击Options。6.在General Option-Target-Device项中选择CPU的型号为MSP430x4xx-MSPF449。7.在Debugger-Setup-Driver项中选择FET Debugger。8.在Debugger-Setup-Connection项中选择LPT1。单击OK按钮9.如下图所示,单击Make图标按钮,对项目进行编译和连接10.如果在下方信息栏中出现如下信息,说明程序编译通过,可以进行下一步的调试。LinkingTotal number of errors:0Total number o

61、f warnings:011.如下图所示,单击Debug,下载程序到单片机进入调试界面。查看寄存器,单击View/Register菜单。观察变量,在该变量上右击,在下拉菜单中单击Add to Watch。图 2.11 JTAG仿真接口与MSP430单片机的接口示意图如图2.11所示为JTAG仿真接口与MSP430单片机的接口示意图。此外,MSP430F449的数学运算符与标准C语言完全一致,对于初学者,应该从开始就养成一个将大程序分割成若干个小程序的习惯。对于变量名的命名应使用说明性的名称,避免使用无意义的字符如a、b、c、d,对于约定俗成的变量尽量不要改动。对于函数命名和宏定义,也应遵循简单易懂的原则,可写为模块名功能名的形式,如:void DS1302_Reset /DS1302复位功能#defineDS18B20_DQP4.0 /定义P4.0为DS18B20总线2.7 结语本章在本科期间所学的相关知识的基础上主要介绍了与本次设计有关的超低功耗单片机,单总线数字温度传感器,日历/时钟芯片,液晶显示模块,键盘以及JTAG仿真的特点、以及使用方法,并对各种方案进行比较和选择,为下面的总体设计在理论上作了铺垫。3 系统电路及软件实现本章根据温度监控系统功能的实现和需要,绘制了单片机MSP430F449及其外围电路,单总线数字温度传感

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!