毕业论文基于ARM嵌入式系统的Socket通信设计.docx

上传人:小飞机 文档编号:3606986 上传时间:2023-03-14 格式:DOCX 页数:53 大小:66.59KB
返回 下载 相关 举报
毕业论文基于ARM嵌入式系统的Socket通信设计.docx_第1页
第1页 / 共53页
毕业论文基于ARM嵌入式系统的Socket通信设计.docx_第2页
第2页 / 共53页
毕业论文基于ARM嵌入式系统的Socket通信设计.docx_第3页
第3页 / 共53页
毕业论文基于ARM嵌入式系统的Socket通信设计.docx_第4页
第4页 / 共53页
毕业论文基于ARM嵌入式系统的Socket通信设计.docx_第5页
第5页 / 共53页
亲,该文档总共53页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《毕业论文基于ARM嵌入式系统的Socket通信设计.docx》由会员分享,可在线阅读,更多相关《毕业论文基于ARM嵌入式系统的Socket通信设计.docx(53页珍藏版)》请在三一办公上搜索。

1、毕业论文基于ARM嵌入式系统的Socket通信设计毕业论文 题 目 基于ARM嵌入式系统的Socket通信设计 第I页 摘 要 嵌入式系统是计算机技术、半导体技术和电子技术的综合体,已经广泛应用于科学研究、工程设计、国防军事、自动化控制等各个领域。随着网络通讯技术的迅猛发展,生产和生活中广泛要求嵌入式系统终端能够完成网络通讯功能。论文就是以ARM7 TDMI为嵌入式开发平台,开发具有网络通信功能的嵌入式终端。 SOCKET是一个通信链的句柄,通过套接字向网络发出请求或者应答网络请求,用于TCP/IP协议的应用程序之间的相互通信。论文选择了ARM体系结构的嵌入式LPC2200处理器,根据系统的需

2、求,在综合各种设计方案的基础上,选择移植带有TCP/IP协议的ucLinux嵌入式操作系统。裁剪和定制系统后,构建相关的文件系统。在此基础上,编写应用程序,调用系统的Socket通信函数,实现服务器端和客户端的通信。描述IP地址和端口,用于在两个 论文成功的实现了嵌入式设备的网络接入功能,各个带有网络通讯功能的嵌入式终端可以相互通讯,扩大了和提高了嵌入式设备的应用范围,对嵌入式系统的发展有较大的意义。 关键词:嵌入式系统;ARM7TDMI;socket;TCP/IP 第II页 Abstract The embedded system is a complex system with the c

3、omputer technology, semiconductor technology and electronic technology .It has been widely used in scientific research, engineering, national defense, automation and other fields. With the rapid development of network communication technology,our production and life requires the terminal to complete

4、 the network communication function in a wide range of embedded systems. The Paper select the ARM7 TDMI for embedded development platform, develop the embedded network communication terminal. Socket is a communication chain handle, and sends network request or response to network requests. It is use

5、d to describe the IP address and port for both TCP / IP based protocol to communicate between applications,. The paper select LPC2200 embedded ARM as processor architecture, with the system need, design the integration based on transplantation with TCP / IP protocol ucLinux embedded operating system

6、. The paper build related file system.after cutting and custom systems. On this basis, finished an application, and call the system function of Socket Communications, achieve server and client communication. The paper achieved the network access functions of the embedded device, the embedded with a

7、network communication terminal can communicate with each other, and expand and improve the application range of embedded devices, and has a greater significance for embedded systems. Key words: Embedded Systems;ARM7TDMI;socket;TCP/IP 第III页 目 录 1 绪论 . 1 1.1 1.2 1.3 1.4 1.5 2 嵌入式系统 . 1 国内外现状和趋势 . 2 选题

8、必要性 . 3 选题的目的和意义 . 4 课题研究范围及要达到的技术要求 . 5 需求分析 . 6 2.1 2.2 任务概述 . 6 系统的需求分析 . 6 系统的功能需求 . 6 系统的性能需求 . 6 2.2.1 2.2.2 2.3 3 系统设计思路 . 6 系统概要设计 . 9 3.1 3.2 3.3 系统设计的基本原则 . 9 系统设计方案分析 . 9 概要设计 . 11 开发环境 . 11 ARM开发环境的建立 . 12 建立程序运行调试交叉编译环境 . 15 3.3.1 3.3.2 3.3.3 3.4 模块化的设计与分析 . 15 开发板上完成的设计 . 15 PC机上完成的程序开

