基于Linux的嵌入式闸门智能监控系统

发布者:leader5最新更新时间:2012-04-05 来源: 成都信息工程学院学报关键字:Linux  嵌入式系统  闸门智能监控 手机看文章 扫描二维码
随时随地手机看文章

引言

闸门系统是水资源调度中重要的组成部分,国内目前多采用手动和部分电动的操作方式,真正实现闸门的智能控制还少有报道。文中采用的是基于Linux 操作系统的嵌入式技术,实现水利工程闸门的集视频监控与水位、闸位、库容、流量等参数实时监控一体化的本地/ 远程自动监控。

Linux 与嵌入式系统

嵌入式系统是一种以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应实际应用对功能、可靠性、成本、体积、功耗等要求严格的专用计算机系统。它面向特定应用,有较高的可靠性和较长的市场生命周期。由于嵌入式系统的功能越来越复杂,硬件条件越来越好,选择合适的嵌入式操作系统成为系统开发的关键问题。

目前嵌入式系统的开发方法主要有两种:一是依赖现有商业软件提供的开发平台和组件,如VxWorks ,uC/OS ,Windows CE ,QNX等等,其技术成熟,功能强大,提供大量可用函数调用接口,大大缩短了产品的开发周期,但是价格不菲;二是基于自由软件Linux 做开发,根据自己系统的需求进行定制,并且不必为获得使用许可而支付额外的费用,可大大降低开发成本。

Linux 是一个以Unix 核心为基础的、多任务多进程的嵌入式操作系统,支持广泛的计算机硬件。开发人员可以根据自己的需要对操作系统进行自行修改和定制,它有大量的开放的应用代码可以使用,并且Linux 有可支持多达11 种操作平台的C ,C ++ ,Object C 编译器GCC ,功能强大,执行效率高出一般编译器20 %~30 %。在基于Linux 的嵌入式操作系统中,有许多改良品种迎合了嵌入式/ 实时市场,包括RTLinux(实时Linux) 、μcLinux(用于非MMU 内存管理单元处理器的Linux) 、Montavista Linux(用于ARM、MIPS、PPC 的Linux 分发版) 、ARM2Linux(ARM 上的Linux) 等等。针对目前闸门智能监控系统对操作的实时性要求并不高的特点,我们在本次应用中选用Linux2.4.22 内核基础上的Red Hat 9. 0 作为开发环境。

Linux 定制

内核配置

由于嵌入式系统的存储空间有限,因而要将Linux 用于嵌入式系统就必须对其定制,即要对内核中不必要的模块诸如SCSI、Floppy 之类的外设支持模块等进行裁减。

(1) 清除设置环境     make mrproper

(2) 设置配置              make config

(3) 编译内核及模块        make dep ;make clean ;make bzImage ;make modules

编译出的内核文件为/ usr/ src/ linux/ arch/ i386/ boot/ bzImage及/ usr/ src/ linux/ System. map

制作系统电子盘

在标准Linux 环境下,将电子盘Mount 到/ RamDisk 上,在电子盘上制作引导和启动。

(1) 修改lilo. conf 文件,系统直接从电子盘启动。

(2) 创建一个内核文件系统ext2 :mke2f s - i 8192 - m 0/ dev/ ram 50 ,并在/ RamDisk 目录下,建立运行系统所必需的目录文件:bin dev etc lib mnt proc sbin tmp usr var ,以及各个目录下必要的文件,特别是应用程序所需要的库文件。

(3) 将内核文件放入RamDisk : # dd if = bzImage of = / dev/ ram bs = 1k. 并加载根系统文件: # dd if = /tmp/ ram-image. gz of = / dev/ fd0 bs = 1k seek = 内核数据块数。其中ram-image. gzJ 是压缩后的根系统文件,内核数据块数就是内核的大小。

快速启动及开机画面

