1、东北大学硕士学位论文基于IEC61375-1标准的列车通信网络(TCN)协议栈的研究与实现姓名:王健申请学位级别:硕士专业:通信与信息系统指导教师:张大波20031230东北大学硕士学位论文 摘要基于IEC613751标准的列车通信网络(TCN)协议栈的研究与实现摘 要目前,列车朝高速化、自动化方向发展已经成为必然的趋势,集列车控制、故障诊断以及旅客服务信息处理于一体的列车通信网络是高速电力列车上控制系统的关键技术,符合国际标准的列车通信网络设备有着极其广阔的前景。本课题主要在研究列车通信网络的基础上,设计和实现了符合国际标准IEC613751的列车通信网络协议栈,本协议栈工作于多功能车辆总线
2、之上,实现车辆内的信息交换。本文首先讨论了列车通信网络的发展和列车通信网络协议的体系结构,分析了列车通信网络国际标准IEC613751中的RTP(Real Time Protoc01)协议和MVB(Multifimction Vehicle Bus)协议,研究了列车通信网络中过程数据和消息数据的工作原理。然后提出了一种基于嵌入式操作系统Nucleus和32位高性能ARM处理器的列车通信网络协议栈的设计方案,给出了基于Nucleus操作系统的协议栈的体系结构和模块划分,以及各个模块的功能描述,并着重论述了协议栈链路层模块和传输层模块的具体实现过程,说明了这两个模块中主要功能的详细设计方案,包括设
3、计中用到的主要数据结构和Nucleus系统服务的说明,并给出了算法描述和流程图。列车通信网络协议栈是列车上的智能设备进行通信的基础,协议栈软件在整个列车通信网络中占有重要的地位,本文最后给出了协议栈在实验室中搭建的MVB总线上的运行效果,并对系统的下一步开发和改进进行了展望。关键字列车通信网络,多功能车辆总线,协议栈,嵌入式,链路层,传输层东北赶学硕士学位论文 ABSTRACTResearch and Implementation ofTrain Communication Network(TCN)Based on IEC613751 StandardABSTRACTNowadays,it i
4、s certain that the new generation train will follow the trend oflli幽*speed and automationAs the combination of train control,failure monitor andprocess of passenger service information,TCN(Train Communication Network)is thekey technology in the control system ofhigh-speed electrical trainSo there is
5、 no doubtthat the devices conforming to the international standard of TCN will have verypromising futureThis project mainly designs and implements TCN protocol stack conforming to theIEC61375-i intemationai standard based on the researGtl of the Train CommlmicationNetwork,this protocol stack works O
6、1 Multifunction Vehicle Bus and provides themeans of information exchangeFirstly,this paper discusses the development and architecture of the traincommunication network,analyzes the RTP(Real Tune Protoc01)and MVB(Multifunetion Vehicle Bus)protocol of the IEC613751 which is an imemationalstandard of
7、TCN and explains the detailed communication process of process data andmessage dataSecendlythis paper proposes a solution ofthe RTP protocol stack based 0n Nucleusoperating system and 32-bit RISC(Reduced Instruction Set Computer)ARM processor,gives the architecture and allocation of the modules of t
8、he protocol stack based onNucleus,then focuses on the implementation of the data link layer and transport layerand gives the descdpfion of each modules,then gives the detailed design of these twomodules including the main data structures and system services ofNucleus used in thedesign and gives the
9、algorithms and flowcharts ofthe software。Finally,this paper evaluates the performance of the protocol stack software runningon the MVB platform set up in the lab and gives the expectation of the development ofthe system。 一Key words Train Communication Network,Multifunction Vehicle Bus,protocol stack
10、,embedded,link layer,transport layer,I声 明本人声明所呈交的学位论文是在导师的指导下完成的。论文中取得的研究成果除加以标注和致谢的地方外,不包含其他人己经发表或撰写过的研究成果,也不包括本人为获得其它学位而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明显的说明并表示谢意。本人签名:上硬日 期:加埠12目习肆查!垄鲎堡主芏堡堕查 堑二主堕堡第一章绪论11列车通信网络的发展111列车通信网络的产生目前,在列车上存在着进行设备控制和为旅客服务的大量信息。由于这些信息的数量和种类在不断增长,因此,就迫切需要一种大容量、高速度的信息传输系统
11、。在这种背景下,随着车载微机进一步向高级阶段发展,集整列列车内部测控任务和信息处理任务为一身的列车通信网络(TCNTrain CommunicationNetwork)也就应运而生了。列车通信网络集高速列车控制、故障检测与诊断系统以及旅客服务信息处理系统三大系统为一体,以车载微机为主要手段,将这些系统产生的大量列车信息转换为统一的数字信息进入车载微机并在网上交换。112列车通信网络的特点列车通信网络属于局域网,采用总线型拓扑结构,但又与通用的局域网有所不同。一般的地面局域网长度可达十几公里,而按照国际铁路联盟22个车厢构成的列车组织介质,连接电缆延伸仅有850米,其中包括所有的干线电缆、扩展电
12、缆和耦合电缆,这与22节每节26米的车厢组织是对应的。另外,与一般的地面局域网相比,列车通信网络具有以下特点:电磁干扰及震动十分严重;实时性要求高;车载网络设备的体积要小。由于节点数目不多,且整个列车长度不足一公里,列车通信网络比较适合建成两级结构:连接列车或车厢内部各终端设备(计算机、各传感器和执行机构等),即较低一级的多功能车辆总线(MVB-MultifunctionVehicle Bus);连接列车和中间车厢各网络节点,即较高一级的列车总线(WTBWire Train Bus)。上述列车总线和车辆总线构成了列车通信网络,其框图如图11。东北大学硕士学位论文 第一章绪论vehicle bu
13、s devices图11列车通信网拓扑结构Fig 11 Topology of TCN113列车通信网络的现状与应用从70年代开始,国外大公司如西门子、ABB等就开始了车载微机的研究,并相继制定了自己的列车总线标准,如ABB的MVB、西门子的DIN43322和意大利的CD450等。目前,列车通信网络在欧滑隋比较广泛的应用,各大公司对列车通信网络的研究都已相当成熟,也都有良好的运行记录,但是这些系统之间却各成体系,互不兼容。这对于以此为基础的产品的开发造成一定的困难,对今后铁路列车通信网络的发展设置了障碍。为了进一步使涉及该系统各部分设备的众多生产厂家能有一个相对一致的标准,同时也考虑到普通列车
14、车载微机的进一步发展,国际电工技术委员会IEC的第九技术委员会TC9的第二十二工作组WG22特别制定了列车通信网络的国际标准IEC613751。我国列车通信网络的发展起步较晚,还处于研究阶段,国内目前只有少数电气化线路上购买了国外的列车总线设备。12课题的提出及意义列车通信网络是将来高速电气化列车必不可少的组成部分。也是列车自动化发展的必然方向。目前,中国政府已经在IEC613751国际标准上签字,声明中国今后将遵守这个列车通信网络的国际标准。随着经济全球化,国际交往的不断增加,可以预见,中国今后自主研发的高速电力列车必将需要配备符合国际标准的列车通信网络设备,而目前我国还完全依赖进口外国大公
15、司的设备,因此自主研发我们的列车通信网络设备将具有很好的市场前景和重大的意义。本课题就是在这个大背景下提出的,我们使用嵌入式操作系统Nucleus和ARM7TDMI处理器开发硬件电路板以及软件协议栈。本课题主要包括三部分:VCU系统硬件设备的开发、TCN软件协议栈的开发、MVB总线控制器的开发。本文主要讨论基于嵌入式操作系统Nucleus和处理器ARM7TDMI的软件协议一2东北大学硕士学位论文 第一章绪论栈的设计与实现。包括整个系统的解决方案,重点讨论协议栈的链路层和传输层的设计与实现。13论文结构本文主要是在研究列车通信网络的基础上给出一个基于Nucleus嵌入式操作系统和ARM处理器的列
16、车通信网络协议栈的设计与实现,并重点论述传输层和链路层的实现过程。第一章和第二章主要论述了列车通信网络的发展现状和IEC61375-l协议的内容。第三章和第四章介绍了嵌入式系统原理及本软件的开发平台。第五章论述了协议栈的设计和传输层与链路层的具体设计方案。第六章总结了协议栈的运行效果,并对今后的工作进行展望。3东北大学硕士学位论文 第二章IEC61 3751标准的研究第二章IEC613751标准的研究21体系结构IEC613751国际标准主要包括两部分:上层的实时协议(RTPReal TimeProtoc01)和底层的总线协议。实时协议包含了OSI参考模型中的五层,分别是:应用层、会话层、传输
17、层、网络层和链路层。总线协议给出了两种,一种是多功能车辆总线(MVBMultifunction Vehicle Bus),一种是列车总线(WTBWire TrainBus)。这些总线在链路层提供了相同的两种服务:过程数据:周期性的,源寻址广播数据;消息数据:按需传送的,目标寻址的数据报文。实时协议提供两种与总线无关独立的应用服务:变量群(分布式数据库); 、消息群(呼叫应答及多播消息)。实时协议(R11P)为一个应用与另一个应用在列车通信网络上通信提供服务。这两个应用可以位于不同车辆上、在同一个车辆内或在同一个设备内。实时协议可用于多功能车辆总线、绞线式列车总线或有相同基本服务的其它总线的通信
18、。TCN总线采用主从式通信方式,每个总线上只能有一个主设备,其它设备为从设备。总线支持两种类型的数据传送:周期性数据及偶发性数据。周期性数据,在一个特征周期的周期相内周期性地发送的数据。特征周期可以是基本周期的若干倍;周期相在每个基本周期中占有一个固定的部分,在周期相中总线主按预定顺序轮询各设备以获取周期性数据;这种通信称为周期性通信。偶发性数据,它是在两个周期相的间隔中按需要传送的数据,这种通信称为偶发性通信。两个周期相间的间隔称为偶发相。MVB和WTB总线总是处于总线主控制下,从设备即使在偶发相中也不能自发地发送。这样可维持过程数据发送的确定性。211过程变量过程变量表示物理过程的状态,传
19、送它们的目的是为了监视、控制和命令。例如,过程变量传送轴速度、电机电流或制动力(它们在司机室被显示)和司机d东北大学硕士学位论文 第二章IEC61 3751标准的研究的控制命令等。过程变量群用于时间紧迫的应用,应该被迅速地分发。TCN用分布式过程数据库的概念为过程变量提供传送服务。按这种概念,不同设备中的应用可以访问好似位于一个全局数据库中的过程变量,每个设备都有各自的过程变量,它的产生或消费在被称为通信存储器的共享存储器中,是网络产生的全局数据库的本地的部分拷贝。于是,进入分布式数据库的变量也分配到所有其它拷贝上,产生那个变量的应用称为发行者,而接收那个变量的应用就是用户。总线负责该数据库的
20、现实化:源设备总线控制器读出发行者端口的值并在总线上广播;而用户宿设备的总线控制器将接收的值存储到它们的通信存储器中,改写了以前的值。2111寻址广播过程变量有较小的长度:二进制变量用1位或2位来表示,大部分的模拟变量用16位表示。由于单个传送它们效率很低,因而将同一设备产生的几个过程变量组合成过程数据帧来发送。总线的广播能力提供了一个有效的现实化的分布式数据库。由于同一过程数据常有几个地方需要它,过程数据采用广播来实现同时将数据发送到多个设备。过程数据由它们的源地址标识,而不采用目标地址标识,因而被称为源寻址广播。由于过程数据是用源标识的,组态是在正常工作之前进行的,这样就保证总线主、源和宿
21、三者对给定标识符的数据格式和含义的一致性。21 1 2端口作为源的从设备立即响应总线主的轮询,不允许其它设备发送,因而在总线主轮询后的很短时间内(MVB上为几微秒)来自从设备的过程数据就可到达。同样,应用读写变量的时延也只有几个微秒。这么短的应答时延需要应用和网络间有共享存储器,并保证同时访问不影响一致性。源应用把它的进程数据放入端口,端口是处理整个总线帧的寄存器,总线上的主帧寻址一个源端口和多个宿端口,属于不同的设备的源端口和宿端口有同一标识符。端口保证当总线和应用处理器同时访问时数据读出的一致性。这要求端口至少由两个交替工作的页面组成。端口也提供控制访问、数据刷新及中断的方法,这由附属于每
22、个端口的端口控制及状态寄存器来实现。一个设备的端口位于通信存储器中,它是应用处理器(cPU)和总线控制器共享的存储器。在简单设备中,没有通信存储器,端口简化为寄存器。2113过程数据的介质访问由于过程变量用于时间紧迫的闭环控制中,它们的传送应有相对严格的定时。为此,过程数据采取周期性的传送,传送的频率取决于它们的紧迫性。周期性传送时不论其值改变与否都进行传送。5东北大学硕士学位论文 第二章IEC61 3751标准的研究212消息服务2121通信实体消息服务允许一个应用按需对另一应用发送任意长度的数据,另一应用可位于其它车辆上,其它设备上或在同一设备内。提供消息服务的设备称为站。一个站可支持多个
23、应用。在一个站内,同一应用可有几种拷贝或应用事例。概念上说,TCN的所有应用是作为独立的进程并行运行的(进程可由任务或类似结构来实现),为此,术语“应用进程”用于标识消息的终端用户。按寻址方式不同,应用进程有两种类型:用户进程执行功能,完成控制系统的实际工作,例如门控及防滑。用户协会可以在企业标准中做出规定。给网络管理的两种应用进程:每个站中的代理者执行网络管理功能,如配置本站的参数。代理者仅是每个站中才有的应用进程。经营者发布代理者须执行的请求,代理者可以和经营者在同一站中,也可以在不同站中。代理者应响应这个请求。只有管理站中才有经营者。通常经营者与代理者通信,用户进程与其它用户进程通信。2
24、122消息应用对大的数据项(如诊断信息或设备下载)是按消息而不是变量发送的。消息也可用于发送短的命令(如关闭某一个门),它如果采用周期性发送就太累赘。消息服务有赖于总线按需发送面向目标的数据报文(消息数据)的能力。为保证端对端发送的可靠性,应用间的相互通信采用应答方式:呼叫应用给应答应用发送一个消息,应答应用对此回答一个应答消息。在每个站中协议由信使执行,概念上说,信使作为独立的进程与应用并行运行。呼叫者通过应用层接口给信使发送个呼叫消息。信使的会话层打开(过一会关闭)连接。传输层把消息分成数据包序列并发送到网络层。包的长度应小到足以适应总线帧。网络层查阅它的功能和站索引,译出包地址并将包转发
25、到链路层。远程信使将给应答者一个完整的消息已经到达的信号,应答者将在相反方向上用应答消息作回答。生产者和消费者的传输层执行消息传送协议,实现流量控制和差错恢复以避免包的丢失或包的重复。每个站的信使执行传输协议。生产者的信使将消息分成若干数据包,而消费者侧的信使用控制包的方法来确认。2123消息数据的介质访问消息按需发送,它的响应时延变化取决于网络负荷,因而不能保证消息的传6东北大学硕士学位论文 第二章IEC61 3751标准的研究递时间。象过程数据一样,总线主对各设备轮询消息数据,设备以它的消息数据来响应这个轮询。2124系统梗概系统地址是预留给网络管理使用的。为了在各种拓扑下寻址设备,网络管
26、理把列车通信网络看成是挂在每个节点上的多个站,节点本身也是其中的一个站。对网络管理来说,只有站(能进行消息通信的设备)是可见的,每个站用站标识符来标识。一个节点上最多可挂254个站。站用系统地址来访问,系统地址由节点地址(或组地址)和站标识符以及一个可选的下一站标识符组成。经营者用站标识符而不是设备地址来访问设备。这样使它与特定总线或几条车辆总线的寻址方式无关。因而站标识符与设备的链路地址(总线标识和设备地址)间要有一一对应的映象。站索引提供了一个总映象:对每个站标识符指明了相应的总线标识及总线上的设各地址。2125用户梗概用户进程在通信时只能使用用户地址,这个地址是与系统地址相对应的。每个车
27、辆都支持许多应用功能,功能由设备执行,把功能映象到设备取决于实现方法。功能可以由连到车辆总线上的设备执行,也可以直接由列车总线节点执行。列车总线的用户并不期望知道一个车辆所包含的全部设备,它只考虑一个车辆能支持的许多功能(如门、制动等),但不规定一个特定功能由哪个设备去执行。为此,用户并不对远程设备寻址,而是对一个远程功能寻址,规定了该功能有关的节点及功能标识符。功能可以由节点本身,或由连到节点的任一设备来实现。节点路由选择将消息传送到正确的设备。用户应用把网络看成是由能支持许多功能的各个节点组成,通常用户应用不规定该功能由哪个站来执行,但呼叫者或应答者可以在用户地址中规定功能能够到达的下一站
28、。功能由它们的用户地址来访问,用户地址由节点(或组地址)地址、功能标识符及可选的下一站标识符组成。22实时协议(RTP)221概要RTP规定两种主要的应用通信服务:(1)变量:传送具有确定传输延时的短数据,包括:过程数据链路层接口(LPI);过程数据应用层接口(AvI)。一7东北大学硕士学位论文 第二章IEC61 3751标准的研究(2)消息:传送可能冗长但不频繁的数据项,如果必要,数据项被拆分成小包并基于需要发送,包括:消息数据链路层接口(LMI):。用于选择包在网络中的传送路径的网络层;提供流量控制和差错恢复的传输层;配对呼叫消息和应答消息的会话层;消息的应用层接口(AMI)。实时协议的分
29、层结构如图21所示。变量 消息API 应用层接UAMI变量消息适配器(AVA)空应用消息适配器(AVA)单播厂多播一(表示层)会话层传输层接口 链路层接口LMI消息数据(LJ执)图21实时协议分层Fig21 Structure of the m222变量服务和协议2221概要服务和协议分成底层接口和上层接口:底层接口即链路层接口,它规定期望来自总线的服务;一8一实时协议链路层 线j 特JL 6的丁总丁岍訾一东北大学硕士学位论文 第二章IEC61 375-1标准的研究上层接口即应用层接口,它规定提供给应用的服务。2222过程数据的链路层接口(1)用途链路过程数据接VI(LPI)定义由总线提供给上
30、层协议的过程数据服务。LPI定义端口初始化、写入和读出端口的全部数据集相关的同步原语。底层通信不由本接口规定。端口之间的传送,包括总线主的轮询策略是由链路层和物理层来实现的。(2)数据集链路层提供多个过程数据通信端口。端口是一种非队列的数据结构,也就是说对端口写入新值将覆盖原值,对端口的读操作不改变端口中的数据。链路层和应用层能够一致地访问端口,也就是说,对端口中所有数据的读和写在一次不可分割的操作中完成。同一链路层的端口属于同一通信存储器。一个通信存储器中的端口由端口地址来标识。个设备中的通信存储器由通信存储器标识符来标识。每一个端口只有一个数据集。一个数据集只由一个发布者应用产生。总线上一
31、个给定的端口地址只能有一个源端口,但可能有多个宿端口。不同设备的链路层可以在一个限定的时间内发送一个源端口的内容给所有预订同一端口地址的多个宿端口每一个宿端口,也就是每一个预订的数据集都有一个关联的刷新定时器,用来指示从总线将新值写入端口后所经过的时间。刷新定时器值与数据集内容一起在一次不可分割的操作中读取。刷新定时器达到最大定时值后停止运行。在一个设备内,数据集由其所在的通信存储器的端口地址来标识。通过总线发送时,数据集由其所在总线上的过程数据帧的逻辑地址来标识。过程数据帧的逻辑地址与数据集所在的通信存储器的端口地址相同。在一个设备内,数据集由其DS Name来标识,由traffic sto
32、re id和port address组成,可以方便的由一个16位的整数表示,如图22。f 0 l 2 3 4 5 6 7 8 9 10 1l 12 13 14 15traffic store id port_addressI图22数据集名Fig22 D6 Name通信存储器标识符(trafic_store id)选择一个设备中的一个通信存储器。最多可-9东北大学硕士学位论文 第二章IBC61 375-1标准的研究以有16个通信存储器。端口地址用来区分由通信存储器标识符选择的一个通信存储器中的4096个端口。(3)链路过程数据接口原语链路过程数据接口(LPI)规定数据集访问,原语列表如表21。表
33、21 LPl原语Table21 LPI primitives名称 含义lp_init 初始亿通信存储器lp_put_datasgt 插入一个用于待发送的数据集Ip_get datasel 获取一个接收到的数据集ds subscribe 预订一个用于同步的数据集aevent 发送或接收同步ds_desubscribe 从同步取消一个数据集2223过程变量的应用接口(1)用途应用变量接口(AVI)定义提供给应用的变量传送服务。这一接口的原语只访问通信存储器的端口而不触发总线通信。协议保证发布者将变量写入端口将在限定的时间内使相同的变量写入预订者相应的端口。(2)过程变量过程变量是作为数据集的一部分
34、传送。所有属于同一个数据集的过程变量将被作为一个整体进行传送和储存。在一个设备内,过程变量由其所在数据集(DS Name)和其在数据集中的位偏置(Var_Offset)来识别。通过总线传送时,过程变量由其逻辑地址和其在被传送的数据集中的位偏置(Var Offset)来识别。在一个设备内,每一个过程变量由一个唯一的标识符(称为Pv Name)柬识别,它由以下元素组成:。Traffie_Store_Id;。Port_Address;Var_Offset|。Vat Size;Var_Type;ChkOffset。10东北大学硕士学位论文 第二章IEC61 37 5-I标准的研究设备内的通信存储器最多
35、16个)由Trai五c Store Id标识。Port Address标识通信存储器内4096个端口中的一个。如果一个数据集包含一个无符号整数,则最高有效位的偏置为0。Var Offset说明过程变量的值所在的字段起点相对于字段及数据集起点的位偏置。过程变量定位的Vat offset是在其长度的整数倍的位置。Var_Type和VarSize唯一地标识丁过程变量的格式,Vat_Type指示类型,Var Size指示长度。(3)应用变量接口原语应用变量接口(AVI)原语分为3组:单个变量访问;集合访问;群集访问。单个变量访问的原语如表22,访问过程如图23。表22单个变量访问的原语Table22
36、Individual access primitives名称 含义ap out_variable 从应用内存地址空间拷贝一个单个的过程变量及其检查变量到通信存储器ap-get_vaffable 从通信存储器拷贝一个过程变量及其检查变量和刷新定时器值到应用内存地址空间apforcevariable 强制端口中的一个单个过程变量为给定值ap_unforce_variable 结束对变量的强制,恢复正常的总线访问ap unforee_all 结束对一个通信存储器中的所有变量的强制东北大学硕士学位论文 第二章IEC61 3751标准的研究传送图23 单个变量访问Fig23 Individual acc
37、ess集合访问的原语如表23,访问过程如图24。表23集合访问原语Table2。3 Set access primitives名称 含义ap_put_set 在一次不可分割的操作中,从应用内存地址空间拷贝属于同一个集合中的过程变量到端口ap geLset 在一次不可分割的操作中,从端口拷贝属于同一个集合中的过程变量到应用内存地址空间12东北大学硕士学位论文 第二章IEC61 3751标准的研究图24集合访问Fig24 Set access群集访问的原语如表24,访问过程如图25。表24群集访问原语n出le24 Cluster access名称 含义ap_put_cluster 从应用拷贝一个变
38、量群集到通信存储器,属于同一个PV_SET的变量一起拷贝ap_get_cluster 从通信存储器拷贝过程变量的一个群集到本地用户实体。属于同一个PVsET的变量一起拷贝13东北大学硕士学位论文 第二章IEC61 375-1标准的研究223消息服务和协议传图25群集访问Fig25 Cluster access2231概要消息服务和协议分为底层接口和上层接口:底层接口即链路层接口,它规定来自总线的服务:上层接口即应用层接口,它规定提供给应用的应用层服务。2232参考站提供消息服务的TCN站包含下列要素:至少连接一条总线,能够通过LPI访问,能够实现链路层进程:一种在网络层、传输层、会话层和应用层
39、实现的协议机制,称为信使;一个或多个应用进程,其中之一作为网络管理代理者。经营者站提供经营者应用进程。(1)终端站只连接一条总线的站叫做终端站,它只有一个链路层。(2)路由器站连接到几条总线的站,每一条总线都有一个链路层。14东北大学硕士学位论文 g_-章IEC61 3751标准的研究(3)站标识符站由Station Id来标识。由于每个站可能只有一个代理者和一个经营者,因而Station Id也标识代理者。站标识符不必与设备地址相同。每一条与路由器站相连的总线都有一个设备地址,但Station Id只有一个。站标识符可以通过网络管理来修改,而设备地址通常是由硬连线决定的。(4)总线标识符站通
40、过总线标识符(Bus Id)识别每一个被连接的链路层,即车辆或列车总线。每个站最多可连接16条总线。(5)链路地址站通过链路地址识别每一个能够通过总线访问的设备。链路地址由总线标识符和设备的设备地址连接组成。22 33消息包处理协议栈程序处理通信协议堆栈内的包。在消息服务中,接口过程通过指针指定消息包。从而允许程序使用这一指针通过索引或拷贝来传递包的内容。(1)包库为了保证一个站内访问的一致性,传输层、网络层和链路层使用的所有的包都具有相同的格式。为了通过索引而不是通过拷贝来传送包,因而需要以包库的形式进行包的动态存储器管理。首先,用一些空的包建立一个包库。用户可以从库中申请包并在使用完之后归
41、还。在一段较长的运行中来自和返回一个库中的包的网络流应该相等。包库有多个,一般每个链路层一对。包所属的库是包的属主。(2)包格式包由包描述符来标识,描述符指向将被发送的包的数据以及用于包管理的其它字段。包格式如图26所示。15东北大学硕士学位论文 第二章IEC61 3751标准的研究帧数据厂、1丽磊再弋包索引 r、r包 包下一个包 属主 控 状 链路报头 网络报头 砌 传送数据出l 血WTB l DD l LCI SD SZ IrIB 984bitsl 帅l?6bitsIIvB m如DD写 SD SZ指针 指针8 8 32图26包格式Fig26 Format of the packet nex
42、t:包中的第1个字段保留给指向另一个包的指针,从而可以将包连接成一个序列或队列。 owner:包的第2个字段标识包的属主(库),这一字段用于处理用过的包。 paeketcontrol:含有供链路层读取的管理信息,但不修改。 packetstatus:由链路层修改供其它层读取。包的剩余部分为通过总线实际发送或接收的帧。 Link_Header对不同的总线(MVB、WB或其它总线)有不同的格式。除了其它总线特定的控制信息之外,还包含源设备地址和目的设备地址。只有链路层对Link Header感兴趣,网络层当作参数接收这一信息而不分析它。 Size字段用来表示Link Data的长度,不包括Size
43、字段的本身。2234消息链路层(1)用途通常,一个设备的链路层与另一个设备的链路层协作,在位于同一总线上的源设备和目的设备之间交换包。如图27。一16东北大学硕士学位论文 第二章IEC6 t 3751标准的研究用户进程用户A 用户B帚匣 詹同应用消息接口(AMI)一高层应用层(表示层)会话层传输层网络层应用层(表示层)会话层传输层网络层1m_deq=r掣嚣F!:斗毒丁嚣r州icate链路层总线帧叶丽厂面两磊r图27链路层数据传送Fig27 Transmission of link data接收队列(2)链路层结构链路层提供一对队列网络层放入待发送包的发送队列(Send Queue)及网络层从中
44、获取来自总线的包的接收队列(Received_Olueue)。路由器站有多个链路层,每条连接着的总线都有一个链路层。(3)链路层特征设各地址总线上的每一个设备由其设各地址(Device Address)唯一地标识。Devic钆AddressO标识本地链路层不可分配给特定的设备。最高的设备地址表示对总线上所有设备的广播,该设备地址不可分配给特定的设备。链路层对其发送的所有的包加入其设备地址(Device_Address)作为源设备(Source Device),但不将总线特定的广播地址作为源设备。链路层对其发送的所有的包加入远程设备的一17-东北大学硕士学位论文 第二章IEC61 3751标准的
45、研究设备地址(Device Address)或总线特定的广播地址作为目的设备(DestinationDevice)。链路层协议链路层协议是无连接的,也就是说只使用数据报文。链路层不自动重复丢失的帧。链路层为网络管理登记传送错误。(4)消息数据的链路层接口(LMI)消息数据的链路层接口定义链路层为网络层提供的服务。LMI原语如表25所示,其中小写英文表示函数,大写英文表示类型。表25 LMI原语Table25 LMI primitives名称 含义MD_RESULT 过程的结果lm_sent_request 发送一个包的请求LM SEND_CONFIRM 包已经发送完的确认LMGETPACKET
46、 获得一个空的包LM RECEIVE_INDICATE 指示包已经接收到Ira receive_poll 轮询以便接收包LM_STATUS_INDICATE 指示状态变化Im get_status 获取链路层的状态Ira_send_queue_flush 清除发送队列lm jnit 初始化链路层Im_get_dev_address 读设备地址2235消息网络层(1)用途包在网络层的传递如图28所示,分别是:从所在站的传输层到链路层(出境包);从链路层之一到传输层(入境包);在路由器节点中从一个链路层到另一个链路层(中转包)。网络层将包从起始站传递到终点站。为此,网络层使用以下索引提供的映射:站
47、索引;功能索引;一1 8东北大学硕士学位论文 第二章IEC61 375-1标准的研究组索引:节点索引。网络层是无连接的。本论文中只对站索引和功能索引进行讨论,组索引和节点索引在目前的协议栈中还没有实现。应用消息接口网络圈28一个节点的网络层FigStructure of the netlayer(2)索引站索引网络层将站标识符映射到这个站的链路层地址,反之亦然。功能索引网络层实现功能索引,将功能标识符映射到站标识符。(3)网络地址对每一个包,网络层都从其传输层或链路层之一接收一个终点网络地址。网络层使用这一终点网络地址构造其转发的包的链路报头和网络报头。网络层读取入境包的链路报头和网络报头,并
48、将其转换为到传输层的起始网络地址。图29是19东北大学硕士学位论文 g-:章IEC61 375-i标准的研究一种方便的网络终点和起始地址编码方式。0 1 2 3 4 5 6 7fsu fgi final_nodeor_groupfinalfunction orstationnext starionfry ftv my-topo终点网络地址0 1 2 3 4 5 6 7091 origin_nodefinalfunction or_stationthis stationOrV otv thistopo起点网络地址图29网络地址Fig29 Net address(4)系统地址或用户地址(fsuosu)网络地址的第一个8位位组的最高位,fsu或OSU表示:l:系统地址:下一个8位位组标识一个站;0:用户地址:下一个8位位组标识一个功能。起始地址中的OSU位与终点地址中的fsu位具有相同的值。(5)组地址或单个地址(fgiogi)终点网络地址的第一个8位位组的次高位表示:1:组地址;0:单个地址。在起始地址和终点地址中,西和ogi位具有相同的值。(6)功能或站网络地址的第二个8位位组:。如果fsuosu指定为系统,则为一个站标识符;如果fsuosu指定为用户