导言
闸口体系是水资源调度中重要的组成部分,国内现在多选用手动和部分电动的操作办法,真实完成闸口的智能操控还少有报导。文中选用的是根据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 查看文件体系。
而运用通用日志型文件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 总线与采样模块和输出模块相连,电子盘选用64MFlashDisk。
软件完成
体系的软件有两部分,即嵌入式操作体系和运用程序(结构如图2) 。根本的嵌入式操作体系包含:
(1) 引导程序bootloader (初始化处理器,初始化必需的设备,下载体系映像,初始化操作体系) ;
(2) 嵌入式Linux 内核(包含内存办理、进程办理,进程间通讯等,以及其他可装备的硬件驱动,TCP/ IP 网络仓库) ;
(3) 根文件体系。
总结与展望
嵌入式Linux 运用于闸口智能监控体系,关于下降本钱,进步可靠性、稳定性,有着活跃的含义。
在本体系中,选用的是ext3 文件体系,为了进一步进步体系的可靠性,往后还可运用专门针对Flash 存储器规划的日志文件体系JFFS 或JFFS2。因为JFFS2 选用新的存储办法,支撑损耗平衡,具有断电维护功用,使文件溃散后可以敏捷康复。因而JFFS2 文件体系更适合于以flash 作为存储设备的嵌入式体系。