微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于uClinux的网络化远程监控系统设计

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

时间:05-17 来源:互联网 点击:

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

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等

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top