9、发 . 16 3.4.1 3.4.2 3.5 4 设计基本流程 . 16 系统详细设计 . 19 4.1. UCLINUX的移植 . 19 4.1.1 4.1.2 4.1.3 uClinux嵌入式系统的下载 . 19 根文件系统的建立 . 19 应用程序库 . 20 第IV页 4.2. 内核编译 . 20 4.2.1 4.2.2 4.2.3 uClinux的安装. 20 配置uClinux . 21 构建文件系统 . 23 4.3. PC机上的程序设计 . 26 4.3.1 4.3.2 嵌入式TCP /IP分析 . 26 嵌入式TCP/IP设计 . 27 4.4. 编程模型 . 28 4.4.

10、1 4.4.2 TCP客户端设计. 28 TCP服务器端主要代码分析 . 30 4.5. 程序下载到嵌入式硬件平台 . 34 5 系统的实现与测试 . 37 5.1 5.2 测试环境和测试的条件. 37 功能及数据测试 . 38 容错功能 . 38 连接成功的信息说明 . 39 数据收发功能 . 39 5.2.1 5.2.2 5.2.3 5.3 测试的结果 . 41 结 论 . 42 参考文献 . 43 致 谢 . 45 第1页 1 绪论 1.1 嵌入式系统 目前,嵌入式系统的应用越来越广泛,我们日常生活中就存在大量的嵌入式系统的产品:比如手机、MP3、收音机、电视机等等,我们已经离不开嵌入式

11、产品了。嵌入式产品是面向应用的,应用的需求推动了嵌入式技术的发展。 嵌入式系统的基本技术仍然是计算机技术,包含软件、硬件、操作系统等。嵌入式系统是可裁剪的,根据应用的具体场合和需求,选择相应的模块,把系统中不需要的部分去掉,这样做的主要目的是节约资源,降低功耗。每一个嵌入式产品是不同的,使用不同的硬件和软件,搭建自己的嵌入式操作系统,但是核心技术都是一样的。嵌入式系统主要有以下几个特点: 以需求为目标:嵌入式产品没有统一的要求,在开发过程中,它主要是解决用户的需求问题的。比如我们使用的手机产品,用户有各种各样的需求,有的看重的是移动功能,有的看中的是娱乐功能,还有的看中的是导航功能。那么在设计

12、开发过程中,就需要按照不同的需求搭建自己的嵌入式系统。这样做的主要目的是节约资源,让嵌入式芯片发挥更大的作用。 运行高效,节约资源:嵌入式系统要求运行速度快,具有很高的执行效率。基于ARM7TDMI的嵌入式芯片,在指令设计上使用是精简指令集,执行效率高;使用三级流水技术,大大增强了嵌入式产品的性能1。 较小的体积和可靠性:嵌入式产品一般都要求体积较小,较小的体积,主要是可以满足便携功能。在可靠性方面,要求嵌入式系统的代码执行效率高,系统运行稳定可靠,也别是在工业控制领域。只有做到这一点,嵌入式产品才会有更大的应用空间和应用市场。嵌入系统是一个片上系统,应用空间巨大,在各个方面都可以应用,比如工

13、业控制领域、消费电子、移动通讯等,都得到了广泛的使用。 第2页 1.2 国内外现状和趋势 随着信息化,智能化,网络化的发展,嵌入式系统技术也将获得广阔的发展空间。信息时代,数字时代使得嵌入式产品获得了巨大的发展契机,为嵌入式市场展现了美好的前景,同时也对嵌入式生产厂商提出了新的挑战。 嵌入式开发是一项系统工程,因此要求嵌入式系统厂商不仅要提供嵌入式软硬件系统本身,同时还需要提供强大的硬件开发工具和软件包支持。 目前很多厂商已经充分考虑到这一点,在主推系统的同时,将开发环境也作为重点推广。比如三星在推广Arm7,Arm9芯片的同时还提供开发板和版及支持包(BSP),而WindowCE在主推系统时

14、也提供Embedded VC+作为开发工具,还有Vxworks的Tonado开发环境,DeltaOS的Limda编译环境等等都是这一趋势的典型体现。当然,这也是市场竞争的结果。 网络化、信息化的要求随着因特网技术的成熟、带宽的提高日益提高,使得以往单一功能的设备如电话、手机、冰箱、微波炉等功能不再单一,结构更加复杂。这就要求芯片设计厂商在芯片上集成更多的功能,为了满足应用功能的升级,设计师们一方面采用更强大的嵌入式处理器如32位、64位RISC芯片或信号处理器DSP增强处理能力,同时增加功能接口,如USB,扩展总线类型,如CAN BUS,加强对多媒体、图形等的处理,逐步实施片上系统(SOC)的

