嵌入式网络数据采集系统在远程监测中的应用由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“远程监测网络系统”。
沈 阳 工 程 学 院
毕 业 设 计 论
专业班级: 通信技术·通信082班 学生姓名: 指导教师:
文
密级:内部
嵌入式网络数据采集系统在远程监测中的应
用
The Application of Embedded Network Data Collection System on Remote Monitoring
系别名称: 信息工程系 专业班级: 通信技术·通信082班 学生姓名: 学 号: 指导教师:
沈阳工程学院毕业论文 摘要
摘 要
网络技术的发展引发了工业控制领域的深刻技术变革。控制系统结构网络化与控制系统体系开放性将是控制系统技术发展的趋势。近年来,以太网和嵌入式的远程监测系统有了很大的发展,目前正在尝试利用以太网的开放性实现嵌入式控制系统的网络化。
作为一项新技术,嵌入式以太网是指将嵌入式系统接入以太网,计算机系统能够在INTERNET上访问该嵌入式设备,实现对嵌入式系统的远程监视,控制,诊断,测试和配置等功能。这种技术为高速以太网在工业现场分布式控制提供了一种方便,快速,通用型强,成本相对低廉的新型控制方案。
论文在首先阐述了嵌入式网络远程监测系统的概念,介绍了该系统的历史,研究方法及研究意义,对该系统的发展进行了展望。
介绍嵌入式操作系统uClinux的主要功能模块,同时对uClinux在实际应用的一些方面进行相应的分析;然后介绍移植的概念,主要介绍了嵌入式操作系统uClinux的移植过程,包括编译环境的建立、针对硬件的改动和裁减,对uClinux的文件系统进行了简要的分析。
然后从嵌入式控制器ARM7 S3C44B0入手,详细介绍了人机接口、A/D数据采集模块,在此基础上进行了数据采集应用程序在uClinux操作系统平台上的移植和驱动开发,完成了基于TCP协议的uClinux socket数据通信功能。
为了给客户端浏览器提供良好的用户界面,使用图形化处理语言LabVIEW作为客户机/服务器模式下的编程语言。重点论述了LabVlEW软件开发平台下的DataSocket机制,完成实时数据量经过服务器向网络客户机发布的功能,实现了基于客户机/服务器模型下的网络数据采集监测系统的C语言代码。
最后,阐述了利用LabVIEW SQL开发该嵌入式网络数据采集监控系统的数据库实现方法。
实验效果表明,用户不但可以采集嵌入式系统的实时数据,而且可以将该数据进行有效的分析,实现远程监测,诊断和配置功能。嵌入式WEB技术的实现对将信息网技术应用于工业现场分布式控制作出了有意的尝试,这种技术还可以推广到其他工业现场的控制要求中去。
关键词
以太网,嵌入式系统,远程监测,datasocket,客户机/服务器
I 沈阳工程学院毕业论文 Abstract
Abstract
Network technology industrial development raises profound technological change control areas.Control systems and control system structures network system openne will be the control system technology development trends.In recent years, Ethemet and an embedded remote monitoring system of considerable development, is currently trying to use Ethernet openne towards an embedded control system network.As a new technology, an embedded Ethernet acce Ethemet refers to an embedded system, the computer system can visit the plug-in conferencing equipment, and achieve long-range surveilance of an embedded system, control, diagnosistesting and configuration, and other functions.Such as high-speed Ethemet technology in industrial distributed control site ofers a convenient, fast and generic-strong,relatively low-cost control programme.In the first paper explained the concept of an embedded network remote monitoring system, introduced the system of history, research methodology and research significance of the development of a vision of the system.Communication agreement is the key to the realization of network communications.The second chapter in the use of a wide range of introduced several communications agreements, especially after the realization of the monitoring system needs TCP/IP agreement and the contents of a detailed exposition Taojiezi.Secondly, on an embedded operating system 16ug Clinux main function modules, and the practical application of 16ug Clinux in some aspects of the corresponding analysis;Then introduced the concept of transplantation, the main introduced an embedded operating system 16ug Clinux the transplant proce, including translation environment creation, and reduction in hardware changes.16ug Clinux documentation systems for the summary analysis.Then S3C44B0 form an embedded ARM7 controller with details on thecomputer interface, A/D data collection module on the basis of data collection applications in the operating system platform uClinux transplant and driven development, completed based on TCP socket agreement uClinux data communications functions.In order to provide good customer-browser user interface, use of graphics proceing language LabVIEW as a client/server model of the programming language.LabVIEW software development platform focused on the DataSocket mechanism to accomplish real-time data from a network of client server publishing functions, based on the achievement of client/server model of the data collection network monitoring system C language code.Finaly, on the development of the plug-in using LabVIEW SQL network database for data collection and control systems.II 沈阳工程学院毕业论文 Abstract
Experimental results indicate that users can collect data on an embedded real-time systems, but also the effective data analysis and achieve long-range monitoring, diagnosis and configuration functions.Plug-Web technology for the realization of the industrial site will be distributed information network technology to control a deliberate atempt, the technology can also be extended to other industrial scene control requirements.Key words ethernet, plug-in systems, remote monitoring, datasocket, client/server
III 沈阳工程学院毕业论文 目录
目 录
摘要..................................................................................................................................................I Abstract..........................................................................................................................................II 第1章 绪论...................................................................................................................................1
1.1 研究课题的引出...............................................................................................................1 1.2 嵌入式以太网监测系统的历史与现状...........................................................................1
1.2.1 嵌入式以太网监测系统的历史.............................................................................1 1.2.2 嵌入式以太网监测系统的实现方法.....................................................................2 1.2.3 嵌入式以太网监测系统的研究意义.....................................................................2 1.3 现阶段以太网监测技术与嵌入式系统的发展...............................................................3
1.3.1 以太网监测技术的发展.........................................................................................3 1.3.2 嵌入式监测系统的发展.........................................................................................3 1.3.3 以太网监测技术中尚需解决的主要问题.............................................................4 1.4 本文研究的内容和组织安排...........................................................................................4 1.5 本章小结...........................................................................................................................5 第2章 嵌入式操作系统及uClinux.............................................................................................6
2.1 uClinux操作系统介绍......................................................................................................6
2.1.1 uClinux的内存管理................................................................................................6 2.1.2 uClinux的进程和线程管理....................................................................................7 2.1.3 针对实时性的解决方案.........................................................................................8 2.1.4 uClinux的内核加载方式........................................................................................8 2.1.5 uClinux的根(root)文件系统..............................................................................8 2.1.6 uClinux的应用程序库............................................................................................8 2.2 建立uClinux开发环境....................................................................................................9
2.2.1 移植概述.................................................................................................................9 2.2.2 交叉编译环境的建立.............................................................................................9 2.2.3 建立宿主机开发环境...........................................................................................10 2.2.4 编译uCIinux内核................................................................................................10 2.2.5 构建文件系统.......................................................................................................12 2.3 本章小结.........................................................................................................................13 第3章 嵌入式数据采集系统的硬件设计.................................................................................14 3.1 嵌入式数据采集系统的硬件结构.................................................................................14 3.2 嵌入式数据采集系统主要功能的实现.........................................................................15 3.2.1 嵌入式ARM微处理器........................................................................................15 3.2.2 数据采集与处理...................................................................................................15 3.2.3 人机交互接口设计...............................................................................................16 3.3 本章小结.........................................................................................................................18 第4章 应用LabVIEW实现远程监测......................................................................................19 4.1 分布式应用程序间的通信模式.....................................................................................19 4.1.1 C/S模式.................................................................................................................19 4.1.2 B/S模式.................................................................................................................19 4.2 LabVIEW网络通信技术................................................................................................19
IV 沈阳工程学院毕业论文 目录
4.2.1 LabVIEW中的TCP通信.....................................................................................19 4.2.2 虚拟仪器网络测控系统软件的构成方案及工作原理.......................................20 4.3 DataSocket通信编程......................................................................................................21 4.4 DataSocket客户端网页网页发布功能..........................................................................22 4.4.1 配置LabVIEW Web Server.................................................................................22 4.4.2 在LabVIEX环境中操作Remote Panels............................................................23 4.5 本章小结.........................................................................................................................24 结 论.............................................................................................................................................25 致 谢.............................................................................................................................................26 参考文献.......................................................................................................................................27
V 沈阳工程学院毕业论文 第1章 绪论
第1章 绪论
1.1 研究课题的引出
网络技术的发展引发了工业控制领域的深刻技术变革。控制系统结构网络化与控制系统体系开放性将是控制系统技术发展的趋势。人们希望当一台设备具有网络功能时,可以在任何时间、任何地点、使用任何平台随时察看设备的实时状态,并在远程实现对这台设备的监视、控制、诊断、测试和配置等操作。预计在不远的将来,每台设备中都将有一个IP地址,与Internet网络相连接,具有远程诊断和维护等功能[1]。
在工业控制中,普遍使用现场总线进行数据传输,现场总线是指安装在制造或过程区域的现场装置之间、以及现场装置域控制室内的自动化控制装置之间的数字式、串行和多点通信的数据总线。国际上现有多种现场总线标准,包括基金会现场总线FF、控制局域网络CAN、局部操作网络Lonworks过程现场总线包括PROFIBUS和HART协议,以及DeviceNet,Controlnet,P-Net等,而且在今后相当长一段时间内多种现场总线将并存。在工业现场使用现场总线通信主要有以下弊端:使用专用线缆通信、成本高、协议不统一、传输信息单一。因此,需要另一种通信网络取代传统的现场总线应用于工业现场通信。
目前,以太网在确定性和速度方面有了很大的提高,已成为世界上应用最多的网络,正逐渐应用于工业自动化领域。与此同时,各种嵌入式系统也在不断发展,越来越多的嵌入式控制设备都具有了以太网接入功能,因而能够利用以太网的开放性实现嵌入式控制系统的网络化,实现通过浏览器访问并监控设备,为用户提供了一种方便、快速、通用性强、传递信息多样、成本相对低廉的现场通信方式。
1.2 嵌入式以太网监测系统的历史与现状
1.2.1 嵌入式以太网监测系统的历史
将嵌入式系统与以太网监测系统相结合的想法由来己久,主要的困难在于当时的以太网在速度和确定性等方面都有很大欠缺,不能满足工业通信网络要求;另外,各种网络通信协议对于嵌入式系统存储器容量、运算速度等的要求比较高,当时的嵌入式系统中除部分32位以上的处理器外,都无法达到这一要求。
随着工业以太网在速度上不断提高以及交换技术、全双工工作方式等技术的融入,以太网与工业通信网络的差距正在逐步缩小。另外,从80年代起,一些IT组织和公司开始进行嵌入式系统的研发,大部分新开发的嵌入式处理器都支持网络协议,如AMD公司的AM 186系列嵌入式处理器、MOTOROLA公司的M68HC系列嵌入式处理器等等。可以说,目前研究嵌入式以太网的条件已经成熟。沈阳工程学院毕业论文 第1章 绪论
国外对嵌入式以太网的研究己从理论阶段过渡到开发阶段。在工业控制领域,美国OPT22公司采用嵌入式以太网,研制开发了“以太网I/O系统”—SNAPI/O系统,通过以太网对分布在远程设备现场的I/O口进行访问,从而实现对一远程设备的监测和控制。SNAPI/O己成功应用于工业过程控制、路桥收费系统监控、输油管线的监控及楼宇的智能化监控等多项工程中。此外,惠普公司应用的是IEEE1451.2智能传感器标准,研制的嵌入式以人网控制器具有10BaseT以太网接口,能够运行FTP/HTTP/TCP/UDP协议,应用于传感器、驱动器等现场设备。
目前,国内在基于嵌入式以太网方面的研究并不多见,对工业通信网络领域的理论研究主要局限于现场总线网络上,也有部分学者对建立工业以太网通信网络进行了探讨,但仍停留在概念上,未能进入到实质研究阶段[2]。
1.2.2 嵌入式以太网监测系统的实现方法
嵌入式以太网监测系统的实质是在嵌入式系统的基础上实现网络化,使嵌入式系统能够实现TCP/IP网络通信协议,接入以太网。将嵌入式系统与TCP/IP协议融合到一起主要有两种方法:
⑴硬件方式:使用己有的TCP/IP芯片直接作为以太网口。这种方一法的优点是可靠性高,执行速度快,但往往硬件电路复杂,价格昂贵,硬件成本高;
⑵软件方式:将基于TCP/IP协议以软件方式嵌入到嵌入式系统的ROM中。这种方法成本低廉、实现灵活,软件编写相对复杂,但只要选用的嵌入式系统带有能够可靠实现TCP/IP协议的软件包,则开发比较容易。
通过比较这两种实现方法的优缺点,论文选用以软件方式实现了基于TCP/IP协议的嵌入式系统。嵌入式以太网WEB就是在嵌入式系统实现TCP/IP网络协议的基础上,使用其它的网络技术实现其WEB功能,如浏览器与服务器之间的信息交互,Socket数据传输等。
1.2.3 嵌入式以太网监测系统的研究意义
当一台设备具有网络接入功能时,人们可以在任何地方、任何时间、任何地点、使用任何平台随时浏览设备实时的状态、并在远程实现对这台设备的监视、控制、诊断、测试和配置。
使用现场总线控制技术对现场设备进行监控时,需要通过专用通信线,不仅通信介质是专用的,而且通信协议、配套软件和硬件都要专门设计。与之相比,若采用嵌入式以太网,只要将嵌入式设备连接到以太网,就能很方便的实现监控功能,其意义如下:
·监控设备集网络服务器、信号转换、采样及TCP/IP通信功能于一体,结构简单,体积微小,因而系统具有更加优良的性价比;
·不需要专用的通信线路,可以使用现成网络资源; ·由于采用TCP/IP等网络协议,传输数据多、速度快; ·不仅可以传递数据信息,还可以传递声音及图像信息;沈阳工程学院毕业论文 第1章 绪论
·协议公开统一,监控信息可以使用任意一种WEB浏览器读取[4]。
1.3 现阶段以太网监测技术与嵌入式系统的发展
1.3.1 以太网监测技术的发展
目前,以太网监测技术得到迅速的发展,主要表现在以下几个方面: 1.通信确定性
首先,以太网的通信速率从最初的10M,100M提高到了1000M,10G,这些高速以太网为网络通信提供了足够的带宽。在数据吞吐量相同的情况下,通信速度的提高意味着网络负荷的减轻和网络传输延时的减小,也就意味着网络碰撞几率大大下降。
其次,在星型拓扑结构的以太网中使用交换机将网络划分为若干个网段。以太网交换机具有数据存储的功能,能够对以太网上传输的数据帧进行缓冲,降低数据碰撞的几率;同时以太网交换机可以对网络上传输的数据进行包过滤,使每个网段内节点之间数据的传输只限在本网段内进行,不需要经过主干网,不占用其它网段的带宽,从而降低了主干网和子网中的网络负荷。
再次,全双工通信方式使得以太网中的冲突域不复存在。全双工通信是在端口间使用两对双绞线(或两根光纤)上分别接收和发送报文帧,从根本上解决了数据冲突的产生。
2.通信稳定性和可靠性
绝大多数以太网接插件、集线器、交换机和电缆均是为办公领域设计的,其抗干扰性能差,不符合工业现场恶劣环境的要求,也不具备本质安全特性和向现场仪表供电的性能。为了解决在工业应用领域,在极端条件下网络稳定工作的问题,目前提出了采用DB-9结构代替RJ-45插口的方法,这种方法牢固抗振动,并易于实现向现场仪表供电。
在可靠性方面,提出了以太网环冗余的概念,在一定程度上提高了以太网通信的可靠性。
1.3.2 嵌入式监测系统的发展
嵌入式系统的发展大致经历了3个阶段:
第一阶段:以单片机为核心的可编程控制器形式的系统,同时具有与监测指示设备相配合的功能,一般没有操作系统的支持。
第二阶段:以嵌入式实时操作系统为标志。操作系统内核精小、效率高,具备文件和目录管理、多任务、网络支持等,嵌入式应用软件丰富,但与互联网无关。
第三阶段:以基于互联网为标志的嵌入式系统。
目前,嵌入式系统发展迅速,并趋于小型化、智能化,为嵌入式以太网的应用提供了理想的实施对象[6]。沈阳工程学院毕业论文 第1章 绪论
1.3.3 以太网监测技术中尚需解决的主要问题
以太网在应用于工业通信网络时,还需要解决以下关键问题: 1.以太网实时通信服务质量
所谓实时通信服务质量(Quality of Service,QoS),是指以太网用于工业控制现场时,为满足工业自动化实时控制要求,而提出的一系列通信特征需求,主要用来反映工业过程控制中的实时性能。
工业控制现场网络中传送的数据信息,除了各种测量数据、报警信号、组态监控和诊断测试信息以外,还有历史数据备份、工业音频视频数据等。这些信息对于实时性和通信带宽的要求各不相同,因此要求工业通信网络能够适应各种信息的通信要求,为紧急任务提供优先服务,同时为非紧急任务提供(Best-Efort,BE)服务,从而保证整个工业控制系统的性能。
2.网络安全性
在以太网上使用TCP/IP协议,有可能会受到包括病毒、黑客侵入等网络安全威胁。对此,一般采用网络隔离(如网关、服务器隔离)办法,将控制区域内部通信网络与外部信息网络分开。还可以通过用户密码、数据加密、防火墙等多种安全机制加强网络的安全管理。但目前还没有针对工业自动化通信网络安全的成熟软件。
3.现场安全性
工业现场环境可能存在易燃、易爆及有毒气体,以太网用于工业现场的通信网络必须采取一定的保证安全的措施。
1.4 本文研究的内容和组织安排
本文的设计流程图可由图1.1表示。从总体上看,整个文章可分为以下几个部分: 第一部分是从下位机的角度,为嵌入式开发板建立系统移植、数据采集驱动开发和uClinux网络通信程序;
第二部分是从服务器和客户机的角度,建立基于C-S模式的socket上下位机多机通信; 第三部分是从服务器的角度,开发数据库以便进行实时数据的保存。因此,基于以上考虑,全文共分为七章对本项目进行论述。第1章阐述了嵌入式网络远程监测系统的概念,介绍了该系统的历史,研究方法及研究意义,对该系统的发展进行了展望。
第2章介绍嵌入式操作系统uClinux的主要功能模块,同时对uClinux在实际应用的一些方面进行相应的分析;然后介绍移植的概念,主要介绍了嵌入式操作系统uClinux的移植过程,包括编译环境的建立、针对硬件的改动和裁减,对uClinux的文件系统进行了简要的分析。
第3章从嵌入式控制器ARM7 S3C444B0入手,详细介绍了人机接口、A/D数据采集模块,在此基础上进行了数据采集应用程序在uClinux操作系统平台上的移植和驱动开发,完沈阳工程学院毕业论文 第1章 绪论
成了基于TCP协议的uClinux socket数据通信功能。
第4章介绍了图形化处理语言LabVIEW,并将此语言作为客户机/服务器模式下的编程语言。重点论述了LabVIEW软件开发平台下的DataSocket机制,完成实时数据量经过服务器向网络客户机发布的功能,实现了基于客户机/服务器模型下的网络数据采集监测系统的C语言代码。
实验效果表明,用户不但可以采集嵌入式系统的实时数据,而且可以将该数据进行有效的分析,实现远程监测,诊断和配置功能。嵌入式WEB技术的实现对将信息网技术应用于工业现场分布式控制作出了有意的尝试,这种技术还可以推广到其他工业现场的控制要求中去。
本文的设计流程图可由图1.1表示。
图1.1 整体设计框图
1.5 本章小结
本章从总体上介绍了本课题的研究背景,论述了网络监测系统的历史,研究方法和发展情况,并提出了今后网络监测系统研究总需要解决的相关问题。最后概括出本实验的整体设计框图。沈阳工程学院毕业论文 第2章 嵌入式操作系统及UCLINUX
第2章 嵌入式操作系统及uClinux
uClinux是Lineo公司的主打产品,同时也是开放源码的嵌入式Linux的典范之作。uClinux主要是针对口标处理器没有存储管理单元MMU(Memory Management Unit)的嵌入式系统而设计的。本系统采用uClinux做为嵌入式操作系统的主要是基于uClinux的许多优良特点,例如开源、稳定、良好的移植性等。
2.1 uClinux操作系统介绍
Linux是一种很受欢迎的操作系统,它与UNIX系统兼容,开放源代码。它原本被设计为桌面系统,现存广泛应用子服务器领域。而更大的影响在于它正逐渐的应用于嵌入式设备。uClinux正是在这种氛围下产生的。在uClinux这个英文单词中u表示Micro,小的意思,C表示控制的意思,所以uClinux就是Mcro-control-Linux,字面上的理解就是“针对微控制领域而设计的Linux系统”[10]。
uClinux最大的特征就是没有MMU(内存管理单元模块)。它很适合那些没有MMU的处理器。这种没有MMU的处理器在嵌入式领域中应用得相当普遍。本系统中使用的ARM7内核微赴理器,其本身也没有MMU。同标准的Linux比,由于uClinux自身不支持MMU,多任务的实现就需要技巧了。但是,在uClinux上运行的绝大多数的用户程序并不需要多任务。另外针对uClinux内核的二进制代码和源代码都经过了重新编写,以紧缩和裁剪基本的代码。这就使得uClinux的内核同标准的Linux内核相比非常之小,但是它仍保持了Linux操作系统的主要的优点,如稳定性、强大的网络功能和出色的文件系统支持等。uClinux包含Linux常用的API、小于512K的内核和相关的上具。操作系统所有的代码量较小。
uClinux有一个完整的TCP/IP协议栈,同时对其它许多的网络协议都提供支持。这些网络协议都在uClinux上得到了很好的实现。对嵌入式系统而言,uClinux可以称作是一个优秀网络操作系统。uClinux所支持的文件系统有多种,其中包括了最常用的NFS(网络文件系统)、ext2,romfs、MS-DOS及FAT 16/32等[9]。
2.1.1 uClinux的内存管理
Linux系统的内存管理至少实现了以下功能:
⑴可以运行比内存还要大的程序。理想情况下应该可以运行任意大小的程序。⑵可以运行只加载了部分的程序,缩短了程序启动的时间。⑶可以使多个程序同时驻留在内存中提高CPU的利用率。
⑷可以运行重定位程序。即程序可以放于内存中的任何一处,而且可以在执行过程中移动。
⑸写机器无关的代码。程序不必韦先约定机器的配置情况。沈阳工程学院毕业论文 第2章 嵌入式操作系统及UCLINUX
⑹减轻程序员分配和管理内存资源的负担。
⑺可以进行共享,例如,如果两个进程运行同一个程序,它们应该可以共享程序代玛 的同一个副本。
⑻提供内存保护,进程不能以非授权方式访问或修改页面,内核保护单个的进程的数据和代码以防止其它进程修改它们。否则,用户程序可能会偶然(或恶意)地破坏内核或其它用户程序。
2.1.2 uClinux的进程和线程管理
进程:进程是一个运行程序并为其提供执行环境的实体,它包括一个地址空间和至少一个控制点,进程在这个地址空间上执行单一指令序列。进程地址空间包括.可以访问或引用的内存单元的集合,进程控制点通过一个一般称为程序计数器(program counter,PC)的硬件寄存器控制和跟踪进程指令序列。fork:由于进程为执行程序的环境,因此在执行程序前必须先建立这个能跑程序的环境。Linux系统提供系统调用拷贝现行进程的内容,以产生新的进程,调用fork的进程称为父进程:而所产生的新进程则称为子进程。子进程会承袭父进程的一切特性,但是它有自己的数据段,也就是说,尽管子进程改变了所属的变量,却不会影响到父进程的变量值。
父进程和子进程共享一个程序段。但是各自拥有自己的堆栈、数据段、用户空间以及进程控制块。换言之,两个进程执行的程序代码是一样的,但是各有各的程序计数器与自己的私人数据。
当内核收到fork请求时,它会先查核三件事:首先检查存储器是不是足够;其次是进程表是否仍有空缺;最后则是看看用户是否建立了太多的子进程。如果上述说三个条件满足,那么操作系统会给子进程一个进程识别码,并且设定CPU时间,接着设定与父进程共享的段,同时将父进程的文件节点索引mode拷贝一份给予进程运用,最终子进程会返回数值0以表示它是子进程。至于父进程,它由能等待子进程的执行结束,或与子进程各做各的。
uClinux没有MMU管理存储器,在实现多个进程时(fork调用生成子进程)需要实现数据保护。
uClinux的多进程管理通过vfork来实现。这意味着uClinux系统调用完成后,要么子进程代替父进程执行(此时父进程己经sleep直到子进程调用exit退出),要么调用exec执行一个新的进程,这个时候将产生可执行文件的加载,即使这个进程只是父进程的拷贝,这个过程也不能避免。当子进程执行exit或exec后,子进程调用wakeup,以此将父进程唤醒,使父进程继续往下执行。
uClinux的这种多进程实现机制同它的内存管理紧密相关。uClinux针对nommu处理器开发,所以被迫使用一种flat方式的内存管理模式,启动新的应用程序时系统必须为应用程序分配存储空间,并立即把应用程序加载到内存。缺少了MMU的内存重映射机制,uClinux必须在可执行文件加载阶段对可执行文件reloc处理,使得程序执行时能够直接使用物理内存。沈阳工程学院毕业论文 第2章 嵌入式操作系统及UCLINUX
2.1.3 针对实时性的解决方案
uClinux本身并没有关注实时问题,它并不是为了Linux的实时性而提出的。另外有一种Linux-RTlinux关注实时问题。RTlinux执行管理器把普通Linux的内核当成一个任务运行,同时还管理了实时进程。而非实时进程则交给普通Linux内核处理。这种方法已经应用于很多的操作系统用于增强操作系统的实时性,包括一些商用版UNIX系统,Windows NT等。这种方法优点之一是实现简单,且实时性能容易检验。优点之二是由于非实时进程运行于标准Linux系统,同其它Linux商用版本之间保持了很大的兼容性。优点之三是可以支持硬实时时钟的应用。uClinux可以使用RTlinux的patch,从而增强uClinux的实时性,使得uClinux可以应用于工业控制、进程控制等一些实时要求较高的应用。
2.1.4 uClinux的内核加载方式
uClinux的内核有两种可选的运行方式:可以在flash上自接运行,也可以加载到内存中运行。这种做法可以减少内存需要。
Flash运行方式:把内核的可执行映象烧写到flash上,系统启动时从flash的某个地址开始逐句执行。这种方法实际上是很多嵌入式系统采用的方法。
内核加载方式:把内核的压缩文件存放在flash上,系统启动时读取压缩文件在内存里解压,然后开始执行,这种方式相对复杂一些,但是运行速度可能更快(ram的存取速率要比flash高)。同时这也是标准Linux系统采用的启动方式。在我们的嵌入式系统中,我们采用的是这种方式。
2.1.5 uClinux的根(root)文件系统
uClinux系统采用romfs文件系统,这种文件系统相对于一般的ext2文件系统要求更少的空间。空间的节约来自于两个方面,首先内核支持romfs文件系统比支持ext2文件系统需要更少的代码,其次romfs文件系统相对简单,在建立文件系统超级块(superblock)需要更少的存储空间。romfs文件系统不支持动态擦写保存,对于系统需要动态保存的数据采用虚拟ram盘的方法进行处理(ram盘将采用ext2文件系统)。
2.1.6 uClinux的应用程序库
uClinux小型化的另一个做法是重写了应用程序库,相对于越来越大且越来越全的libc库,uClibc对libc做了精简。uClinux对用户程序采用静态连接的形式,这种做法会使应用程序变大,但是基于内存管理的问题,不得不这样做,同时这种做法也更接近于通常嵌入式系统的做法。沈阳工程学院毕业论文 第2章 嵌入式操作系统及UCLINUX
2.2 建立uClinux开发环境
2.2.1 移植概述
1.基于处理器的移植
这种类型的移植要求从一种处理器的编译器开始。这是最主要也是最困难的一步。通常当一个操作系统要运行于一定的处理器,都需要特定的编译器把操作系统(应用程序)编译成特定处理器可识别的字节码。
针对Linux系统而言,由于GNU套件支持大量的处理器。而且如前文所述,GNU编译器GCC在设计时就已经考虑跨平台的问题,所以在进行GCC移植时我们可以不考虑前端高级语言解析的部分(针对C语言等解析的过程),而只需要考虑后端的移植(主要针对处理器部分),这些后端告诉GCC在编译时怎样形成汇编代码,怎样满足处理器体系结构下的参数传递,怎样针对处理器进行流水线优化等。
基于处理器的移植还包括操作系统的移植(假如嵌入式设备不需要操作系统,则编译器完成后就可以进入编写应用的阶段)。任何操作系统都有一定的代码是同处理器相关的,而操作系统为了增加运行效率,通常总是使用了大量特定处理器提供的底层功能支持。这些与特定处理器相关的部分最终都必须修改,使其适用于新的处理器。
另外从编写应用的角度来看,还必须提供函数库。因此函数库的穆植也是必须的。2.基于平台的移植
这种移植相对于处理器的移植而言所处的开发层次更高,在板级上进行。对于一个嵌入式设备,除了处理器还要有很多周边的器件才能正常上作。因此操作系统在运行时必须初始化特定目标板的器件。
这些器件中最主要的是flash,sdram等。这些设备在系统启动后必须能够正确寻址,从而操作系统能够正常运行。此外可能需要考虑的问题包括,打印终端,串口,以太网设备等。本系统涉及移植类型即是基于平台的移植。
我在移植uClinux时,所采用的uClinux系统己经有运行于S3C44B0芯片上。所以编译器己经不需要做太多的上作,只需对其中有些地方加以修改,这样将极大节省工作量。
2.2.2 交叉编译环境的建立
绝大多数Linux软件开发都是以native方式进行的,即本机开发、调试,本机运行的方式。这种方式通常不适合于嵌入式系统的软件开发。因为对于嵌入式系统的开发,没有足够的资源在本机(即板子上系统)运行开发工具和调试工具。通常嵌入式系统的软件开发采用一种交叉编译调试方式。交叉编译调试环境建立在宿主机(即一台PC机)上,对应的开发板叫做目标板。开发时使用宿主机上的交叉编译、汇编及链接上具形成可执行的二进制代码,然后把可执行文件下载到口标机上运行和调试。沈阳工程学院毕业论文 第2章 嵌入式操作系统及UCLINUX
2.2.3 建立宿主机开发环境
在进行嵌入式uClinux应用开发设计之前,首先需要安装一台装有指定操作系统的PC机作宿主机。对于嵌入式uClinux,宿主机上的操作系统一般要求为Redhat Linux,在本课题中用的是Redhat 9.0。对于没有使用类UNIX操作系统的设计者,安装Redhat 9.0一般选择完全安装,这样可以避免在实际操作时引起不必要的麻烦。嵌入式开发通常要求宿主机配置有网络,支持NFS,支持tftp服务器等等。对于Redhat 9.0,它默认打开了防火墙。对于外来的IP访问,它会全部拒绝,这样其它网络设备就根本不可能访问它,即开发板无法使用NFS,无法通过tftp从它下载,无法完成telnet等。因此网络安装好后,应关闭防火墙并且去掉ipchains和iptables两项服务。NFS和tftp服务器的设置完全可以在Redhat 9.0的KDE图形界面下完成。
由于uClinux及它的相关开发工具集大多都是来自于软件组织的开放源代码,大多数软 件都可以从网站http://文件。如图4.7。
图4.7 生成HTML文件
4.4.2 在LabVIEX环境中操作Remote Panels
完成上述配置后,就可以在LabVIEW环境中运行一个Remote Panels了。
第一步:在Web Server端计算机中打开该VI前面板窗口(必须要打开,否则客户端在连接这个VI时会出错)
第二步:在Client客户端的LabVIEW菜单栏中选择Operate》Connect to Remote Panel--,弹出Connect to Remote Panel对话框,如图4.8所示。沈阳工程学院毕业论文 第4章 应用LabVIEW实现远程监测
图4.8 Connect to Remote Panel对话框
第三步:在Connect to Remote Panel对话框的Server IP Addre栏中,输入Server端计算机的IP地址、域名或计算机名,如192.168.1.138;在VI Name栏中输入想要控制的VI名称数据采集。在PORT栏中输入Web Server configuration中设定的HTTP Port(默认值为80)。
第四步:单击Connect按钮,Remote Panels就会出现在屏幕上了。如图4.9所示。
图4.9 Remote Panels
4.5 本章小结
本节详细介绍了LabVIEW DataSocket的c-s模式下的网络通信基本理论和方法,并完成了基于LabVIEW DataSocket机制的服务器和客户机软件,该软件可顺利实现上下位机网络通信功能。沈阳工程学院毕业论文 结论
结 论
本文在基于网络的嵌入式数据采集系统的基础上,重点研究了虚拟仪器的网络通讯技术;并针对构建嵌入式网络数据采集系统提出了可行性方案。
本文完成的具体工作如下:
1.分析了嵌入式以太网监测系统研究的历史与现状,概括了当今嵌入式以太网监控系统常用的实现方法,提出了以太网监测技术中尚需解决的主要问题。
2.对基于ARM微处理器S3C44B0X的嵌入式数据采集系统进行总体设计,介绍了嵌入式系统的硬件结构,并详细介绍了嵌入式系统主要硬件功能的具体实现过程。
3.提出了基于LabVIEW的数据采集系统结构,介绍了数据采集设备的设置与测试。充分发挥虚拟仪器的优势,采用模块化设计软件方法,通过软、硬件结合,使用LabVIEW软件设计了一个实用的数据采集系统,实现了对多通道温度信号的采集处理。
4.应用TCP和DataSocket技术,在网络上只需传输数据,从而真正实现服务器/客户端模式的网络化虚拟仪器。这种方式便得用户只需要打开相应的应用程序就可以实时查看远方的实时数据采集监测情况。沈阳工程学院毕业论文 致谢
致 谢
首先感谢我尊敬的指导老师,本论文是在他的悉心指导和关怀下完成的。在这三年的学习期间,严谨的治学态度、渊博的专业知识以及忘我的工作热情对我的一生都有若非常深远的影响,激励我不断努力学习和工作,向着更高的人生目标奋斗!在学术上给予我很多指导和帮助,为我们创造良好的学习氛围,正是在这种环境下我才能够顺利完成毕业论文。此外,读书期间,使我们受益的不仅仅是广博的知识,丰富的经验,更为重要的是党老师在为人,为师,以及科研中的态度。在为人方面,我懂得了做人要积极乐观,正直,乐于助人;科研中,要严谨认真、脚踏实地、勤于动脑、勤于动手。这些在我以后的工作和生活中将是我所要努力做到的。
在论文撰写期间,我要感谢帮助过我的实验室同学们,他们给我提出了许多宝贵的意见,激发了我写作的灵感。在此表示最深的谢意。
感谢父母的养育之恩!感谢家人的理解与支持!
最后,对评审论文的各位专家、学者表示衷心的感谢!沈阳工程学院毕业论文 参考文献
参考文献
[1] 田泽等.嵌入式系统与应用教程.北京:北京航空航天大学出版社,2004年 [2] 王学龙编著.嵌入式Linux系统设计应用.北京:清华大学出版社,2002年 [3] 李善平,刘文峰等.Luiux与嵌入式系统:清华大学出版社,2003年
[4] 马忠梅,李善平,康慨,叶楠著.ARM&Linux嵌入式系统教程.北京:北京航空航天大学出版社,2004 [5] 周立功著.ARM嵌入式系统基础教程.北京:北京航空航天大学出版社,2005年 [6] 邹思轶著.嵌入式Linux设计与应用.北京:清华大学出版社,2002年 [7] 魏忠,蔡勇等编著.嵌入式开发详解.北京:电子工业出版社,2003年
[8] 刘辉,孟凡荣,席景科.用uCLinux开发嵌入式应用.《电子产品世界》,2003年1月:64-66 [9] DOUGIASE.COMER.Intemetworking with TCP/IP.Prentice Hall, 1998 [10] 陈莉君编著.深入分析Linux内核源代码.北京:人民邮电出版社,2002年 [11] 毛德操,胡希明著.Linux内核源代码情景分析.杭州:浙江大学出版社,2001 [12] 李菩平编著.Linux内核2.4版源代码分析大全.北京:机械工业出版社,2004年 [13] 万加富,闵荷花,张占松.基于uClinux的嵌入式开发平台建立《.元器件与集成电路》,2003年,第4期:1-4 [14] LabVIEW 6i教程,北京:机械工业出版社.2003年
[15] 杨乐平,李海涛.LabVIEW基础教程(第二版).北京:机械丁业出版社,2005年 [16] 杨乐平,李海涛等.LabVIEW技术高级程序设计.北京:清华大学出版社,2003年
[17] PoggioT.Girosi F, A Theory of Networks for Approximation and Leaming, Proc IEEE, 1990, 78:1481-1496 [18] 戴尔晗,孙海安.基于LabVIEW的IP网络管理,国外电子测量技术,2005年12期
[19] LabVIEW Database Connectivity Toolset User Manual, USA:NationalIn struments Corpera tion,2001 [20] Hirai J,Kim T-W Wirele transmiion of power and information for cablele linear motor drive,2000 [21] Morais R Solar data acquisition wirele network for agricultural applications,1996 [22] Ding Libo.Zhang He.Li Haojie Design and implementation of a smallsize wirele data acquistion system,2002
目录前言 ..................................................................................................................................................2 正......
嵌入式数据库SQLite在远程监控系统中的应用,嵌入式数据库.
嵌入式数据库SQLite在远程监控系统中的应用,嵌入式数据库,SQLite,远程监控系统,arm-μ随着后PC时代的到来,各种各样的新型嵌入式系统设备在应用数量上已经远远超过通用计算机......
Research and Development of the Remote I/O Data Acquisition System Based on Embedded ARM PlatformINTRODUCTION With the wide use of the networked, intelligent an......
摘要:当今社会,科学技术不断发展,不断改变,不断创新,同一个行业的企业之间的竞争也越来越激烈。在如此强烈的竞争环境下,企业如果想要获得更多的利益,想要有更好的社会地位,就必须不......
嵌入式生产数据采集系统研究论文摘要:当今社会,科学技术不断发展,不断改变,不断创新,同一个行业的企业之间的竞争也越来越激烈。在如此强烈的竞争环境下,企业如果想要获得更多的利......