基于uClinux的网络化远程监控系统设计

发布者:czc天天最新更新时间:2012-05-17 来源: 微计算机信息 关键字:CAN总线  uClinux  远程监控 手机看文章 扫描二维码
随时随地手机看文章

1 引 言

随着计算机技术和网络技术的迅速发展,应用多传感器的控制系统实现多参数的远程测量和多象的远程控制成为计算机控制领域的研究热点之一。它能大幅缩小生产周期,节约劳动力成本,提高企业效益,对于市场竞争日益激烈的今天来说具有重要意义。本文结合快速发展的嵌入式技术,给出了一种基于嵌入式网络化远程监控系统的实现方案。它采用uClinux操作系统,内嵌嵌入式Web服务器,通过CAN总线连接多个传感器控制单元实现了对多对象的远程测量和控制。

2 网络化监控系统系统概述

嵌入式系统是嵌入到对象体系中,以应用为中心,软硬件可裁减,对体积、功耗、成本都有严格要求的计算机系统。与传统的单片机相比,它重要的突破之一就是解决了设备和internet的互连问题,使得人们可以通过现有的网络设施对网络中各个节点的设备进行远程实时监控。近年来,嵌入式技术飞速发展,种类繁多、功能强大的CPU和片外连接, 为网络应用提供了稳定、可靠的硬件环境;嵌入式操作系统对这些硬件和以太网也又很好的支持,操作系统的移植大为化简,这些就为嵌入式webserver的实现提供了方便。嵌入式webserver将监控系统中的各种协议的数据转换成统一的TCP/IP协议格式,以便用户通过以太网远程访问 webserver,实现对设备的监控。

本文介绍的嵌入式远程监控系统采用客户端/服务器结构模式,它由客户端主机、现场嵌入WebServer和底层传感控制单元三层的体系结构组成。最底层为传感控制单元,负责从现场采集数据并执行控制指令。第二层为现场WebServer构成,WebServer 具有Internet功能,可通过网络通信线缆直接与Internet连接。它的主要功能是将传感控制单元上传来的数据以网络服务形式实时发布,发布的信息可以被第三层的客户端主机接收。客户端主机为普通的PC机,用户在客户端主机上通过Web浏览器远程访问嵌入式WebServer主页并向底层的传感控制单元发出各种控制指令,进而实现采集数据、监视和控制等功能。在这三层的结构中,

  嵌入式webServer是系统的核心。系统的总体框图如图1所示:


图 1

3 系统的硬件设计

嵌入式Webserver以高性能微处理器为核心,其上可以运行uClinux操作系统。根据网络服务的要求,选择 Samsung公司ARM7TDMI内核的微处理器S3C44BOX。S3C44BOX是一款具有丰富的片上外设的高性价比嵌入式处理器,如:扩展内存控制器;带专用DMA通道的LCD控制器;2个DMA通道,1个带外部请求引脚的DMA通道;I2C总线控制器;5个PWM定时器及1个内部定时器; 8个外部中断源;5个PWM定时器及1个内部定时器;带PLL的时钟发生器等等。其高集成度极大地简化了其应用系统硬件设计,软件设计过程也大为缩短,并提高了系统的可靠性。为运行uClinux提供硬件上的支持,存储系统采用了2MB Flash(AM29LV160DB,AMD)和2片8MB SDRAM(57V651620B,HYUNDAI)。Flash用来存储启动代码和压缩的linux内核;SDRAM作为系统内存使用。系统采用 SJA1000T和TJA1040T为S3C44BOX扩展一个CAN总线接口,使之可以通过CAN总线与各传感控制单元连接起来。以太网控制器芯片选用是RTL8019AS。RTL8019AS是Realtek公司生产的一款具有高性价比的、即插即用的全双工以太网控制器。它内部集成有RAM,用作收发缓冲,降低了对处理器速度的要求。整个硬件系统如图2所示。    

         

图 2 [page]

4 系统软件的设计

4.1 uClinux操作系统的移植