15、概念。软件方面采用实时多任务编程技术和交叉开发工具技术来控制功能复杂性,简化应用程序设计、保障软件质量和缩短开发周期2。 网络互联成为必然趋势。 未来的嵌入式设备为了适应网络发展的要求,必然要求硬件上提供各种网络通信接口。传统的单片机对于网络支持不足,而新一代的嵌入式处理器已经开始内嵌网络接口,除了支持TCP/IP协议,还有的支持IEEE1394、USB、CAN、Bluetooth或IrDA通信接口中的一种或者几种,同时也需要提供相应的通信组网协议软件和物理层驱动软件。软件方面系统系统内核支持网络模块,甚至可以在设备上嵌入Web浏览器,真正实现随时随地用各种设备上网3。 精简系统内核、算法,降

16、低功耗和软硬件成本。 第3页 未来的嵌入式产品是软硬件紧密结合的设备,为了减低功耗和成本,需要设计者尽量精简系统内核,只保留和系统功能紧密相关的软硬件,利用最低的资源实现最适当的功能,这就要求设计者选用最佳的编程模型和不断改进算法,优化编译器性能。因此,既要软件人员有丰富的硬件知识,又需要发展先进嵌入式软件技术,如Java、Web和WAP等。 提供友好的多媒体人机界面 嵌入式设备能与用户亲密接触,最重要的因素就是它能提供非常友好的用户界面。图像界面,灵活的控制方式,使得人们感觉嵌入式设备就象是一个熟悉的老朋友。这方面的要求使得嵌入式软件设计者要在图形界面,多媒体技术上痛下苦功。手写文字输入、语

17、音拨号上网、收发电子邮件以及彩色图形、图像都会使使用者获得自由的感受。目前一些先进的PDA在显示屏幕上已实现汉字写入、短消息语音发布,但一般的嵌入式设备距离这个要求还有很长的路要走。 1.3 选题必要性 当前,计算机技术和微电子技术发展迅猛,特别是纳米技术取得了重大进展,嵌入式芯片的设计和开发也越来越迅速。对嵌入式芯片的运行速度要求越来越快,存贮器也越来越大,这大大推进了嵌入式技术的发展,嵌入式系统在一定的程度上推进了现代生活的提高和改善。 在网络通讯方面,嵌入式系统的发展增强了网络的智能化与灵活性,从而实现各种通信系统之间的互联互通。互联网是我们日常办公生活中最常用的网络,很方便的把我们相互

18、连接。目前,互联网已经开始普及,包括广大的农村,网络成为了我们生活的一部分。由于嵌入式系统低功耗、面向应用等特点,在网络通讯方面得到了广泛的应用。我们使用的移动设备,基本上都是基于嵌入式系统设计开发的。 嵌入式系统是指将应用程序、操作系统与计算机硬件集成在一起的系统。它以应用为中心、以计算机技术为基础,而且软硬件可以裁剪,因而能满足应用系统对功能、可靠性、成本、体积和功耗的严格要求的专用计算机系统。嵌入式系统与通信、网络技术的结合可以极大地增强网络的智能化与灵活性,拓展通信功能,从而实现各种通信系统之间的互联互通4。 第4页 1.4 选题的目的和意义 传统的数据传输和通讯,需要铺设专用的介质和

19、电缆。通过前端的传感器采集数据信息,并通过相关的通讯协议进行数据传输。比如我们经常使用的CAN,485总线等。这些总线和协议需要自己定制,硬件设备需要自己设计开发,面向的对象不同,解决的设计问题不同,主要面向专业设计开发,由于技术上的门槛,普通人员很难理解和使用。 以太网是使用最为广泛的网络,由于标准的统一,硬件的支持和配套,普通人员也可以使用,是信息交流和流通的重要渠道。因此,基于嵌入式系统,设计开发网络应用产品具有重要的意思。 嵌入式网络为终端设备网络化提供了保障 如果将我们所有的终端设备进行网络连接,可以方便有效地进行信息沟通和数据共享,同时也为管理者提供了一种有效的管理方式。移动办公设

