嵌入式系统中网络通信协议的选择
扫描二维码
随时随地手机看文章
一、 引言
一个现代化工业企业的网络环境一般可分为四个层次:
·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。