由于嵌入式websever硬件资源有限,在此平台上只能运行一个小型的操作系统。考虑到硬件的特点和对系统的功能要求等因素,我们选择了一款目前比较成熟的uClinux操作系统,并在此基础上实现了嵌入式webserver。uClinux从标准的Linux 内核派生而来,通过对内存管理和进程管理等相关方面进行改写,满足无MMU处理器的开发要求。它继承了Linux稳定而优良的性能,同时通过个性化的内核定制,能够更好的满足嵌入式应用的多样化需要,提供丰富的应用软件支持。

为了使uClinux能运行于硬件平台,必须对uClinux进行移植。uClinux的移植可以修改内核中相关文件来实现。要修改的文件很多,不能一一介绍,主要有以下几处: (1)linux/arch/mach-S3C44B0X目录下处理器结构的,如:arch.c、irq.c等。arch.c指定了系统启动时用到的地址,按照硬件设计的不同,地址将有所不同;irq.c是与中断处理相关的程序。由于linux所支持体系结构的种类繁多,所以对一个新型的体系,其低级例程可以模仿与其相似的体系例程编写,在这里可以从mach-S3C4510目录下的文件修改得到。(2)include/asm-armnommu /arch-S3C44B0X下相关文件,如:dma.h、hardware.h、irq.h、system.h、time.h等。dma.h这条文件定义了DMA通道,以及DMA可以使用的内存空间。hardware.h件定义了内存地址和10地址,根据设计的硬件电路不同而不同。irq.h中定义了 fixup_irq()、irq_init_irq()等函数。system.h在该文件中需要定义两个函数:arch-idle()和arch- reset()。time.h实现了定时器中断处理s3c44b0x_timer_interrupt()和相关函数。(3)各级相关makefile。在交叉编译环境下编译内核,当编译结束时会生成内核的镜像文件image.rom,将其和bootloader一起烧写在板子的Flash中,重新加电通过串口可以观测到内核的启动信息,证明系统移植成功。

4.2 守护进程的实现

uClinux移植完成后就可以在此平台上进行应用程序开发了。系统开发的主要功能要求是使系统响应远程客户机的请求,完成特定的操作,同时能够自动的将本地的监测数据传送到远程客户机上。根据这一要求,必须对在服务器上实现一个守护进程。该程序在uClinux下用C语言编写,当uClinux操作系统启动后会自动运行,流程图如图3所示。

图 3

4.3 嵌入式Webserver的实现

考虑到硬件资源的限制,这里我们选择uClinux下的boa服务器。Boa是一款单任务的HTTP服务器,它通过建立HTTP请求列表来处理多路连接请求,而且它只为CGI程序创建新的进程,这样就节省了大量的系统资源, 因此,Boa具有很高的HTTP请求处理速度和效率,在嵌入式系统中具有很高的应用价值。要在uClinux上运行boa需要对uClinux进行修改, 在user/Makefile,加入dir_$(CONFIG_USER_BOA_SRC_BOA) += boa;在config/config.in中加入

comment 'Network Applications'

bool 'boa' CONFIG_USER_BOA_SRC_BOA

在uClinux-dist/vendors/Samsung/44b0/rc中加入一行ifconfig eth0 202.117.0.2 up,再增加一行脚本命令boa &,把Default.html定义为远程客户浏览的控制页面,放在/uClinux-dist/romfs下面[3]。最后,在进行内核配置时make Menuconfig时选中boa ,重新编译内核,将最终生成的文件烧写进Flash中即可。

4.4 客户端软件实现

用户端使用了Java语言编写的应用程序浏览该嵌入式Webserver上的html信息,并完成数据处理和相应的控制功能。主要包括:产生发送至Webserver的指令流,显示从Webserver返回的数据;当命令执行过程中所要执行的信息的提示;对返回数据的简单处理等等。

5 结束语

本文作者创新点:本文克服单片机在组建大型网络方面的局限,提出了基于uClinux的网络化远程监控系统。该系统充分利用以太网网络的诸多优点以及CAN总线网络在工业控制方面的广泛应用, 实现了两种网络的无缝互连, 并在这种连接的基础上实现对机电设备的远程集中监测和控制。该监控系统具体积小、性能可靠、组网方便灵活等优点, 它能够大幅提高企业的自动化和信息化水平,有着广阔的应用前景。

参考文献

 [1] 刘峥嵘等.嵌入式linux应用开发详解.北京:机械工业出版社,2005

