《电子技术应用》
您所在的位置:首页 > 其他 > 业界动态 > 基于ARM的煤矿瓦斯涌出量预测系统的设计

基于ARM的煤矿瓦斯涌出量预测系统的设计

2009-09-23
作者:杨 艺,张云生

  摘 要:介绍了基于ARM920T嵌入式处理器(S3C2440)硬件平台上的瓦斯涌出量预测系统的设计。基于ARM嵌入式设备体积小、反应快、可靠性高等特点,可以有效地对多传感器数据进行融合和即时分析,从而及时地预测瓦斯涌出量的变化。系统采用分源法作为预测算法,讨论了硬件及软件方面的设计。
  关键词:ARM920T;瓦斯预测;嵌入式系统;分源法;QT

 

  随着微电子技术和计算机技术的发展,嵌入式技术得到了广阔的发展空间。特别是进入20世纪90年代以来,嵌入式技术的发展和普及更为引人注目,已经成为现代工业控制、通信类和消费类产品发展的方向。在煤炭开采工业中,瓦斯是危害矿井安全生产的重要因素之一。目前的煤矿瓦斯预测系统大多是将影响瓦斯涌出的物理量如浓度、湿度、风速等发送至井上的中心管理系统中进行分析预测,预测信息难以及时反应到井下作业人员及系统,从而导致不能在第一时间作出反应。基于嵌入式的瓦斯涌出量预测系统便于在井下不同的开采区安装,对当前开采区传感器数据进行处理分析,并预测出该开采区的瓦斯涌出量信息,各个开采区之间不但彼此可以相互通信,而且可以与上位机进行实时交互。
1 总体设计
  瓦斯传感器将被测物理量瓦斯涌出量转换成电信号,经过A/D转换采样,转换成数字信号,在ARM处理器中处理。基于ARM920T内核的S3C2440核心板带有内置STN/CSTN/TFT LCD控制器,支持1 024×768分辨率以下的各种液晶,用于显示预测信息、检测量、检测时间等。内置4线制电阻式触摸屏控制器,用于用户与系统的交互,也可以通过键盘对系统参数等进行设置。100 Mbit/s 以太网控制器,用于与上位PC的双向信息传递。系统的软件开发是在Fedora Linux环境下基于QT设计的。QT是挪威的Trolltech 公司开发的一个开源的、跨平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。QT完全面向对象,很容易扩展,并且允许真正地组件编程。系统依据分源法[1,2]将矿井各个开采面分为不同的瓦斯涌出源,建立瓦斯分源预测模型,经过换算得到预测数据并显示。系统结构如图1所示。

 

 

2 硬件设计
2.1 芯片及存储器设计

  系统选用了三星公司基于ARM 9 内核的S3C2440嵌入式处理器。S3C2440被广泛应用于PDA、移动通信、路由器、工业控制等领域, 芯片中集成了下列模块: 16 KB指令Cache、16 KB数据Cache、MMU、外部存储器控制器、LCD控制器、NAND Flash控制器、4通道PWM 定时器和1个内部定时器、168脚通用GPIO、实时时钟、8通道10 bit的AD和触摸屏接口、标准20 pin JTAG调试接口等。存储器方面采用标准的64 MB Nand-Flash用于数据存储和64 MB SDRAM用于程序的运行。
2.2 A/D采样、显示和接口设计
  A/D转换单元采用MAX1297AEEG实现12位并行模数转换,直接与核心板的I/O线连接,如图2所示。由于S3C2440自带有LCD控制器,所以免去了LCD控制器的设计,显示屏采用NEC公司的3.5寸的压电式触摸LCD,分辨率为240×320。以太网接口采用TC3097F-5芯片。

 

 

软件设计
3.1  BootLoader的移植
  BootLoader是在操作系统内核运行之前运行的一段小程序。大多数BootLoader都分为Stage1 和Stage2 两大部分。Stage1主要包含依赖于CPU的体系结构硬件初始化的代码,通常都用汇编语言来实现。这个阶段的任务有:(1)为基本的硬件设备初始化;(2)为第二阶段准备RAM空间;(3)设置堆栈并跳转到第二阶段的程序入口点。Stage2通常用C语言完成,以便实现更复杂的功能,也使程序有更好的可读性和可移植性。这个阶段的任务有:(1)初始化本阶段要使用到的硬件设备,检测系统内存映射;(2)将内核映像和根文件系统映像从Flash读到RAM;(3)为内核设置启动参数,调用内核。系统采用韩国MIZI公司开发的开源BootLoader, 即vivi,对vivi进行必要的裁剪并移植到系统当中。
