WTB初运行的研究 - 图文

更新时间:2023-10-15 18:14:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

WTB初运行的研究

李莎,申萍,王立德

(电气工程学院,北京交通大学,北京 100044)

摘要:本文依据WTB协议规范,详细分析了WTB总线初运行的基本操作过程,采用SOPC(System On Programmable Chip,可编程的片上系统)的设计思想构建系统硬件平台,在NiosII集成开发环境中编写上层软件,并进行多节点组网实验,初步实现了WTB总线的初运行。

关键词: WTB;MAU;初运行

中图分类号: 文献标识码: 文章编号:

Research of WTB Inauguration LI Sha, SHEN Ping, WANG Lide

(School of Electrical Engineering, Beijing Jiao tong University, Beijing 100044, China) Abstract: According to WTB protocol, the process of WTB inauguration is analysed detailedly in this article. The design philosophy of SOPC is adopted to set up the system hardware platform. The software program is coded in the NiosII integrated development environment. On the basic of the platform and the software program, the experiment of the network consisting of several nodes is done to realize the WTB inauguration. Key words: WTB;MAU; Inauguration

0引言

近年来,随着我国电动车组、高速列车、城市轨道交通车辆等新型铁路机车车辆的发展,国内市场对列车通信网络产品的需求也在不断的增长。目前,我国的列车网络及控制技术大都是在技术引进的基础上发展起来的,国外厂商只愿提供产品而不转让关键技术。因此,从分析网络底层协议入手,逐步掌握核心技术对国内列车通信网络的发展有着重要的意义。

WTB(绞线式列车总线)是一种串行的列车级数据通信总线,主要用于日常作业中经常改变其编组的列车。初运行是WTB总线的一个显著特征,它是在列车通信网络能够正常工作之前必须进行的一个过程。WTB总线由固定安装在各个车厢内的电缆节互连而成,总线上连接的设备称为节点。初运行过程中,应用可将这些节点分为强节点、弱节点和从节点等不同的等级,从而执行不同的主权策略。

中,当列车编组改变时,虽然同样发生了节点的添加或删除,但此时司机不能作为网络管理员单独配置某个节点,因此需要由WTB总线主(强节点可被应用提升为总线主,编号为01,具有唯一性)来自动完成对每个节点的命名和构形分配,即初运行过程。初运行结束后:

① 所有节点和电缆节进行电气连接,形成一条两端都有端接器的单一总线。 ② 每个节点接收到唯一的节点地址,该地址标识节点的位置和相对于总线主的方向。

③ 各节点收到列车拓扑信息,包括其它节点的地址、位置和节点描述符等。

【1】

1.2 MAU部件

根据WTB协议规定,初运行过程需要由专用的部件—介质连接单元MAU来完成,其端接器与总线开关的动作决定了总线上节点的连接状态。MAU结构如图1所示。

在实际应用中,总线主可能位于列车中部,因此它需要在总线的两个方向上进行通信,如图1的方向1(列车前进方向)和方向2(反方向)所示。方向转换器可

1

1 WTB总线初运行

1.1 初运行目的

与普通计算机网络不同,在列车网络

使主通道与方向1相连,辅助通道与方向2相连,或反之。

初运行完成后,每个节点的配置状态有两种可能:一、末端设定,总线开关打开,两个端接器接入,主通道和辅助通道连到相反的方向上;二、中间设定,总线开关闭合,两个端接器断开,辅助通道断开,连接此节点的两个总线段连通。

图1 WTB介质连接设计框图

2 硬件平台设计

本文采用SOPC的设计思想,以Avalon总线挂接IP核的形式实现硬件平台的设计。利用Quartus II的SOPC Builder工具,将Nios II软核处理器、WTB收发器IP模块(根据MAU结构,其主要组件包括编码器、解码器和双口RAM等)、On-chip mem、Flash等集成到一片FPGA中,构建了WTB处理器硬件平台,如图2所示。图中“×2”代表此IP核被调用了2次,实现了WTB网络两个方向两套非相关的编解码。

图2 WTB处理器结构

3 初运行分析

WTB网络中,初运行由数据链路层实现,其进程分为:初运行相和拓扑分发相。初运行相主要通过监视数据的传递握

手,来完成对未知节点的命名。拓扑分发相是在节点命名完成之后,正常数据交换之前,总线主根据每个节点的特征,计算周期扫描表和每个节点特征周期的过程。 3.1初运行相 3.1.1 基本过程

初运行刚开始时,仅有总线主被命名,其余从节点均未被命名(地址采用未命名节点的专用地址7F),未命名节点通过断开总线开关,同时在与之相连的两个电缆节的末端分别插入一个端接器,断开总线。初运行过程包括启动、消名、起始、命名四个阶段:

1、启动

主设备上电后,在固定的时间间隔内(根据协议要求为30ms)向方向1和方向2发送检测请求帧,当列车组成中有节点加入或退出时,端节点向总线主报告存在一个附加节点,总线主决定能否进行初运行。

2、消名

为了在一个清晰的基础上开始,总线主要先对其控制下的所有节点进行消名。此过程由总线主连续广播三次消名请求帧来完成。根据协议规定,已被明确消名的节点,应将自己设定为末端设定状态。

3、起始

命名过程起始于先对检测请求帧做出响应的一方。总线主最多可命名62个节点,命名顺序为:在方向1,按递减顺序(63,62,61,??);在方向2,按递增顺序(02,03,??)。

4、命名

总线主在收到未命名节点的检测响应后,依次交替向每个方向发送命名请求帧,未命名节点以命名响应帧响应,完成命名。命名节点的方法对每个节点重复进行。 3.1.2 命名过程实例