20、备很方便的将我们连接在一起,无论何时何地,增强了我们的相互沟通。 嵌入式网络技术为工业控制领域设备的发展提供动力 基于嵌入式系统的网络技术,随着嵌入式技术的迅猛发展,也得到了广泛的应用。我们现在使用的手机设备,无论我们在天涯海角,都可以随时尽心交流和沟通;家庭经常使用的网络电视,可以方便的下载和点播节目;网络课堂更是把我们组织在一起学习,提高我们的能力好和水平;网络会议可以让我们处在不同地域的人组织在一起讨论和解决问题,节约费用。当然,还有经常使用的B2B网上购物、远程会诊等等。真不敢相信,离开了网络,我们的生活会是怎么样。 在工业控制方面,嵌入式网络可以有效可靠地进行远程控制和操作,通过网络

21、通讯模块进行协议的转换,各个控制对象可以独立为嵌入式网络的一个终端,这种控制可以做到有效、可靠和实时。 嵌入式网络为家庭生活的智能化提供了技术支持 现在的家庭都已经离不开网络。通过网络,可以进行远程的家庭监控,我们经常使用的家用电器。我们可以把家庭的所有设备联网,组成一个家庭智能中心,可以很方便的通过网络进行控制。这种网络的设计和开发基本都是基于嵌入式技术的。 基于嵌入式系统的网络通讯,一般具有以下功能: 第5页 嵌入式网络以Internet网络为基础,通过协议的转换,把相关的信息传输到目的地,大大节约了资源; TCP/I P协议是一个标准公开的协议,不做任何改变,我们就可以利用Web浏览器读

22、取信息,非常的方便快捷; 客户机根据信息的需求状况,获得相关的信息,并且能够自由的处理,并能够显示处理结果; 信息的显示有多种方式,通过计算机技术处理成文字、图象、表格等形式,并且还能够实时的自动更新,在设备的终端上最好相关记录,更加方便有效的进行控制和操作5。 1.5 课题研究范围及要达到的技术要求 课题是基于ARM 的嵌入式socket 通信设计,研究的范围包含:ARM 上uClinux操作系统的移植、Linux 下socket通信的建立、交叉编译环境下嵌入式socket通信的实现等。课题设计后应该实现在特定的ARM7平台上运行嵌入式uClinux操作系统,顺利的驱动网络设备运行,完成在A

23、RM7开发板和PC机的通信,方便的进行数据收发。 将嵌入式系统与网络结合起来,主要的困难在于网络上的各种通讯协议对于计算机的存储器,运算速度等的要求比较高,而嵌入式系统中除部分32位微处理器外,大量存在的是8位和16位的微处理器,如果要支持TCP/IP等Internet协议将占用大量系统资源,或根本不可能实现6。因此,设计中要解决以下问题: 如果要移植操作系统,选择什么操作系统,才最适合; 如何使开发板驱动网络芯片工作; 如何建立交叉的编译环境; 如何使ARM芯片上具有TCP/IP协议的网络环境; 如何用Socket来建立网络的通信。 第6页 2 需求分析 2.1 任务概述 论文的主要工作,是

24、选择适当的嵌入式开发平台和文件系统,建立交叉的编译环境,构建TCP/IP网络体系,实现客户端和服务器端的socket通信。 2.2 系统的需求分析 2.2.1 系统的功能需求 嵌入式系统设备能快速的接入网络,实现网络资源的共享和网络设备的通信,首先应该保证嵌入式设备具有完整的网络协议体系结构,满足网络设备的技术规范,能够正确控制嵌入式平台上的网络芯片,可以完整的接收和发送数据。嵌入式设备还具有网络设备标识,也就是嵌入式设备有自己唯一的IP地址,只有这样,才能完成Internet上网络设备之间的通信。 2.2.2 系统的性能需求 在系统的设计上,要求系统具有以下性能: 实时性:嵌入式设备具有足够

25、的反映速度,能快速的接收来自网络设备数据,并作出快速的反应; 稳定性:系统在异常情况下不发生死循环,设备系统不会崩溃和瘫痪; 可扩充性:系统可以根据需要进行扩充,能够新的通信技术或新的通讯协议方案,可以在不改动系统大部分硬件的情况下,其实现新的功能; 易维护性:在设备发生数据灾难的时候使系统及时的恢复,达到以前的状态; 持久性:嵌入式系统工作的特殊性,以及各种特定工作环境的具体要求,系统必须能够稳定地长时间工作,适应各种不同的工作环境。 2.3 系统设计思路 第7页 系统的设计开发,宿主机采用的是任意发行版本的 Linux系统,但程序是采用标准C语言来编写,可以在不同的Linux系统中实现通信

