(控制理论与控制工程专业论文)嵌入式internet在电动机振动监测网络中应用的研究.pdf_第1页
(控制理论与控制工程专业论文)嵌入式internet在电动机振动监测网络中应用的研究.pdf_第2页
(控制理论与控制工程专业论文)嵌入式internet在电动机振动监测网络中应用的研究.pdf_第3页
(控制理论与控制工程专业论文)嵌入式internet在电动机振动监测网络中应用的研究.pdf_第4页
(控制理论与控制工程专业论文)嵌入式internet在电动机振动监测网络中应用的研究.pdf_第5页
已阅读5页,还剩72页未读 继续免费阅读

(控制理论与控制工程专业论文)嵌入式internet在电动机振动监测网络中应用的研究.pdf.pdf 免费下载

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

文档简介

塑垩奎掌塑主 摘要x8 7 6 3 8 2 电动机的振动信号是判断电动机各运动部件状态的重要参数,振动监测技术 是根据振动的波形或频率的变化对电动机各运动部件的状态或变化趋势做出分 析与判断。现有的振动检测手段是靠人工定时检测,结果容易受人为因素影响, 影响正常的生产:在电动机出现故障时,由于振动的历史数据较少而不利于分析 和排除电动机故障。 本文提出了种基于嵌入式i n t c m e t 的电动机振动监测网络,以它的整体结 构为基础,详细介绍了嵌入式设备实现以太网互联的软、硬件实现中的关键技术, 并对网络协议栈、振动传感嚣接口电路傲了一定的探讨。在此基础上实现了电动 机振动监测网络中的下位机数据采集与传输的终端系统。在a r m 处理器上移植了 嵌入式操作系统uc o s 来对常用硬件进行统一的接口管理,编写了驱动程序, 1 对i n t e f n e t 接口进行了设计,在操作系统的基础上软件系统中实现了t c 瑚田协 议族中的部分协议。最后,文章对电动机振动监测系统的一些关键技术的实现作 了较为详尽的探讨,指出了该系统的应用前景阱及存在的不足。 关键词:振动监测,嵌入式系统,嵌入式i n t 锄e t ,nc o s 浙江大学硪士 a b s t r a c t t h ev i b r a t i o n0 fa ne l o c 仃o m o t o ri sa ni m p o n a n tc r i t e r i o nf o re v a l u a d n gt t l es 协t e o f 也em o t o l b m d o ni n s p 蚰gi s 血et e c h n o l o g yf o ra n a l y 西n gm es t a t eo rt l l e c h a n g e 廿e n do ft h em o v 咄e n tp a r ti l l 也em o t o rb yt 圭l ew a v eo rf k q u e n c yo ft 圭1 e v i b r a t i o ns i g n a l n o w a d a y s ,t l l ei n s p e c t i l l go fv i b 谢o i so ns c h e d l l l eb yo p e r a t o r s 、v i mah 柚d l ed e v i c e t h er e s l l l ti sd i 彘r e t 丹o me a c ho t h e rf o fd i 舭r e 呲o p e r a t o r s a 1 1 dd i 髓r e mt i m e a r l da l s oi ti sd i 伍c u l tt oa n a l y z ea n de l i m i n a t em a l c t i o nf o r l a c 虹n go f h i s t o r y 血t a t l l i sa n i c l eg i v 船as 0 1 u t i o nb a 辩do ne m b e d d e di n t e r n e tf o rv i b r a t i o ni 1 1 s p e c t i n g o fm o t o lnp 疵c l l l a r l y 咖d l l c 豁也ek e yp o i n to fs o f h ,a r ea i l dh a r d w a r ef o ra n e m b e d d o dd e v i c e sc o n n e c 吐o nw i 也i n t e r n e t na t s om a k e sd i s c u s s i o ni 王ln e t 、v o r k p r a t o c 0 1g t a c k ,i n t e m 虻eo fv i b r a n o n 璐o l1 k m a i nw o r ko f 血i sa m c l ei sr e a l i z e d t l l et e n 】1 i n 砒e d a t aa c c e s s 缸d 订锄匹f hs y s t 锄o ft i l ev 主b 枷o ni n s p e c 石n gn e t n i n c l u d e sr e p l a n tr 1 、o st 0m a n a g eh 鲫d w a m 谢mc o m m o ni n t e r f a c ea n d 百v c sd r i v e p m g r a m i ta l s od e s i g n s 也e 础帅阿r ki n t e r f 她e t h ep 印e ra l s or e p l 锄t ss o m ep r o t o c o l s w l i c hw o r k s 洫e m b e d d e ds y s t e 眦b 雒e so no p e r 们o ns y s t 吼a tt l ee n do f t h i sp a p e r , i ts a r i z e st h ew h o l ew o r ko ft h i sp a p e ra n dp o i m so u tt 1 1 ed i s a d v a l l t a g e sa i 】d 也e w o r k 吼右i l i s h e d k e yw o r d s :v i b r 撕o nh 私娟n g ,e l i i b c d d e ds y 咖m ,e m b 酣d e d 妇e m e t ,uc o s 浙江大学硕士学位论文 第一章概述 1 1 电动机振动监测技术的现状与发展趋势 电动机在运动过程中不可避免地会产生振动,其振动的波形或频率与电动机 的运动部件转子或轴承的运动状态存在一定的联系。振动监测技术根据振动 的波形或频率与设备各运动部件的使用状态之间的关系及波形或频率的变化,对 电动机各运动部件的状态或变化趋势做出分析与判断。 目前电动机的维护和修理处于计划维修阶段,在对电动机进行维护时,一定 程度上影响了正常的生产,降低电动机的使用效率,还可能降低电动机的使用寿 命。振动监测技术对电动机运行评价的主要依据是电动机振动的频率信号和波形 信号。在振动信号的采集过程中,由于所采集到的电动机振动波形属于时域信号, 易受到其他信号的干扰,同时振动点至监测点之间的振动传递函数对波形的影响 较明显,有时甚至掩盖其原有信号,造成虚假信号,因此对采集到的信号一般进 行二次处理,即将时域信号转化为频域信号,这主要利用数学上的快速傅利叶变 换和计算机来完成。经过处理后所得到的频谱图就可以作为对设备运行状态进行 评价的主要依据,然后根据频谱的各频率特征对电动机各部分的运用状态作出分 析与评价。现有的电动机振动监测仪器大都为便携式仪器,需要操作人员将仪器 接触运转的电动机才能测出振动状况,在工业现场操作不便,而且结果易受操作 人员的影响。 鉴于以上这种计划维修的种种缺点,采用方便的测试手段在电动机不停运的 状况下了解电动机的工作状态,实现对电动机的系统化和现代化管理,可以大大 提高生产效率,降低管理费用和由突发故障造成的经济损失。 本文提出以3 2 位嵌入式微控制器( a l t m 7 ) 为核心,数据存储采用大容量 m d f l a s h ,以扩展以太网控制芯片r :n 。8 0 1 9 构成的以太网作为主要传输媒介的 电动机振动监测系统。 1 2 基于i n t e r n e t 的电动机振动监测系统 嵌入式系统已经在家庭和工业的各个领域得到了应用,目前大多数嵌入式系 浙江大学硕士学位论文 统还处于单独应用的阶段,以微控制器为核心,与一些监测、伺服、指示设备配 合实现一定的功能。在一些工业应用中。为了实现多个微控制器间的信息交流, 利用c a n 、r s 2 3 2 、r s - 4 8 5 等总线将微控制器组网,这种网络抗干扰能力差, 传输距离e b 较有限,但它们现在仍是工业领域主要应用的总线形式。i m e m e t 现 已成为社会重要的基础信息设施之一,是信息流通的重要渠道。嵌入式系统连接 到i n t e m e t 上面,可以方便、低廉地将信息传送到几乎世界上的任何一个地方。 基于i n t e m e t 的电动机振动监测网络由i n t e m e t 接入设备、显示器、记录设备、 i n t e m e t 主干网、p c 机处理软件和传感器组成。电动机振动监测网络的各构成部 分如图1 1 。 圈卜l 电动机振动监测网络 图卜1 中控制中心由一组服务器和相应的工作站组成,从数据现场提取和接 受数据,进行相应的处理后,向广大用户进行信息发布;i n t 啪毗主干网络:由 h l t e m e t 干线组成的主干网,一般是由光纤或者卫星通信网络组成,单根光纤网 络速度可以达到数百兆以上,卫星网络在某些情况下也是一种方便有效的选择: 数据采集终端是本文组建的以舭u 讧为核心的现场数据网络,在越t m 上运行 t c p ,i p 协议栈。数据采集上来后,利用网络接口通过i n t 啪e t 主干网络将相应的 数据传输回控制中心。其功能如下所述: 1 ) 嵌入式i n t e m e t 设备是振动监测网络的下位机终端,它能实时的将被测电动 机的振动信号、温度信号等通过局域网传入控制中心,以便对电动机的工作 t r,占 浙江大学硕士学位论文 状态作出评估。 2 ) 记录设备是振动监测网络的另一核心,它能实时客观、精确地记录下电动机 振动的加速度信号( 反映振动强度) 、温度信号等参数。当遇到不测或被切断 电源后,原先记录过的数据不会丢失,一般要求可保存3 个月之久。用户可 根据需要清除已记录的数据。 3 ) 显示器能及时显示出电动机的振动加速度数据( 可根据需要显示振动的速度、 位移数据) 、温度数据,便于维修人员在现场分析电动机状态。 4 ) p c 机处理软件系统可直接读取电动机的历史振动数据( 加速度信号的形式) 、 温度信号,设定电动机振动及工作环境温度的警戒范围,还能以曲线的形式 再现电动机振动及温度的历史信息。 5 ) 传感器:能够向处理器提供电动机的振动和温度信号。 1 3a 刚处理器简介 a r m 系列处理器是英国先进r i s c 机器公司( a d v a i l c e di u s cm a c h i n e s a r m ) 的产品。a r m 公司是业界领先的知识产权供应商,a r m 公司只采用i p 授权的方式 允许半导体公司生产基于a l l l 的处理器产品。提供基于a 蹦处理器内核的系统芯片 解决方案和技术授权,不提供具体芯片。 a r m 处理器品种繁多,世界上几乎所有主要的半导体厂商都从a f f 公司购买 a i t mi s a 许可,利用a r m 核开发面向各种应用的s o c 芯片。本设计中选择了三 星公司的s 3 c 4 4 8 0 x ,它是一款基于删7 t d m i 核的微控制器,其处理器核为高 性能的3 2 位r i s c 体系结构,并具有高密度的1 6 位指令集和极低的功耗。主要性 能简介如下: ( 1 ) 集成了a r m 7 n ) m i a r m1 1 1 u m b 处理器核,既具有高性能的a r m 指令又 具有高代码密度的t h u m b 指令集; ( 2 ) 具有8 k b 的片内s r a m ,具有3 2 位的数据总线宽度; ( 3 ) 完全可编程外部总线接口( e b i ) ,多达8 个片选线,最大可寻址6 4 m b ,软 件可编程为8 位或1 6 位外部数据总线; ( 4 ) 具有8 个中断优先级,中断控制器可单独屏蔽的某一中断源; ( 5 ) 6 通道1 6 位定时器、计数器; 浙江大学硕士学位论文 ( 6 ) 2 个u a r t 接口,8 1 6 位可编程数据长度的主从式s p i 接口 1 4 基于in t e r n e t 的数据采集系统的前景 嵌入式数据采集系统既可以独立作为一个设备工作又可以通过多种总线接 口实现互联组成网络,i n t e m e t 技术的引入更大大提高了传输距离,也更利于系 统的扩展。嵌入式数据采集系统的工程应用领域可以包括制药工业过程控制、电 力系统、电网安全、电网设备监测、石油化工系统:水文资料实时监测,防洪体 系及水土质量监测、堤坝安全,地震监测网,实时气象信息网,水源和空气污染 监测等等。目前,国内的很多公司、厂家也已经在研究开发将8 、1 6 、3 2 位嵌入 式微控制器与i m e l e t 技术相结合,并已经研发出一些产品。网络化是提高生产 效率和产品质量、减少人力资源的主要途径。利用i i l t e m c t 网络进行信息的采集 和共享,正日益受到人们的重视,逐步成为工业企业生产管理的一种新的方式。 1 5 本文组织结构 第一章主要介绍了研究背景,即电动机振动监测技术概述,引出研究和开发 基于h l 搬_ i l e t 的嵌入式振动监测系统的需要,并提出研究的重点与方向。 第二章首先介绍了i i l t e m e t 网络的体系结构及其发展趋势,然后阐述了嵌入 式t c p i p 协议栈的实现。 第三章主要介绍了实时操作系统与uc o s 实时内核,首先阐述实时操作系统 及移植操作系统的必要性,然后对uc o s 内核做简要分析和研究,并给出了在 a r m 处理器上的移植方案。 。 第四童的主要内容是嵌入式操作系统中设备管理及驱动的研究和实现。首先 介绍输入输出系统,然后详细讨论了几种出设备的硬件、软件及其在uc o s 中 驱动的实现。 第五章主要介绍电动机振动监测系统中的采集终端。首先从整体上阐述了它 在整个系统中的作用,其次给出了采集终端所完成的功能,最后详细介绍了各个 部分的软、硬件实现。 第六章为结束语部分,总结了本文的研究工作,指出不足以及今后需要进一 步的研究方向。 4 浙江大学预士学位论文 第二章嵌入式in t e r n e t 的研究与实现 2 1 嵌入式系统概况 嵌入式系统是指在嵌入到各种产品或工程应用中的以处理器或微控制器为 核心的软硬件系统。嵌入式系统根据其体系结构可以归为以下三类: 芯片级的嵌入式系统:这类系统以微控制器为核心,附以相应的外围电路, 形成具有一定控制功能的单片机系统。微控制器集成度高,体积小,性价比较高, 应用范围很广。 模板级的嵌入式系统:用8 位、1 6 位或3 2 位微控制器组成的单板机系统, 由各种总线集成的i n t e l x 8 6 或m o t o m l a 6 8 k 微控制器组成。 系统级的嵌入式系统:指p c 级的嵌入式系统,一般由工业级p c 机或p c 兼 容机构成整个系统的核心直接对现场的各类设备进行控制。 2 2 嵌入式操作系统 操作系统是软件中技术含量最大的部分,是软件技术的核心。实时多任务操 作系统( r 1 s ) 是嵌入式应用软件的基础和开发平台。现在,一些中低档的嵌 入式系统软件的开发还是在处理器上直接运行,虽然没有操作系统,但还是要有 一个主控程序调度各个任务( 子程序) 。r t c i s 可以简单的认为是功能强大的主 控程序。它嵌入在目标代码中,系统复位时首先运行它,它负责在硬件基础上为 应用软件建立运行环境。用户的应用程序都是建立在r 1 d s 之上的。r 1 d s 是 个标准内核,将c p u 时间、中断、i ,o 、定时器等资源封装起来,留给用户一个 标准的接口,并根据各个任务的优先级,合理地在不同任务之间分配c p u 时间。 常用的几种实时操作系统及其比较妇表2 - l 所示。 实时操作系统的应用使得实时应用程序的设计与扩展变得容易,不需要大的 改动就能增加新的功能。通过将应用程序分割成若干个独立的任务,r 1 的s 使得 应用程序的设计过程大为简化。使用抢占式内核对,所有紧急事件都能得到尽可 浙江大学硕士学位论文 表2 1 常用实时操作系统比较 即s 前后台系统非抢占式内核抢占式内核 比较项 m a x ( 最长指令m a x ( 最长指令时间,用m a x ( 最长指令时间,用 中断延迟时间 时间。用户中断禁户中断禁用时间,内核中户中断禁用时间,内核中断 用时间) + 指向断禁用时间) + 指向i s r禁用时间) + 指向i s r 向量 l s r 向量时间 向量时间 时间 中断响应时间中断延迟+ 保存中断延迟+ 保存c p u 状态中断延迟+ 保存c p u 状态 c p u 状态时间时间时间+ 内核i s r 进入时间 后台恢复状态时任务状态恢复时间+ 中断寻找最高优先级任务的时 中断恢复时间间+ 中断返回时间返回时间 间+ 最高优先级任务恢复的 时间+ 中断返回时间 任务响应时间后台最长任务时间叫壬务切换任务切换 r o m 大小应用程序代码应用程序代码+ 内核代码应用程序代码+ 内核代码 r a m 大小应用程序代码应用程序代码+ 内核 应用程序代码+ 内核 r a m + s u m ( 任务堆栈) r a m + s u m ( 任务堆栈) + m a x ( i s r 堆栈)+ m a x ( i s r 堆栈) 可获得的服务应用程序代码提操作系统提供操作系统提供 供 能快捷的处理。通过有效的服务,如信号量、邮箱、队列、延时、超时等,r t o s 使得资源得到更好的利用。本文选用了uc o s 作为操作系统,有关uc o s 的内 容在第三章节阐述。 2 3 嵌入式系统技术特点及发展趋势 嵌入式系统技术发展很快,主要的关键技术发展包括以下几个方面:芯片制 造技术的发展很快,半导体制造工艺日益提高,现在已到6 0 9 0 纳米,使得芯片 的体积更小、功耗更低,这对于嵌入式系统的集成非常重要:一方面可以使系统 的体积更小,另一方使系统的使用寿命和待机时间也是更长。同时,随着电子设 计自动化程度逐步提高,用于电子设计的辅助软件也是越来越多,以前很多基于 经验的东西都加以规则化。 为了适应工业控制的需要人们发展了一些适用于实时控制的嵌入式操作系 统及一些应用软件,有了操作系统的软件集成环境很多基础的软件处理可以放到 操作系统的核心实现,进一步实现多任务、多线程的处理。 嵌入式网络技术的发展也很快,很多基于精简t c p 他的芯片也已经问世, 使得i n t e m e t 嵌入式系统的发展前途远大,这方面也是今后研究的重点。 6 浙江大学硕士学位论文 2 4 嵌入式i n t e m e t 研究与实现 2 4 1 i n t e 哺e t 网络技术 白工业革命以来,每个世纪都有这一种主流技术,1 8 世纪是机械时代,1 9 世纪则是蒸汽时代,而在2 0 世纪,关键的技术是信息收集、处理和发布,在全 世界范围内电话网、广播网、电视网飞跃发展,而计算机工业的诞生及其史无前 例的飞跃发展让信息产业进入了新的天地。 计算机工业在短短的几十年中取得了惊人的进步。以前,般是单台计算机 为机构中所有的计算机需求服务,也就是大型的中央计算机器加上很多小终端的 模式,尽管这种模式还在一些场合使用,然而随着p c 机的发展并逐步进入人们 的日常生活,大量分散又互联的计算机局域网络得以广泛使用。 在世界不同地方的办公室可以通过信息网络快速的传递各类信息。各类信息 技术也在不停的发展,为了更好的利用原有的网络,人们发展了基于电话线的 i s d n ( i n t e g r a t e d s e r 、,i c e s d i g i t a in e t w o r k ) 网络、a d s l ( a s y m m e t r i c a id i g i t a l s u b s c 曲e rl o o p ) ,与物理介质无关的删( a s ”c h r o n o u st r a l l s f 钉m o d e ) 网络,基 于电视电缆的令牌总线网络,基于光纤的令牌环网络f 【) d i ( f n 搿d i s t r i b u t e d d a t a i n t e 血c e ) ,另外还有广泛使用的基于双绞线的i e e e 8 0 2 3 网络等等。 在计算机网络技术中t c p i p 技术得到了广泛的应用,成为矾e m e t 互联网事 实上的标准。t c p i p 协议族允许不同网络的不同的计算机互相通信,是一个真 正开放的系统。随着i n t e m e t 互联网的不断扩大,t c p p 协议族也暴露出一些问 题,该协议也在继续发展中,以适应时代发展和技术的更新。 i n t e m e t 网络给人们带来的不仅仅是技术、信息,它实际上正逐步作为一种 生活的方式为人们所接受。 2 4 2 计算机网络的参考模型 本文将简单的介绍两种重要的网络体系,o s i 和t c p 】:p 参考模型。 1 o s i 参考模型 这种模型来自于i s o ( i n t e m a t i o n a ls t a n d 删z a t i o n0 r g 越i z 砒i o n ) 关于开 放式系统如何互相进行通信的标准模型开放系统互联参考模型( o p e n s y s t e mi n t e r c o e c t i o nr e f b r e n c em o d e l ) ,简称o s i 参考模型,如图2 1 所示, 7 浙江大学硕士学位论文 o s i 模型定义的非常仔细,分层非常清楚便于我们对网络的分析和研究,然 后我们再看我们实际应用中更加常用的t c p ,i p 模型。 o s i 参考模型分为如下几层: ( 1 ) 物理层( p h y s i c a ll a y e r ) :物理层主要处理一些机械、电器接口等问题。主要 解决的是如何将比特符号“1 ”和“o ”表示为物理信号,比如用多少伏的电 压表示“1 ”,多少伏的电压表示“o ”;一个比特持续多少时间;传输是否在 两个方向上同时进行:如何建立连接及断开连接:网络接线有多少根以及各 线各作什么用途等等。 ( 2 ) 数据链路层( d a 诅l i n kl a y e r ) :数据链路层的主要任务是对物理层的比特传输 进行控制,使得它对于网络层呈现为一条无差错的比特通讯线路。发送方把 从网络层来的数据封装在数据帧里,按顺序发送各个帧,并处理接收方回送 的确认帧( a c l 【i l o w k d g e m e n t 疳a m e ) 。数据链路层关系的是发送和接收比特流 的实际意义和结构,包括通讯地址的识别、通道的监测、冲突的监测、数据 分解和组装、数据的校验等,另外,数据链路层还要解决的问题有帧的破坏、 丢失和重复的问题,向网络层提供各类不同质量的传送。 ( 3 ) 网络层( n e t w o r kl a y e r ) :网络层主要是负责子网的运行控制,人们将各类网 络进行分界也主要是在网络层上进行的,网络层涉及的内容包括网络地址的 分配,子网的规模,数据分组的组装和分解以及数据分组从源端到目的端的 路由选择等。另外,网络计费也是在网络层实现,提供不同价格的服务,并 解决不同网络之间的差异,实现不同网络间的互联,为了避免子网中同时出 现过多的数据分组造成拥塞,还在网络层进行拥塞控制等等。 ( 4 ) 传输层( t r a l l s f e rl a y e r ) :传输层的基本功能是与会话层接收数据并进行组装 后传送到网络层,并确保数据高效且准确无误的传送到目的地。需要对数据 的校验确认,确保各类信息准确。传输层是真正意义上“端到端”的层,源 端机器上传输层的数据格式和和目标机器上的传输层格式基本上是一致的, 而在传输层以下的各层会因为不同的子网而存在差异,所以从某种意义上讲, 传输层存在使得会话层不受硬件技术变化的影响。 ( 5 ) 会话层( s e s s i o nl a 【y e r ) :会话层允许不同机器上的用户建立会话关系,会话 层允许用户进行普通的数据传输,并提供一些增强的服务,比如管理会话, 8 浙江大学硕士学位论文 双向时,还可以提供令牌管理服务,确保只有个别的人可以占有信道。另外 会话层还确保文件侍输的同步服务,即在文件传输中的支持续断的功能。 ( 6 ) 表示层( p r e s e m a t i o nl a y e r ) :表示层完成某些特定的功能,在表示层关心的 传输数据的语法和语义一个典型的例子就是大家一致同意的标准方法对数 据编码,比如对整数、浮点数、日期、货币等数据类型的编码,这些可以让 不同表示方法的机器之间可以实现信息间的交换。 。一 传输协议 4 l 一i 一“ l li i 舟络层 i i 阱层 1l 嘴层 内 - i网络层 l 部 l1i子 l 数据链赂层 卜 | 数据链路层 1 _ 数据链路层 k - i数据链路层 ll 网 i 协 l ll 议 物理层 l l 物理层| l 物理层 b - i物理层 1 ll l 主机 路由器 主帆b 通信予网边界 一舟络层主机一路由协议 数据链路层,主机一路由协议 - _ 日+ 如一瞳 j 口 图2 1 0 s i 参考模型 ( 7 ) 应用层( a p p l i c a t i o n l a y e r ) :应用层包含了各类人们需要的应用协议,人们可 以在应用层建立需要的服务比如文件传输协议,电子邮件,远程登陆、数 据采集、w w w 网络、网络加密服务等等。位于通讯模型最高层的应用层是 9 浙江大学硕士学位论文 直接面对用户的需求的,只要有需要进行数据传递的任务,在应用层都将得 到体现。 2 t c p i p 参考模型 现在我们从0 s i 模型转向介绍实际中应用最广的计算机网络模型, t c m p 模型,在这里给出了它的模型图并与o s i 模型进行了比较,如 图2 2 所示。下面简单的介绍一下t c m p 模型的各个分层: i 覆墨 应用屡 寰示屡 盒话屡 信辅曩 怒络屡 数据t 繇# 屡 物理屡 图2 2 1 m p 参考模型 ( 1 ) 网络接口层( n e t w o r k i n 劬c e l a y e r ) :在t c p i p 模型中,没有区分物理层 和数据链路层,只是指出必须使用某种标准( 比如8 0 2 系列标准等) 与网 络互联以便能在其上传递i p 分组,网络接口层也叫做链路层,通常包括设 备驱动程序和网络接口卡,处理与特定物理介质的细节问题。 ( 2 ) 互联网层( i n t e m e tl a y e r ) :它是整个体系结构的关键部分,处理数据分组在 网络中的活动,使主机可以把数据分组发往网络并使分组独立的传向目标, 这些分组可能经由不同的路由,而且到达的顺序和发送的顺序可能不同。 互联网层定义了正式的分组格式和协议,即i p 协议( i n t e m e tp r o t o c 0 1 ) 。 ( 3 ) 传输层( n a n s p o r tl a y e r ) :它的功能主要是为两台主机上的应用程序提供端 到端的通信,这里定义了两个端到端的通讯协议:t c p ( t r a n s m i s s i o nc o n 仃o l p r o t o c 0 1 ) 协议和u d p ( u s e r d a t a g r a m p r o t o c 0 1 ) 协议。t c p 协议是一个面 向连接的协议,提供有序的、无差错的字节流传输,并且还有处理流量控 制,以避免快速发送方过快的发送使得低速接收方无法处理数据。u d p 协 议是一个不可靠、无连接协议,用于一些不需要t c p 的排序和流量控制的 能力用户数据传输。 1 0 浙江大学硕士学位论文 ( 4 ) 应用层( a p p l i c a l i o nl a y e r ) :应用层负责处理特定的应用程序的所有细节, 这里没有会话层和表示层,典型的应用包括虚拟终端协议( t e l n e t ) 、文件 传输协议( f t p ) 和简单电子邮件协议( s m t p ) ,还有后来发展的域名服务协议 ( 肼q s ) 、网络新闻传输协议o 州1 甲) ,超文本传输协议( h t l 甲) 等。 3 t c p ,l p 协议族 上面介绍了t c p 】p 的分层网络模型t c p ,职协议族不仅仅包括了t c p 协议和i p 协议,它还包括了一系列的其他协议,包括地址解析协议a r p ( a d d r e s sr e s o l 谢o np r o t o c 0 1 ) 、反地址解析协议ra r p ( r e v e r s ea d d r e s s r e s o l u t i o np r o t o c 0 1 ) 、i n 储n e t 控制信息协议i c m p ( i n t e m e tc o i l 仃0 1m e s s a g e p r o t o c 0 1 ) 、i m e m e t 组管理协议i g m p ( i n t e m e tg r o u pm a n a g ep r o t o c 0 1 ) 和一 些应用协议等等,这些协议间的层次关系如图2 3 所示。 图2 3 t c p ,i p 各层协议 1 ) 地址解析协议p 时:一般讨论最多的网络地址是来自互联网层i p 地址,而一 般在链路层如以太网或令牌环网都有自己的m a c 地址,两层之间必须进行 地址之间的转换。由于局域网内机器具有不定性,为了高效的完成这一转换, 人们设计了_ 螺p 协议,为p 地址到对应的硬件地址之间提供动态映射,如 图2 4 。为了能高效的运行,每个主机上都设有a r p 高速缓存,并定期更新。 2 ) 反地址解析协议r a r p :反地址解析协议r 灿。与地址解析协议的功能正好 相反,它提供了从硬件地址到m 地址之间的动态映射,如图2 _ 4 所示。 浙江大学硕士学位论文 图2 - 4 a r _ p 协议和r a r p 协议 r a r p 用的不多,有时提供一个r a r p 服务器,不在t c p p 内核里实现。 3 ) i p 协议:i p 协议是t c p i p 协议族中最为核心的协议,所有的t c p 、u d p 、 i c m p 及i g m p 数据都以擅数据分组格式传输,i p 分组格式如图2 5 所示。 叠塞号t 热度 日曲薯类丑1 6 位黧冕息长度字节量, k ( 弼) 啦 l b 盥标识 蒜忘 1 3 位r 馕黪 8 位生存时闻 刮蝴议 1 6 位曹部按验 锄:f 节 ( 订l , 釉 驼i 盘灌地址 触目的地址 _, 选顶( 如果需要) 数据段 图2 5 i p 数据分组格式 i p 协议提供的是不可靠、无连接的数据分组传送服务。不可靠是指i p 协议中 不保证i p 数据分组能成功地到达目的地,但它提供很好的传输服务:当发生 错误时,它就丢弃数据分组,并发送i c m p 消息给信息源端。无连接是指i p 协议中不维护任何关于后续数据分组的信息,数据分组之间是独立的,从源 端到目的端的路径也是不相关的。另外,i p 协议中还负责i p 分组的路由选择, 进行i p 层拥塞控制,并通过i p 地址对子网进行划分缩小路由表的规模。 4 ) 1 m e m e t 控制信息协议i c m p :它主要是传递差错信息以及其他需要注意的i p 层控制信息,通常被认为是i p 层的一个组成部分。如图2 6 所示。 厂1 i p 首部f i c m p 报文 i j ,。,一 图2 i c h 位报文封装在i p 数据分组内部 i c m p 报文根据控制信息的不同分成很多种类型,如目的地不可达。报 文超时,无效头字段,源端拥塞,路由重定向,回声请求和回声应答,时间 标记请求和时间标记应答,地址掩码请求和地址掩码应答等。 1 2 浙江大学硕士学位论文 5 ) i n t e m e t 组管理协议i g m p :主要支持主机和路由器进行多播。它可以让一个 物理网络上的所有系统知道主机当前所在的多播组,多播路由器需要知道这 些信息以便知道多播数据报应该向哪些接口转发。i 蕊仰也被当作i p 层的一 部分,i g m p 报文通过p 数据分组进行传输。 6 ) 传输控制协议t c p :主要用于在不可靠的i 砷卿l e t 网络层上提供可靠的、端 到端的字节流通信服务。i n d 咖e t 网络不同于一个独立的子网,不同的部分可 以具有不同的拓扑结构、带宽、延迟、分组大小以及其他特性,t c p 被设计 成能动态满足互联网的要求,并能处理各种错误,t c p 的数据段格式如图2 7 。 这里将简单的介绍一下t c p 数据段首部中的各个字段: ( 1 ) 源端口和目的端口:该字段标识出本地和远端的连接点。每个主机都可以自 行决定如何分配自己的端口( 从2 5 6 号开始) 。端口号加上其主机的i p 地址 构成了一个4 8 位的唯一的t s a p ,有时也称为是一个套接( s o c k e t ) 。 ( 2 ) 顺序号和确认号:顺序号是用来标识从t c p 发送端向t c p 接收端发送的数 据字节流的,它表示在这个报文段中的第一个数据字节当前的序号。确认号 包含发送确认的一端所希望收到的下一个序号,因此确认序号应该是上一次 已经成功收到数据字节序号加1 ,只有a c k 标志为1 时确认号才有用。 ( 3 ) t c p 头长度:t c p 头长度字段给出t c p 头中3 2 b i t 字的数目,这个字段的值 因为头中有可选字段所以是可变的,这个字段占4 b i t ,所以t c p 头最多为6 0 字节的首部,如果没有任何可选的字段,正常的t c p 头长度是2 0 字节。 ( 4 ) 6 个未用的保留位和6 个标志位:这六个保留位主要是用来更正将来在协议 中发现的可能存在错误。 下面,接着介绍一下6 个一位的标志。 u r g 位:该位置l 表示当前的t c p 数据段用到了应急指针,应急指针指从 当前序号到紧急数据位置的偏移量。用这种设置用于代替中断的报文。 a c k 位:该位置l 表示确认号是合法的,如果a c k 为o ,那么数据段不包 含确认信息,确认字段被省略。 p s h 位:该位表示带有p u s h 标志的数据。接收方因此请求数据段一到便可 送往应用程序而不必等缓冲区装满时才传送。 r s t 位:该位用于复位由于主机崩溃或者其他原因出现的错误连接。它还可 浙江大学硕士学位论文 以用于拒绝非法的数据段或者拒绝连接请求。一般情况下。收到一个r s t 位 的数据段,那么一定是发生了某种严重的错误。 s y n 位:该位主要用于建立连接。在连接请求中,s y n = 1 ,a c k 卸,表示捎 带的确认字段无效。连接响应数据段应带有确认,因此s y n = l ,a c k = l 。事 实上,s y n 用来代表连接请求和连接接收。用a c k 来区分这两种可能。 8 哺 1 的h 潭端口目的螭口 顺序号 确认号 uprsf 保留宇段 rc ssyi 窗口太小 gk htnn 校验和 紧急指针 可选项 数据 图2 4t c p 数据段格式 f i n 位:该位用于释放连接。它表明发送方没有数据发送了,申请断开后, 发送方还是可以继续接收数据。 ( 5 ) 窗口大小:t c p 中的流量控制是通过使用可变大小的滑动窗口来处理的,窗 口大小字段就是表示在确认后还可以发送多少字节。窗口大小字段值为0 是 合法的,表示它已经收到包括确认号减1 ( 即已发送的所有数据段) 在内的 所有数据段,但当前接收方急需暂停,希望此刻不要发送数据。之后可以通 过发送一个有相同确认号和滑动窗口字段非零的数据段来恢复原来的传输。 ( 6 ) 校验和:校验和是为了确保高可靠性的传输而设定的。校验和是t c p 数据段 ( 包括t c p 头和数据) 加上一个伪t c p 头之和,伪t c p 头如图2 堪所示, 伪t c p 头主要信息有源机器和目的机器的3 2 位i p 地址,t c p 协议的协议编 号f 6 ) ,以及t c p 数据段( 包括t c p 头) 的字节数。加伪t c p 头部只要是为 了监测传送的分组是否正确。 发送方执行校验时,t c p 头中的校验和字段添o ,当数据长度是奇数时附加 1 4 浙江大学硕士学位论文 一个o 字节。校验的算法就是简单的将所有1 6 位字以补码形式相加,然后再将 。 澡地址 目的地址 o 协议辅号 t c p 敦据长度 图2 8 校验中的t p 伪头 相加的和取补,因此,接收方对整个数据段( 包括伪t c p 头和校验和) 进行相 同运算时,结果应为o 。 ( 7 ) 紧急指针:紧急指针是一个正的偏移量,它和序号字段中的值相加表示紧急 数据最后一个字节的序号,指明紧急数据的末尾,让应用程序知道紧急数据 在哪里结束t c p 紧急方式是发送方发送紧急数据的一种方式。 ( 8 ) 可选项:可选项字段用于提供一种增加额外设置的方法,而这些设置在常规 的t c p 头中并不包括。常用的选项中有最大的t c p 载荷能力,该选项缺省 的设置为5 3 6 字节,所以互联网上的主机均需要具有接受5 3 6 + 2 0 = 5 5 6 字节 的t c p 数据段的载荷能力:窗口比例选项,因为一般的窗口最大为6 4 k b , 超过6 4 k b 时可以利用窗口比例选项可以使窗口达到2 3 2 字节;还有一个广泛 使用的选项是选择重发个别的数据段而且退回到数据段n 重发所有之后的数 据段。 2 5 嵌入式t c p l p 协议栈的实现 2 5 1 嵌入式系统上的t c p lp 协议的特点 嵌入式系统的情况多种多样,在嵌入式系统中实现t c p i p 协议和通用操作系 统中的实现有所不同。u n i x 等通用操作系统的存储管理策略能有效进行内存管理 和分配,t c p i p 在实现时可以不考虑内存大小的问题,比如缓冲区的处理上, m b u f 是一个存储链,这个链可以动态地增加和减少,根据需要随时分配,随时 撤销,全部采用动态内存管理。而在嵌入式系统中存储空间不象通用系统那么大, 在设计时不但要考虑程序代码本身大小,还要考虑缓冲区的大小。嵌入式系统中 浙江大学硕士学位论文 实现协议栈时往往采用静态分配好的缓冲池,m b u f 结构的总数是确定的。分配 时就直接从缓冲池的m b l l f 链上取下一个,没有的时候只能一直等待,而释放时 就放回缓冲池,不释放空间。个最大的以太网数据包有1 5 0 0 多个字节,而一个 最小的以太网数据包只有6 4 个字节,所以m b u f 大小对系统效能有很大影响,太 大会浪费很多空间,而太小则造成指针层数比较多,协议栈运行效率低。这些缓 冲区往往是根据应用量身定做的,如果应用中大的包很多,就采用大的m b u f 一 些系统甚至只分配一个1 5 3 6 个字节的缓冲区来存放接收到的数据包,收到一包就 处理一包,没有动态分配过程。传统的嵌入式系统实现t c p 皿是直接面对硬件, m c u 中的程序结构一般是顺序执行和硬件中断相配合的方式。这与高级操作系 统中的多线程并发执行的方式截然不同。现在很多嵌入式系统开始采用嵌入式操 作系统,这些操作系统提供了基本的任务调度,实现一些信号量、内存管理机制。 但是由于这些嵌入式操作系统并不遵循一定的规范,每个操作系统提供的系统调 用的数量和内容都不相同,要移植操作系统,就要尽量减少对系统服务的依赖。 嵌入式系统的t c p 佃协议栈往往只是作为一个用户进程运行在操作系统中。 2 5 2 嵌入式系统的t c p i p 协议栈的实现 在嵌入式系统中很难做到支持完整的t c p ,i p 协议栈,也没必要傲到实现所有 协议栈,这是由嵌入式系统的应用特点决定的。首先嵌入式系统中实现的协议要 根据各个系统的特点和功能来进行设计其独特的代m p 协议族,实现与需要相关 的部分,而不使用的协议则一概不支持:其次,对于使用的协议,根据具体应用, 也有必要作简化。嵌入式t c p 仰协议栈一般常实现:舢心瓜a r 只皿i c m p ,t c p u d p 等协议。在t c p i p 协议栈的设计中要综合考虑系统应用的领域,功能和控制器存 储器及选用的协议,获得最佳方案。 t c p i p 协议栈的输出过程以一个u d p 输出为例,应用程序调用输出函数,输 出函数将验证参数有效性,并将数据和端口等信息拷贝到一个或多个m b u 件, 然后调用u d p 的输出例程,把m b u f 作为参数传给它。u d p 输出例程将在这些数据 前添加一个i p 首部和一个u d p 首部,然后填写u d p 首部和d 首部中能填写的部 分,接着在调用i p 输出例程,并把现在m b l l 瑞表的指针传递给i p 输出例程。i p 输出例程会填写i p 首部中剩余的字段,包括i p 校验和,确定数据报应发往的接口 ( 必要时对i p 报文分割) 以及调用以太网输出函数。以太网输出函数首先把3 2 1 6 浙江大学硕士学位论文 位i p 地址转换成相应的4 8 位以太网地址( a i 心协议) 。然后把一个1 4 字节的以太网 首部添加到链表的第一个m b u 抻,以太网首部包括6 字节以太网目的地址、6 字 节以太网源地址和2 字节以太网帧类型。之后此m b u f 链表被加到以太网输出队列 的队尾,当以太网输出例程处理队列中的m b u 耐,它把数据复制到它的传输缓 存中并开始输出。一旦数据从m b u 璃圭表被复制到设备传输缓存,m b u f 链表就会 被以太网输出例程释放。最后函数按调用的相反顺序返回,最后返回至该应用程 序。而输入过程与输出过程不同,输入是异步的,它是通过中断程序来接收的。 中断处理程序将数据从设备读入到一个m b u f 链表中,然后把这个m b u f 传给以太 网输入例程,它通过以太网帧中的类型字段来确定那个协议层来接收此分组。如 果是i p 数据报的话,m b u 侩被加入到i p 输入队列中,另外会产生软中断来执行 i p 输入例程。i p

温馨提示

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

评论

0/150

提交评论