煤矿报警系统节点的设计及实现
1 引言
煤炭是我国重要的能源资源,我国的煤炭工业多数还靠人工开采,安全隐患多, 因为煤矿开采的特殊环境,容易发生事故,煤矿行业也被称为高危险的行业。利用远程视频监控系统,地面或中心监控人员可以直接对井下情况进行实时监控,不仅能直观地监视和记录井下工作现场的安全生产情况,并能通过在井下安装温湿传感器瓦、斯探测器等,及时地发现事故苗头,防患于未然。我们的研究课题是,将无线传感器网络技术[1]融入视频监控系统中,取代原来的有线网络。随着矿井延深,无线传感器网络的节点可以很方便的增加,形成新的自组网络,通过无线通信节点将数据经多跳传送到基站。
2 节点的硬件设计
传感器节点的硬件结构主要由传感模块、处理模块、通信模块和电源模块组成。传感器节点一般采用电池供电,节能成为设计的关键技术,一般要保证节点电池寿命在一年一上。此外,还要控制成本和体积。设计的节点硬件框图如图1所示。
2.1 微处理器模块
微处理器选用ATMEL公司的ATMELGAl28L。该芯片功耗低,且有多种睡眠模式;多个中 断源,53个I/O口,可以连接多个传感器扩展口;内带8路 10位A/D转换器,可以将传感器送来的模拟信号转换为数字信号;双向I2C串行总线接口;主/从SPI串行接口;可编 程串行通信接口;JTAG和SPI 在线编程方式等。该芯片的丰富资源可以满足节点数据处理和传输的要求,尤其是六种不同的睡眠模式,特别适合有能量限制的应用。
存储器存放待处理或接收的数据.选用Mierochip公司的25AAl024。该芯片的存储量为1024KB,功耗低,读写方式为SPI,占用I/O口少。节点索引号产生器选用MAXIM公司的DS2411,用来产生48位随机数,作为节点的惟一标识号。
2.2 射频模块
射频芯片的选取直接影响节点的功耗,因为节点消耗能量的近2/3都用于无线收发。选用的射频芯片为NORDIC公司的nRF24L01。该芯片功耗低,在相同工作模式下,比Chipcon公司的CC2420芯片节省近l/3的能量;工作于2.4G~2.5GHz ISM频段;支持高速跳频;体积很小;外围器件少,配置简单,且使用两层PCB板,节省成本。nRF24L0l配置框图如图2所示。
nRF24L01与微处理器相连只需6根信号线,其中4根是SPI信号线,与ATMELGAl28L的SPI口相连;其余一根为片选,另一根用于中断请求。
射频电路要取得好的RF性能,PCB设计必须合理。nRF24L01的供电电源必须经过良好的滤波,并且与数字电路分开;避免长距离走线;在射频信号输出部分,根据发送功率设置滤波网络,以实现阻抗匹配,使到达天线的信号最强。要防止高频信号泄漏,否则会对发射信号造成很大干扰。由于天线要散播电磁能量,需选用Q值较小的器件。制作PCB板时,在器件周围覆铜,以提高抗干扰性能。
2.3 传患器模块和扩展口
板上设有tp-1.1a 非加热低功耗甲烷气体传感器[2],由于是模拟信号,需接入ATMELGAl28L的AD引脚进行AD转换后才可处理。板上还装有数字型温湿度传感芯片SHT15,可感知温度和湿度,精确度较高,且功耗低,采用I2C读写,占有I/O口很少。
为了让节点具有更广泛的应用,节点板上接有扩展口,其中有I2C口、AD口和中断口等,用来连接其他传感器。
2.4 电源摸块和电能消耗
节点有两种供电方式,在实验室调试和测试时通过开发板供电,在外界环境中工作时,用2个AA电池供电。为了防止2个电源之间的干扰,在板上加有一个手动开关。
因为电能的消耗决定了传感器节点的使用寿命,在节点的软、硬件设计时,必须充分考虑能源的有效性。节点在各种运行模式下,必须关闭不必要的模块以节省能量。我们采用节点定时关闭和打开的协议[3,4]且关闭与打开的时间比为1:99,使用2节1000毫安时(mAhr)的AA电池供电,节点耗能如表1所示。
在上述工作模式下,如果用2节1000mA-hr的AA电池供电,则节点寿命为12.55个月。此值是在最大发送功率情况下计算的。当发送功率和收发速率变小时,耗能更少,传感器的寿命会更长[5]。
3 开发板的硬件设计
为了完成节点的开发,我们设计了开发板,其硬件系统框图如图3所示。节点CPU的JTAG口接在开发板上。如果使用JTAG口下载和调试程序,则需要JTAG下载器。为 此,设计了另一种下载方式,即串行下载。CPU通过 USB口接收上位机的代码,然后通过SPI口下载到节点CPU的FLASH。CPU为中心控制模块,接收上位机的各种命令并进行相应处理。CPU芯片选用 ATMEL公司的ATMELGAl6L,该芯片带有可编程UART口和工作于主机、从机模式的SPI口。
USB转换芯片实现上位机端的USB数据与下位机端的UART数据之间的转换。选用芯片为FT232BM。由于编程板CPU、ATMELGAl28都要通过USB口与上位机通信,为了防止不同输入输出信号间的干扰,设计时用了两个带有使能控制的BUFFER来控制不同CPU串口通信的通断。
为了更方便地配置传感器节点,在板上集成了一块E2PROM。目标代码可以先存储在EZPROM中。当需要向节点下载时,通过按钮激发外部中断即可将E2PROM的代码通过SPI口写入节点CPU。操作方便简单,摆脱了上位机的限制。
节点连接器是17针的节点与开发板和扩展传感器之间的接口,除了编程口和串口,还有连接传感器的扩展口,包括I2C口、中断口和AD口等。
节点CPU SPI编程共需4根信号线,其中3根SPI通信线与开发板CPU的SPI口相连,节点CPU的RESET信号 由开发板CPU的IO口控制即可。
4 开发板软件设计
4.1 上位机程序设计
用C++ Builder 6.0编写上位机程序,制作了用户操作界面,并将不同编译系统生成的多种目标文件格式转换成上、下位机约定的文件格式,传送给下位机。
为提高向ATMELGAl28L的FLASH和E2PROM写代码的效率和便于从E2PROM向FLASH写代码,上位机传送给下位机的代码采用图4所示的格式。
图4中,地址指该段代码要写入FLASH的初始地址,包括2字节的页地址和l字节的页内地址;序列号表示该段代码是全部代码中的第几段;长度指该段代码的字节数,不包括地址和序列号。每一地址段代码都采用图4的格式。www.51kaifa.com/
上位机程序支持的目标文件格式有:TinyOS、AVRGCC和IAR生成的Intel hex文件。Intel hex是Intel公司提出的一种文件标准,是最常用的目标文件格式之一。
上位机程序将不同编译系统生成的不同格式的目标文件转换成图4所示的格式,再发给下位机。上位机操作界面提供了各种命令按钮,用户点击命令按钮后,上位机即按制定的该命令模式处理协议发送命令和数据。在传送文件时,为确保数据传送不出差错,采用了停止-等待传输协议[6]。上位机发送约定长度的数据后停止发送,等接收到下位机发来的确认标志后再开始发送。
4.2 下位机程序设计
下位机接收上位机的命令,完成读写FLASH、E2PROM、锁定位、熔丝位和USB口使用权的切换等功能。由于实现的功能较多,采用了模块化、自下向上的结构化设计方法。首先按照ATMELCAl28L数据手册提供的SPI编程算法,用C语言实现了读写FLASH、锁定位和熔丝位等模块。
程序设计的一个难点是将接收的上位机发送的文件写入FLASH或E2PROM,因为涉及到接收数据和写FLASH或EZPROM的交互。解决方法是采用停止——等待传输协议进行数据传送[7]。下位机开辟约定数量的缓冲区,利用中断接收上位机数据至缓冲区满,处理完缓冲区数据后发送确认标志,上位机收到确认后再开始下一次发送。
写EZPROM与写FLASH类似,只是要将接收的地址、序列号、长度也写入E2PROM。代码在E2PROM中存放时仍保持表2所示的格式,即段初始地址、序列号、该段长度、数据的格式,以便将E2PROM中存储的代码写入FLASH。
编写下位机程序时,依据各模块分别用子函数实现、模块间接口清晰、主程序简单的原则,实现了读写FLASH和E2PROM、读写锁定位、从 E2PROM写FLASH等几大模块,主函数接收到命令调用相应模块即可。当按下中断按钮时,中断程序先检测FLASH连接,如果检测成功,则调用从 E2PROM写FLASH模块;否则红灯闪烁指示操作失败。
5 结论
本文提出了将无线传感器网络技术融入煤矿视频监控系统中,给出了无线传感器网络节点的组成和设计环境。研究了延长无线传感器网络节点生命周期的方法。在目前电池安时数还很有限的情况下采用节点定时开关协议,在满足煤矿安全要求的情况下,确定开关时间比为1:99,从而使节点电池的更换周期在一年以上。无线传感器网络其节点扩展的方便性,满足了煤矿生产中矿井不断延深的实际要求。本文创新点有三:1.将无线传感器网络技术引入煤矿视频监控系统中;2. 给出无线传感器网络节点实现的技术要点;3. 推出了节点最短寿命。
注:将无线传感器网络技术融入煤矿视频监控系统,此技术目前我们还处于研究试制阶段,未形成实用产品,欢迎相关企业与我们合作开发。