3.2  Linux内核的移植[5]
  由于系统包括数据的分析、系统间的通信及与上位机的交互等功能的综合,所以考虑加入操作系统,以便更好地管理和分配资源。系统采用最新的Linux 2.6.14内核,内核的移植较为复杂,主要包括Makefile文件的修改(如设置交叉编译的路径、flash分区的设置等)和配置内核编译项(make menuconfig):(1)加入Yaffs2文件系统支持;(2)CS8900网卡驱动的移植;(3)LCD驱动移植;(4)USB驱动移植等。
3.3 Yaffs2文件系统的制作
  文件系统的制作主要是用busybox工具制作最小文件系统,编译和安装busybox-1.7.tar后会在busybox目录下生成子目录_install,并且/bin目录下集成压缩了Linux的许多工具和命令。另外,还要加入QT程序所依赖的动态共享库libQtCore.so.4、libQtGui.so.4和libQtNetWork.so.4,并设置环境变量。
3.4 基于QT的软件设计[6]
  系统的应用程序主要包括以下几个模块:
  (1)核心算法模块。根据分源法建立数学模型,如图3所示。

 

 

  其中主要瓦斯涌出源包括开采煤层(包括围岩)瓦斯涌出、邻近煤层瓦斯涌出、掘进巷道煤壁瓦斯涌出、掘进落煤瓦斯涌出、已采采区采空区瓦斯涌出和生产采区瓦斯涌出。
  回采工作面瓦斯涌出量q1=开采煤层瓦斯涌出+邻近煤层瓦斯涌出
  掘进工作面瓦斯涌出q2=掘进巷道煤壁瓦斯涌出+掘进落煤瓦斯涌出
  

  其中q4为已采采区采空区瓦斯涌出量。
  (2)通信模块。系统的通信包括与上位PC通信和与其他子系统的通信。通信接口采用100 Mb/s以太网接口,通信协议采用轻量级的UDP协议,该协议适用于短消息的网络数据传输、拥有大量的客户端、对数据安全无特殊要求、对响应速度要求高等情况。QT提供了一个QUdpSocket类用于编写UDP程序,QUdpSocket类提供的一个重要功能是广播,这里正好适合系统以广播的形式向邻近煤层系统发送广播数据报,从而获得邻近煤层瓦斯涌出量信息。
  (3)信息显示GUI模块。该模块用于与操作人员交互,采用触摸方式,更适于在狭窄的空间中进行操作。QT的GUI类为程序设计人员提供了丰富的操作控件,可以方便地设计出操作简单、界面友好的系统。系统的显示主要包括回采工作面瓦斯涌出量,掘进工作面瓦斯涌出量,当前开采面风速、湿度、瓦斯涌出量预报信息及检测时间等。
  本文针对矿井下不同深度、不同采区瓦斯涌出量的差异及邻近采区瓦斯涌出相互影响的特点,设计出分布式的基于ARM的瓦斯预测系统。系统的硬件平台设计,鉴于其特殊的应用环境,采用可靠性高、应用广泛、技术成熟的S3C2440做为核心板;软件方面采用了兼容性强的Linux+QT的设计方式,保证了系统的稳定可靠。根据历史瓦斯涌出数据,在煤层厚度为4.96m、日产量3 000 t、巷长1 000 m、巷道横截面为5 m2、平均瓦斯含量为18.80 m3/t、距地面90 m的矿井下,系统预测值为45.28 m3/min,实际值为50.06 m3/min。


参考文献
[1] 于不凡.煤矿瓦斯灾害防治及利用技术手册[M].北京:煤炭工业出版社,2005.
[2] 张西志.利用分源法预测矿井瓦斯涌出量[J].中州煤炭,2006,6(11):66-68.
[3] 刘淼.嵌入式系统接口设计与Linux驱动程序开发[M].北京:航空航天大学出版社,2006.
[4] Samsung Inc. S3C2440X 32-Bit RISC micro-processor user manual revisionl.2003.
[5] 李亚锋,欧文盛.ARM 嵌入式Linux系统开发从入门到精通[M].北京:清华大学出版社,2007.
[6] SLOSS N A, SYMES D, WRIGHT C.ARM嵌入式系统开发一软件设计与优化[M].沈建华,译.北京:北京航空航天大学出版社,2005.
[7] 彭军.传感器与检测技术[M].西安:西安电子科技大学出版社,2003.


 

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。