论文部分内容阅读
远程监控指在距离被监控对象很远的地方对设备进行监视和控制。远程监控作为一种重要的信息技术,在现代工商业和日常生活中已经得到广泛的应用。一些典型的应用包括视频监控系统,远程自动抄表以及工业控制中的自动化生产线等。随着32位高性能微控制器的普及,和互联网的深入应用,采用新技术来实现远程监控是必然的趋势。
ARM是目前得到广泛应用的32位的微处理器核,有很高的市场占有率。基于ARM核的微处理器,有一个共同特点是集成度很高,一些常用的IO设备,比如串口、网口、USB口等,都被集成到微处理器芯片内。高集成度的ARM核微处理器缩短了系统的研发时间,节约了成本,同时也简化了硬件平台的设计工作。本文利用基于ARM7TDMI核的S3C44BOX芯片以及运行TCP/IP协议的以太网技术来实现远程监控。
整个远程监控系统根据其网络分布特点,可以分为两个部分:基于ARM的嵌入式系统,以及基于Windows的监控平台。嵌入式ARM系统包含硬件平台和软件系统。硬件平台采用了S3C44BOX芯片,其工作在60MHz,以及4MB的FLASH和8MB的SDRAM。而软件系统则包括三个部分:启动程序,嵌入式uClinux操作系统和嵌入式监控软件。系统启动时首先运行启动程序,启动程序将启动操作系统。操作系统启动后开始自动运行嵌入式监控软件。基于Windows的监控平台,则可以实现对多个设备的监视与控制。该监控平台采用Windows提供的Visual C++开发工具和MFC开发库实现。
本文主要解决了三个问题。一是针对嵌入式硬件平台,编制BOOTLOADER启动程序,以及对uClinux系统进行裁减,以使其符合本系统软硬件的需要。启动程序分两个阶段完成自己的工作。第一个阶段主要是对最基本的硬件,如CPU、FLASH、SDRAM、部分的I/O口,做一些初始化。同时把第二阶段的代码拷贝到SDRAM中合适的地方。第二个阶段则把操作系统和文件系统拷贝到SDRAM并启动操作系统。二是基于uClinux嵌入式操作系统平台编写监控软件。该监控软件能够周期性地获取设备的状态,并通过以太网络利用TCP/IP协议向服务器发送状态数据,从而实现对设备的监视;也能向设备写入数据,实现对设备的控制。该软件采用了单任务多线程的基本框架,并实现了多线程之间数据读写的同步。同时为了方便以后软件的扩展,引入了“面向对象”思想,对被监控设备作了抽象,形成抽象设备的概念。该抽象设备对外提供统一的I/O接口,并在其内部实现中处理互斥读写。三是基于Windows服务器操作系统,编写监控服务器软件。对应于嵌入式监控软件,监控服务器软件也有两个实现监控的部分:通过以太网收集设备的状态数据,以及向设备发送控制信息。根据软件的功能需求,软件分为三个模块。核心模块是网络I/O管理模块,负责所有的网络输入和输出,其他模块的网络I/O都通过该模块代理完成。另外两个模块则包括设备状态数据的显示与管理,以及设备的管理与显示。这两个模块利用MFC库实现图形化的操作界面。整个监控服务器软件的关键是I/O性能的改进。通过与常规多线程的I/O方式比较后,采用了完成端口技术来提高服务器软件的I/O性能。这种技术占用的资源少,但响应速率高,适合本软件的系统需求。系统基本解决了前述的三个问题。在后续的工作中,还需要针对系统做如下改进:一是软件系统结构的优化。多线程程序的基本特点是不稳定。二是改进系统的反应敏捷性。嵌入式ARM系统的反应灵敏性还需要改进。根据技术的发展,将来系统可以加入以下两个方面的新特性:一是提高系统的数据吞吐量,二是增加安全性。