企业简介

作为中国自动化领域的权威旗舰网络媒体,控制网创立于1999年7月,是中国举行的第十四届IFAC (International Federation of Automatic Control)大会的中国官方组织机构的唯一指定网站。控制网是中国自动化学会专家咨询工作 委员会(ECC)的秘书处常设之地。是北京自控在线文化传播有限公司开设的网站。

  • 公司类型:其他

联系方式
  • 控制网
  • 地址:北京市海淀区上地十街辉煌国际2号楼1504室
  • 邮编:100085
  • 电话:010-57116291 / 59813326
  • 传真:010-59813329
  • 网址:http://www.kongzhi.net
  • Email:mahongliang@kongzhi.net
  • 联系人:市场部
案例详细
标题基于CAN总线的火灾报警系统设计
技术领域
行业
简介阐述了用微控制器P87C591和现场总线技术实现基于CAN总线的火灾报警系统,详细介绍了该系统的总体构成和基于CAN总线的智能节点的软件、硬件的设计。经实际应用表明,系统可以降低火灾报警的误报率和漏报率,且具有高可靠性、强实时性和机动灵活等特性。
内容
1        引言
         火灾报警系统是目前国内外火灾探测报警领域最受关注的研究方向之一。综合利用现代计算机技术(Computer)、现代控制技术(Control)、现代通信技术(Communication) 和现代图形显示技术(CRT)即4C 技术[1]的火灾报警系统既能快速准确的探测出早期的真实的火灾信号,又能通过联动控制在一定范围内,及时消除火灾隐患,防患于未然,最大限度的降低了火灾造成的危害,保护人们的生命财产安全。随着社会经济的发展,建筑物的规模日欲趋于大型化和一体化,火灾报警系统监控的范围也随之增大,这就要求系统具有更高的可靠性、实时性和灵活性。CAN总线作为应用最广泛的现场总线技术之一,它的数据通信在可靠性、实时性和灵活性等方面有着突出的优点,针对有着极高可靠性要求的火灾报警系统,该总线系统是一种理想的报警信息传输模式。本文提出了一种基于CAN总线的复合式火灾报警系统[2]
2        CAN现场总线概述
        CAN(Controller Area Network,控制器局域网)是1986年德国BOSCH公司为解决现代汽车中众多的控制与测试之间的数据交换,而开发的一种串行数据协议,后来由于自身的特点而逐步发展到广泛应用于各行各业。
        CAN协议遵循ISO/OSI模型,采用了其中的物理层、数据链路层与应用层。CAN采用非破坏性总线仲裁技术,按优先级发送,可以大大节省总线冲突仲裁时间,在重负荷下表现出良好的性能。CAN采用短帧结构传输,每帧有效字节为8个,传输时间短,受干扰的概率低,且每帧信息都有CRC校验和其它检错措施,保证数据出错率极低。当节点出现严重错误时,具有自动关闭功能,以切断该节点与总线的联系,使总线上的其它节点及通信不受影响。可见,CAN使所有总线中最为可靠的。CAN直接通信最远距离可达10 km(传输速率为5 Kbps),通信最高速率可达1Mbps(传输距离为40 m);总线上节点数目可达110个;通信介质可以是双绞线、同轴电缆或光纤。CAN是一种多主总线,节点之间不分主从,可以方便地构成一个控制系统,系统将大部分的控制权力交给现场的智能节点,交互信息通过CAN总线传送,由于CAN总线的上述特点及其成本低的优势必然在火灾自动报警控制系统占有重要地位[1,2,3]
3      火灾报警系统的总体设计
        系统在设计时,在保证系统的可靠工作和降低成本的同时也考虑了通用性、实时性和可扩展性等要求。系统结构框图如图1所示。



        整个系统主要由中央监控计算机、服务器、CAN适配卡和智能节点四个部分组成。最多可挂接110个节点,也可利用中继器对CAN总线进行扩展。采用CAN总线连接各个网络节点,形成了一个分布式系统。网络拓扑结构采用的是总线式结构,该结构电简单、成本低、系统可靠性高。将带片内CAN控制器的微处理器P87C591芯片与现场火灾探测器相连,就构成了CAN智能节点。传输介质采用双绞线。上位PC机通过PCCAN适配卡与CAN总线相连,进行信息的交换。各种火灾探测器将实时探测到的物理量信号传送给智能节点,如采集到现场有火灾信号产生,则智能节点将火灾信号打包成CAN数据包传送到CAN总线上去,然后再由中央监控计算机对这些数据进行计算处理和统计评估。火灾信号判断的原则不是简单的非准则,而需要同时考虑其它多种因素。根据预先设定的有关规则,将这些数据转换为适当的报警动作指标,相应的发出预报警。如“产生少量烟,但温度急剧上升――发出报警”,“产生少量烟,且温升平缓――发出预报警”等。
4    火灾报警系统的硬件设计
4.1  内嵌CAN控制器芯片P87C591
        本设计所使用的Philips公司的P87C591芯片是一个8位高性能微控制器,具有片内CAN控制器。中央处理器CPU使用的操作数来自3个存储空间:16KB内部程序存储器,可扩展到64KB;512B内部数据存储器;最大64KB外部数据存储器。
         P87C591包括独立CAN控制器SJA1000具有的所有功能,并在此基础上扩展了以下功能:①增强的CAN接收中断,有接收缓冲区级的接收中断;②扩展的验收滤波器,8个滤波器用于标准帧格式,4个滤波器用于扩展帧格式[4]
