目前,无论是石油、化工等工业现场,还是商场或居民楼宇,要求对可燃性气体探测的范围越来越广,相关的国家标准越来越高;而市场上报警器的质量参差不齐,分线式报警器技术虽然相对比较成熟,但不能满足多节点、大范围的探测要求。总线式气体报警器多采用RS485总线的方式,系统节点容量不够大且系统不稳定,而单纯地采用CAN通信的方式时,可挂接的探测器节点的理论值最大也只有一百多个,极大地限制了系统的容量。本设计采用主控制器+CAN/485转换器+探测器的方式,充分利用CAN通信的优点,使探测器节点容量扩展到几千个;同时结合触摸屏,不但提高系统的可靠性和实时性而且使操作界面更加美观、方便。基于这种方式的报警系统目前在可燃性气体报警行业中还未见报道,是总线式可燃性气体报警系统的重要发展方向。
1系统工作原理及功能
系统整体结构组成示意图如图1所示。探测器探测现场气体的浓度,对数据作出处理,响应转换器的命令把浓度等相关数据通过RS485总线上传给对应的CAN/485转换器。转换器对数据进行打包,按照CAN数据格式通过CAN总线传送给主控制器。主控制器对浓度进行分析,显示浓度等信息,及时地声光报警并控制关联的联动模块动作;同时,主控制器还要实时检测触摸屏是否按下,根据键值的不同实现相应的功能。图2 是主控制器结构框图。
图1系统结构示意图
图2主控制器结构框图
图1所示的整个系统分为3个层次,主控制器与转换器之间采用CAN通信的方式,转换器与探测器或联动模块之间采用RS485的通信方式。设计的CAN/485转换器的最大数目为32个,每个CAN/485转换器挂接RS485节点数暂规定为33个(实际选用的485芯片可带256个节点),这样既有力地保障了通信的稳定性,又能使整个系统的探测器节点容量最大达到1 024个,以满足绝大多数客户的要求。
探测器中传感器感知现场气体浓度并转换成0~5 V电压信号,然后探测器对数据进行分析、处理,转换成相应的数据格式。当接收到转换器数据请求命令时,按照规定的通信协议把浓度等数据通过RS485总线发送到转换器;除此之外,探测器还要具体实现调零、标定、修改地址等功能。联动模块实现的功能比较简单,当把某个联动模块设定为与探测器关联,且关联的探测器发生报警时,联动模块相应的继电器动作,控制气体管道阀门或排风风扇开合,从而及时避免事故发生。
CAN/485转换器选用ATmega16单片机作为微控制器,主要负责数据格式的转换。转换器作为RS485总线的主机轮询其下面探测器节点数据,集中对轮询上来的数据进行处理、打包,并通过CAN总线发送到主控制器。此外转换器还要响应主控制器下发的命令,并对命令进行解析,然后下发到对应的探测器或联动模块实现具体功能。
主控制器是系统的最主要部分,也是设计的难点。其一方面实时地显示浓度信息,对接收的数据进行判断及声光报警等;另一方面及时响应触摸屏终端,实现查询、设定等功能。主控制器主要包括CAN通信模块、人机界面、打印、存储、报警、电源等功能模块。人机界面选用一款26.4 cm(10.4 in)带触摸屏的智能彩色液晶显示终端完成。该终端采用串口通信的方式,编程简便且美观,复杂的界面较易实现。打印机选用UPA16PZ微型打印机,通过并口与ATmega128微控制器相连,满足打印历史报警记录、开关机记录及故障记录的要求。主控制器外扩了1片32 KB的EEPROM,用于存储历史记录和系统参数等要求关机保持的数据;1片32 KB的RAM,用于存储实时的浓度信息等。电源电路部分负责电压的转换及市电、备电及充电状况的检测。
2气体报警系统硬件设计
2.1主控制器部分
主控制器电路主要由两大部分组成:一是电源电路部分,二是微控制器和各I/O模块电路。电源电路主要实现两个功能:一方面负责24 V到5 V电压的转换,选用LM2575开关稳压模块;另一方面要实现电源状态检测,利用脉冲的方式实时检测市电、备电及充电状况。
微控制器和各I/O模块的设计是另一个重点,电路原理如图3所示。微控制器选用的是ATmega128。ATmega128是一款基于AVR内核,采用RISC结构,低功耗CMOS的8位单片机,其有128 KB的可在系统编程Flash程序存储器,4 KB RAM,4 KB EEPROM,53个通用I/O口,2个可编程的USART接口,1个8位面向字节的TWI总线接口,1个SPI接口,1个兼容IEEE1149.1标准的JTAG接口(用于在线仿真调试和程序下载)。ATmega128的这些特点,恰能满足主控制器的设计要求。
图3主控制器电路原理
考虑到要保存的实时数据和历史记录数据量很大,因此通过TWI总线扩展了一个32 KB的外部EEPROM FM24C256和一个带有32 KB RAM的时钟芯片SD2200EPI。Ramtron公司的FM24C256铁电存储器是一种新型的数据存储器,具有掉电数据不丢失、可承载超过一百亿次擦写操作、数据保存时间长等特点,相比于普通EEPROM,它的存储和读出速度很快,不需要额外的等待时间,使用其存储历史数据和系统参数非常方便。SD2200EPI是一个工业级的内置32 KB SRAM的高精度实时时钟芯片,其可保证时钟精度年误差小于2.5 min。利用SD2200EPI,既实现了实时数据的存储又为系统提供了精确的实时时钟。
CAN通信选用独立的MCP2515作为CAN控制器。Microchip公司的MCP2515是一款独立控制器局域网络(Controller Area Network,CAN)协议控制器,完全支持CAN V2.0B技术规范。它自带两个验收屏蔽寄存器和6个验收滤波寄存器,可以滤掉不想要的报文,因此减少了MCU的开销,最大可编程波特率为1 Mb/s,具有自环(loopback)检测模式,标准帧数据段的前两个字节有单独过滤功能;MCP2515与MCU的连接是通过业界标准串口外设接口(Serial Peripheral Interface, SPI)来实现的。MCP2515的最高时钟输入频率为40 MHz,并具有一个10 MHz的SPI接口。与MCP2510相比具有更快的传输速度,可以更快地处理CAN信息。总线收发器选用82C250,同时电路中加入了磁珠、静噪抑制器、防雷管等防静电、防雷击、防浪涌元器件,使系统通信更加稳定、可靠。
考虑到对系统稳定性要求较高,系统复位电路选用Maxim公司推出的微控制器系统监控电路MAX705看门狗芯片。
智能彩色液晶终端与微控制器USART1口相连,可提供全汉字功能和触摸屏功能。通过简单的指令即可完成点、线、圆、矩形、点阵图形等复杂图形的设计;还提供大容量的画面存储器可存储任意数量的固定画面及BMP图像,用户可自行设计终端开机画面并存储到终端中。触摸屏为电阻压力式长寿命系统,其分辨率为1024×1024。
打印机的选通信号及故障、报警等指示灯的选通信号,通过一个GAL芯片GAL16V8译码实现。打印机及各指示灯的输出信号及若干控制信号,都是通过微控制器外扩的并行总线结合74AHC573来实现的,而输入信号的操作是该总线和74AHC245结合的方式实现的。
声音报警系统选用LM246语音芯片实现高、低报及故障3种声音,报警电路原理如图4所示。
图4报警电路原理
2.2CAN/485转换器
转换器的控制核心选用高性能、低价格、支持JTAG仿真的ATmega16微控制器。ATmega16内部有16 KB Flash,256字节的 EEPROM,1 KB的RAM,适合转换器的设计要求。
转换器主要实现CAN数据格式与RS485数据格式的转换。电路主要包括两部分:CAN总线部分和RS485总线部分。CAN总线电路与主控制器处大致相同,如图3 所示。
图5RS485通信电路原理
RS485总线通信电路原理如图5所示。 其中RS485通信芯片选用了性价比很高的半双工接口芯片SN65HVD3082。它具有以下特点:
◆ 满足TIA/EIA485A标准的要求;
◆ 低静态电流消耗——有效模式为小于0.3 mA,关闭模式为1 nA;◆ 优化的驱动器输出信号,传输率达200 kb/s时保持低EMI;
◆ 1/8单元负载——1条总线上多达256个节点;
◆总线引脚ESD保护超过16 kV。
为增强系统的可靠性,采用6N137进行隔离;同时电路中加入磁珠和防雷管,可有效地实现雷击和浪涌保护。
3软件设计
3.1主控制器软件设计
主控制器程序框图如图6所示。在进入循环之前,首先对微处理器及各芯片初始化,显示开机画面30 min。在此过程中不断进行电源检测、键值检测、读取系统参数。系统参数主要包括存在内外部EEPROM中的节点投用情况、密码等信息。CAN总线可采用多主通信方式,但为判断出转换器的故障及各节点响应均衡,仍以主控制器作为主机,轮询各转换器节点,采用妥当的出错处理方式,仍能快速、稳定地运行。键值检测及处理部分主要是检测触摸屏是否按下,并根据相应键值做出反应。触摸屏界面分为三大下拉菜单:显示菜单、设置菜单、控制菜单。各菜单下又有若干下拉界面选项,这些功能都是在键值处理函数中完成的,而键值是根据触摸屏串口接收的数据计算得到的。
图6主控制器流程
CAN总线的数据接收是在INT0中断中实现的,报文的收发采用29位扩展帧格式。各位标识符具体安排如下:用TXBnSIDH对应的8位作为CAN节点的ID号,接收节点中设定相应的屏蔽验收位,这样能区分的CAN节点数达到127个,足以满足要求。TXBnEID8标示发送方自身ID,TXBnEID0存放485节点的地址号,这样一帧CAN数据就能传送完探测器的一个数据单元。
3.2CAN/485转换器软件设计
转换器通过CAN总线以中断的方式接收主控制器发送来的命令,然后解析命令,根据命令的不同转去执行各功能子函数。当没有接收到控制器的命令时,转换器循环轮询其下面的485节点。转换器主程序流程如图7所示。
图7转换器主程序流程
4注意事项
无论是CAN通信的中断程序还是触摸屏串口接收中断程序都应该尽量短,否则会影响CAN通信效率。在一个CAN节点连续发送报文时,每帧数据间要有适当的延时,或者做接收满和发送空标志的判断,否则容易产生溢出错误。
对MCP2515位时间各时间段的编程设定必须满足以下要求,否则CAN通信易出故障:
◆ 传播段+相位缓冲段PS1≥相位缓冲段PS2;
◆ 传播段+相位缓冲段PS1≥Tdelay;
◆ 相位缓冲段PS2>同步跳转宽度SJW。
使喇叭消音时,不能只使LM246芯片的Vcc引脚变为低电平,应该使OSC1、OSC2两引脚的电平也同时变为低电平;否则,有些LM246芯片就会出现哑声的现象,使问题较难发现。
取触摸屏的键值时,至少要取3组数据,这样才能够使键值取得足够精确,防止取得触摸屏的干扰值。
结语
以上介绍的基于CAN总线的新型可燃性气体报警系统,系统稳定性好,节点容量大且操作界面友好;通过CAN适配卡可升级扩展PC机,实现显示、设置等功能。目前,本产品已批量生产。