嵌入式系统与通信相关论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《嵌入式系统设计与开发应用》
题目:基于TCP的socket编程的聊天工具实现
专业:电气自动化
班级: 2010级
学生姓名: ssdddddfffff
学号: 1234354657
指导教师: resg老师
摘要
嵌入式系统是计算机技术、半导体技术和电子技术等的综合体,已经广泛应用于科学研究、工程设计、国防军事、自动化控制等各个领域。随着网络通讯技术的迅猛发展,生产和生活中广泛要求嵌入式系统终端能够完成网络通讯功能。本论文以ARM7 TDMI为嵌入式开发平台,开发在一台电脑间实现具有实现客户端与服务端互联互通的通信系统程序。
SOCKET是一个通信链的句柄,通过套接字向网络发出请求或者应答网络请求,用于TCP/IP协议的应用程序之间的相互通信。论文选择了ARM体系结构的嵌入式LPC2200处理器,根据系统的需求,在综合各种设计方案的基础上,选择移植带有TCP/IP协议的uLinux嵌入式操作系统。裁剪和定制系统后,构建相关的文件系统。在此基础上,编写应用程序,调用系统的Socket通信函数,实现服务端和客户端的通信。描述IP地址和端口,用于在两个系统间实现通信。
关键词:嵌入式系统、ARM7TDMI、Socket、TCP/IP、MFC
1.1 嵌入式系统
目前,嵌入式系统的应用越来越广泛,我们日常生活中就存在大量的嵌入式系统的产品:比如手机、MP3、收音机、电视机等等,我们已经离不开嵌入式产品了。嵌入式产品是面向应用的,应用的需求推动了嵌入式技术的发展。
嵌入式系统的基本技术仍然是计算机技术,包含软件、硬件、操作系统等。嵌入式系统是可裁剪的,根据应用的具体场合和需求,选择相应的模块,把系统中不需要的部分去掉,这样就能节约资源,降低功耗。每一个嵌入式产品是不同的,使用不同的硬件和软件,搭建自己的嵌入式操作系统,但核心技术是一样的。嵌入式系统主要有一下几个特点:(1)以需求为目标。(2)运行高效,节约资源。(3)较小的体积和可靠性。
1.2 国内外现状和趋势
随着信息化,智能化,网络化的发展,嵌入式系统技术也将获得广阔的发展空间。信息时代,数字时代使得嵌入式产品获得了巨大的发展契机,为嵌入式市场展现了美好的前景,同时也对嵌入式生产厂商提出了新的挑战。
1)嵌入式开发是一项系统工程,以此要求嵌入式系统厂商不仅要提供嵌入式软硬件系统本身,同时还需要提供强大的硬件开发工具和软件包支持。
目前很多厂商已经充分考虑到这一点,在主推系统的同时,将开发环境也作为重点推广。比如三星在推广ARM7,ARM9芯片的同时还提供开发板和版及支持包(BSP),而WindowCE在主推系统时也提供Embedded VC++作为开发工具,还有Vxworks的Tonado开发环境,Delta0S的Limda编译环境等等都是这一趋势的典型体现。当然,这也是市场竞争的结果。
(2)网络化、信息化的要求也随着因特网技术的成熟、带宽的提高日益提
高,使得以往单一功能的设备如电话、手机、冰箱、微波炉等功能不再单一,结构更加复杂。这就要求芯片设计厂商在芯片上集成更多的功能,为了满足应用功能的升级,设计师们一方面采用更强大的嵌入式处理器如32位、64为RISC 芯片或信号处理器DSP 增强处理能力,同时增加功能接口,如USB 。扩展总线类型,如CAN BUS ,加强对多媒体、图形的处理,逐步实施片上系统(SOC )的概念。软件方面采用实时多任务编程技术和交叉开发工具技术来控制功能复杂性,简化应用程序设计、保障软件质量和缩短开发周期。
(3)网络互连成为必然趋势
未来的嵌入式设备为了适应网络发展的要求,必然要求硬件上提供各种网络通信接口。传统的单片机对于网络支持不足,而新一代的嵌入式处理器已经开始内嵌网络接口,除了支持TCP/IP 协议,还有的支持IEEE1394、USB 、CAN 、Bluetooth 或IrDA 通信接口中的一种或者几种,同时也需要提供相应的通信组网协议软件物理层驱动软件。
(4)精简系统内核、算法,降低功耗和软硬件成本。
未来的嵌入式产品是软硬件紧密结合的设备,为了减低功耗和成本,需要设计者尽量精简系统内核,只保留和系统功能紧密相关的软硬件,利用最低的资源实现最适当的功能,这就要求设计者选用最佳的编程模型和不断改进算法,优化编译器性能。因此,既要软件人员有丰富的硬件知识,又需要发展先进嵌入式软件技术,如Java 、Web 、和WAP 等。
(5)提供友好的多媒体人机界面
嵌入式设备能与用户亲密接触,最重要的因素就是它能提供非常友好的用户界面、图像界面、灵活的控制方式,使得人们感觉嵌入式设备就像是一个熟悉的老朋友。这方面的要求使得嵌入式软件设计者要在图形界面、多媒体技术上深入研究。
1.3 关键技术介绍
1.3.1 TCP/IP 技术介绍
1.3.1.1 TCP/IP 协议的实现 TCP/IP 协议实际上是一个协议簇,其包括了很多协议。
例如,FTP (文本传输协议)、SMTP (邮件传输协议)等应用层协议。TCP/IP 协议的网络模型只有4层,包括数据链路层、
网络层、数据传输层和应用层,如图1所示。
在TCP/IP 网络编程模型中,各层的功能如表1.1所示。 表1.1 TCP/IP 网络协议各层功能
协 议 层 名 功 能 概 述
数据链路层 网卡等网络硬件设备以及驱动程序
网络层 IP 协议等互联协议
数据传输层 为应用程序提供通信方法,通常为TCP 、UDP
协议
应用层 负责处理应用程序的实际用于层协议
应用层 数据传输层
网络层 数据链路层 图1 TCP/IP 网络协议模型
在数据传输层中,包括了TCP 和UDP 协议。其中,TCP 协议是基于面向连接的可靠的通信协议。其具有重发机制,即当数据被破坏或者丢失时,发送方将重发该数据。而UDP 协议是基于户数据报协议,属于不可靠连接通信的协议。例如,当用户使用UDP 协议发送一条消息时,并不知道该消息是否已经到达接收方,或者在传输过程中数据已经丢失。但是在即时通信中,UDP 协议在对一些对时间要求较高的网络数据传输方面有着重要的 作用。嵌入式TCP/IP 协议一般实现:ARP/RARP 、IP 、ICMP 、TCP 、UDP 、HTTP 、SMTP 、FTP 、TELNET 等协议,协议处理的主要流程如图2所示。
图2 TCP/IP 工作流程图
1 TCP 协议的实现
工业控制领域传输层采用TCP 协议、不用UDP 协议,是考虑到实时监控系统中传输量并不大,而可靠性要求较高。TCP 协议是面向连接的、端对端的可靠通信协议。它采用了许多机制来保证可靠传输,应用于嵌入式系统显得过于复杂。 TCP 协议数据传输可分为三个阶段:建立连接、传输数据和断开连接。它的实现过程可以用状态机来描述。建立连接有两种方法,即主动打开和被动打开。服务器端是一种被动打开,它一直在侦听连接请求;而客户端是一种主动打开,它发送连接请求以建立连接。研究发现,如果TCP 层的上层实现服务器端的应初始化 更新ARP 缓存 正确接收以太数据? 开始 存老化ARP 缓? 是 以太网数据接收 ARP 处理 接收IP 数据报 ICMP 处理 UDP/TCP 处理 应用进程
是 否 是否为ARP 是否为ICMP 是 是否为UDP/TCP 是 否 是 否 否