由于该系统是基于Rad Hat 910 基础之上开发的,因此启动过程较长,从系统加电直至系统控制台显示“login :”为止,需要三十多秒的时间。通过测试,内核启动时有大量的时间耗费在硬件初始化上。例如Linux 一共要探测20 个IDE 接口(包括主、从盘) ,通过修改Linux 源代码中MAX-HWIFS 的定义值,由10 改为1 ,以减少Linux探测IDE 接口的时间来缩短系统启动的时间。真正加快启动时间,则是通过改写rc. sysinit ,rc 等启动脚本,让系统只做必要的硬件模块的初始化工作及服务来达到目的。

快速启动时只需显示用户定义的界面,可将256 色640X480 象素的1pcx 或1tif 格式的图片数据替换Linuxlogo.h 中原有的数据,并对driver/ video/ fbcon. c 源代码做少量修改,将宏定义LOGO- H 80 改为640 ,LOGO- W 80改为480 ,并修改相应的函数。

非正常关机

在系统使用过程中,为了方便用户使用,应该支持非正常关机,即在直接切断电源的情况下避免可能引发的问题。通常采用ext2 文件系统是非日志型文件系统,系统在重新启动时会耗费大量的时间来检查文件系统,有时甚至产生致命错误(fatal error) ,强迫用户手工使用命令fsck 检查文件系统。[page]

  

而使用通用日志型文件ext3 系统,会通过日志记录来保证数据恢复的可靠性,系统在重新启动时不会要求检查文件系统,并且运行速度和稳定性等方面表现良好。升级原有的ext2 文件系统到ext3 : tune2fs - j / dev/hda6 ,并在/ etc/ fstab 文件中将该分区的文件系统类型从ext2 更改为ext3 。由于使用了ext3 日志文件系统之后,不需要再经常进行文件系统的检查(fsck) ,因此有必要使用tune2fs - i 0 - c 0 / dev/ hda6 命令关闭文件系统检查,同时也达到了减少系统启动时间的目的。

闸门智能监控系统组成

系统结构与功能

闸门智能监控系统由中心控制室控制柜、现场闸门启闭机、前端视频监控点、现场水位、闸位监测点以及相关辅助设备构成,系统结构如图1 所示。监控系统以基于Linux 的嵌入式系统为核心,实现功能为:

(1) 闸门的升、降、停等运行的智能控制,以及报警、紧急泄洪智能控制;

(2) 8 路数字MPEG24 压缩流媒体视频,通过视频图像对水情、闸门的状态及运行情况进行远程监视;

(3) 实时水情数据监测,自动测报水位流量和水量,为防洪和水量调度提供依据;

(4) 历史数据统计,生成相应过程线及报表。

硬件实现

中心控制室的控制柜要求有视频监控和数据曲线显示功能,采用CRT 监视器,配合无源底板,半长CPU 板采用PCI6870 ,CPU 使用Intel 公司的PIII Celeron 1.2GHzMHz ,内存为256MB ,以太网接口为10MHz 的RTL-8139A ,四路视频采集卡为飞图DVS4816AVC。CPU 板通过PC104 总线与采样模块和输出模块相连,电子盘采用64M FlashDisk。

软件实现

系统的软件有两部分,即嵌入式操作系统和应用程序(结构如图2) 。基本的嵌入式操作系统包括:

(1) 引导程序bootloader (初始化处理器,初始化必需的设备,下载系统映像,初始化操作系统) ;

(2) 嵌入式Linux 内核(包括内存管理、进程管理,进程间通信等,以及其他可配置的硬件驱动,TCP/ IP 网络堆栈) ;

(3) 根文件系统。

 

总结与展望

嵌入式Linux 应用于闸门智能监控系统,对于降低成本,提高可靠性、稳定性,有着积极的意义。

