华中科技大学硕士学位论文基于SmallRTOS51的CAN总线汉字火灾楼层显示盘设计姓名:江炜申请学位级别:硕士专业:通信与信息系统指导教师:王殊20060508华中科技大学硕士学位论文摘要火灾楼层显示盘是火灾报警控制系统的重要组成部分,对于保障人民生命财产安全有着重要的现实意义。嵌入式实时操作系统(RTOS)将是今后火灾报警控制系统中的研究热点之一,它将给火灾报警控制系统带来更好的实时性,并使得系统开发、维护和移植更加方便。本文给出了一种基于SmallRTOS51的CAN总线火灾楼层显示盘设计与实现。本文介绍了火灾报警控制系统、现场总线以及RTOS的发展,简要说明了一些典型的现场总线和RTOS,对今后基于RTOS的火灾报警控制系统构成作出了一些探讨。对于CAN总线,本文详细论述了它的原理和结构,对CAN的帧格式作出了详细的说明。CAN总线的应用层协议定义十分灵活,文中提出了一些构建应用层协议应该注意的原则。在系统的设计过程中,本文根据系统的功能需求,从软硬件两个方面讨论了系统设计的方案。在硬件设计中,给出了各个硬件功能模块的设计原理和功能说明。在软件设计中,讨论了SmallRTOS51的特点,构建了自己的CAN应用层协议。软件设计部分还讨论了在SmallRTOS51下构建多任务系统,实现任务的切换和调度的详细说明。软件设计的最后一部分还涉及了Cx51语言设计中存在的一个安全性隐患,并从51的体系结构上作出了探讨,给出了解决此类问题的两个原则。本文最后对楼层显示盘系统的测试和调试结果作出了说明,目前产品已通过国家检测,运行良好。关键词:嵌入式系统,单片机,CAN总线,SmallRTOS51,楼层显示盘I华中科技大学硕士学位论文AbstractFireindicatingpanelsareimportantconstituentofthefire-alarmsystem,andaresignificantofprotectingthepeopleandtheirproperty.Theembeddedreal-timeoperatingsystem(RTOS),whichwouldmakeiteasiertodevelop,maintainandportafire-alarmsystem,willbeonehot-spotintheresearchfieldsofthefire-alarmsystem.ThedesignandimplementationofaCAN-basedChinesefireindicatingpanel,whichuseSmallRTOS51,isproposedinthispaper.Thedevelopmentsoffire-alarmsystem,field-busandRTOSareintroducedinthebeginning.Also,sometypicalfield-busandRTOSarementionedinbrief.Thefutureconstitutionofafire-alarmsystembasedonRTOSisdiscussed.Inchapter2,theprinciple,architectureandframeformatofCANbusareintroducedindetail.TheapplicationlayerprotocolsofCANbuscanbeaflexibledefinition.SomeattentionsabouthowtoconstructtheapplicationlayerofCANbushavebeengivenintheendofthischapter.Thesystemdesign,whichcanbedividedintohardwaredesignandsoftwaredesign,isplanningaccordingtothefunctionsanddemandsofwholesystem.Inhardwaredesignpart,theprincipleandfunctionsofhardwaremodulesarediscussed.ThefeaturesofSmallRTOS51andourownapplicationlayerprotocolsofCANbuswereintroducedinsoftwaredesign.Howtoconstructamulti-taskingsystemandhowtoswitchanddispatchtasksunderSmallRTOS51arediscussedindetail.Attheendofsoftwaredesignpart,aCx51embeddedprogramminghiddendangerwhichcausedbyMCS-51architectureisanalysed.Twoprincipleshavebeensubmittedtoavoidthispotentialdanger.Inthelastchapter,someinspectanddebugresultsofthefireindicatingpanelaregiven.Thisproducthasreachedthenationalstandardandrunswellsincethen.Keywords:EmbeddedSystem,Singlechip,FireIndicatingPanelIICANBus,SmallRTOS51,独创性声明本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到,本声明的法律结果由本人承担。学位论文作者签名:江炜日期:2006年5月8日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。保密□,在_____年解密后适用本授权书。本论文属于不保密。(请在以上方框内打“√”)学位论文作者签名:江炜日期:2006年5月8日指导教师签名:王殊日期:2006年5月8日华中科技大学硕士学位论文1绪论1.1引言火灾是一种给人类带来生命和财产巨大损失的自然现象,一直是伴随着人类文明的巨大威胁。在现代社会中,由于人口密度较大,高层建筑普及等因素,一旦发生火灾,后果极其严重。为了避免火灾的灾难性后果,实时火灾报警控制技术越来越受到重视。实时火灾报警控制技术的宗旨就是要在火灾发生的早期,准确的判断火警、预报火警,从而保障人民的生命财产安全。随着现代电子通讯技术,智能化信息处理技术和传感器技术的不断进步,以及人们需求的不断提高,各种新技术、新材料、新装备的采用,火灾报警控制技术自身也在功能、结构、形式等方面不断地完善[1]。火灾楼层显示盘作为火灾自动报警系统的重要组成部分,是一种安装在楼层或独立防火区中的数字式火灾报警显示装置。它通过报警总线与火灾报警控制器相连,处理并显示报警总线上的数据。火灾楼层显示盘中的内置单片机将接收到的总线信息进行判断、分析和处理,将报警的探测器地址编号转换成相应的火警地点信息(例如房间号和房间类型等),连同火警类型一道显示出来,同时发出声光报警信号,通知失火区域的人员,对保障人民的生命财产安全起着重要的作用。随着嵌入式技术的发展和微电子技术的不断进步,在对实时性有着严格要求的火灾报警系统中引入RTOS(RealTimemulti-taskingOperatingSystem,实时多任务操作系统)已经成为可能[2]。实时操作系统相对于以往的前后台软件系统而言,能够大大改善系统的实时响应性能,同时程序的编写和维护也更加容易,从而减少了潜在的程序隐患,必将成为火灾报警技术的新的主流技术[3]。1.2火灾报警控制技术的发展和现状火灾自动报警技术的发展过程大体可分为下面几个阶段:最早出现的是开关量多线型(N+1线或更多线)火灾自动报警系统,每个探测器设置固定开关量阈值,提供两根电源线和一根报警信号线,探测器电源由报警器提供,探测器的信号线均连接到报警显示盘上,当探测器所探测到的信息变化到达设定的阈值后,开关电路接通发出报警信号,点亮相应的指示灯。此类系统的功能一般以1华中科技大学硕士学位论文报警为主,辅以一些简单的联动功能(也为多线制),如驱动警铃等。报警器对外围探测器没有故障检测功能,只会对电源线的断线作出故障反应,而且外围探测器阈值不会随环境变化,易误报火警,稳定性和可靠性差,安装此类系统布线复杂,调试难度大[4]。八十年代兴起了采用微处理器控制的总线型火灾自动报警系统。其线制一般有四线制、三线制、二线制,布线安装调试变得容易,并能精确地确定报警部位。用CPU作控制器使原来的某些硬件电路功能用软件代替,可靠性进一步提高。探测器和模块通过总线与控制器实现信号传送。其探测器的报警形式仍然为开关量,易受环境影响的问题仍然存在。此类系统可通过各种模块对各联动设备实行较复杂的控制,已具有系统自检及对外围器件的故障检验等功能,但对故障类型不能区分[4]。随后人们研制出了模拟量火灾自动报警系统。探测器的报警形式采用模拟量,并可通过软件对其阈值根据使用场合、时间进行设定和调整,如可设定白天、夜间、休息日不同灵敏度。对探测器的使用环境参数变化较大的场所,阈值设定相对低一些,对环境较稳定或一些重要的场所,阈值设定相对高一些,这一功能可提高系统的稳定性及可靠性,减少误报。探测器不是以阈值方式报警,而是将探测到的烟雾密度和温度转化成数据,传送给控制器。控制器的CPU根据采集、存贮的数据的变化趋势,根据一定的算法对火灾情况进行判断[4]。智能型火灾自动报警系统的出现,标志着火灾自动报警系统己进入一个全新的发展时期。由于采用了先进的计算机控制技术,智能化程度大大提高,它突破了传统的火灾探测报警范畴,与建筑物内的防盗报警系统,电视监控系统,信息交换系统,公共安全系统等组成智能楼宇自动化系统而成智能大厦的一部分[1][4]。时至今日,人们又在智能火灾自动报警系统的基础上研制出了分布式智能型的火灾自动报警系统。它与前者的主要区别在于,分布智能型报警系统在探测器内加进了CPU,使其具有一定的智能,可以对火灾特征信号直接进行分析,作出初步的判断,并将结果传送给控制器。控制器将探测器的信息进一步做复杂的智能处理,得出最后判断结果[1]。火灾报警控制系统是一个对实时性有着严格要求的控制系统。其中各个功能部分都必须能够实时工作。由于传统的无操作系统的前后台软件系统有着固有的缺陷,在最坏情况下实时性很难保证,形成了火灾报警系统的一个固有隐患。近年来嵌入式实时操作系统的概念深入人心,随着微电子技术的进步,传统的控制系统纷纷重2华中科技大学硕士学位论文新改造成基于RTOS的新系统。基于RTOS的火灾报警控制系统能够通过软件的进程调度程序,保证在严格的时间限制范围内完成工作,所有的任务响应时间和完成时间都能够从理论上予以保证。而且,在RTOS基础上开发的嵌入式程序程序结构清晰,易于维护,模块聚合度小,可以大大减少一些潜在的程序错误和缺陷[3]。火灾自动报警技术是随着各种新工艺、新技术的涌现而不断得到发展,其趋势将是复合智能型探测器,基于RTOS的分布智能型报警系统,网络型火灾报警控制系统也将得到大力发展。1.3现场总线的发展和CAN总线在火警系统中的应用工业控制系统由50多年前的气动控制仪表系统PCS(PneumaticControlSystem)的第一代控制系统,经历了电动单元组合式模拟仪表控制系统ACS(AnalogousControlSystem)的第二代