微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于ARM的煤矿瓦斯涌出量预测系统的设计

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

时间:10-14 来源:作者:杨艺 张云生 点击:
随着微电子技术和计算机技术的发展,嵌入式技术得到了广阔的发展空间。特别是进入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 软件设计

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所示。

其中主要瓦斯涌出源包括开采煤层(包括围岩)瓦斯涌出、邻近煤层瓦斯涌出、掘进巷道煤壁瓦斯

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top