发明内容:
矿井远程监控系统由监控中心和多个数据采集终端组成,各个数据采集终端可采集人员、气体浓度等各种数据,并实现实时数据处理、参数设定等功能。同时,测量得到的数据通过Zigbee无线通信方式传送到远程监控中心,监控中心对收到的数据进行分解、计算、显示、保存、统计、报表等处理;监控中心能下传控制参数或控制命令,对错误数据能给出报警信息。
为实现上述功能,系统的总体设计如下:数据采集终端主要由LPC2210核心模块、数据采集模块、人机交互模块、实时时钟模块、E2PROM存储模块和Zigbee通信模块六部分组成。
LPC2210核心模块包括LPC2210微处理器、存储模块、系统时钟电路、电源电路和系统复位电路等。LPC2210内有16kb的静态RAM,可存储代码/数据;它同时具备外部存储接口,系统扩展了2M字节NOR FLASH,8M字节PSRAM和16M字节NAND FLASH。LPC2210微控制器可使用外部晶振或外部时钟源,系统采用11.0592MHz晶振,支持LPC2210微控制器芯片内部PLL功能及ISP功能。LPC2210控制器的I/O接口供电电源为3.3V,所以设计为3.3V应用系统。核心模块复位电路复位电路使用了带IIC存储器的电源监控芯片CAT1025JI-30,复位门槛电压为3.0~3.15V,提高了系统的可靠性。
数据采集模块由LPC2210定时控制采集数据,采集的数据主要包括井下人员位置、危险气体浓度等信号。人员位置、危险气体浓度等由各种数字式集成传感器采集得到,然后通过RS232接口放大后送入LPC2210的UART1口。
为了便于现场的维护和检查,系统设计了人机交互模块,包括显示输出和键盘输入两大功能。显示模块用来显示采集到的数据、各类报警标志位及操作提示;键盘输入模块主要用于各种上下限值的设定。显示模块采用的MS240128A是一款240*128LCD,可以直接与核心模块上的显示接口连接。控制模块为16个按键,通过ZLG7290芯片与系统的IIC总线连接。
Zigbee通信模块主要实现与上位监控中心的通信,能够定时地将采集到的各类数据打包发送给数据中心,同时监控中心也可通过Zigbee通信模块对数据采集终端进行控制,如:从数据采集终端读取各个数据的上下限值、配置各个数据的上下限值、配置发送和采集的时间间隔等。
由于数据采集终端的核心模块采用的是LPC2210嵌入式微处理器,它提供了对实时操作系统的支持,本系统的软件设计采用了Uc/OS-II实时操作系统。uC/OS-II是专为嵌入式硬件设计的实时多任务内核,其内核精简,多任务管理功能相对完善,实时性能好,可裁剪,可固化,源码开放,可移植性强,能较好满足本系统对实时性、稳定性和可靠性的要求。数据采集终端要实现实时数据采集、数据显示、定时发送数据、对异常数据报警、定时校准时间等功能,根据uc/OS-II操作系统多任务特点,应仔细考虑任务划分,既要保证每个任务相对独立,又要避免任务划分过细导致任务调度频繁致使系统效率下降。本系统设计了12个任务。uC/OS-II为任务的通信提供了多种通信方式,如信号量、邮箱、消息队列,并提供了对这些方式进行操作的函数,比如建立信号量、删除、等待、发送等。本系统任务间的通信采用了三种方式,即全局变量方式,消息邮箱方式和消息队列方式。模拟信号由LPC2210自带的A/D转换器采集,在开始A/D转换之前,要对功能模块进行初始化。LPC2210的A/D转换器包含2个寄存器:控制寄存器ADCR和数据寄存器ADDR,初始化工作就是设置ADCR使A/D转换器按照系统要求的方式工作。ADCR是一个32位寄存器,0~7位负责输入通道选择,8~15位负责设定A/D转换时钟;16位BURST可选择A/D转换是通过软件控制还是自动重复执行;17~19位CLKS用来选择自动转换时的速度和精度,精度,速度越高,精度越低;21位置1选择正常工作模式,置0处于掉电模式;22~23位用于测试,缺省值为正常工作模式;24~26位START控制A/D转换的启动方式,是软件命令启动还是定时器信号启动。EDA9033D电参数采集模块采用的是MODBUS-RTU通信规约,它规定三相电压、电流是存于0x0040h开始的连续6个寄存器中,而电度值则是存于0x000ch开始的寄存器中,即这些电参量不是连续存储的,需要调用两条采集命令才能获取所需的全部监控数据。首先采集三相电压、电度值,经CRC校验正确无误后采集电度值,并进行CRC校验,若校验正确则将采集的数据存储起来,否则提示报警。
由于Zigbee提供的控件已完成了套接字连接,确认握手,心跳包检测用户状态等功能,所以本系统只需完成数据传输协议的设计,包括两部分内容,一是发送数据格式的定义,二是监控中心对数据采集终端命令字的定义。发送数据格式定义包括参数的设定,信号类型的设定,每类信号所占的字节数的设定等,这些数据以字节为单位,1到4字节不等,如果该数据为多字节数据,先存高位。监控中心对数据采集终端的帧格式定义为:以命令字母开头,第二位是数据长度,第三位是命令解释,后接数据。
与Zigbee模块相关的任务有Zigbee接收任务,检查Zigbee连接任务,定时发送数据任务,命令任务,消息队列任务和报警任务。
Zigbee接收任务实时监视是否有命令或数据收到,如果收到的是命令则恢复命令任务并将命令发送到Zigbee邮箱。命令任务被恢复后读取Zigbee邮箱中数据,根据收到的命令执行相应任务。
定时发送Zigbee数据任务是按一定的时间间隔给消息队列发送消息。消息队列任务读取消息值后,如判断为定时发送Zigbee数据任务则发送数据,同时启动检查Zigbee连接任务,如果不连接,将报警位置1,报警任务读取标志位后报警。
具体实施方式:
如图1所示,数据采集终端主要由LPC2210核心模块(1)、数据采集模块(2)、人机交互模块(3)、实时时钟模块(4)、E2PROM存储模块(5)和Zigbee通信模块(6)六部分组成。其中LPC2210核心模块(1)包括LPC2210微处理器、存储模块、系统时钟电路、电源电路和系统复位电路等。其中数据采集模块(2),由LPC2210定时控制采集数据,采集的数据主要包括井下人员位置、危险气体浓度等信号;人员位置、危险气体浓度等由各种数字式集成传感器采集得到,然后通过RS232接口放大后送入LPC2210的UART1口。其中人机交互模块(3),包括显示输出和键盘输入两大功能:显示输出用来显示采集到的数据、各类报警标志位及操作提示;键盘输入模块主要用于各种上下限值的设定。其中实时时钟模块(4)为系统的命令执行提供时钟信号;其中E2PROM存储模块(5),用于采集到的数据及交换到的信息的数据缓存及存储;其中Zigbee通信模块(6),主要实现与上位监控中心的通信,能够定时地将采集到的各类数据打包发送给数据中心,同时监控中心也可通过Zigbee通信模块对数据采集终端进行控制。
如图2所示,采集终端软件包含1个主任务(Q1)和11个子任务共计12个任务,其子任务包括报警任务(Q2),命令任务(Q3),键盘接收任务(Q4),消息队列任务(Q5),定时校准任务(Q6),显示任务(Q7),Zigbee接收任务(Q8),串口1接收任务(Q9),检查Zigbee连接任务(Q10),Zigbee定时发送任务(Q11)和定时采集任务(Q12)。不同子任务之间通过主任务有效的结合在一起,可以同时处理1个或多个任务。
以上是对本发明的说明而非限定,基于本发明思想的其他实施方式,均在本发明的保护范围之内。