0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

通过利用Linux操作系统实现闸门智能监控系统的设计

电子设计 来源:成都信息工程学院学报 作者:石颖;廖德贤;周新 2021-03-22 16:03 次阅读

闸门系统是水资源调度中重要的组成部分,国内目前多采用手动和部分电动的操作方式,真正实现闸门的智能控制还少有报道。文中采用的是基于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 总线与采样模块和输出模块相连,电子盘采用64M FlashDisk。

软件实现

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

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

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

(3) 根文件系统。

总结与展望

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

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

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11131

    浏览量

    207994
  • 操作系统
    +关注

    关注

    37

    文章

    6556

    浏览量

    122800
  • 监控系统
    +关注

    关注

    21

    文章

    3783

    浏览量

    172513
收藏 人收藏

    评论

    相关推荐

    基于Linux等不同操作系统实现异构系统的设计

    通过该设计能够确保装有不同操作系统的各种服务器能够在本系统中正常工作,同时使用消息队列实现系统模块之间的通信便于扩展
    发表于 01-16 09:17 2544次阅读

    基于Linux操作系统的嵌入式网关的实现

    基于Linux操作系统的嵌入式网关的实现
    发表于 03-28 09:48 29次下载

    Linux操作系统

    linux的教学内容1 、Linux概述 2 、Linux操作系统安装3、 Linux的内核 4 、Li
    发表于 04-10 16:54 0次下载
    <b class='flag-5'>Linux</b><b class='flag-5'>操作系统</b>

    Linux操作系统原理及应用

    Linux操作系统原理及应用 1.1  操作系统的地位 1.2  操作系统的功能 1.3  操作系统的发
    发表于 04-28 14:53 0次下载

    linux操作系统的安全性

    linux操作系统的安全性 计算机系统安全性的内涵 操作系统的安全性功能 操作系统的安全机制 安全
    发表于 04-28 15:05 0次下载

    Linux与其他操作系统的区别

    Linux与其他操作系统的区别 Linux与其他操作系统的区别  Linux可以与MS-DOS、OS/2、Windows等其他
    发表于 01-18 12:42 1635次阅读

    什么是Linux操作系统

    什么是Linux操作系统  简单地说,Linux是一套
    发表于 12-26 12:04 1393次阅读

    手机支持的Linux操作系统

    手机支持的Linux操作系统   Linux系统Linux系统是一个源代
    发表于 01-28 17:07 1792次阅读

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

    闸门系统是水资源调度中重要的组成部分,国内目前多采用手动和部分电动的操作方式,真正实现闸门智能
    发表于 06-07 11:57 553次阅读
    基于<b class='flag-5'>Linux</b>的嵌入式<b class='flag-5'>闸门</b><b class='flag-5'>智能</b><b class='flag-5'>监控</b><b class='flag-5'>系统</b>

    Linux嵌入式闸门智能监控系统设计

    引言 闸门系统是水资源调度中重要的组成部分,国内目前多采用手动和部分电动的操作方式,真正实现闸门智能
    发表于 10-29 11:05 0次下载
    <b class='flag-5'>Linux</b>嵌入式<b class='flag-5'>闸门</b><b class='flag-5'>智能</b><b class='flag-5'>监控</b><b class='flag-5'>系统</b>设计

    Linux2.4.22 内核基础上的嵌入式闸门智能监控系统设计

    闸门系统是水资源调度中重要的组成部分,国内目前多采用手动和部分电动的操作方式,真正实现闸门智能
    发表于 07-31 15:57 1314次阅读
    <b class='flag-5'>Linux</b>2.4.22 内核基础上的嵌入式<b class='flag-5'>闸门</b><b class='flag-5'>智能</b><b class='flag-5'>监控</b><b class='flag-5'>系统</b>设计

    趣谈Linux操作系统

    趣谈Linux操作系统
    的头像 发表于 01-13 16:00 6368次阅读

    基于linux的十大操作系统排名

    基于linux内核开源的特性,并随着linux的不断发展,各种基于Linux操作系统版本也在不断发行出来,其中每一个不同版本的Linux
    发表于 07-10 16:23 1.6w次阅读

    Linux操作系统与Windows操作系统的五大区别

    Linux操作系统和Windows操作系统身为三大操作系统巨头里面的两大巨头,他们有什么区别呢?首先,先要声明一点,所有以Linux内核为基
    发表于 07-10 16:28 7783次阅读

    Linux操作系统运行参数自动调整技术

    Linux操作系统运行参数的自动调整是一个复杂而关键的技术,它可以显著提高系统性能、稳定性和资源利用率。通过使用自适应算法特别是内核态的机器
    的头像 发表于 08-22 09:53 163次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>操作系统</b>运行参数自动调整技术