在本系统中,采用的是ext3 文件系统,为了进一步提高系统的可靠性,今后还可使用专门针对Flash 存储器设计的日志文件系统JFFS 或JFFS2。由于JFFS2 采用新的存储方式,支持损耗平衡,具有断电保护功能,使文件崩溃后能够迅速恢复。因此JFFS2 文件系统更适合于以flash 作为存储设备的嵌入式系统。

关键字:Linux  嵌入式系统  闸门智能监控 引用地址:基于Linux的嵌入式闸门智能监控系统

上一篇:基于uClinux的嵌入式多功能信息交互终端
下一篇:基于Linux的便携嵌入式设备电源管理解决方案

推荐阅读最新更新时间:2024-03-16 12:56

ST收购Atollic—专注于Arm集成开发环境的嵌入式系统公司
意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)今天宣布收购软件开发工具专家Atollic公司。 Atollic开发出了业内知名的获得高度好评的 TrueSTUDIO ®集成开发环境(IDE),专注Arm® Cortex®-M微控制器的嵌入式开发社区,例如,意法半导体的市场领先的STM32系列微控制器(MCU)。 意法半导体是世界顶级的32位微控制器厂商,拥有强大的软硬件开发生态系统,能够帮助开发者加快并简化应用开发设计,而TrueSTUDIO的加入将会进一步强化意法半导体的生态系统。由一支资深、敬业的世界一流软件工具专家设计开发,TrueSTUDIO是业界公认的市场领先的开源Ecli
[嵌入式]
ST收购Atollic—专注于Arm集成开发环境的<font color='red'>嵌入式系统</font>公司
基于ARM的嵌入式Linux开发平台构建
随着计算机技术、通信技术的飞速发展和3C(计算机、通信、消费电子)的融合,嵌入式系统已经渗透到各个领域。在32位嵌入式微处理器市场上,基于ARM(Advanced RISC Machine)内核的微处理器在市场上处于绝对的领导地位,因此追踪ARM技术的发展趋势显得尤为重要。在嵌入式操作系统的选择上,Linux一直因其内核精简、代码开放、易于移植等特点受到广大嵌入式系统工程师的青睐。另外,嵌入式系统一旦具备网络接入功能,其信息处理能力更加强大,因此有必要为嵌入式系统构建Web服务器。本文主要目的是研究基于ARM的嵌入式Linux开发平台构建,并在此基础上进行网络应用程序的开发。 选用指南 在进行嵌入式系统的开发之前,首先必须要选
[单片机]
基于ARM的嵌入式<font color='red'>Linux</font>开发平台构建
第003课 linux入门命令详解
第001节_linux命令入门演示 前面我们讲解了在Ubuntu图形界面下怎么新建目录、新建文件等等。 来提个问题:除了这个图形界面,Ubuntu下面有没有其它的方式也可以创建目录、创建文件呢? 我们回到比较熟悉的Windows界面,或许大家听说过dos命令行工具,没有听说过也没关系,同时按下“Windows键”和“R键”,输入cmd,再点击“确定”,就出现了命令工具。 打开之后,默认进入计算机用户目录,在该目录输入dir,可以看到显示目录和文件的名称。 执行md 123,在资源管理器可以看到创建了“123”这个文件夹。 执行rd 123,就删除了“123”这个文件夹。 输入cls,即可清除屏幕显示信息。
[单片机]
第003课 <font color='red'>linux</font>入门命令详解
SQLite在嵌入式系统Wince中的应用
随着科学技术的发展,嵌入式系统成为了科技发展的主要领域, Linus和Wince是比较常见的嵌入式系统。嵌入式开发过程离不开数据库的应用,对于嵌入式数据库的选择是必要的。通常,嵌入式系统选择的数据应该尽量小,SQLite 在Linux中的应用很广泛,本设计介绍了SQLite作为一款小巧的嵌入式数据库在Wince 中的应用实例。 1 SQLite数据库的介绍与选择 1.1 SQLite数据库结构 SQLite数据库结构图如图1所示。 1.2 SQlite数据库的特点 SQLite是一个开源的嵌入式关系数据库,结构紧凑,可靠性强 。有以下特点: (1)使用非常简单。只需要掌握3个核心API函数,大多数的SQL 语
[工业控制]
SQLite在<font color='red'>嵌入式系统</font>Wince中的应用
基于S3C2410A的嵌入式系统的U-Boot移植
0 引 言 ARM嵌入式处理器已被广泛应用于消费电子产品、无线通信、网络通信和工业控制等领域。其中,ARM9的芯片更是以其低价格、低功耗、高性能在手持设备中占据着重要市场。在嵌入式操作系统中,Linux,Vxworks,WinCE三足鼎立,其中Linux由于其开源性、稳定性、安全性、可裁减性更是一支独放。在嵌入式系统中,如何实现在ARM9平台下Linux操作系统的引导工作是嵌入式技术开发的重要环节。 1 嵌入式系统的软件组成 1.1 系统的软件组成 嵌入式的软件系统主要由Bootloader、操作系统、文件系统、应用程序等组成。其中,Bootloader是介于硬件和操作系统之间的一层,其作用就好像PC机中的BIOS。系统加电运
[单片机]
基于S3C2410A的<font color='red'>嵌入式系统</font>的U-Boot移植
Linux下开发stm32(一) | 使用gcc-arm-none-eabi工具链编译
1.为什么不是gcc 之前我们花了三篇文章介绍Linux下如何进行C语言编程: Linux C语言编程(上篇) | gcc的使用 Linux C语言编程(中篇) | make的使用 Linux C语言编程(下篇) | gdb的使用 这是为了给接下来的Linux下嵌入式开发打好基础,尽快熟悉Linux下c编程,但是在开发stm32的时候,编译工具链要使用gcc-arm-none-eabi,为什么不是gcc呢?这就要说到linux下的交叉编译了,因为我们要在PC机上编译出可以运行在ARM上的程序,使用gcc编译出的是在PC上运行的程序,所以我们要使用gcc-arm-none-eabi进行交叉编译~ 2.gcc-a
[单片机]
<font color='red'>Linux</font>下开发stm32(一) | 使用gcc-arm-none-eabi工具链编译
嵌入式系统中USB-HOST协议栈的设计
1 引言 在移动设备大力发展的今天,移动设备间的大量数据交流的需求大大刺激了嵌入式USB主机系统的发展,这必然要求嵌入式系统必须提供USB的主机驱动。而传统意义上的LISB驱动程序的开发都是USB外设驱动程序的开发,主控制器驱动大部分由操作系统来提供,开发者所要做的就是调用操作系统提供的驱动程序的接口。两大主流操作系统中,Windows不公开源码而Linux的代码却不方便移植。对于目前使用μCOS,VxWorks和QNX等OS的嵌入式系统和一些无OS的单片机系统来说,建立好一整套方便移植的USB主机驱动程序将会有更大的意义。 2硬件平台 硬件平台的MCU选择的是TMS320 DM642,他是TIC6000产品系列中的一款,基
[嵌入式]
基于RT-Linux防危保障机制的实验模型
摘要:随着嵌入式实时系统在安全关键系统中日益广泛的应用,其软件不但要保护嵌放式实时系统的功能性和时间限制,对其安全性、稳定性和可靠性的要求也大大提高。软件错误的比例大大高于硬件错误,软件错误可能引起硬件误操作,进而直接威胁系统安全。使用防危核可有效防止关键设备误操作。本文以RT-Linux实时操作系统为平台,对十字路口交通灯控制建立安全实验模型,硬件防危核实现技术,为防危保障探索新的实现途径。 关键词:防危核 安全核 实时系统 防危策略 早在19世纪70年代,为保证系统中的敏感信息不被非法用户恶意破坏和非法访问,Roger Schell和Mitre等人提出了安全核(security kernel)的概念。安全核将系统中的软件
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved