(物理电子学专业论文)基于嵌入式系统的远程升级技术.pdf_第1页
(物理电子学专业论文)基于嵌入式系统的远程升级技术.pdf_第2页
(物理电子学专业论文)基于嵌入式系统的远程升级技术.pdf_第3页
(物理电子学专业论文)基于嵌入式系统的远程升级技术.pdf_第4页
(物理电子学专业论文)基于嵌入式系统的远程升级技术.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(物理电子学专业论文)基于嵌入式系统的远程升级技术.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华中科技大学硕士学位论文 摘要 随着因特网的应用日益普及,嵌入式系统产品正向网络化方向发展;以太网连接 的局域网已开始普及应用,如何利用以太网的高速带宽和优越性能实现网络互联,只 有在统一的传输规则或通信协议的基础上开发产品的网络功能,通过远程升级技术实 现嵌入式系统的自动升级改造,成为当今电子科技发展的必然趋势。 本研究课题设计开发了一种嵌入式单片机系统电路板,能实现与互联网络的通信 和控制,以实现对非p c 计算机智能设备的远程升级改造,提高了产品的性能,方便了 用户升级自身产品的操作,提高了产品的科技含量。 本课题利用传输控制协议、网络报文协议、地址解析协议及简单的应用层协议, 用硬件来建立以太网的m a c 层和物理层接口。实现了单片机与网络互连,既扩展了数 据传输的功能,又保证了数据传输的正确性,同时也拓宽了数据传输的有效范围。 本课题设计的升级客户端应用系统采用直接在嵌入式单片机系统内部嵌入t c p i p 通信协议的方案,通过设计最底层的驱动程序来实现复杂的t c p i p 协议栈中有关软 硬件升级的应用程序功能模块,达到远程升级的目的。 本课题开发的远程升级系统通过对兼容型5 1 系列单片机s s t 8 9 e 5 6 4 r d 和以太网 控制器芯片r t l s 0 1 9 a s 的相关寄存器单元的正确设置,利用以下4 个部分的控制程序, 来实现数据包的接收发送过程;r t l 8 0 1 9 a s 初始化部分、数据包接收部分、数据包发 送部分和数据处理流程部分。 本课题研究成功地实现了单片机嵌入式系统接入互联网,阐明了硬件系统和应用 软件的网络通信与远程升级方法,保证了数据可靠传输,节约了用户成本,为提高产 品性能提供了相关的技术参考,从而为今后开发相对完善的产品,以求达到最高的性 能价格比积累了经验,为将来进一步进行以太网的开发工作打下基础。 关键词:单片机名传输控制与因特网协议网卡芯片升级 华中科技大学硕士学位论文 a b s t r a c t a l o n g 砸t 1 1t h ea p p l i c a t i o no fi n t e r n e ti n c r e 嬲i n 百yp o p u l a r i z a t i o n , e m b e d d e ds y s t e m p r o d u c t sa r ed e v e l o p i n gt o w a r d st h ed i r e c t i o nf o ri n t e r a c t l o c a la r e an e t w o r kc o n n e c t e d w i t ht h ee t b e m e tb e g i n st oa p p l yp o p u l a r i z a t i o n i tb e c o m e sn e c e s s i t yt r e n do ft h e d e v e l o p m e n ti ne l e c t r o n i cs c i e n c ea n dt e c h n o l o g yn o w a d a y s ,t h a th o w t ou s et h eh i 【g hs p e e d b i n d w i d t ha n dt h ea d v a n t a g eo ft h ee t b e r n e t ,a n dr e a l i z i n ge o p l e te a c ho t h e ro nt h ei n t e m e t n o n eb a tb a s e do nt h eu n i f o r mt r a n s m i tr e g u l a t i o no rc o m m u n i c a t i o np r o d u c t s ,e m p o l d e rt h e f u n c t i o ni nn e t w o r ko ft h e p r o d u c t s t h r o u g hl o n g - d i s t a n c eu p g r a d et e c h n o l o g y , i t i m p l e m e n tt h eu p g r a d i n ga n dr e b u i l d i n gi ne m b e d d e ds y s t e mb ys e l f - m o t i o n t h i sr e s e a r c ht a s kd e s i g n e da n de m p o l d e r e dak i n do fe m b e d d e ds i n g l e c h i ps y s t e m c i r c u i tb o a r d i tc a ni m p l e m e n tc o m m u n i c a t i o na n dc o n t r o li nn e t w o r ke o p l e te a c ho t h e r ,a n d u p g r a d i n ga n dr e b u i l d i n gw i t hl o n g - d i s t a n c et oan o n e - p e r s o n a l c o m p u t e r , s u c ha sa p t i t u d e e q u i p m e n t i ta l s oi m p r o v e dt h ep e r f o r m a n c eo ft h ep r o d u c t s ,a n db r o u g h tu s e r s m o r e c o n v e n i e n c ei nr e m o v i n gt h e i rp r o d u c t so p e r a t i o n , a n di n c r e a c e dt h ec o n t e n to fs c i e n c ea n d t e c h n o l o g yi nt h e i rp r o d u c t s ss y s t e mm a k e su s eo f t c p ( t h et r a n s m i tc o n t r o lp r o t o c 0 1 ) ,i n t e r a c tp r o t o c o l ( t h e n e t w o r kr e p o r tt e x tp r o t o c 0 1 ) ,a i 冲( t h ea d d r e s sr e s o l v ep r o t o c 0 1 ) a n di nb r i e fa p p l i e d l a y e rp r o t o c o l si nt h ep r o t o c o lo ft c p i p c o n n e c t i n gw i t ht h em a cl a y e ra n dt h ep h y s i c s l a y e r st h a tt h eh a r d w a r eb u i l d su pt h ee t h e rn e t i tc a r r i e so u tas i n g l ec h i pm a c h i n ea n d i n t e m e ts u c c e s s f u l l yt oc o n n e c tw i t he a c ho t h e r , s i n c ei m p r o v e st h es p e e do fd a t ad e l i v e r , a n dt h e ng u a r a n t e e st h ea c c u r a c yo fd a t ad e l i v e r , a l s oe x p a n d i n gv a l i ds c o p et h a td a t a d e l i v e r t h ea p p l ys y s t e mo ft h eu p g r a d i n gc l i e n te n di nt h ed e s i g no ft h i st a s k , a d o p t e dt h e s c h e m e t h a tt r u m b l e dt c p 口i nt h ee m b e d d e ds i n g l e c h i ps y s t e md i r e c t l y t h r o u g h d e s i g n i n gt h er o c k b o t t o mo ft h ed r i v e r s ,i ti m p l e m e n t e dt h ea p p l i c a t i o np r o g r a mm o d n i e w i mt h ec o m p l i c a t e dt c p i pp r o t o c 0 1 w h i c hr e l a t e dt h eu p g r a d i n gs o f e w a r e sa n d h a r d w a r e s s oi tr e a c h e dt h et a r g e ti nr e m o v i n gb yl o n g - d i s t a n c e t l l i ss y s t e mp a s s e st h es s t 8 9 e 5 6 4 r dt oc o n t r o lt h er t l 8 0 1 9 a sr e l a t e dt od e p o s i tt h e r i g h tc o n s t i t u t i o no ft h em a c h i n eu n i t ,c a l t yo u tt h ed a t at ow r a po fr e c e i v e s e n do u tt h e p r o c e s s a t t a i n t h ep u r p o s eo f t h en e tu p g r a d e n 玲s s t 8 9 e 5 6 4 r dc a ni sd i v i d e di n t o4p a r t s i i 华中科技大学硕士学位论文 o f t h ef o l l o w i n gt ot h er t l 8 0 1 9 a sc o n t r o lp r o c e d u r e :t h er t l 8 0 1 9 a sb e g i n n i n gs t a r t st o t u r nt h ep a r t ,t h ed a t aw r a p st or e c e i v et h ep a r t ,t h ed a t aw r a p st os e n do u tt h ep a r ta n d d a t a s t oh a n d l et h ep r o c e s s p a r t t h i st e c h n i q u er e s e a r c ht h e s i sc o n n e c ti n t ot h ep r o b l e mf o rt h ei n t e m e tt h a tc o m p a r e s t or e s o l v et h ei n t e l l i g e n c ee q u i p m e n t sg o o d l y , c a r r y i n go u tam a c h i n eh a r d w a r es y s t e mt og e t t ot h ei n t e r a c tt or e n e wa n du p g r a d e ,e c o n o m i z i n gt h ec u s t o m e rc o s t , r a i s i n gt h ep r o d u c t f u n c t i o nt op r o v i d et h et e c h n i q u er e f e r e n c e ,t h u sd e v e l o p i n gt h eo p p o s i t ea n dp e r f e c tp r o d u c t f o rt h ea t t e r t i m e ,i no r d e rt oa t t a i n e dt h et a l l e s tf u n c t i o np r i c et oc o m p a r et h eb a c k l o g e x p e r i e n c e k e yw o r d s :s s t 8 9 e 5 6 4 r d t c p i pr t l 8 0 1 9 a s u p g r a d e 1 1 1 独创性声明 0 1 7 1 “ 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的 研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人 或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已 在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借 阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进 行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密口,在年解密后适用本授权书。 本论文属于不保密影 ( 请在以上方框内打“”) 指导教师签名:关昂签彪父 日期;加彳年1 1 月p 目 坟钵f 妊西 瓜m1月 名 , 签 , 储盘 澈 护 位 期 学 日 诸纯10j 、诳 日 降g 名 一坼 澈 位 期 学 日 华中科技大学硕士学位论文 1 总体综述 1 1 嵌入式系统远程升级的概念和意义 单片机的出现是现代计算机技术发展的里程碑,它的诞生标志着计算机正式形成 了通用计算机系统和嵌入式计算机系统两大分支。近年来,计算机理论研究、半导体 工艺和超大规模集成电路技术取得了长足的进步,以此为支撑的嵌入式计算机也逐渐 成为各种嵌入式系统的核心部件。 如果要使这些设备能够通过网络进行通信和控制,就必须提高现有设备的科技含 量;对其整个系统进行技术升级改造,有时还必需得更换设备。 和通用计算机软件不同,嵌入式系统中的软件一般都固化在只读存储器中,而不 是以磁盘为载体可以随意更换,所以嵌入式系统的应用软件和嵌入式产品一样都具有 较长的生命周期。另外,各个行业的应用系统和产品很少发生突然性的跳跃,嵌入式 系统中的软件也因此更强调可继承性和技术衔接性,发展比较稳定。以上两点使得基 于原有的硬件平台即可完成嵌入式系统的软件升级,从而节省用户寻求升级服务的差 旅费用,提高系统供应商的产品竞争力和服务效率。软件注入就是能够实现这种软件 升级方式的技术之一【l 】o 就嵌入式系统而言,软件模块常使用在线可编程存储器写入,可在需要时通过外 部注入技术来刷新设备控制程序的功能。一般适应于机电一体化产品等需要严密封装 的嵌入式系统的软件升级和完善。 根据我国目前嵌入式产品现有的状况,需要设计开发一种能独立工作的嵌入式系 统,能实现下述几个基本要求,以达到对智能设备远程升级改造的目的,实现互联网 络的通信和控制,以提高生产效率,降低成本,提高经济效益。 ( 1 ) 能够实现智能设备的网络化; ( 2 ) 能够在现有的智能设备上实现软件和硬件的升级; ( 3 ) 能够对现有的智能设备实现远程的智能化和集中化管理。 1 2 远程升级技术应用的国内外现状 目前电子产品升级技术正兴起于电子电路研制、生产、功能不全、设备更新能力 差、故障诊断等方面。它的出现大大提高了电子产品的质量可靠性,缩短了电子设备 的维护时间,大幅度降低了电子设备的更新、检修费用。 华中科技大学硕士学位论文 单片机、d s p 或a r m 已经在家庭和工业的各个领域得到了应用,通称嵌入式系 统。目前大多数嵌入式系统为了实现多个m c u 之间的信息交流,利用r s 2 3 2 、r s - 4 8 5 等总线将m c u 组网,但这种网络的有效途径比较有限,有关的通信协议也比较少,并 且一般是孤立于i n t e r n e t 以外的。i n t e m e t 现已成为社会重要的基础信息设施之一,是 信息流通的重要渠道,如果嵌入式系统能够连接到i n t e r a c t 上面,则可以方便、低廉地 将信息传送到几乎世界上的任何一个地方。将嵌入式系统与i n t e r n e t 结合起来的想法其 实很早以前就有了,主要的困难在于,i n t e m e t 上面的各种通信协议对于计算机存储器、 运算速度等的要求比较高,而嵌入式系统中除部分3 2 位处理器以外,大量存在的是8 位和1 6 位m c u ,支持t c p i p 等i n t e m e t 协议将占用大量系统资源嘲。 由于微电子技术的发展,单片机已在各个领域得到了广泛的应用。l a p ( i n a p p l i c a t i o np r o g r a m m i n g ) ,即在应用中编程。就是说,单片机或称微控制器( m c u ) 可以获取新的代码重新编程,即通过m c u 连接外围写入设备进行现场软件升级。随着 互联网的普及,嵌入式系统也已越来越重视网络特性。以太网是当今最受欢迎的局域 网之一,现已成为社会重要的基础信息设施,是信息流通的重要渠道。如果我们能充 分利用现有的网络资源,再结合m c u 在应用可编程特性,可以通过i n t e r a c t 、程控电 话网等连接服务器和远程产品进行自动升级,即将嵌入式的设备连接到i n t e m e t 上,就 可以实现嵌入式系统远程升级1 3 】。 单片机技术的发展对智能仪器的发展起着重要的作用,同样,智能仪器的发展也 对单片机的发展提出了更高的要求,片内带快闪存储器f l a s hm e m o r y 的单片机一 经推出,便得到了业界的热烈响应和广泛的市场认可。快闪存储器比普通的e p r o m 存 储器的改进之处是不仅可以读,而且可以用软件快速地擦除和写入,使得i s p 技术成 为现实。i s p 技术,即在系统可编程技术是指电路板上的空白器件可以编程写入最终用 户代码而不需要从电路板上取下器件,已编程的器件也可以用i s p 方式擦除或再编程。 智能仪器的设计包括硬件设计和软件设计,每种仪器的设计部不可能做到尽善尽 美。尤其是软件部分,由于其灵活性较大,也往往是最容易出错的地方。在一种新产 品刚推上市场的过程中,往往会发现系统中存在某种可修复的“b u g ”,即通过软件 的修改就可达到目的还有一种情况是虽然产品的软、硬件都没有问题,但随着形势的 发展。用户提出了更高的要求,而这些要求都能够通过修改软件来达到。根据以往的 做法,在对仪器仪表进行升级换代时,一种方式是将整个仪器换掉,另一种方式就是 2 华中科技大学硕士学位论文 派专业人员到现场对仪表“开膛破肚”进行升级这两种方式都要投入大量的人力物力, 尤其是当该仪器的销售已达到一定数量时,但如果在仪表中使用了i s p 技术上述过程可 能就简单多了,上述过程即可简化。在因特网快速发展的今天,能够拥有一台联网的 p c 机已经是一件很平常的事情了,这些硬件设备对于使用i s p 技术的仪器仪表进行升级 已经足够了【4 j 。 特别是二十世纪9 0 年代新一代在系统编程技术i s p 的推出,取消了专用编程设备, 器件本身也不必从系统电路板上取下。如果产品发往外地,或是远涉重洋出口海外, 就需要生成一个庞大的全球性售后服务网络对产品跟踪或更新,这对中小企业来说根 本不可想象。如何解决这个问题呢? 我们想到了无所不能的互联网。既然中小企业的 原材料供应、成品销售等可以受益于互联网,那么他们的技术性服务为什么不可以通 过互联网进行呢? 为此,我们利用互联网及其t c p i p 协议开发研制了一个远程在系统 编程工具,使工程技术人员不出户就可以对他们研制生产的远在千里之外的电子系统、 电子设备进行升级和维护。 以太网系列产品内部集成了t c p i p 协议栈,用户利用它可以轻松完成嵌入式设备 的网络功能,节省人力物力和开发时间,使产品更快的投入市场,增强竞争力。以太 网系列产品用于串口与以太网之间的数据传输,可方便的为串口设备增加以太网接口。 可用于串口设备与p c 机之间,或者多个串口设备之间的远程通信。该模块对用户透明, 用户不需要了解复杂的网络知识以及t c p 仰协议。 嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可裁剪,适用于系 统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统,是一种软硬件 高度结合的产物,其系统功能实现的关键在于经过高效率设计的各类应用软件。 随着因特网应用的日益普及,信息共享的程度不断提高。对于以单片机应用系统 为中心的小型嵌入式设备,怎样利用方便的因特网资源将嵌入式设备的信息共享到因 特网上,成为当今电子世界中的热门话题。传统的因特网应用以p c 为中心,当代的因 特网应用将转向以嵌入式设备为中心。i a ( i n t e m e ta p p l i a n c e ) 概念的流行表明因特网应 用已经进入嵌入式因特网时代【5 】。经网络专家的预测,将来在因特网上传输的信息中, 将有7 0 的信息来自于小型嵌入式系统。利用单片机实现嵌入式因特网方案的技术难 点在于:如何利用单片机自身有限的资源对信息进行t c p i p 协议处理,使之变成可在 因特网上传输的i p 数据包。从研究这一系列技术问题出发,所以提出“基于嵌入式系 华中科技大学硕士学位论文 统的远程升级技术”课题。 1 3 常用升级方法简介 1 3 1 更换已固化的软件芯片 用户携带单片机产品到公司专设的客户服务部门,要求维修人员将更新软件程序 一次性写入单片机的e 2 p r o m ,从而更新启动引导:如开发出新的技术功能或新产品 面世;用户要不直接购买新产品,要不再次擦写e 2 p r o m ,即便免费服务,用户也不 方便自行解决。 1 3 2p c 电脑对接 用户到公司指定代理商处索取更新软件,拷贝到用户电脑里;然后利用单片机与 p c 机通讯功能,从上位机下载程序文件写入到单片机的e 2 p r o m 存储器芯片里,同样 也不能完全由用户随时自行解决。 1 3 3 登录公司服务网站 通过p c 机利用i n t e m e t 上网方式,登录公司服务网站,验证产品的购买合法序列 号;下载产品升级软件包到p c 机磁盘,利用单片机与p c 机通讯,由用户自己将升级 软件数据烧录,写入单片机的e 2 p r o m 。 1 4 本课题主要研究内容 本课题技术研究论文的任务,就是要利用单片机有限的系统资源,开发以太网控 制芯片的入网功能,并通过编程工作,运行并实现嵌入式系统( 单片机) 软,硬件系统 的上网升级更新的应用程序,保证传输数据的正确与完整;节约用户成本,提高产品 性能,从而为今后开发相对完善的产品积累经验,力求更高的性能价格比。 1 4 1 本课题主要工作 与常见升级方法相比,本课题的主要工作,就是设计应用程序,给单片机用户最 为方便地获取网上升级产品的服务;单片机开机启动后即自动连入i n t e m e t ,并自动登 录公司服务网站,完成产品合法性校验;如需升级本硬件产品,可选择自动升级,通 过网线,将升级更新程序直接安装到启动程序存储器,完全快捷地自行解决升级。 4 华中科技大学硕士学位论文 1 4 2 本课题难点和新颖之处 5 1 系列单片机的程序空间、可用的内存r a m 、运算速度、指令集等原因,使得在 w i n d o w s 上实现的t c p i p 协议的源代码并不能够直接移植。在5 l 单片机上编写代码 会受许多限制,特别是实现t c p i p 协议这样关系复杂的程序,我们必须根据实际情况 尽可能挖掘5 l 单片机的性能,通过编写运行在单片机上的一套精简的t c p i p 协议栈, 利用网络高可靠的连接服务器和远程升级软件,使系统达到软硬件远程升级的目的。 而首先要使单片机实现t c p i p 协议进行网络通信的难点又在于: ( 1 ) 操作系统:w i n d o w s 是多任务操作系统,这使得代码编写简单化,在单片机 只能是单任务系统,代码结构为顺序执行+ 硬件中断的方式,无法并发执行。 ( 2 ) 内存分配:w i n d o w s 的内存分配是动态的。而一般单片机只有外接的一块3 2 k 字节的r a m ,并同时被各个协议使用。一个最大的以太网数据包有1 5 k 字节,分配 一包的缓冲区就要1 5 k 字节。为此,我们分配一个2 5 6 x 6 = 1 5 3 6 个字节的固定的r a m 来存放收到的以太网数据包。收到一包就处理一包。 ( 3 ) 指针:在p c 里所有程序都必须先放在r a m 里才能运行,所以它的指针都 指向r a m 。而单片机的结构和p c 的结构有很大差别,指针类型很多,各指针运算的 速度也不一样,特别是“一般指针”运算很慢,还会占用很多程序空间。 ( 4 ) 参数传递:在单片机里允许传递的参数是有限的( 因为受到内部r a m 的限 制) ,同时参数传递的过程要浪费程序代码空间,也降低单片机执行速度。所以在单片 机的实现里,一般不要做太多的参数传递,而多使用公共的全局变量来实现调用的过 程。 ( 5 ) 硬件接口:在w i n d o w s 里,对网卡驱动无一例外都是采用中断方式,因为 p c 的处理速度快,一次中断的处理时间也很短,不会影响系统内的其它中断。而在单 片机的应用中,大部分的方案都是查询式的。 本单片机开发系统采用直接在系统内部实现t c p i p 协议的方案,在升级服务器允 许访问的客户端升级程序中运行,得到及时的产品升级服务,完成系统软件和硬件功 能的升级和不断完善。 本课题研究的技术特点,即新颖性在于: ( 1 ) 嵌入式系统设备的用户操作极为简便;有入网条件即可自动升级。 ( 2 ) 能及时准确的将升级过程状态消息发送给服务器端,便于服务器正确判断; 华中科技大学硕士学位论文 ( 3 ) 可扩充性好,便于二次升级开发:升级程序本身可在线更新扩充升级功能; ( 4 ) 升级程序本身占用系统资源少,对运行硬件环境要求不高,运行稳定性高: ( 5 ) 适应于其它非p c 智能设备的在线升级。 6 华中科技大学硕士学位论文 2 通信协议与系统组成 在因特网上,t c p a p ( t r a n s p o r tc o n t r o lp r o t o c o l i n t e m e tp r o t o c 0 1 ) 协议每时每刻保证 了数据的准确传输。在数据采集领域,如何利用t c p i p 协议在网络中进行数据传输,已 经成为一个炙手可热的话题。在本系统中,利用t c p ( 传输控制协议) 、i p ( 网络报文协 议) 、a r p ( 地址解析协议) 及简单的应用层协议成功地实现了单片机的网络互连,既提 高了数据传输的速度,又保证了数据传输的正确性,同时也扩展了数据传输的有效范围。 2 1t c 踟p 协议简介 2 1 1t c p a p 结构 t c p i p 协议是一套把因特网上的各种系统互连起来的协议组,保证因特网上数据 的准确快速传输。参考开放系统互连( o s i ) 模型,t c p i p 通常采用一种简化的四层 模型,其结构如图2 - 1 所示 6 1 。 应用层 传输层 网络层 链路层 各种应用层协议 t c p l u d p i p 设备驱动程序及接口卡 图2 - 1t c p i p 簇的体系结构 每一层负责的功能说明如下: ( 1 ) 应用层: 网络应用层要有一个定义清晰的会话过程,如通常所说的h t t p 、f t p 、t e l n e t 等。在 本系统中,单片机系统传递来自e t h e r n e t 和数据终端的数据,应用层只对大的数据报 作打包拆包处理。 ( 2 ) 传输层: 传输层面是让网络程序通过明确定义的通道及某些特性获取数据,如定义网络连 接的端口号等,t c p 就是实现该层协议的传输控制协议。 如果要与现有的应用程序通信,必须使用与其相同的协议类型。 虽然t c p 的性能不如u d p ( 用户数据报协议) 的性能快,但t c p 中流量控制重 组包和连接维护等影响性能的附加开销却提供了更为可靠的数据连接,故对于传输可 华中科技大学硕士学位论文 靠性要求较高的数据监控系统或传感器( 比如w e b 和e m a i l ) 在网络通信中应采用t c p 传输;而对于实时性和数据传输率要求较高的网络设备( 如网络会议系统、m 音响、 实时播放的电视等) ,或有严格要求的同步系统则选用u d p 协议。 把t c p i p 协议应用到控制网络中如何选择传输层的协议类型至为关键。 ( 3 ) 网络层: 网络层让信息可以发送到相邻的t c p i p 网络上的任一主机上,i p 协议就是该层中 传送数据的机制。同时建立网络间的互连,应提供a r p 地址解析协议,实现从i p 地址 到数据链路物理地址的映像。 ( 4 ) 链路层: 由控制同一物理网络上的不同机器间数据传送的底层协议组成,实现这一层协议 的协议并属于t c p i p 协议簇。在本课题设计的系统中这部分功能由单片机控制以太网 控制器r t l 8 0 1 9 a s 实现。 i p 协议( 网际协议) 是t c p f l p 协议族中最为核心的协议。所有的t c p 、u d p 、i c m p 及i g m p 数据都以i p 数据报格式传输。就对某些协议而言,m 数据包最大可以为6 5 5 3 5 字节,可以分段传输,而在单片机里根本无法容纳如此大的数据包,因此一般是不支 持分段的。我们的设计中采用发送小数据包的方式,以避免分段用。 t c p 协议( 传输控制协议) 数据封装在一个m 数据报中,并具有自己的t c p 首部, t c p 协议定义十分复杂,鉴于5 1 单片机的片内资源十分有限,本系统对t c p 协议进 行了一定的简化处理。标准的t c p 协议使用慢启动的滑动窗口机制,如果只使用单个 窗1 :3 ,就变成了一种简单确认的处理方法 8 1 。即只需对单个数据报发送和确认,节约了 系统资源,也使维护更加方便。 2 1 2 数据报格式 源端口号:1 6 位的源端口号字段包含了源端应用连接的端口值。源端口号与源 i p 地址一起用于标识报文段的返回地址,如图2 2 所示唧。 目的端口号:1 6 位的目的端口号字段定义了传输目的的应用连接的端口,这实际 上是报文接收端主机上的应用程序的地址。 发送序号:3 2 位的发送序号指出段中首字节数据的序号,该序号值由接收端主机 使用,用于重组段中的数据,以获取一个完整的报文。该序号能够解决t c p 所要求的 有序接收遇到的问题。 s 华中科技大学硕士学位论文 嚣墙口 l 目的旃口 麓送序号 囊认蛩 失群长艇 保留t 六位,e l i i l i l 譬日大小 ( 4 位) 检验和 i 黛急指什 可建硬和填充 l l蛾摇 i 图2 2t c p 报头( 数据报格式) 接收序号:3 2 位的接收序号仅当a c k 标志设置时有意义。其中的值表示下一个 期望接收的第一个数据字节的序号。这个字段用于对所收到的数据段的确认。 头部长度( 数据偏移) :这个4 位字段指出段中数据相对于头部起始处的偏移位 置,以3 2 位为边界。这实际上是指t c p 头部的大小。 保留:6 位保留字段应该设置为0 ,是为将来增加新的功能而保留。 码元比特( 标志位) :6 位标志字段用于指定段的性质。6 个标志分别为:紧急标 志( u r g ) 、确认( a c k ) 标志、推( p s h ) 标志、连接复位( r s t ) 标志、同步( s y n ) 标志和终止( f 烈) 标志。这6 个标志并非完全独立,但是在很多情况下可以同时设置 其中的多个标志,如表2 1 所示。 表2 - lt c p 报头标志位的含义 标志位含义 u r g 紧急指针( u r g e n tp o i n t ) 有效 a c k 确认号有效 p s h 要求接收端尽快将这个报文段交给应用 r s t 复位条t c p 连接 s y n 同步序号用于建立一条连接 f i n 发送端已经完成发送任务并要求终止传送 窗口:接收端主机使用1 6 位的窗口字段通告本地可用缓冲区的空间,这也是对 方能够发送的最大数掘量,单位为字节。 tf姘l丰燃上 华中科技大学硕士学位论文 校验和:t c p 头部也包括1 6 位的校验和字段。计算的过程与u d p 相似。也要求 在计算中包含一个相关的t c p 伪头部。伪头部共有1 2 字节。 紧急指针:该字段长度为1 6 位,且只有在u r g 标志为l 时才有意义,指向数据 段所包含的紧急数据的最后一个字节的位置。用于处理带外数据( d o o b ) 而设,其 最大段长度用来选择适当的m s s ,目的是与m t u 相符,如果取值过小会导致带宽利 用率太低,过大则造成i p 数据报分段,最佳长度是使携带长度s 的t c p 报文段的m 数据报在自源至目的地的路径上不被分段,且紧急数据的发送与窗口大小无关。 选项:t c p 定义了几种选项,其中最有用的是m s s ( 最大段长) 。这个选项在两 个主机建立连接时进行交换,分别告诉对方自己可以接受的最大报文段的长度。为了 提高网络的利用效率,在允许的情况下应该选择一个尽可能大的m s s 值。 填充:如果使用选项,为了确保t c p 头部以3 2 位为基本单位,可以使用填充字 段来满足这一要求 i o i 。 2 1 3t c p 状态变迁图 ( ,f 舳) 虑用程序:主动打开发s 埘 图2 - 3t c p 状态变迁图 1 0 华中科一苎查兰丝圭兰竺丝圣一 = 5 i 薹i 雾i i i 豸忑需霉盂i 焉霖蚕雾i 盂忑和终止连接的具体过程的实 枷篙警罢,麓黧! 蠢篡:磊i 喾篡嵩雾篡至蒜写蒿 詈,篓黧示:麓纂嚣苎黧宴慧釜雾量兰竺差善和三兰 另一方发送数据,都必须先通过“三次握手”过程在双力z 1 日j 娌业一尔珏佼删8 “ 时 间 = 纂茎麓童蓑主嚣翟嚣戮燃蒯情况 。篓鬈嬲喜嚣鬻蒜譬篙淼篡盛; 竺婴三由鬟网矍翼嚣淼篙星篙嘉:黧冀,言箸:纂翼言三磊 鬟肯嘿黧篓薹嚣篡言器淼蒸? k 朋一。 毛翟罢矍簇纂雾慧篓麓篙薪雾? 磊有黼 。拥:耋,耳发薹未篓嘉:妻毒嚣蔷娑筹嚣器:篇篇乏罢? 筹i 燃:萎篇黧晏篓二慧黧磊嚣裟篙菇磊 竺尝墨据耋:霎詈纂篓患黧黧嚣裂? 篡曩篡薹薹嚣 应答后,再次送回一个报文段,其中带有对接收端s y n 嗣佣叭。您仟从川”4 “” 2 1 5 拆除连接 篡黑篙篡嚣莩辜篇嚣菇篙茹篇 上的独立过程,因此其中可能会涉及到4 个报文段阴父珙但惹叫研1 。“2 。 华中科技大学硕士学位论文 与第3 个报文段理解为一个,而且事实上当目的端无任何数据传递时这两个段是合二 为一的,如图2 5 所示【1 5 】。 时 闻 连 弋, 接 巴夕 连 接 释 放 鞫 释 - 哆 的 放 发 起 端 端 。芝锄 - 图2 - 5t c p 释放连接的过程 由于t c p 连接是全双工,因此每个方向必须单独地进行关闭。当一方完成它的数 据发送任务后就能发送一个f i n 来终止这个方向连接。当一端收到一个f i n ,它必须 通知应用层另一端已经终止了那个方向的数据传送。发送f i n 通常是应用层进行关闭 的结果。收到一个f i n 只意味着在这一方向上没有数据流动。 按不同方向分别终止连接的目的是为了避免连接终止时可能产生的数据丢失。 图中的每一个方框是t c p 可能具有的状态。状态之间的箭头表示可能发生的状态 变迁,箭头旁边写上的文字是引起这种变迁的原因以及发生状态变迁后又出现什么动 作。 粗箭头表示客户进程的正常变迁,虚线粗箭头表示服务器进程的正常变迁,细线 箭头表示非典型变迁。理解时,主要观察两种粗箭头表示的状态变化过程。 连接建立后,t c p 就可以发送数据块,称为数据段。当t c p 发出一个数据段后, 它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认, 将重发这个报文段。另外,t c p 将保持它首部和数据的检验和。 在t c p i p 协议栈中可实现t c p 协议、a r p 协议、i p 协议、i c m p 协议。用硬件 来建立以太网的m a c 层和物理层接口。 在工作中,每一层会给上一层传输来的数据加上一个信息头( h e a d e r ) ,然后向下 华中科技大学硕士学位论文 层发出,然后通过物理介质传输到对方主机,对方主机每一层再对数据进行处理,把 信息头取掉,最后还原成实际的数据。本质上,主机的通信是层与层之间的通信,而 在物理上是从上向下最后通过物理信道到对方主机再从下向上传输【1 6 1 。 2 1 6t c p 的主要功能 ( 1 ) 数据流的多路复用 t c p 提供用户的应用与网络通信服务之间的接口。t c p 可以同时用于传输多种不 同的应用数据,t c p 在收到应用交给的数据后将其封装在t c p 报文段( s e g m e n t ) 中 转交到i p ,而接收端的t c p 实体也能够同时接收多种应用的数据。 ( 2 ) 检测数据段的完整性 封装在t c p 段中的数据经过类似u d p 的校验和计算,其结果放在t c p 头部的校 验和字段中。 ( 3 ) 重新排序 到达且的的报文段经常不是有序的。造成这个结果的原因有多种,关键在于口协 议的无连接性。对此,目的主机的t c p 实体缓冲接收到的数据段,直到将它们正确地 重新排序为止。t c p 头部中的序号字段用于进行重新排序。 ( 4 ) 流量控制 t c p 会话的源主机与目的主机是对等实体,t c p 具有在主机间进行端到端流量控 制的能力。流量控制使用的是t c p 的可变窗口机制。源与目的主机利用报文段头部的 窗口大小字段实施流量控制。 ( 5 ) 复杂的时钟机制 t c p 内部的多个功能使用了时钟机制加以控制。例如每次传输一个报文段时将启 动一个时钟,跟踪对该报文段的确认。又如,还有一个时钟是最大段生存时间( m a x i m u m s e g m e n tl i f e t i m e ,m s l ) ,m s l 可以确保主机能够识别已经在网络中传输了很长时问 的、已经过时的旧数据报,这对于分组交换网正常向上层应用提供服务极其重要m 。 ( 6 ) 高效的确认方式 t c p 被设计用于全双工通信,一个送往对方的报文段中除了送往对方的数据外, 往往还有对所收到的段作响应的确认,这种确认方式称为“捎带”。利用这种全双工特 点,t c p 会话中的报文段中几乎大多数都携带了a c k 标记。 华中科技大学硕士学位论文 2 2 设计方案 嵌入式系统实现远程升级的方案设计首先要选择好网络通信协议,硬件资源紧张 的客观情况使其不能和p c 机一样去选择完整的t c p i p 协议,所以嵌入式终端必须选 择一种专门为这种系统设计的简化的t c p i p 协议,例如:8 0 5 2 1 p h a r d c z 、t c p f l pl e a n s e r v e ro i lp i c 、t c p f i ps t a c ko i lm s p 4 3 0 、l w l p 、t m y t c p 、u i p0 6 、u c i p l - 0 - 3 、e t h e r n u t 、 z l i p 0 2 等等 1 8 1 。而这些协议的主体思路都是靠编写精简的代码来完成应用层对话的, 所以选择舍去繁琐的应用层协议,而直接面向传输层来编程。 在传输层有两个协议:即t c p ( 传输控制协议) 和u d p ( 用户数据报协议) 。那 么在传输层协议又该怎么选择昵? 使用t c p 必须要在通信两端建立可靠的连接通道, 并且一应一答的确认报文来回穿梭,网络开销较大,所以数据在网络中传输效率相对 就较低。而使用u d p 无需在通信两端建立连接,无应答确认报文,网络开销较小,数 据在网络中传输效率高、速度快,即实时性较高。但考虑到嵌入式终端升级数据包在 网络中传输应该是一个可靠的文件传输,因为如果升级包无法保证正确到达的话,整 个升级就会失败。并且升级包数据一般较小( 十几k b ) ,速度方面即实时性要求并不 太高。所以传输层应当选择面向连接的可靠的数据传输协议即t c p 而不是盲目追求速 度和效率地去选择u d p 【1 w 。 实现电子设备或者系统的网络化,使之具备网络功能,目前的解决方案通常有两 种。除了直接在系统内部实现t c p i p 协议之外,还可以考虑使用专用芯片来完成单片 机与网关问的协议转换。比如武汉力源公司开发的w e b c h i p 网络接口芯片p s 2 0 0 0 1 2 0 1 。 但是专用芯片的使用,不但增加了系统的成本,而且不灵活。 t c p i p 协议方面一些技术细节,是专题论述的内容。 本系统采用如图2 - 6 所示方案,相当于直接在系统内部实现t c p i p 协议。 图2 - 6 设备升级方案的选定 本课题通过对8 0 5 1 系列单片机和以太网控制器芯片的特点分析,运用t c p i p 精 简协议栈的剪裁,提出了一种让嵌入式系统利用已有的通信链路在线升级的设计方案, 如图

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论