消防给水系统是火灾控制重要设备,它能否正常发挥作用关系着人们的生命财产安全。但在实际应用中,常出现消防栓被遮掩、水压低等情况,更严重的是阀门误操作或管道漏水造成消防栓无水。一旦发生火灾,打开消防栓龙头无水,消防人员和群众无法及时扑灭火灾,会使火灾严重程度升级,造成生命财产重大损失。为此,不但要建设一个完善的消防给水系统,更重要是要确保该系统的正常运行,有一个正常的给水压力。针对这种情况,本文设计介绍一种消防给水系统水压是否正常的检测系统,用于检测消防给水系统水压是否正常,并给出显示和报警。
1 系统组成
该系统由微机、通信处理模块、单片机消防栓信息采集模块等三大部分组成。系统的组成如图1所示。
上位机由PC机构成,位于整个系统的最上层,主要负责控制和管理整个系统中的所有通信及对收集到的各个模块的数据进行处理。
通信处理模块由控制W77E58单片机构成。一方面通过RS 232接口总线与上位机通信;另一方面利用无线通信芯片nRF401与消防栓信息采集模块通信。
单片机消防栓信息采集模块,用单片机AT89S51实现对消防栓信息采集和对无线通信芯片nRF401收发功能的控制。
2 系统的硬件设计
2.1 通信处理模块
通信处理模块电路如图2所示。该模块由于要使用两个串口分别对上层和下层通信,因此主控制器使用华邦公司的W77E58单片机。
W77E58单片机内含两个增强型串口和32 KB大容量FLASH存储器。指令集与51系列单片机完全兼容,非常适合在智能化监控系统中使用。W77E58的连线非常方便。电路所需要的外部元件仅仅是一个晶振加两个电容驱动片内振荡器、一个连接到复位脚的电阻、电容。使用片内上电复位电路,XTAL1,XTAL2是参考振荡器端,晶振频率为11.059 MHz。其中串口0通过RS 232总线接口与PC机相连,串口1则负责连接无线通信芯片nRF401。W77E58自带有看门狗定时器,此定时器是一个独立于CPU自行运行的定时器,系统可通过编程将其设置为系统监控器,时基发生器或事件定时器。因为单片机的信号电平符合TTL/CMOS标准,PC机的串口典型的RS 232信号在正负电平之间摆动,因此需要MAX202芯片实现电平的转换。
nRF401无线通信芯片是Nordic公司生产,该芯片使用了433 MHz IGM频段,集成了高频发射、高频接收、PLL合成、FSK调制、FSK解调、多频道切换等功能,具有性能优异、功耗低、使用方便等特点。通过其外部引脚,可以使芯片随时在发送模式和接收模式之间切换,无需进行任何初始化设置。nRF401通过单片机串口直接与MCU通信,无需对数据进行曼彻斯特编码。
在nRF40l与W77E58单片机接口中。nRF401电路的工作模式由19脚TXEN控制,19脚为高电平时发送数据、为低电平时接收数据。发送时,信号从单片机串口TXD(P1.3)输送给nRF401的9脚DIN端口的二进制串行数据被调制后通过天线发射出去;接收时,信号从天线接收转换为二进制串行数后,通过10脚DOUT输送给单片机串口RXD(P1.2)。该芯片12脚CS=0工作于433.92 MHz频段,CS=1工作频段为434.33 MHz。18脚PWR_UP低功耗控制,为高电平时,处于工作状态;为低电平时,处于待机状态。
2.2 单片机消防栓信息采集模块
消防栓信息采集模块如图3所示。需要完成两个方面的工作,一方面通过I/O接口读取外部设备的消防栓信息,另一方面通过无线通信芯片nRF401响应主控机发送的查询请求,回送当前消防栓信息。消防栓信息采集模块由从控AT89S51单片机、水压采集部分、A/D转换电路、无线收发电路等组成。
水压采集和转换部分是将压力信号转换为单片机能够处理的数字信号,由CYGl512型传感器和模数转换ADC0832组成。CYG512的压力敏感元件采用当代最先进的MEMS技术设计与制造。三维集成、双面加工的硅压阻压力敏感元件具有优秀的线性精度。离子注入、精细光刻技术制作的惠斯顿应变电桥的高度一致性使其具有很小的温度漂移。采用硅硅直接键合技术使得硅薄膜力敏结构具有很高灵敏度、优良的稳定性、优良的动态性能的同时具有超薄的厚度。它综合力敏结构与衬底加固结构的总厚度仅为O.6 mm,更有利于获得更薄最终尺寸的薄形传感器。CYGl512传感器,是将CYG512系列产品和信号放大调理部分分体装在一个与电线相连的仪表小盒内,它可以提供O~5 V的输出、方便与ADC0832接口。CYG512的标准量程在100 kPa,160 kPa,250 kPa,400 kPa,600 kPa,1 000 kPa,1 600 kPa,2 500 kPa,4 000 kPa。
ADC使用ADC0832是带有串行输入输出8位逐次逼近式模数转换器,其转换时间为80μs。它的两个模拟量输入通道是可编程的,可以由串行输入口DI的3位控制字指定通道。CYGl512传感器将压力信号以电压信号的形式提供给ADC0832。选择ADC0832的CHl为单端输入工作方式,CHO为不工作。所以,由DI端输入的控制字为“111”,可将DI固定接高电平。当单片机的P1.2口将ADC0832的CS脚置低电平时,CLK的前3个脉冲上升从DI端输入控制字“111”,接下来的8个脉冲完成转换过程,转换后的8位数据就从P1.O口读入到单片机中。
状态指示部分是一个发光二极管,指示系统工作状态。灭状态表示水管水压正常,当发光二极管亮时表明水管没水,当二极管闪烁时表明水管水压偏低。
3 系统的软件设计
系统的软件设计其主要部分为通信处理模块和消防栓信息采集模块两大部分的设计。
通信处理模块的软件设计主要有程序初始化部分、RS 232通信部分和无线通信部分。串口初始化。W77E58的串口O工作在工作方式1,通过RS 232与PC机通信。串口1工作在工作方式1,控制nRF401通信。两个串口均使用定时器1控制通信波特率,波特率定为9 600 b/s。
由于无线通信的特殊性,外部干扰使得误码率较高。因此,软件设计首先要保证能够识别噪声和有效数据,通信协议的设计就显得十分重要。设计中采用如下通信协议:
(1)数据发送使用查询方式,接收使用中断方式。
(2)数据帧包含帧首、帧尾、地址、数据及校验部分,数据帧的格式如图4所示。帧首采用双字节0x55和0xAA,帧尾使用0x01结束;地址是用双字节地址,共16b,地址分配上,各个电流采集模块地址不相连,使其保持一定的容错性;数据部分为一个字节;地址部分和数据部分使用16进制ASCII送;帧的校验部分使用CRC4校验。
(3)接收方检测到连续的0x550xAA字节,表示接收到有效的数据帧,如果帧校验通过,接收方根据命令请求后发送相应数据,若该帧结构非法,则丢弃该帧,不做任何处理。
(4)发送方在发送查询请求后,将启动监控定时器并等待接收应答,如果在规定的时间内没有收到相应的数据应答,发送方将重新发送请求,并进行错误计数,以免数据丢失。如果错误计数达到一定值,发送方停止发送请求,进入错误处理。
消防栓信息采集模块软件设计,当从机收到自己的地址并向主机应答后,转为接收模式。如随后一段时间内再没有收到主机的查询信号,则认为主机已经正确接收到该从机发送回的应答信号,完成一次正确通信,从机转为接收模式。消防栓信息采集模块部分流程图如图5所示。
4 结 语
本系统充分考虑了环境对通信的干扰,在调试中发送数据时,应首先尝试不断发送0X55AA,以检验数据收发的误码率,如果误码率校大,应对电路进行重新设计。由于采用无线通信芯片nRF401,进行多点数据采集十分方便、快捷。尤其适合对厂房、仓库等复杂场所控制。