已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西南交通大学本科毕业设计(文献翻译)绞式列车总线协议栈的仿真开发Hibai Unzueta,Jaime Jimnez,Jos L . Martn.,Jon Andreu,Carlos Cuadrado (西班牙巴斯克城市大学 工程学院 电子与通信部门 )摘 要现代化的列车总线必须可以配合动态车载网络的拓扑结构,同时确保数据的实时传递。特别在绞式列车总线(WTB)中,大部分节点都是复杂的多处理器网关。在这些系统中,链路层相关的任务,如在列车通信网络(TCN)的标准定义,需要有一个专用处理器的来行使绝对的权利。然而,固件的开发很容易丢失信息或在传送信息的过程中出错。为了提供一个强大的开发和验证环境,工作人员创建了列车通信网络的相关仿真应用。本文由开发者创建了一个虚拟的网络调试和测试列车通信协议栈,并最终在它之上建立了应用程序。1. 介绍验证一个协议的实施涉及能否确保该通信系统实现预期的功能。这不仅意味着它的工作流程是正确的,还需要它提供理想的服务质量。为此目的,开放系统互联模型(OSI)的分层结构非常有用,因为它允许设计师通过对每一层进行分解并非别进行核实来检测一个协议的实施。此外,这种结构使得协议本身更容易得到开发,因为当顶部和底部的接口已经全部完成时,它还可以独立的运行任何一层的协议。在网络物理机构完成和在现实世界得到全面测试之前,协议的不可能完全得到验证。不过,这用做法也有明显的缺陷:直到物理结构搭建起来前,硬件的错误和程序的错误都不能被发现,随后,硬件和程序的决议意味着性的重新完整规划的过程。由此所产生的后果是,产品投入市场的时间被迫拖延,提高了工程成本和管理成本。实践验证,必须寻找更有效的方法。这样,一个有价值的软件解决方案应运而生:创造一个虚拟环境,模拟真实的硬件在被控制时的操作,在各种现实世界中可能遇到的情况下检测程序(见图1)。这也是将要在本文提出的方案。一个复杂的电子产品设计必须被分解为不同较小的模块才能得以实现。其中一些模块需要通过测试载体或HDL仿真被个别检查检查(例如编码器和译码器),因此,该软件的执行情况下,他们将被进行更复杂的功能测试。这使得设计人员用一个仿真程序取代最低层次协议栈,在这种方式下开发更高层的软件。同样的原理可适用于其他通信设备。在我们的方案中,列车通信网络中更简单以及需要被单独核查的部分已经从较为复杂的通信协议中分离了出来。通过仿真模拟的应用,设计者可以从设备的核心开发和验证通信协议,以及更上层的应用程序。高级别软件高级别软件接口接口低级别软件仿真器硬件图1 仿真应用原理 2. 列车通信网络在现代铁路运营中,一个实时可靠的通信系统已经得到了广泛的应用。因此IEC(国际电工委员会),在1999年,为铁路设备的数据通信制定了一项用于规范车载设备数据通信的标准。该标准包括两类总线协议(见图2): MVB(多功能车辆总线):用于连接一个车厢内部的各种电子设备。 WTB(绞式列车总线):连接同一辆列车的各个不同车厢。图2 列车总线与车辆总线MVBMVBMVB节点WTB设备节点节点MVB设备MVB设备MVB设备 列车总线(WTB) WTB设备WTB设备为了运行工作中的准确与稳定,两种总线都要遵循主从模式,这意味着一个设备扮演者管理者的角色,轮询其余的设备中在之前时间间隔里计划好的数据。TCN总线传输两种正规的数据:周期性的数据(信息在提前上设定好的时间间隔中周期性地发送)和偶发性数据(消息在设备需要时,通过主设备的准许才会发送)。还有第三种数据类型,叫做监督数据,用于确保总线工作的顺利运行。A绞式列车总线设备绞式列车总线是一类确定性的数据总线,可以通过加入或减去节点在改变长度的情况下自动正常运行。如同列车可以本分为整体车辆和不同的车厢一样,总线也可以被分为不同的层次。当列车车厢挂钩或者脱钩时,WTB总线协议中的不同段也视情况加入或分开。图3 大多数复杂WTB设备的结构体系及TCN网关交互存储器应用进程(应用处理器)网络总线MVBMVB编码器和解码器链路层进程(通信处理器)总线转换WTB目标2WTB目标1我们已经设计出了一个双处理器为基础的体系结构可以适用于大多数复杂的WTB设备(见图3)。其中一个处理器完全用于链路层,另外一个用于TCN协议栈中的其它层以及用户应用程序。这两种处理器都需要实时操作系统以应对有时间限制的多个同时进行的工作流程。一个总线节点所对应的WTB设备应该是唯一的,这意味着它只能通过这条WTB发送或接收数据,也可能它是一个连接两类总线(WTB和MVB)并且有能力在两类总线之间发送数据的TCN的网关。两种进程的区别在于使用不同的模块以及需要不同的连接方式。TCN设备使用一种特别的存储器叫做Traffic Store(通信存储),他保存着三种数据:(1)有关于物理过程的变量(温度、压力、速度),(2)传入和传出的消息队列以及(3)定义设备的状态以及属性的变量。这些节点变量用于存储状态信息,并且更重要的是它们构成了一个在进程或者处理器之间的通信渠道。B初运行只有主要进程只有主要进程主要进程和辅助进程主要进程和辅助进程端节点端节点中间节点在列车车厢被连接或分离之后,程序会自动配置WTB网络,这种过程被称为初运行。在初运行过程中,总线中的设备互相识别。这个识别被贯彻在两个方向上的辅助或检测过程中,在设备的每一端。需要检测相邻设备的设备被安放在WTB总线的每一端(列车的每一端)(见图4)。另一方面,主设备可以根据其应用层标准被分为强主设备和弱主设备。图4 端节点和中间节点检测过程通过总线的开放端交替侦听和发送检测帧。如果其中的一个帧得到应答或者一个检测帧到达时,此进程将发送该帧的内容到设备中的主进程。主进程随后通知总线主机一个新的构造的存在。图4 端节点和中间节点如果相邻成分需要被识别,总线主机会通过询问两端节点定期检查。当总线主机注意到相邻成分正在运行中,它将检测该成分的强度平且与其固有的成分强度作比较,主机也会得到自身节点的控制(强度取决于车厢的数目和驾驶员是否存在)。另外,在某些情况下,主机将不得不被解除以提供其节点的控制给其他成分的主机。C命名只要主机有资格获得一个新的成分的控制权,该远端成分的主机将通过广播消息重命名它所有的节点。当重命名时,每一个节点将会获得一个端点设置,这意味着它同时具有两种检测通道可用并且连接总线两方的转换器得到激活。这些孤立的设备将一个接一个被他们的新主机命名。主机定义节点3为中间节点(与节点4相连接)主机命名一新节点一旦节点已经被检测为在开放端,主机将给该节点一个根据命名方案而得出的名称(见图5),并且执行一个构型分配。构型是一个定义了网络中所有节点的属性的数据结构。每一个节点都有它的一个副本,并且链路层协议确保这个副本与其他设备中的副本是一致的。它主要是用于路由作用。03使自身的辅助进程无效03解除总线终结器并且关闭总线转换器 新节点总线主机一旦主机命名完毕所有节点并且构型已经完全被分配,初运行也可以告一段落,接下来将要进行的是定期操作(周期性和偶发性数据的交互)。D链路层链路层协议时及其复杂的(引进初运行只是其中的一个部分),需要一个专门的处理器和实时操作系统。多个进程操作的需要(WTB的一个主进程和两个辅助进程)使得链路层更难以被建立和测试。3. 列车通信网络仿真在设计一个列车通信网络网关时,完成一个可靠地连路层设计是至关重要的,因为该装置所有的设计功能都是建立在它之上。因此在工作中应该加入测试平台和开发环境的设计。以前的方案是以HDL(硬件描述语言)模拟器作为应用基础的。继于MVB总线的成功经验,本文的目的是在于模拟一个基于最上层功能的完整的WTB总线系统。这个想法,虽然适合于最简单的TCN设备,但被证实在像WTB设备这样复杂的设计中,它是十分低效的。这些列车总线设备,在很大程度上取决于网络中每个节点之间的进程和每个网络设备。这个想法是,网络通过其中所有节点之间的通信,自动适应新的状态。在链路层的三个进程同时参加本次通信过程。因此,为每一个重要的方案来创造一个测试向量成为一个十分消耗时间的任务。对于以上问题的解决方案是开发一个TCN模拟软件一个同时涵盖了开发阶段以及测试阶段的产品。该TCN模拟器是一单一的进程,但同时也是一个多线程的微软Windows应用程序,用来模拟虚拟WTB总线设备之间的连接。它用软件取代列车通信网络的物理介质,并为节点和他们的通信存储进程提供了一个空间。因此,再设计WTB设备的过程中,一个开发者可以在连路层的开端协商每一层的代码。上述层次结构可以在图6中看出。 用户应用程序OSI层次模型管理1应用程序1应用程序应用层用户应用层会话层演示层RTP 消息RTP 变量传输层路由列表网络层其他总线(CAN,现场总线)WTBMVB链路层辅助主要辅助WTB 总线物理层图6 TCN协议层次结构只要使代码结合新的功能,开发人员无论在其正常工作或存在一些错误的情况下都可以对代码进行测试(见图7)。该工具已通过C语言被开发;如果要使用此工具验证模拟器,相同的语言应该也在编码WTB协议栈时使用。初始化和组成结构事件列表TCN仿真/*Cmt*/*Cmt*/工具在一个计算机平台上运行测试下的协议栈编码(C语言 )在HTML浏览器上实现可视化/*Cmt*/cdx;lb;图7 验证过程首先,TCN仿真器向内存载入一个之前在XML(可拓展标记语言)文件中定义好成分的列表,如图7所示。该列表包含了车厢的编号(即总线的节点),它们的位置以及它们是否耦合或者非耦合。这些信息可以在仿真过程的开始通过图片描述,它指定了这些总线节点如何分组以及每个节点的内部结构特点。在此之后,它会从另一个XML文件中载入事件列表。这个列表可以被视为一个高层次的测试向量,表明外部可能会影响设备工作的事件。例如,列表可以包含两个列车车厢之间的耦合,从而引发了初运行过程。因此,它可以为判断链路层是否正常工作提供依据,并且修复可能会出现的错误。一旦这两个结构被加载在内存中,应用程序会启动三个虚拟设备线程。这些线程代表一个主要进程和两个辅助进程。被选中的线程代替了进程以使得交互变得更加快捷和简单。在这些线程中的代码是在链路层的情况被测试的条件下被编写的,并且如果代码正确,它同样可以在事情进程中运行。该线程采用微软Windows操作系统所提供的同步机制以确保变量和数据结构可以自动的被访问。这是实现预期功能的关键代码段,因为它仿真了目标物理设备所必须进行的工作。此外,另一个代表了所有的WTB总线部分线程,也将被加载到内存中。这个线程将得到该装置内部的框架,并将其提供给在同一个总线部分的其他设备。这些工作的完成将需要利用虚拟输入和输出缓冲器,他们实质上是两个链路层线程和该线程的WTB总线可以利用的数据结构。当有帧需要通过总线发送时,一个链路层中的进程引发一个事件使得虚拟缓冲区之间的数据流得到触发。上文中被提到的线程已经在图8中被描述。虚拟设备 2虚拟设备 1用户应用层应用2应用1应用2应用1中间层通信存储仿真WTB链路层辅助2 主要辅助1辅助2主要辅助1TCN仿真器WTB图8 在双设备仿真器中运行线程除了链路层处理,图8还显示了一些只要该层运行正常,同样可以用仿真工具开发的代表应用层进程的线程。一个应用层的进程的开发可以通过TCN总线管理用于控制列车中的任何功能,比如温度控制和紧急制动。应用层可以利用一些中间层代码和解码的帧的内容。这些层可以变为可以被应用层调用的程序。在中间层和链路层之间的通信中,它可以通过一种共享内存结构的手段直接进行该线程所代表的主要进程。这种工作方式类似于真正的设备,它通过更高层和链路层实现了内存的使用。该仿真流程可以概括如下:首先将原始的图片和拓扑结构的时间变化加载在内存中,随后将在检测以下的层次按照设备的数量被复制多次。最后,该层将核实检查其虚拟设备的行为是否在在计划的情况下正确运行。除了作为验证工具,TCN模拟器也是一个开发的平台。开发人员可以直接在相应的线程编写代码,可以实时的调试他们的代码,只要相互遵循该条原则按照自底向上的顺序进行开发。这条原则是必要的,因为对于大多数通信系统的任务上层协议都需要下层协议的援助。4. 成果:一个可操控的初运行机制我们的研究小组采用这种列车通信网仿真工具开发出了WTB链路层的完整版本。在进程中,工具被正确执行,并证明对实际是非常有帮助的。事实上,如果这个工具的帮助,链路层就不可能在没有物理设备原型(换句话说,在现实世界中)的情况下进行测试和开发。虽然有几种编码规则的安全性和验证的目的还没有完全统一,众多节点之间复杂的关系使得在和源文件的大小使得核查成为了一项非常缓慢的任务。然而,这个模拟器大大减少了测试时间,而且复杂的测试向量创作也已不再需要。一旦链路层完成,它将通过执行一个可操控的初运行过程而在仿真器中得到测试。几个装置在仿真过程中在在某一时刻耦合。然后,该初运行过程可以通过使用TCN仿真平台所提供的行为报告被完整的观测到(如图9所示)。图9 一个初运行行为报告中的一块事件发生的次数描述状态的检测消息以及变量在设备中的变化事件帧过程投入 该行为报告是一个有仿真器产生的HTML文件。这是调试代码必不可少的一步,并且使用户获得一步步进程的分析和交换的信息的性质。每一次他们改变状态或修改一个节点的变量时,一个进程使用一个特别的报告功能。但函数用于生成报告时,它的输出被保存直到仿真结束。此外,每次一个帧通过总线发送,一个关于该帧所有信息的报告被创建(来源地址,目的地址,类型,头文件,甚至一个二进制列表都会被创建)。列车构成的变化,也同样显示在报告中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 成都市 2024-2025 学年小学五年级科学期中素养测评模拟卷及答案
- 2025年负载测试题及答案
- 2025年七年级英语下学期词汇专项突破
- 2025年静脉输血的试题及答案
- 2025年餐饮总监试题及答案
- 2025年山东省公务员面试礼仪技巧测试卷
- 2025年上海市公务员考试申论真题预测卷
- 2025股权转让合同协议书范文
- 2025房产买卖合同协议
- 2025年温州地铁考试题库及答案
- QGDW1175-2013变压器高压并联电抗器和母线保护及辅助装置标准化设计规范
- 园区物业服务方案(3篇)
- 新解读《DZ-T 0130.11 - 2006地质矿产实验室测试质量管理规范 第11部分:岩石物理力学性质试验》新解读
- 工程代签免责协议书
- 承接查验委托协议书
- 快艇买卖合同协议书
- 年产200吨高纯金属铯铷项目报告书
- 导弹基本知识
- 采血后预防淤青的按压方式
- 国企中层领导竞聘笔试题
- 《AI公文写作范例大全:格式、要点与技巧》课件 第5、6章 AI公文写作的方法、AI写作工具的测评
评论
0/150
提交评论