[2] 毛德操 胡希明.linux内核源代码情景分析.杭州:浙江大学出版社,2001

[3] 黄志强等.嵌入式家庭远程监控系统设计.微计算机信息 2005,21(3):91-92

[4] 邹思轶.嵌入式Linux设计与应用[M].北京:清华大学出版社,2002.

[5] www.uclinux.org

[6] SAMSUNG公司.S3C44BOXdatasheet.pdf

[7] CAN.Controller Area Network CAN,an Invehicle Serial Communication Protocol[Z].SAE Handbook 1992,SAE Press,1990.

[8] Kurt Wall等,张辉译.GNU/Linux编程指南(第二版)[M].清华大学出版社,2002

关键字:CAN总线  uClinux  远程监控 引用地址:基于uClinux的网络化远程监控系统设计

上一篇:嵌入式移动数据库中的移动Agent问题探讨
下一篇:嵌入式MIDI文件格式解析设计与实现

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

值得收藏的CAN总线故障检修方法!
最近很多师傅问仪表功能全部失效,没转速,没水温等等,故障码报的是通讯故障,那么 CAN 通讯故障如何检修呢? CAN线是两根线搅在一起,CAN高的电压在2.6伏左右;CAN低的电压在2.4伏左右;两根线相加电压约等于5伏。 解决办法:我们可以测量OBD上的6和14,3和11上面的针脚,看电压正不正常测量3号针脚,11号针脚电压是正常的,再测量6号针脚,14号针脚电压不对,很明显短路了。 故障判断:第一种是线路故障,第二个是模块故障,可以逐个把所有模块全部拔掉,拔掉哪个恢复正常,就是哪个的问题。若拔掉所有的模块还是短路状态,那就说明线路有问题。通常氮氧传感器,尿素泵电脑容易出问题,把尿素泵的插头拔掉,看一下电压是否恢复正
[嵌入式]
值得收藏的<font color='red'>CAN总线</font>故障检修方法!
基于PLC控制的自动裁剪设备如何实现数据采集远程监控
PLC控制的自动裁剪设备适用于切割各种材料,可以控制切割材料的移动速度、移动行程、切割材料的长度和数量等,可以大大提供工作效率,节省大量的人工成本。通过工业智能网关采集数据并上传到监控平台,可以远程监控生产流程和设备运行状态,是工厂实现数字化管理必须解决的重要问题。 PLC下控的自动裁剪设备可以通过串口网口连接到物通博联工业智能网关,由网关进行协议解析和数据采集,将设备数据采集上传到监控平台(本地上位机、云平台、触摸屏等),从而远程监控设备运行状态、设备故障快速报警并远程维护,有效保证裁剪效率与成品品质。 系统优势 1、数据采集 网关支持采集各品牌PLC(西门子、三菱、欧姆龙、施耐德、台达、汇川等),内置丰富协议库,自动化
[嵌入式]
基于PLC控制的自动裁剪设备如何实现数据采集<font color='red'>远程监控</font>
基于嵌入式纸币识别系统的设计与实现
1 引言 纸币识别系统已经广泛应用于金融、商业、交通、电信、公用事业、文化娱乐等各个领域的自动存款机、自助信息亭、自动充值机、自动售货机、自动售卡机、自动售票机、纸硬币兑换机、自动缴费机等等。经过几十年的发展,纸币识别技术已经发展到了比较成熟的阶段,能够达到比较高的识别水平。识别器的机械、电机控制方面也已比较完善。但目前国内外主要厂商的主流产品都是基于单片机(无操作系统),在功能、扩展性等方面比较有限。随着技术的革新和自助服务在国内的迅速兴起,基于单片机的纸币识别系统已经越来越不能满足市场需求。 基于单片机的纸币识别系统中,由于处理器处理能力和系统资源的限制,采集系统在采集时独占处理器,其他系统只有等采集结束后才能处理采集到的
[单片机]
基于嵌入式纸币识别系统的设计与实现
基于CAN总线和DSP的双层数据采集系统的设计
   1 引言   CAN(Controller Area Network)即控制器区域网,CAN总线是由德国BOSCH公司为实现汽车测量和执行部件之间的数据通讯而设计的、支持分布式控制及实时控制的串行通讯网络。CAN BUS现场总线已由ISO/TC22 技术委员会批准为国际标准IOS11898(通讯速率小于1Mbps)和ISO11519(通讯速率小于125kbps)。CAN总线开始主要应用于自动化电子领域的汽车发动机部件、传感器、抗滑系统等应用中,但随着CAN的应用普及,CAN总线的实时性以及抗干扰能力强等优点也逐步为航天领域所认可。   本文将对CAN总线在航天领域应用情况进行介绍,并在CAN总线和DSP技术研究的基础上,
[嵌入式]
全面了解CAN总线协议
  提及总线,总是让人联想到那些交错在一起的计算机电线。那么这些电线如何发挥功效呢?这还得配合总线协议的管理来使用。那么今天我们介绍的就是CAN总线协议。看看这个协议的含义和应用吧。   1,CAN总线协议基本概念:   (1),报文:总线上的信息以不同格式的报文发送,但长度有限。当总线开放时,任何连接的单元均可开始发送一个新报文。   (2),信息路由:在CAN系统中,一个CAN节点不使用有关系统结构的任何信息,这里包含一些重要的概念:系统灵活性——节点可以在不要求所有节点及其应用层改变任何软件或硬件的情况下,被接于CAN网络。报文通信——一个报文的内容由其标示符ID命名,ID并不指出报文的目的,但描述数据的含义,
[嵌入式]
基于CAN总线的镍氢电池管理系统设计
  前言   蓄电池剩余容量的准确测量在电动汽车的发展中一直是一个非常关键的问题。有效的电池管理系统有利于电池的寿命提高。所以对蓄电池SOC的准确估计成为电动车电池能量管理系统的中心问题。如果能够正确估计蓄电池的SOC,就能合理利用蓄电池提供的电能,延长电池组的使用寿命。   方案采用总线式方式组网,应用现场总线完成各个节点之间的数据交换。在分布式方案中,多能源控制器为主控ECU,它通过现场总线和多个下位ECU通信。工作过程中,每个控制器的通信子模块以定时器或者中断的方式在后台运行,完成数据的收发工作,节省主流程资源开支。如图1所示。   电池的SOC值是电池控制器通过CAN总线发送给多能源控制器,而整车的工作模式则是
[嵌入式]
基于CAN总线的桥梁健康检测系统的研究
0 引言 随着交通建设事业的蓬勃发展,一些大跨度和超大跨度桥梁的相继建成,人们对这些大型重要桥梁的安全性、耐久性与正常使用功能日渐关注。同时,既有的许多桥梁逐渐进入了养护维修阶段,桥梁管理者对桥梁的养护也日益重视。 传统的数据采集系统一般采用RS 485作为组网方式,而RS 485本身存在总线效率低、系统的实时性差、通讯的可靠性低、后期维护成本高、网络工程调试复杂、传输距离不理想、单总线可挂节点少、应用不灵活等的局限性。本系统是基于CAN总线的分布式数据采集与通讯系统,解决了RS 485网络的固有问题。CAN总线属于总线式串行通信网络,采用独特的非破坏性总线仲裁技术,拥有强有力的错误处理能力和很高的传输可靠性,而且它的工作
[测试测量]
基于<font color='red'>CAN总线</font>的桥梁健康检测系统的研究
CAN总线位定时和同步的研究与设计
引 言 控制器局域网CAN是一种用于连接汽车和工业场合中电子控制模块、传感器和执行器的串行、多主通信规范。由于CAN总线具有很强的纠错能力、支持差分收发、传输距离远等特点,因此CAN总线用途非常广泛,现已成为工业数据通信领域的主流技术、基础技术,目前比较流行的TTCan,DeviceNet,CANo-pen,SAE J1939等规范均是以CAN为基础的,因此对CAN总线的深入研究是十分必要的。在CAN规范中,位定时和同步机制是既重要又难于理解的环节之一,它不仅关系到对波特率、总线长度等相关内容的理解,甚至对节点开发的成功与否产生直接的影响。然而,目前相关文献均缺乏针对CAN总线位定时和同步机制的详细分析和探讨。在此以CAN技术
[工业控制]
<font color='red'>CAN总线</font>位定时和同步的研究与设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

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

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