基于嵌入式Linux的智能瓦斯监控系统设计
- 格式:pdf
- 大小:276.62 KB
- 文档页数:4
Desjgn of Intelligent
Monitoring System
Zhang Genbao,
of Gas Based Wu
Yan
on
Embeded Linux
(Shanxi university of science&technology,Xi’an Abnnct:To
based
on
7l0021,China)
在任何一台PC机上溯览器通过HTML表单或超链接请 求指上一个CGI应用程序的URL。服务器收发到请求后指定 所cGl应用程序。CGI应用程序基于浏览者输人的内容来实 现需要的功能。然后把结果格式化为网络服务器和浏览器能够 理解的文档(通常是HTML同页)。最后网络服务器把结果返 回到浏览器中,供浏览者查询.由于嵌入式资源有限・本系统 采用B0a作为web Server。B∞是一个单任务的小型H1vrP 服务器,源代码开放、性能优秀、可执行代码只有大约60kB・ 特别适合应用在嵌入式系统中。B0a涉及的目标是速度和安 全。嵌入式web服务器B0a和普通web服务器一样・能够完 成接受客户端请求、分析请求、相应请求、向客户端返回请求
眦
Hnrr
:JbⅢIl,吐一 }I^[13-o】 j
眦[1:0】
图3
ARM和DSP的接口连接
其中HD[15:o]为DsP的HPl数据总线,与ARM的 数据总线直接相连,可以提高数据的传输速度。HcS、 HDSl、HDS2、共同构成DSP芯片的选通逻辑信号。HC— NTLO、HCNTLl为HPl的访问控制信号.
存在本地数据库中,可以通过本地触摸屏查询,也可以通过网 络在客户端的浏览器里查询。对SQLite的操作可以通过C/C ++语言操作。Sqlit∞一open()可以创建一个数据库, sqlit∞一exec()执行一个SQL语句,包括插入数据、删除数 据、改变数据,而查询数据用sqIite3一g吼一tabIe(),最后用 sqIite—close()关闭敬据库. 3.3网络服务器[‘1的实现 随着嵌入式Internet技术的兴起,在嵌入式设备的管理与 交互中,基于web方式的应用成为目前的主流,这种程序的 结构也就是大家非常熟悉的B/S结构.即在嵌入式设备上运 行一个支持脚本或CGI功能的web服务器,能够生成动态页 面.在用户端只需要通过web浏览器就可以对嵌入式设备进 行管理和监控,非常方便使用。它的实现方式如图4所示.
l系统的实现
系统的整体结构如图1所示。
爱
瓦 瓦 斯 斯 -●一 传 监 感 测 器 点
-●‘--
信 号 调 理
。●一
嵌入式 系统
’卜_
嵌 入 式
嘲
路DMA,4路带PWM的Timer,l/()口,RTC,8路10位
ADC,Touch
Screen接口,IlC—BUS接口,1lS—BUS接口,
络
2个USB主机.1个USB设备.SD主机和MMC接口,2路 SPI,S3C2410处理器最高可运行在203MHz广泛的应用于嵌
The
paper
Xey
w袖;embeded“nuxI
introduced composition. g丑sf
working州nciple,
design ofhardware 8nd sofeware in
detail.
data acquisitionI
remote mOnitoring
O
引言
煤矿事故中瓦斯爆炸所带来的灾难最为严重。防IE瓦斯爆
friendly hu—
man—machine interface、900d gas
are
r髓l—time
and simpIe operation,The technoIogy and methods adopted in the intelligent monitoring system of
practical.
as
the main
processor
for hardware platform, protocol, it
can
the system takes Embedded Linux
to
the opera—
tion system and I)SP and contr01.
data
aqui Siton module.Through the based
图1系统的整体结构
入式领域。DSP模块由TMS320VC5509A芯片完成。系统的 硬件框图如图2所示。
首先瓦斯传感器采集到现场的被测信号,对其做一定的调 理后送入嵌入式系统,嵌入式系统把信号处理分析后把记录存 储在本机上,通过LCD实时显示现场数据。另外各个客户端 可以通过网络访问记录的数据.来实现远程监控…。
2嵌入式系统的硬件设计
本系统由于需要监测的数据量比较大.而且实时性要求比 较高,DSP由于其独特的结构、专门的硬件乘法器和特殊的 指令,使其能够实现各种数字信号处理和满足各种实时性要 求,所以数据采集模块由DSP完成。但DSP对数据的的后期 处理比较困难,而ARM和linux的结合,使数据的后期处理 实现起来比较简单。它主要是实现对数据的后期处理、LCD 实时显示数据、存储现场数据并充当客户机访问数据的web 服务器。 ARM采用Samsung公司的基于ARM920T核的s3c2410 芯片,采用O.18“m制造工艺的32位微控制器,该处理器拥 有:独立的16kB指令Cache和16kB数据Cache,MMU。支 持TFT的LCD控制器,NAND闪存控制器.3路UART.4
a
measure gas concentration under coal mine The s3c24 10 is used
as
to
improve safety factor,
adopted
kind of inteIligent
monitoring system of gas
as
embeded Linux。
am/mach—s3c24lO/mach—smdk2410.c文件中添加它的设
备,LCD模块和网络模块就可以用。而DSP设备驱动【5J则需 要根据设计的电路来设计驱动程序. 每一个设备驱动程序都提供了固定的人口点以便应用程序 对该设备进行存期操作。数据从内核空间传到用户空间一般有
圈4 B/s结构实现方式
万方数据
笙!塑
堕塑塞:篁!茎王塑△塞!:!翌!!盟塑矍匹堑堕塑墨竺堡盐
打开肝I设备
:!!!!:
结果等任务。目前Web技术中生成动态Web页面的方法有 CGI、PHP和服务器脚本,但后两者需要Web服务器具有这 些脚本的运行支持模块。在嵌入式Web服务器中,考虑到资 源限制问题,一般都只提供CGl支持.因此在嵌入式设备中 web方式应用实际上就是基于CGl的程序的开发。在嵌入式 开发中一般采用C语言。CGI程序的工作一般就是接受表单数 据,根据应用需求进行数据处理,最后根据处理结果生成新的 页面放回给浏览器。 在监控模块中.用C语言实现数据采集。内嵌html脚本. 这样当执行CGl程序时,首先完成对硬件的操作,然后用ht— ml脚本实现在网页上的显示。主要代码如下:
return
眦
Hcs
}Ⅱ】6l
Ol
}
hoCs2P———一 a】c10———一 脚Y
.岫出ti由一
j1日出}d由一
应用程序中对设备文件调用mmap()函数时,就会调用 此映射函数。通过此函数就会将内核空间的数据映射到用户空 间上,也就是说用户可以直接对起始地址为oxlooooooo- oxl000大小的内存空间进行操作,这该段空间正是DSP的 HPI对应的地址。 3.2嵌入式数据库的实现 SQLite[63是一个非常适合嵌入式应用的数据库,可以在所
炸已成为霞要的研究课题。为了防止瓦斯爆炸事故的发生,瓦 斯信息管理系统显得尤为重要,包括瓦斯数据的采集、存储、 安全等方面。由于瓦斯在矿井下,所以远程监测瓦斯浓度非常 重要。本文以32位ARM9处理器S3C2410为核心的,提出了 将嵌入式系统运用到瓦斯监控系统中.并以linux作为嵌入式 操作系统,实现数据的监测.通过TCP/IP坍议将嵌入式系统 接人到Internet,实现通过互联网访问现场数据,以便及时准 确地_r解瓦斯浓度的情况。
int
存储空间和外围设备。在本系统中是通过HPl来实现删和
联沪之间的通信的。HPl作为从设备,为Ⅸ沪和主机相连提供灵 活方便的接口。ARM和Ⅸ沿的接口连接如图3所示。
啪a一>虬flags I—VM_10;
砌a一>vTⅡ一nags
0x20000000。0x10000,
hpLmmap(stnlct file*filp,st州ct VfILar∞一struct-wna){
有的主要操作系统上运行。它是用C语言编写的开源嵌入式 数据库引擎,是完全独立的,不具有外部依赖行,所以本系统 采用SQLite作为系统运行的数据库。 本系统中,DSP采集模块采集到的瓦斯浓度的数据被保
3嵌入式系统软件的设计[2训
在众多的嵌入式操作系统中,嵌入式I.inux由于其源代码 开发、支持平台多、易于裁剪移植备受业界亲睐。因此本智能 瓦斯远程监控系统采用嵌入式“nux作为操作系统。整个软件 设计包括驱动程序、界面显示、数据处理和远程监控。其中界 面采用QT/Embeded设计,实现现场数据显示。远程监控利 用嵌入式Internet技术和数据库技术来实现。本智能瓦斯远程 监控系统将实现现场数据采集、数据状态显示、数据存储技 术、网络信息共享等功能。 3.1驱动程序的设计 在ARM—linux系统中,每个物理设备都有自己的控制 器,针对硬件操作就是对这些寄存器操作,设备驱动程序的就 是完成对设备寄存器的操作。设备驱动程序为应用程序屏蔽了 硬件的细节,这样在应用程序看来.硬件设备只是一个文件, 应用程序可以像操作普通文件一样操作硬件。对于LCD和 dm9000a驱动,linux内核已经有很好的支持.只要在/arch/