1、 本科毕业论文(设计) 题目 基于 ARM9嵌入式网关研究 作者 * 学院 电气与信息 工程 专业 电子信息工程 学号 指导教师 二一二 年 四 月 十五 日 I 摘 要 近些年来,以太网 /英特网以及其他的网络逐渐被广泛的应用到通讯和自动化技术中。作为代表的 TCP/IP 网络传输通讯协议,其高度成熟的开放网络通讯技术正逐渐渗透到不同的自动化系统中,用以连接和控制其他的装置。通常也采用其他工业控制和通讯的嵌入式协议。然而如何实现嵌入式设备的远程控制和数据的远程传送成了重要的 问题 。基于此问题, 我们设计了一种在网络层以上的协议转换器,即网关,它能实现网络层不同协议的转换,从而实现嵌入式设备
2、的远程控制和数据的远程传送。 在 设计上 , 我们 选用 32 位 ARM9 处理器 S3C2410 芯片作为内核中央处理器和RTL8019AS 网络接口芯片来开发嵌入式网关并且需要 运行在 嵌入式系统上。 开发所涉及的工作包括 嵌入式操作系统的 BootLoader 探索、内核的接口和裁剪、文件系统和驱动配置以及 网络程序 来解决 TCP/IP 的通讯 等 。 这其中内核的剪裁和网络程序完全由作者自己设计开发。 具体上, 研究 采用由 ARM 公司的 合作伙伴生产的 S3C2410 芯片作为整个设计的硬件开发平台,采用 Linux 嵌入式操作系统作为软件开发平台。经过裁剪后的内核具有体积小和
3、 实时性 高 的特点。最后通过系统测试 完成网络接口的通信 ,这样一个嵌入式设备 通过网关 接入英特网的解 决方案得以 实现。 文中首先就嵌入式网关的探索和发展作了一个明确的介绍。然后分析嵌入式网关的技术需求,为解决嵌入式设备接入以太网提出解决方案。最后对本文的设计进行了详细介绍,包括整体结构的设计、硬件及设计平台、嵌入式网络程序、操作系统内核的定制,同样还有系统的接口。其中网络程序和系统接口 是整个设计的核心。 关键词 :嵌入式网关; Linux 操作系统; TCP/IP 协议 II Abstract In recent years, Ethernet/Internet and other
4、network is applied gradually and widely in the domain of communications and automation. Repressed by TCP/IP network transmission communication protocol, the open network communication technology and controlling the equipments. While it is usually adopts other protocol of the embedded device of indus
5、trial control and communication. How to achieve the remote control for the embedded device and remote transition for the data has become an urgent problem. To solve this problem, we designed a converter, we named it Gateway, who worked in network layer and can realize to convert the different agreem
6、ent in network layer. On this account, we can achieve the remote control for the embedded device and remote transition for the data. A scheme is proposed on this factual significant in this paper. In this paper, the definition, significant of research and trend of development of the Embedded Gateway
7、 is introduced, firstly. Then a solution is brought forward and achieved for an embedded device access to Ethernet based on the analysis for the technical requirements of Embedded Gateway. The following contents are detailed introduced in paper, including the overall design framework, the hardware a
8、nd the design platform, Embedded Network Programming, Operating System kernel revision, as well as the porting of the Operating System. The network Programming and the porting of the Operating System is the focus of the entire design. In the design, 32-bit ARM9 processor S3C2410 as the kernel chip a
9、nd RTL8019AS as the network interface chip are selected to exploit Embedded Gateway, and it needs to be run on the Embedded Operating System. The design includes Boot Loader of Embedded Operating System, the tailor and porting of kernel, file system and the configuration of the driver, the program o
10、n the networks to finish the program of communications on the TCP/IP protocol application layer, and so on. Among them, the tailor of kernel and program of communication on the TCP/IP protocol application layer are designed by author. In specific implementation, it adopts S3C2410 which is produced b
11、y Friendly ARM of the company as a whole design of hardware development platform, and the software platform is the Embedded Linux Operating System. The characteristic of small size and real-time high is achieved by cutting the Linux kernel. Finally, communications of network interface are achieved b
12、y system debugging, and a solution for embedded devices connect to the Internet is provided. Key Words: Embedded Gateway; Linux Operating System; TCP/IP Protocol 湖南涉外经济学院本科生毕业论文(设计) III 目 录 摘 要 . I Abstract . II 第一章 绪论 . 1 1.1 嵌入式系统及其发展趋势 . 1 1.1.1 嵌入式系统概述 . 1 1.1.2 嵌入式设备接入以太网的意义 . 3 1.1.3 嵌入式网络的现状及
13、发展趋势 . 4 1.2 论文的目的及完成的主要工作 . 4 1.3 本章小结 . 5 第二章 嵌入式网关系统及硬件电路的总体设计 . 7 2.1 嵌入式网关系统的功能简介及工作原理 . 7 2.1.1 系统的功能简介 . 7 2.1.2 嵌入式网关的工作原理 . 10 2.2 嵌入式网关设计的总体框架 . 10 2.3 硬件部分的设计 . 11 2.3.1 嵌入式网关的硬件开发平台 . 11 2.3.2 微控芯片 CPU . 12 2.3.3 存储系统 . 13 2.3.4 串口部分 . 13 2.3.5 JTAG 调试接口 . 13 2.3.6 以太网接口 . 13 2.4 本章小结 .
14、错误 !未定义书签。 第三章 嵌入式网关软件设计 . 12 3.1 TCP/1P 协议 . 12 3.1.1 TCP/IP 协议的结构 . 12 3.1.2 TCP/IP 协议族及其实现机制 . 20 3.2 嵌入式网关系统设计的软件框架 . 错误 !未定义书签。 3.3 Linux 下的网络编程 . 错误 !未定义书签。 3.3.1 进程间通信 . 22 3.3.2 客户服务器模型 . 23 3.3.3 Socket 概述 . 23 湖南涉 外经济学院本科生毕业论文(设计) IV 3.3.4 socket 网络编程的原理和基本函数 . 24 3.4 网络程序的编写与编译 . 25 3.5 本
15、章小结 . 26 第四章 操作系统的移植 . 21 4.1 嵌入式 Linux 及其内核简介 . 21 4.2.1 交叉编译 环境的建立 . 22 4.2.2 系统引导程序 BootLoader . 26 4.3 Linux 操作系统的移植过程 . 26 4.3.1 内核的配置和编译 . 27 4.3.2 配置 NFS 文件系统 . 28 4.4 本章小结 . 29 第五章 嵌入式网关系统的调试 . 27 5.1 嵌入式网关系统的开发流程 . 27 5.2 调试过程 . 27 5.2.1 系统启动测试 . 27 5.2.2 Linux 下网口通信的测试 . 28 5.3 本章小结 . 29 结
16、 论 . 30 参考文献 . 31 致 谢 . 32 附录 A:部分程序清单 . 33 湖南涉外经济学院本科生毕业论文(设计) 1 第一章 绪论 随着信息技术的发展,嵌入式系统渗透于生活中的各个领域,嵌入式计算机在应用数量上远远超过了各种通用计算机。一台通用计算机的外部设备中就包含了 6-10 个嵌入式微处理器,键盘、鼠标、软驱、硬盘、显卡、显示器、网卡、声卡、打印机、扫描仪、数码相机等均是由嵌入式处理器控制的。在制造工业、过程控制、通信、仪器、仪表、汽车、船舶、航空、航空、军事装备、消费类产品等方面都是嵌入式计算机的应用领域。在不同领域,这些嵌入式系统往往组成一个个独立的嵌入式网络,随着 I
17、nternet网的不断普及,将各种嵌入式网络接入 Internet 变得越来越必要。回顾整个网络的发展历程,从巨型机时代网络的开始,到 PC 时代开放式互联网络的出现,一个必然的趋势是嵌入式设备的网络化。 本来的网络会更进一步发展,连接到网络上的不仅仅是 PC、 PDA 这样的个人数据处理设备,还会有大量的控制类设备连接到网络上。包括各种各样的环境和安全控制装置、家用电气设备、商用设备、工业设备等等。它们连接到网络上实现协调管理将是未来网络设备的发展趋势。一套新设计的智能化住宅中,估计连接到网络上的 PC 机数量为 1-4台,而连接到网络上的其他电子设备为 20-30 个。现在网络上将大大增
18、加智能设备互相之间的信息的收发。未来的智能住宅、智能小区、智能工厂、智能办公楼、智能医院、智能学校、智能仓库、智能车站、智能机场、智能酒店等等需要大量的充当神经末梢的嵌入式网关设备。 在这种无所不在的建设和发展趋势下,廉价、有效、可靠、使用方便的“透明化”设计的小型乃至微型网络设备将是网络设备设计、制造、应用的一个个非常重要的方向,甚至可能是规模最大的一个方向。 1.1 嵌入式系统及其发展趋势 1.1.1 嵌入式系统概述 嵌入式系统本身是一个相对模糊的定义。由于目前嵌入式系统已经渗透到日常生活的各个方面, 其在工业、服务业、消费电子等领域的应用范围都不断扩大,因此难以给“ 嵌入式系统 ” 下一
19、个明确的定义。 根据 IEEE(国际电气和电子工程师协会 )的定义,嵌入式系统是 “ 控制、监视或者辅助设备、机器和车间运行的装置 ”( 原文为 devices used control,monitor,0r assist theoperation 0f equipment machinery or plants)。这主要是从应用上加以定义的,由此可以看出嵌入式系统是软件和硬件的综合体,可以涵盖机械等附属装置。不过,上述定义并不能充分体现出 嵌入式系统的精髓。目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成湖南涉外经济学院本科生毕
20、业论文(设计) 2 本、体积、功耗等严格要求的专用计算机系统 1。可以从以下几个方面来理解国内对嵌入式系统的定义: 嵌入式系统是面向用户、面向产品、面向应用的,它必须与具体应用相结合才会具有生命力、才更具有优势。可以这样理解上述三个方面的含义,即嵌入式系统是与应用紧密结合 的,它具有很强的专用性,必须结合实际系统需求进行合理的裁剪利用 。 嵌入式系统是将先进的计算机技术、半导体技术和电子技术 以及各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。所以,介入嵌入式系统行业,必须有一个正确的定位。例如Palm OS 之所以在 PDA
21、领域占有 70%以上的市场,就是因为其立足于个人电子消费品,着重发展图形界面和多任务管理;而风河的 VxWorks 之所以在火星车上得以应用,则是因为其高实时性和高可靠性。 嵌入式系统必须能够根据应用需求对软硬件进行裁剪,满足应用系统的功能、可靠性、成本、体积等要求。所以,如果能建立相对通用的软硬件基础,然后在其上 开发出适应各种需要的系统,是一个比较好的发展模式。目前的嵌入式系统的核心往往是一个只有几 KB 到几十 KB的微内核,需要根据实际的使用进行功能扩展或者裁剪。由于微内核的存在,使得这种扩展能够非常顺利地进行。由于嵌入式系统本身是一个外延极广的名词,凡是与产品结合在一起的具有嵌入式特
22、点的控制系统都可以叫嵌入式系统,很难给它下一个准确的定义。因此,目前通常把嵌入式系统概念的重心放在 “ 系统 ”( 即操作系统 )上,指能够运行操作系统的软硬件综合体。总体上嵌入式系统可以划分成硬件和软件两部分,硬件一般由高性能的微处理器和外围的 接口电路组成,软件一般由实时操作系统和其上运行的应用软件构成,软件和硬件之间由所谓的中间层 (BSP 层,板级支持包 )连接。一般而言,嵌入式系统的构架可以分成 4 个部分:处理器、存储器、输入输出 (I/O)和软件 (由于多数嵌入式设备的应用软件和操作系统都是紧密结合的,在这里对其不加区分,这也是嵌入式系统和 Windows 系统的最大区别。 1.
23、1.2 嵌入式设备接入以太网的意义 随着互联网应用的日益普及,信息共享的程度不断提高。如何通过互联网共享嵌入式系统为中心的小型嵌入式设备的信息,成为当今电子界的热门话题。 传统的互联网应用是以 PC 为中心,如今,互联网应用正转到以嵌入式设备为中心。 IA( Internet Appiance)概念现在甚为流行,这表明互联网应用进入嵌入式互联网时代已经来临,把嵌入式系统和 Internet 连接已是一种趋势。 嵌入式设备接入以太网有什么意义呢?过去通过专用通信线在远方采集现场设备的数据,进行远方显示和控制,但是通信介质要专用的,通信协议要自己写,嵌套的设备要自己设计。因此,系统成本高,开发周期
24、长。 同时,随着工业自动化和办公自动化的发展,在一些场合,分布式控制系统的网络湖南涉 外经济学院本科生毕业论文(设计) 3 越来越庞大,现场总 线越来越受地域、铺设成本、负载容量的限制。另外,由于目前市场上 CANbus、 Lonworks、 Profibus、 FF 等多种现场总线并存,使得基于现场总线的控制系统的接口协议标准各异,难以统一。在这种情况下,利用廉价的具有接入 Internet功能的嵌入式设备,可以使现场总线方式下的分布式控制系统转换成基于以太网的分布式控制系统,从而使数据采集、信息传输等能直接在 Internet/Intranet 上进行,既统一了标准,又使工业测控数据直接在
25、 Internet/Intranet 上动态发布、共享,供相关技术员、管理人 员进行实时处理或参考,这样就把控制网和信息网有机的结合起来,这样工厂或企业都拥有一个一体的网络平台,无论从成本、管理、维护等方面考虑,都是一个最佳的地选择。 另一方面,灵活、方便,安全性、可靠性高的以太网的飞速发展和普及,使因特网已深入办公室、工厂与车间,使人们在工作的各个地点,都可以通过互联网来交换信息。嵌入式设备的显示和控制只要能上网,就能很好的实现远程控制,不需要专用的通信线路,现成的全球网络任你传到各个角落。 综上所述,设计一种基于以太网的嵌入式控制系统来实现设备的远程控制将具有非常广阔的应用前景。 1.1.
26、3 嵌入式网络的现状及发展趋势 国际上,微控制器和微处理器在工业自动化和设备管理上采用 TCP/IP 协议接入网络始于 1994 年,初期的进展比较缓慢。近年来,由于微电子技术的迅猛发展,微控制器和微处理器的性能大大提高,价格却大大降低,与此同时,因特网也以前所未有的速度向前发展,网络通信的性能、质量和稳定性都得到稳步提高,网络普及程度也迅速提高。世界各大公司看到了嵌入式设备连上因特网的巨大商业价值和市场潜力,纷纷投入精力研究,使得嵌入式网关技术的研究和应用出现加速发展的势头。 其中以全球嵌入式及移动应用软 件领导著称的厂商风河 (Wind River)公司最为闻名,近日他们又发布可用于开发智
27、能网关的全新软件网关器平台。其技术已达到国际先进水平。 国内嵌入式技术兴起较慢,但是发展却很迅速,国家也很重视这方面的研究。目前国内关于嵌入式网关的研究成果主要集中在嵌入式串口网关研究上,其研究成果诸如HEG9000工业嵌入式网关模块及 HEG0700嵌入式串口网关模块,其性能可靠,能耗较低。 开放式网络可以给企业带来很多好处。方便的数据信息获取带来迅速高效的决策。从最低端的设备到超级计算机,企业有一个整体控制。开放式 网络的可扩展性使得企业可以保持已有的技术投资,相对于特定的网络标准,加入企业一种新的解决方案,使已有网络系统将被推翻,从这点来说,开放式网络为企业运营降低了成本。 湖南涉外经济
28、学院本科生毕业论文(设计) 4 嵌入式设备网络化是市场的需要。从最终的用户角度看,他们希望所有设备互联工作,这种互联越广泛越好,因为这意味着他们工作生活的自由度提高了。当今社会是信息化的社会,快速获取最新信息是高效决策的关键。企业的管理者希望他们的触角能够到达企业的任何位置,从而可以快速的进行资源配置,对生产过程进行实时监控,并能够随时修正,重新配置资源。现代企业具有很大的灵 活性很大程度上决定了它是否在竞争中胜出。 从嵌入式设备制造者的角度来看,通常更关心成本因素。嵌入式设备的网络化使得在进行售后服务时有了一个根本性的变革:通过因特网远程控制检测设备,使得进行远程技术支持成为可能。这种做法提
29、高了设备维护的方便性,同时降低了维护成本。 1.2 论文的目的及完成的主要工作 论文的研究目的是为了实现一种将现场总线方式下的嵌入式控制系统转换成基于以太网的嵌入式控制系统的方法,以解决当前现场总线控制系统中存在的接口协议标准各异以及不同网络之间互通难的问题。 论文主要工作包括硬件平台的设 计和软件部分的设计。通过这两部分的设计 我们模拟 对远程电表的数据采集和控制 。 其中硬件部分包括中央处理器即 CPU 的选取、存储系统的设计、串口部分的设计、JTAG 调试接口以及以太网接口的设计。 CPU 是整个系统的实时控制核心。本文选用以ARM9 为核心的 S3C2410 是一款 32bit 的 R
30、ISC 微处理器 ,其性价比高,低功耗的网络设备,并且集成了众多的控制器和其他接口的丰富资源;存储系统对于整个系统也是非常重要的。它包含着程序的运行空间和数据空间,系统的启动代码同样离不开存储系统,可以说存储系统是 CPU 外的另一 大重要内容;这里串口的设计主要是方便 ARM 同 PC机进行通讯; JTAG 调试接口是嵌入式系统芯片的烧写和调试不可或缺的部分,它可满足对实时对程序的分析和执行的监控;以太网接口是用来同外部设备进行数据传输的,缺少了这部分,那么研究就变得没意义了。 软件部分包括 Bootload 的编写、操作系统和文件系统的移植、应用程序的编写。应用程序部分我们 利用 Sock
31、et套接字和 TCP/IP 协议编写了一个简单的客户机 /服务器模式的网络应用程序。因为本系统只是起到网关的作用,只需实现现场总线和以太网上位机两方之间的通信,并不需要处 理其数据的逻辑意义和内容。在这种模式下,以太网上位机被设定为服务器,它运行了服务器端的应用程序。该程序主要用于监听服务器端口、接受客户端的连接请求、接受客户端的信息、向客户端发送信息等。网关系统中运行的是客户端程序,该程序主要是用于申请连接到服务器、将现场总线方发来的消息向服务器发送、处理服务器发来的信息、将这些信息发送给现场总线系统。 随着工业控制系统性能的提高,以太网在工业上的应用也会越来越广泛,本文介绍湖南涉外经济学院本科生毕业论文(设计) 5 的嵌入式网关设计为嵌入式系统互联提供了一种传输速度快,成本低,稳定性和安全性高的解决方案。同时,利 用嵌入式 ARM 处理器接口资源丰富,设计通用性强,便于拓展其他现场总线与以太网互联,具有较好的应用推广价值。 1.3 本章小结 本章介绍了嵌入式式系统及其发展趋势,讨论了嵌入式网关发展情况、技术要求及论文的主要目的和作者所要完成的主要工作。