WTB通信由叫报文的帧对(主帧/从帧)组成。每个新节点的纳入需要4个报文:状态请求/状态响应;检测请求/检测响应;置中间设定请求/置中间设定响应;命名请求/命名响应。

下面以一个节点为例说明一个未命名节点被纳入一个已命名组成的过程。网络

2

目前状态为:总线主01,中间节点02~04,端节点05及未知节点。

步骤一:未知节点的检测

总线主给端节点05发送状态请求帧,05收到状态请求帧之后向总线开放段发送一个检测请求帧。未命名节点7F收到检测请求帧之后,向05发送检测响应帧,05在它的状态响应中向主节点报告存在一个未命名的节点。如图3所示。

图3 对未知节点的检测

步骤二:置中间设定

检测到未命名节点后,总线主给端节点05发送置中间设定请求帧,05以置中间设定响应帧响应,并通过MAU部件将其设置为中间设定状态。如图4所示。

间状态,再命名下一节点为07。

总线主每次在一个方向上命名一个节点,并用状态请求向相反方向通告它已命名的节点数,同时报告本侧是否有更多的未命名节点。如果总线主三次状态请求都没有报告有更多的节点,它将结束初运行。 3.2 拓扑分发相

在拓扑分发相中,总线主为所有节点建立拓扑,其数据结构包括:地址、节点类型和版本号、唯一标识这次初运行的总线主拓扑等。

随后总线主通过拓扑请求帧给每个从节点分别分发拓扑,每个从节点通过拓扑响应帧响应,如图6所示。

图6 初运行总线拓扑

在所有从节点都确认已收到新的拓扑后,再等待一个基本周期(在正常操作期间,WTB总线的基本周期固定为25ms),当所有节点更新自己的过程数据之后,总线主进入正常运行,并开始轮询节点的过程数据。

图4 置中间设定

步骤三:新节点命名

置中间设定后,总线主便可以直接访问未命名节点。此时总线主发送一个命名请求帧给新节点指定其地址为06,新节点以命名响应帧来响应。如图5所示。

4 软件开发

上层软件采用C语言编程,结合NiosII软核标准库函数,在NiosII集成开发环境中实现。程序通过avalon总线访问WTB收发器IP核中不同的偏移地址,从而实现与底层硬件系统的连接。系统组帧过程由IP核依据初运行过程的帧结构完成。程序流程图如图7所示。

下面是初运行的部分核心代码:

case 0xC0: // DETECT_REQUEST

IOWR(RAMWAY_0_BASE + 0x0*4, 0, 0xFF); IOWR(RAMWAY_0_BASE + 0x1*4, 0, 0x40); IOWR(RAMWAY_0_BASE + 0x2*4, 0, 0x7F); IOWR(RAMWAY_0_BASE + 0x3*4, 0, 0x02); IOWR(RAMWAY_0_BASE + 0x4*4, 0, 0x00); IOWR(RAMWAY_0_BASE + 0x5*4, 0, 0x01); //write to W_total

IOWR(WTB_INTERFACE_0_BASE + 0x1 * 4, 0, 6 - 1); 3

图5 新节点命名

步骤三之后,节点06成为组成中新的端节点,并被设置为端设定状态。之后,总线主给端节点06发状态请求帧,06以一个状态响应帧响应,该帧中包含节点描述符(指示最新命名节点的类型和版本)、进程数据的帧长度及希望的轮询周期。

状态请求也使端节点向开放段发送检测请求以检测更多的未命名节点。如果在状态响应中报告有附加节点,总线主将给端节点06发送置中间设定请求将其置为中

IOWR(WTB_INTERFACE_0_BASE , 0x02, 1); … …

IOWR(WTB_INTERFACE_0_BASE , 0x02, 0);

IOWR(WTB_INTERFACE_0_BASE , 0x02, 1); break;

图7 初运行流程图

5 实验结果

将自定制的总线主设备与多个从节点连接构成WTB网络进行测试,并与标准主设备进行联机调试,最终得到符合标准规定的波形图,如图8、图9所示。在图8中上半部分显示检测请求(响应)、命名请求(响应)、状态请求(响应)、存在请求的波形,下半部分为局部放大的WTB帧格式。图9显示了完成初运行后,正常过程数据通信的波形,请求帧后面紧接着响应帧。无响应的帧为端节点利用辅助通道发送的检测请求帧,无响应表示没有新节点加入。

给出部分核心代码及程序流程图,经实验验证最终得到符合IEC61375-1标准的初运行波形图。

图9 WTB过程数据实测波形

参考文献:

【1】 IEC. IEC61375-1-1999, Part 1:Train

Communication Network 【2】 Alberto Chavarría, Joseba López de

Arroyabe, Aitzol Zuloaga, “ Slave node architecture for train communications networks” , 2000 IEEE 【3】 赵小宝,诸昌钤,杨宁学. WTB 初运

行的模拟研究[J]. 中国铁道科学,2003,(4),59-63 【4】 蔡国强,贾利民,刘春煌,李熙. 绞线

式列车总线初运行算法分析[J],计算机应用,2007,(5),1-3 【5】 刘文清,王立德等.基于SOPC的列车通

信网卡的设计[J].电子产品世界,2006,(7),166-168

4

图8 WTB初运行实测波形

6 结论

WTB是列车通信网络的重要组成部分。本文遵循国际标准IEC61375-1中WTB协议部分的要求,采用SOPC的设计思想,对列车通信网络主设备的设计提出了初步方案,详细分析了初运行过程,并

作者:李莎 13810496056 shasha_ice@126.com

5

本文来源:https://www.bwwdw.com/article/ofhf.html

Top