26、功能。考虑到在ARM开发板上需要运行特定格式的程序文件,所以设计采用Linux下的gcc开发工具,使用arm-elf-tools交叉编译工具生成在ARM开发板上的可以直接运行的程序。 由于嵌入式开发要结合软件和硬件的详细情况来操作,所以系统的开发应该具有以下的几种操作接口,第一用户可以通过以RJ45的以太网对开发板和系统操作,其次用户可以采用串口的方式对开发板的功能和运行效果进行操作,最后操作人员还可以通过开发板特有的JTAG对开发板进行操作。 系统分为宿主部分和开发板部分,每个部分独立成块,用网络相互连接,宿主机上运行的Linux操作系统,开发板上运行的是uClinux嵌入式操作系统7。宿主

27、机和开发板通过Switch交换机进行网络通信,宿主机一方作为服务器端,开发板作为客户端,系统的原理如下图2.1所示。 图2.1系统设计环境关系图 系统的设计目标是完成宿主机和开发板的网络通信实现。要完成通信,就要完成系统底层硬件的驱动等一系列的工作,首先启动宿主 第8页 机和客户机的操作系统Linux和uClinux,然后每个模块加载网络设备驱动程序,最后通过TCP/IP协议建立双方的通信链路,完成Socket通信,详细情况如图2.2所示8。 图2.2系统的原理示意图 第9页 3 系统概要设计 3.1 系统设计的基本原则 无论采用什么设计开发方式,最终的目的是驱动开发板完成网络的通信。设计过程

28、中,首先开发板的网络芯片能够正常工作,其次要完成通信就必须要有完善的通信的协议,根据系统的要求选择合适的协议9。目前,Internet上用应用最多相对开放的协议就是TCP/IP协议,它能使不同网络设备以及不同类型的网络按照标准协议互相连接,轻松的实现上层的通信。在此基础上,设计上层通信模块,通过调用socket函数来实现各种功能,包括数据的接收和发送,数据的校验等等10。 3.2 系统设计方案分析 采用TCP/IP协议已经确定了,如何在开发板上移植入TCP/IP协议成了一个最主要的解决问题,开发板上虽然有网络通信芯片和足够的存储空间,但没有任何的网络通信协议,有以下几种方案可以实现系统的要求,

29、具体的设计方案是: 方案1 无操作系统,自己构建TCP/IP协议族,编写上层socket通信模块完成程序的通信。 方案2 包含操作系统,其中又分为带 TCP/IP协议族的操作系统和不带TCP/IP协议族的操作系统11。 带TCP/IP协议族的Linux或者uClinux操作系统,不需要自己构建TCP/IP协议族可以直接调用底层的函数,驱动上层模块完成socket通信12。 不带TCP/IP协议族的uCOS-II操作系统,自己构建TCP/IP协议族,编写上层socket通信模块完成程序的通信。 在选择什么样的操作系统这个问题上,主要归结于嵌入式系统的性能,主要有以下几点13-15: 第10页 微

30、处理器是否支持 微处理器是否支持是选用操作系统的核心因素。从应用的角度来说,选用一种稳定可靠的微处理器是设计成功的关键。 资源占用情况的多少 嵌入式系统的资源是有限的,资源占用是另外一个重要的指标。通常所说的资源主要是嵌入式芯片的内存和Flash。处于成本和体积等各方面的考虑,要求操作系统尽可能节约资源。 应用软件资源 嵌入式操作系统在应用过程中需要多方软件支持,包括协议栈、设备驱动以及一些应用程序,在设计过程中,可以方便的应用这些软件,或者只需要很少的改动就可以适用于新的平台。 操作系统性能 操作系统的可靠性通常无法在用户程序或者函数库层次得到增强。操作系统的稳定性在操作系统设计之初,就已经

31、由系统的设计构想和编码质量决定了。嵌入式系统可靠性要求要比一般桌面系统要高,设计中有可能无法确定出现的问题是程序的问题还是操作系统的性能问题。 执行效率 执行效率是另一个评价基准。操作系统的执行效率可能直接影响操作系统的处理能力,还有一个重要的指标是这个操作系统的实时性到底如何。操作系统选择不正确,有可能导致系统根本无法运行。 通过对uClinux和Linux的详细比较,因为uClinux和Linux具有同样的内核,所以在处理器的支持,软件资源丰富程度,操作系统的功能,操作系统执行性能和可靠性上基本上一致,Linux 相对于uClinux在嵌入式应用相对不足,主要体现在以下几点16: 空间占用大 Linux操作系统功能完善,但是占用空间大。通常的Linux系统,都需要占用上百兆的空间。嵌入式Linux也要占用1M空间,运行时更

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号