基于ARM的嵌入式TCPIP协议的实现_第1页
基于ARM的嵌入式TCPIP协议的实现_第2页
基于ARM的嵌入式TCPIP协议的实现_第3页
基于ARM的嵌入式TCPIP协议的实现_第4页
基于ARM的嵌入式TCPIP协议的实现_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

嵌入式系统中网络通信协议的选择一、 引言一个现代化工业企业的网络环境一般可分为四个层次:Internet:实现企业之间的信息交流;Intranet:实现企业内部管理、财务、办公及人事等的信息化;Infranet:实现工业企业现场生产设备级的综合管理、调度与监控等;Embedded Network :嵌入式网络。实现生产设备内部多个分布式子系统之间的实时通信。Internet、Intranet 都基于 TCP/IP 协议簇,Intranet 是面向广域网的 Internet 在企业内部局域网上的延伸。 Infranet 的建设目前主要采用各种现场总线协议,如ProfiBus、Lonwork、CAN 等。随着社会的进步和技术的发展,现代机电控制系统往往包括若干个子系统,每个子系统既自成一体,拥有自己独立的 CPU,又与其它子系统紧密协调。嵌入式网络就是实现子系统间相互通信的手段。二、对嵌入式网络的特殊要求嵌入式网络通常应用在环境比较恶劣的工业生产现场,因此在以下几个方面有其自身独特的要求:1. 实时性:生产设备内部多个分布式子系统信息耦合通常比较紧密,对实时性要求很高,这就要求所用的网络协议具有可确定的实时性能,即极坏情况下的响应时间是可确定的;另外在网络节点数比较多,或者有些节点对实时响应要求特别高时,网络协议还应支持优先级调度,以提高时间紧迫型任务的信息传输可确定性。2. 可靠性:嵌入式网络本身的可靠性直接影响设备的有效作业率、成品率和生产效率,要求网络能动态增加/删除节点;生产现场比较恶劣的电磁环境要求嵌入式网络本身具有很强的抗干扰能力、检错和纠错能力以及快速恢复能力;3. 通信效率:嵌入式网络通信的特点之一是子系统之间通信非常频繁,但每次通信的信息长度很短,因此要求嵌入式网络协议尽量采用短帧结构,且帧头和帧尾尽可能短,从而提高通信效率和带宽的利用率;4. 双重混合支持:不同工作环境的巨大差异决定了嵌入式网络应具有灵活的介质访问协议,不但支持多种介质(双绞线、同轴电缆、光缆),而且支持混合拓扑结构(星型、环型、总线型),有时甚至要求同一个嵌入式网络能同时使用多种介质和多种网络拓扑。如在噪声环境中,系统中一部分连接需要使用光缆,其它部分则使用双绞线或同轴电缆。同轴电缆适于采用总线拓扑,而光纤则更适于环型或星型拓扑,这就要求网络协议具有双重混合支持。5. 实现难度和造价:嵌入式系统通常需要针对实际需求进行专门设计与制造,这就要求其中的网络系统软硬件容易实现,并与子系统控制部分集成,有关元器件商品化程度高,造价较低。6. 开放性:嵌入式网络必需具有良好的开放性,一方面能通过企业 Infranet 连接到Intranet 中,实现企业生产管理的管控一体化;另一方面应具有公开透明的开发界面,资料完备,实现系统硬件、软件的自主开发和集成。此外,嵌入式网络系统必须配置灵活、维护简便。通常,嵌入式网络就覆盖范围而言属于局域网。按照 ISO/OSI 的观点,TCP/IP 协议簇位于网络层以上。显然,TCP/IP 协议簇已经超出了嵌入式网络系统的范畴。嵌入式网络包括 ISO/OSI 七层模型中的物理层和数据链路层。数据链路层在具体实现上可划分成两个子层:介质访问控制子层(MAC 子层)和逻辑链路控制子层(LLC 子层)。MAC 子层包括物理层接口硬件和实现介质访问协议的通信控制器;通常 LLC 子层由软件实现(用户自主开发)。因此,嵌入式系统设计中网络通信协议选择的核心是介质访问协议的选择。三、 常见介质访问协议的比较1、面向链接的协议面向链接的协议主要用在网络发展初期的主机终端式网络中,如 X.25 和 IBM 的 SNA网络。其主要缺点是:1)节点之间采用串行连接方式,每个物理连接只支持两个节点,速度较低;2)物理上没有连接的节点之间的通信需要经过多个中间节点的多次传输;3)直接相连的节点间的通信是可确定的,而间接相连的节点间的通信则无法确定延时。因此,在局域网技术已非常成熟的今天,这类协议已很少应用。2、轮询法轮询法因其简单和实时性能可确定等特点而成为嵌入式网络常用协议之一。采用轮询法的协议,需指定一个主节点作为中央主机来定期轮询各个从节点,以便显式分配从节点访问共享介质的权力。这类协议的缺点是;1)轮询过程占用了宝贵的网络带宽,增加了网络负担;2)风险完全集中在主节点上,为避免因主节点失效而导致整个网络瘫痪,有时需设置多个主节点来提高系统的健壮性(如 Profibus)。3、CSMA/CD(带冲突检测的载波监听多路访问)CSMA/CD 有许多不同的实现版本,其核心思想是:一个节点只有确认网络空闲之后才能发送信息。如果多个节点几乎同时检测到网络空闲并发送信息,则产生冲突。检测到冲突的发送信息的节点必须采用某种算法(如回溯算法)来确定延时长短,延时结束后重复上述过程再试图发送。CSMA/CD 的优点是理论上能支持任意多的节点,且不需要预先分配节点位置,因此在办公环境中几乎占有绝对优势。但在 CSMA/CD 中冲突产生具有很大的随机性,在最坏情况下的响应延时不可确定,无法满足嵌入式网络最基本的实时性要求。4、TDMA(时分多路访问)TDMA 已大量应用于移动通信领域(如 GSM、DAMPS),但也可用于局域网。TDMA 的特点是:每轮信息传输前,网络中的主节点先广播一个帧同步信号以同步各从节点的时钟,在帧同步信号之后,每个从节点在各自所分配的时间片内发送数据。TDMA 的缺点是:1)每个从节点必须有一个稳定的基准时间以确定时间片,因此从节点比较复杂,造价较高;2)TDMA 的主流应用领域依然是无线移动通信领域,用于嵌入式网络的 TDMA 无论在相关软硬件技术支持和市场认同方面都非常欠缺。5、令牌环在令牌环网中,节点之间使用端到端的连接,所有节点在物理上组成一个环型结构。一组特殊的脉冲编码序列,即令牌,沿着环从一个节点向其物理邻居节点传递。一个节点获得令牌后,如无信息要发送,则将令牌继续传递给下一个邻居,否则首先停止令牌循环,然后沿着环发送它的信息,最后继续令牌传递。令牌环网的优点是:1)在实时性方面是可确定的。因为容易计算出最坏情况下节点等待令牌的时间;2)令牌传递占用的网络带宽极小,带宽利用率很高,具有强大的吞吐能力。但这种协议在具体实现时为确保可靠性必须付出较大的代价:1)为了避免因电缆断裂和节点失效导致整个网络瘫痪,常采用双环结构(如FDDI)和失效节点自动旁路措施,导致实施成本增加;2)为了能立即检测到令牌是否意外丢失,不得不增加该协议实施的复杂性。6、令牌总线令牌总线的基本原理与令牌环网相似。但在令牌总线中,网络上所有节点组成一个虚拟环,而非物理环。令牌在虚拟环中从一个节点传向其逻辑邻居节点。只有持有令牌的节点才能访问网络。如同令牌环一样,令牌总线具有非常高的网络带宽利用率、很高的吞吐能力和良好的可确定性。另外令牌总线中各节点有相同的优先级;令牌总线中的电缆断裂并不一定导致整个网络瘫痪;网络运行过程中可动态增加或关闭节点,因此节点失误一般不会导致整个网络瘫痪(当然在网络启动、增加 /删除节点时会导致逻辑环重构,以便每个节点确定自己的逻辑邻居,这会有点费时);总线拓补结构还非常适合于制造设备。因此,令牌总线协议被 MAP (Manufacturing Automation Protocol,制造自动化协议)、ARCnet(Attached Resource Computer Network)采用,在过程自动化控制等嵌入式场合广泛应用。7、CSMA/CA (带冲突避免的载波监听多路访问)CSMA/CD 在节点数量不多、传输信息量较少时效率很高;基于令牌的协议具有良好的实时性和吞吐能力。人们已经开发出一种能综合以上两者优点的混合协议CSMA/CA。CSMA/CA 的本质是利用竞争时间片来避免冲突。其基本原理是:如同 CSMA/CD 一样,节点必须检测到网络空闲之后才能发送信息;如果有两个或更多的节点发生冲突,便在网络上启动一个阻塞信号通知所有冲突节点,同步节点时钟,启动竞争时间片(竞争时间片跟随在阻塞信号之后,其长度比沿网络环路传输时延稍长);通常,每一个竞争时间片均指定给特定的节点,每个节点在其对应的时间片内如有信息发送则可以启动传输;其它节点检测到信息传输后,停止时间片的推进,直到传输结束所有节点才恢复推进时间片;当所有时间片都失去作用时,网络进入空闲状态。为确保公平性和可确定性,在每次传输之后,时间片要循环。此外,优先时间片(the priority slots)优先于普通时间片的推进,能支持高优先级信息的全局优先传输。CSMA/CA 协议在具体实施中主要有两个变种:一是 RCSMA(Reservation CSMA),其特点是时间片数等于节点数。RCSMA 在各种传输条件下都能有效工作,但显然不适于节点较多的网络;在另一个变种中,时间片数少于节点数,且根据冲突最少的原则随机调整时间片的分配,根据所预测的网络流量动态地改变时间片数;如 Echelon 公司推出的广泛应用于智能大厦领域的 Lonwork 标准。另外,在 CSMA/CA 中,并非必需采用硬件来避免冲突,还可以通过软手段来实现,例如发送使时间片在没有网络传输的情况下仍然保持活动的哑信息。四、结论介质访问协议是嵌入式网络协议选择的核心。尽管没有哪一种协议对各种应用场合都是十全十美的,但通过对上述各种介质访问协议的分析和比较不难发现:令牌环、令牌总线、CSMA/CA 比较适合于嵌入式网络。但令牌环的具体实施比较复杂、成本较高,其应用越来越少。读者可针对具体应用需求,选用令牌总线(如 ARCnet)或 CSMA/CA。、基于 ARM 的嵌入式 TCP/IP 协议的实现日期:2008-8-12 13:55:00 作者:未知 来源:在网络应用日益普遍的今天,越来越多的嵌入式设备实现网络化。协议是一种目前被广泛采用的网络协议。嵌入式的技术核心是在嵌入式系统中部分或完整地实现协议。由于协议比较复杂,而目前嵌入式系统中大量应用低速处理器, 受内存和速度限制,有必要将协议简化。协议的实现嵌入式协议一般实现:、等协议,协议处理的主要流程如图所示。点击看原图协议的实现工业控制领域传输层采用协议、不用协议,是考虑到实时监控系统中传输量并不大, 而可靠性要求较高。协议是面向连接的、端对端的可靠通信协议。它采用了许多机制来保证可靠传输,应用于嵌入式系统显得过于复杂。协议数据传输可分为三个阶段:建立连接、传输数据和断开连接。它的实现过程可以用状态机来描述。建立连接有两种方法,即主动打开和被动打开。服务器端是一种被动打开, 它一直在侦听连接请求;而客户端是一种主动打开,它发送连接请求以建立连接。研究发现 ,如果层的上层实现服务器端的应用 ,可以将标准状态机建立连接过程中客户端建立连接的状态机部分简化掉。同理,如果应用是基于客户端的, 可以将服务器端建立连接的状态机部分简化掉。断开连接有两种方式:一是主动断开连接;另一是被动断开连接。被动断开连接的处理较为简单,但标准协议的主动断开连接的状态机部分过于复杂。经过实验发现, 在需要主动断开连接的时候,发送一个数据报;接收到对数据报的确认后 ,再发送一个数据报 ,即可顺利完成一次主动断开连接。标准的协议使用慢启动的滑动窗口机制。滑动窗口是一种在流量控制和网络传输效率之间折中的方案。它允许发送方在等待一个确认之前发送多个窗口,其确认是一种批量的确认。研究滑动窗口协议发现, 滑动窗口的一个极限情况,是只使用单个窗口 ,就变成了一种简单确认的处理方法。使用该方法后 ,所有的处理只是对单个数据报的发送和确认,节约了系统的资源 ,也使维护更加方便。为了协议的兼容性 ,需要通信的另一方也使用简单确认方法。因为如果对方使用较大的窗口,就可能造成处理器被淹没。这个问题可以通过设置待发送数据报的头部的字段的大小解决。在上述基础上,简化实现协议的流程图如图所示。其中“不同状态的相应处理”指根据接收到的报文准备待发送数据报并将其发送到以太网上。这部分根据所处的不同状态,所做的处理是不一样的。协议协议是的基础,为不同网络的主机之间发送数据报的操作序列提供无连接服务。通过在数据报前添加协议头,使每个数据报具有寻址能力。嵌入式系统只把作为传输工具, 进行简化以完成主要的操作。得到包后,检验头部的版本、目的地址、校验和正确否, 解析出协议类型字段,由此交给相应的高层协议处理。发送包时,将缓冲区内的源地址与目的地址互换 ,设置校验和 ,然后交给下层协议处理。不符合要求,则将此包丢弃。包最大可以为,可以分段传输, 而在嵌入式系统里根本无法容纳如此大的数据包 ,因此一般不支持分段传输。所以限制发送和接收数据包的方式以避免分段传输,从而减少程序复杂度。 其它协议协议为位地址到对应的位以太网地址之间提供动态映射。嵌入式系统中仅响应请求,发送回答包。请求者广播出包含请求的以太帧、目的以太网地址为全的广播地址。本机收到后,由目的地址发现自己是目的主机,发送一个回答。通过协议传输其报文。协议是无连接的,它无法将报文和错误信息传到最初的主机 ,将状态信息和错误信息发送到发报文的主机。前端设备的系统设计协议扩展到工业控制级,将企业内部计算机网络应用于工业现场实时信息的发布和显示,通过浏览器对现场工业信息进行动态监视。下面是笔者在某公司一分布式监控系统中的应用实例。基于协议的前端设备系统软件结构如图。前端嵌入式设备处理器是公司的(核)。该芯片是用在基于以太网系统的高性价比、高性能的位微控制器。通信部分采用接口方式,信号输出经耦合隔离变压器由接头联入集线器,此外还设计了液晶显示和键盘输入当地接口功能。在协议中多处用到超时和重发机制。这种机制对于确保两个或多个彼此独立的通信结点从通信错误或故障状态自动恢复到正常状态是非常有效的,但也增加了软件结构的复杂性。因为对超时的处理通常独立于正常程序流程,也就是与正常的程序流程异步。要实现的协议软件中有四处要用到定时器:第一是在高速缓存的维护中,被添加到高速缓存中的表项在一段时间后要置为无效; 第二是在等待对发出的请求返回响应时,可能会在指定的超时时间内还未收到返回的响应; 第三是在组装收到分片时,由于部分分片在一定时间内没有收到而丢弃整个包;第四是在等待接收方对数据段的确认时。如果在指定时间内还未收到对某个数据段的确认,需重新发送。从上述可见, 要实现的定时器具备以下特点:对定时的精度要求都不是很高,基本都是

温馨提示

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

评论

0/150

提交评论