4.2  CAN收发器82C250
        82C250用于CAN总线控制器和物理总线之间接口,它是由Philips公司设计生产,其通信介质与RS485相同,均为阻抗为120Ω双绞线,信号传输方式和RS485一样,也是采用差动发送和差动接收。通信速率为1Mbps时,其任意两个节点之间的最大距离为40m;通信速率为5Kbps时,其任意两个节点之间的距离可达10km。82C250有8个管脚,其封装式有DIP8和S08两种封装形式,表1是它的管脚功能。
管脚
符号
功能描述
1
TXD
发送数据输入端,接控制器的串行数据输出端
2
GND
3
Vcc
电源电压,4.5V≤Vcc≥5.5V
4
RXD
接收数据输出端,接控制器的串行数据接收端
5
Vref
基准电压输出端
6
CANL
低电平输入/输出端
7
CANH
高电平输入/输出端
8
Rs
斜率电阻输入端
4.3  CAN智能节点硬件电路设计
        在设计CAN总线系统智能节点时,采用内嵌CAN控制器的芯片P87C591和82C250芯片。图2所示为CAN智能节点硬件电路示意图,从图中可以看出电路主要由三部分构成:P87C591、CAN总线收发器82C250和高速光电耦合器6N137。



4.3.1       硬件的抗干扰设计
        在火灾报警系统所应用的场合中,大多环境比较恶劣,存在大量的产生电磁、辐射和感应干扰设备,因此抗干扰设计显得尤其重要。该系统中主要采取了如下几种抗干扰措施:
(1)P87C591的接收端和发送端经过高速光电耦6N137与82C250的TXD和RXD相连,实现各节点之间电气上的隔离。
(2)在CAN总线的两端加两个120Ω的电阻,可大大提高数据通信的抗干扰能力和可靠性。
(3)CANH和CANL与地之间并联了两个30pF的小电容,可以滤除总线上的高频干扰并且具有一定的防电磁辐射的能力。
(4)采用屏蔽双绞线进行网络传输,可减小现场对节点的干扰。
4.3.2       中继器电路设计
        如果网络中的节点太多,超过了总线驱动器的负载能力,或者各节点之间的距离大于总线规定的距离,则必需使用中继器来随时接收并判断网络中的数据流向,然后根据其数据的流向决定向中继器的两端中的某一端发送数据,这样增加了网络的节点数或延长各节点之间的距离。
        在82C250组成的分布式系统中,各个节点可以同时向网络发送数据。并且82C250在工作过程中,不需任何控制信号。在82C250构成的网络中,只需要两片82C250和两个电阻就可以组成一个中继器。
        虽然82C250是为CAN总线配套的CAN总线驱动器,但它和RS485一样,只是一种纯硬件标准,它只规定 了串行通信链路的电气特性,而软件协议与它接口的通信控制器有关。由82C250和UART组成远距离、多节点分布式测控系统和由RS485和UART组成的相比,其可靠性高、结构简单、软硬件开发难度小。
4.4   CAN智能节点的软件设计
        CAN智能节点软件设计主要包括4个部分:CAN节点初始化、接收数据、发送数据和总线异常处理。图3为主程序的流程图。



(1)初始化子程序
         P87C591片上自带的CAN控制器在软件上是向上兼容SJA1000的,所以对P87C591的初始化与独立的CAN控制SJA1000初始化,主要包括工作方式的设置,接收滤波方式的设置,接收屏蔽寄存器AMR和接收代码寄存器ACR的设置,波特率参数设置和中断允许寄存器IER的设置等。
(2)接收子程序
        接收子程序负责节点报文的接收以及其它情况处理,接收子程序比发送子程序要复杂一些,因为在处理接收报文的过程中,同时要对诸如脱离、错误报警、接收溢出等情况进行处理。
(3)发送子程序
        发送子程序负责节点报文的发送,发送时用户只需要将待发送的数据按特定格式组合成一帧报文送入P87C591片上的SJA1000发送缓存中,然后启动P87C591发送即可。
(4)中断服务子程序
        中断服务程序包括数据发送、数据接收、数据请求接收、错误处理子程序,首先将中断现场保护,进入中断服务之后,读中断寄存器IR的内容使中断标志清空,并确定了中断类型,然后根据不同的中断类型进行任务散转。出现了错误中断,将进行错误处理;出现超载中断,重新请求数据发送,等待下一次接收数据中断;除此之外,根据RTR(Remote Transmission Request)的值确定是发送中断还是接收中断,RTR=1表示将要发送请求的数据帧,反之将要接收数据。中断完成后恢复现场,退出中断。
4        结论
(1)本设计采用CAN总线技术的火灾报警系统,与传统的RS-485通信方式相比,具有更高的可靠性、更强的实时性,系统实现机动灵活。
(2)采用带片内CAN控制器的P87C591芯片,与常用的MCS-51系列单片机加CAN控制器方案相比,该系统具有应用设计简单、体积小,以及方便嵌入应用和更高可靠性的优点。
(3)通过引入火灾数据和专家系统、模糊逻辑理论、人工神经网络等智能技术,综合利用先进的计算机技术、现代控制技术、现代通信技术和现代图形显示技术,大大优化了火灾报警系统的性能,降低了系统的误报率和漏报率。
 
参考文献
[1] 杨宪惠.现场总线技术及其应用[M].北京:清华大学出版社,1999
[2] 刘辉.基于CAN总线的智能火灾报警系统的设计与实现[J].电气时代,2001(5)
[3] 杨飞,郑贵林.基于CAN总线的监控系统设计[J].微计算机信息,2005,21(7)
[4] 武小红,成立,秦云.基于CAN总线的分布式安全报警系统[J].中国安全科学学报,2005,15(1)
[5] 张晶,鲍鸿.基于人工智能技术的火灾探测信息融合系统[J].微型机与应用,2004(6)