基于CAN现场总线技术的火灾报警系统智能节点的设计
2010-06-15张铁壁
张铁壁,李 光
(河北工程技术高等专科学校,河北 沧州 061001)
火灾是危害人类生命财产灾害中最常见的一种。因此早期预报火情、及时报警、防火于未燃是火灾探测系统完成的任务。目前火灾探测器中采用的大多是阈值比较法,它也是传统的火灾检测数据处理方式,特点是简单明了而且易于实现,但环境适应性和抗干扰能力较差[1];一些大型的火灾报警系统复杂、成本高,不适合中小场合的使用。因此,本课题设计了一种在现场采用CAN总线技术和上位机之间进行数据通信传输,并利用神经网络和模糊推理技术,对多传感器数据进行融合的火灾报警系统。本文重点介绍了 CAN现场总线智能节点的设计思路。
CAN是控制局域网(Control Area Network)的简称,最早是由德国 BOSCH公司推出,用于汽车内部测量与执行部件之间的数据通信。由于得到了Motorola,Intel,Philip,Siemence,NEC等公司的支持,它广泛应用在离散控制领域,支持分布式控制系统和适时控制的串行通信网络。由于CAN总线具有通信速率高,开放性好、报文短、纠错能力强以及控制简单、扩展能力强、系统成本低等特点,越来越受到人们的关注[2]。
图1 系统整体结构图
1 系统硬件组成
系统构成有两个部分,一个是总控制室的上位机系统,另一个是可以和总控制室上位机通信的 CAN现场总线来构成系统的底层通信网络,亦即分布在现场的报警系统。该系统整体网络拓扑结构如图1所示。上位机系统和底层网络通信主要依靠相应的CAN接口卡来完成,它承担着上位机和底层CAN智能节点之间的数据转发任务,即收集各个CAN智能节点上的数据转发给上位机,同时把上位机的命令和数据转发到各个智能节点。
网络拓扑结构为总线型,通信介质为屏蔽双绞线。上位机负责与下位机的通信,主要完成根据现场多传感器数据融合的结果进行控制室报警,并动态显示各现场传感器的工作状态和重要的现场参数以及报警信息,并对各现场节点的控制参数、运行参数进行整定和修改。现场报警单元节点对现场多传感器数据进行采集并进行数据融合,根据融合结果判断是否发生火灾,如果有火灾发生,现场和总控制室同时报警。现场采用宏晶系列单片机STC89C55 RD为核心的单片微处理器系统,它与8051系列单片机完全兼容。其功能主要来完成CAN总线的初始化和通信、数据融合处理、现场参数、报警信息设定、显示等工作。下面介绍有关 CAN现场总线智能节点在该系统中的实现,文中只对一个现场报警智能节点进行说明,其余节点类似。
2 CAN智能节点的硬件设计
2.1 CAN智能节点的硬件电路框图
图2所示为现场总线报警智能节点电路原理框图。它由四路传感器、传感器接口处理、单片机系统、CAN控制器等部分组成。传感器选择了蓝天公司的蓝天系列产品,分别是JTY-LZ-3100型离子感烟火灾探测器、JTY-GD-3100型光电感烟探测器、JTW-ZD-3100型模拟量感温探测器以及 HQ型的气敏传感器四种,该系列产品的最大特点是,火灾报警信号的判别,不再简单地依靠火灾探测器内部电路设置的阈值来确定是否发出火灾报警信息,而是由探测器把监视场所的火灾特征参数实时地传输给现场单片机系统,然后对这四种传感器的信号进行数据融合,最后根据融合结果判断是否有火灾发生。在报警现场还可以完成火灾报警,参数设定,查询记录等。
图2 智能节点电路原理框图
2.2 模拟火灾实验结果
在实验室进行了火灾模拟,制作了一个 1 m3的立体铁箱,作为燃烧室并选取了一些日常生活中常见的一些可燃物作为燃烧源[3],来模拟实际的火灾燃烧过程。具体模拟结果见表1。从表中可以看出,火灾报警的准确率达到 94%以上。
2.3 CAN智能节点的硬件介绍
总线控制器部分由CAN控制器芯片SJA1000和CAN收发器82C250组成。SJA1000是一个独立的CAN控制器,与 PCA82C250的硬件和软件都兼容,具有一系列先进的性能,特别在系统优化、诊断和维护方面。SJA1000支持直接连接到两个著名的微控制器系列8051和68XX。开发CAN总线模块综合了基于模拟量的输入 /输出、I/O端口设计、数据接收 /发送等。在本课题中选取了宏晶单片机 STC89C55,SJA1000的初始化由微处理器完成,并且在正常工作模式下,由微控制器SJA1000的收发操作来完成与总线的通信。硬件电路如图3所示。
图3 实现 CAN总线系统的硬件电路
作为核心部分的单片机系统除维持总线接口的正常工作外,还要完成总线控制器与 I/O接口之间的数据传输以及与模块地址和通信波特率设定之间的数据连接。另外为了保证系统的可靠性,系统中使用了看门狗电路,以防止程序跑飞。电源管理部分包括电压的变换、电路保护以及电源指示灯等。I/O接口在CPU的控制下实现键盘设定、液晶显示以及现场声光报警等功能,系统中对I/O口进行了扩展。传感器部分,主要是完成对传感器信号的处理,系统对一个控制现场的4个传感器经过A/D转换器,变成微处理器可以接收的信号。
各传感器将检测到的信号经预处理后送到单片机系统进行融合决策,融合中心微处理器根据各个传感器数据做出总体决策。融合处理在现场完成,融合结果通过CAN总线送到上位机。根据融合数据结果,总控制室完成相应的功能。
SJA1000的地址 /数据复用总线同 AT89C51的 P0口相连,MODE引脚接高电平时选择 Intel模式,宏晶单片机STC89C55的报时钟信号由CLKOUT提供。为了提高总线的驱动能力,在SJA1000与CAN总线之间加了PCA82C250总线驱动芯片,82C250是SJA1000与物理总线间的接口,从传感器来的信号经过多路模数转换器后,转换成相应的数字信号送入微处理器。
3 CAN智能节点软件设计
3.1 CAN通信软件的设计思想
软件设计主要根据系统的工作要求,分为 CAN总线通信程序、看门狗电路初始化、A/D转换程序、人机接口程序等。这里主要讨论CAN通信软件的设计,其中包括 SJA1000的初始化程序设计、发送程序设计、和接收程序设计。
3.2 CAN智能节点软件组成
1)SJA1000初始化程序设计。单片机上电或复位后,调用复位程序给SJA1000的复位端提供复位信号,使得SJA1000进入复位模式,SJA1000的初始化只能在复位模式下才可以进行。初始化主要包括各寄存器的设计,最后要清除 SJA1000的复位标志进入工作模式,SJA1000方可进行报文的发送和接收工作。
2)CAN总线发送程序。对 SJA1000进行初始化建立CAN总线通信后,现场报警系统就可通过CAN总线发送和接收数据包。消息的发送由CAN控制器SJA1000根据CAN的规则自动完成,主控制器必须把要发送的信息送到SJA1000发送缓冲器,并设置“发送请求标识位”于命令寄存器中。发送过程既可由SJA1000产生的中断请求来控制,也可以通过检测SJA1000控制部分的状态标识符来控制。
在软件模块设计中,模块向总线发送数据包是主动的,如果一次发送不成功,可以再次发送,因而对发送部分的处理比较简单,采用查询 SJA1000控制部分状态标识符的方法。当SJA1000发送消息时,发送缓冲器禁止写,于是主控制器要检测状态寄存器中发送缓冲器状态的标识符(TBS),看发送缓冲器是否可以接收信息。
3)CAN总线接收程序。 CAN控制器 SJA1000根据规则自动接收消息,接受到的消息放入接收缓冲器,此时接收缓冲器状态标识RBS置为“1”(表示接收缓冲器中有接收到的消息)。如果可能,主控制器必须将消息保存到程序设置的消息缓冲器中,同时释放接收缓冲器并对消息内容做出反应。接收程序可以通过SJA1000的中断请求或查询 SJA1000的标识控制部分来进行。
在系统应用中,现场报警系统从总线获取上位机或其它现场报警节点的消息,接收消息是被动的。如果采用查询法,将耗费大量的时间来查询SJA1000接收状态,且实时性不好。因而在接收程序设计中,在本课题中采用中断法进行控制。使用中断进行控制,在主程序中必须使得SJA1000的中断使能寄存器(PeliCAN模式)或控制寄存器(BasicCAN模式)的中断接收使能位置“1”。需要指出的是:当释放接收缓冲器后,接收中断标志将被清除,队列中的下一条报文进入接收缓冲器并将会产生新的中断。
4 通信效果验证
在 CAN总线环境下调试运行了现场报警节点和上位机的通信情况,主要针对网络数据传输的正确性、数据通信的数率和传输距离等内容进行的。通过对系统的调试运行结果如表 2所示。
表2 不同距离和位数率下的通信结果验证
从上表中可以看出,现场报警CAN总线节点和上位机之间的通信数据是完全正确的,而且可靠性高。需要注意的是随着距离的不断增加,要降低位数率的传输距离。在大于2 km的传输距离时,为保证系统的可靠性,可以加入信号中继站。
5 结束语
经过验证,每个现场智能节点的各种报警信息以及参数设定等,通过总线都可以及时准确地与上位机进行交换。而且通过选取不同距离范围的数据进行传输,验证数据传输的实时性、准确性。此外,在现场报警智能节点中,还要对多传感器数据进行融合处理,采用了神经网络以及模糊推理的方法对报警数据进行融合处理。经实验CAN总线智能节点的功能已经完全实现,多传感器的数据融合的仿真情况良好,可大大降低误报率,有效提高系统的准确性,具有较高的应用价值。
[1]张铁壁,吴并臻.基于 CAN总线的智能压力节点的设计 [J].仪表技术与传感器,2004,(8):37-39.
[2]王益.基于 CAN总线的远程油罐液位油温测控系统 [J].计算机测量与控制,2009,17(9):1737-1739.
[3]龚伟.复合型智能火灾探测器的设计与研究 [J].低压电器,2009,(24):25-28.
[4]阳宪惠.现场总线技术及其应用 [M].北京:清华大学出版社,2008.
[5]邬宽明.CAN总线原理和应用系统设计[M].北京:航空航天大学出版社,2006.
[6]徐爱钧,等.单片机高级语言C51应用程序设计[M].北京:电子工业出版社 ,2004.
[7]何友,王国宏,等.多传感器信息融合及其应用 [M].北京:电子工业出版社,2006:1-48.