可编程逻辑
1 引言
随着高速铁路的迅速发展以及机车车辆的现代化发展趋势,对列车总线的可靠性、安全性、通讯实时性的要求进一步提高,国内的传统的现场总线难于满足要求,而多功能车辆总线(MVB)是快速的过程控制总线,能提供最佳的响应速度,且适合用作车辆总线,这就使得MVB逐渐成为下一代车辆的通信总线标准。随着MVB通信网络应用的日益广泛,我国铁道部已将其作为列车通信的标准平台,国内铁路轨道交通设备制造企业也相继从国外引进装备有MVB网络的列车微机控制系统,一些部门也开展了MVB相关产品的国产化研究和自主研发工作。为了确保不同设备制造厂家生产设备的兼容性,也为了验证所研发的MVB产品的协议一致性,必须对各个MVB设备进行协议一致性测试,以提高MVB设备互连的成功率。在MVB的设计和实施过程中,正确地分析出MVB总线运行状态是一个重要的工作。因此对MVB网络进行分析是进一步研究MVB技术的必备手段。
2 MVB协议简介
MVB在物理层可以使用3种不同的物理介质:无隔离的短距离电气介质ESD、有隔离的中距离电气质EMD和长距离光纤介质OGF,所有的介质均采用1.5 Mb/s的传输速率。MVB对总线的介质访问采用集中控制、周期性分配的主一从方式,由总线上惟一的总线管理器即主设备集中控制介质的存取。工作时主设备将总线带(每个基本周期)分为周期性预先分配(周期相)和非周期性按需分配(偶发相)两部分。周期相用于紧迫性、时性要求高且短小的周期性过程变量数据的传输速度、电机电流、司机命令等;偶发相则用于传输冗长但不频繁的非周期性的消息数据,如设备诊断或旅信息。为满足MVB在链路层上提供的2类数据通信服务的要求,TCN标准在MVB上定义了与总线类无关的实时协议RTP。从应用层看,RTP提供了2种类型的通信服务:过程变量和消息服务。过程变量服务的协议只包含物理层、链路层(分为介质存取控制MAC子层和逻辑链路控制LLC子层)应用层3个层次,用以传输周期性的控制命令和控制变量,以实现控制的实时性要求。其中链路层主要通过链路过程数据接口LPI处理端口和通信缓存的操作,完成协议大部分的工作;应用层则通过应用变量接口AVI处理过程变量的访问。
3 MVB总线分析结构设计
MVB网络上传输的过程变量数据是通过主从帧应答与周期性广播的形式,总线分析仪可连接在MVB网络中时刻监听MVB网络中传输的帧数据。MVB总线分析仪按功能可分为译码模块、控制模块、存储模块和PC/104接口模块4个部分,系统设计总体框图如图1所示。译码模块采集总线上的数据,将数据传送给控制模块,控制模块则根据帧的不同情况写入存储模块,存储模块用于存储帧数据,而对上位机提供PC/104接口。
3.1 译码模块
在MVB网络中采用曼彻斯特编码,数据传输速率为1.5 Mb/s,采样频率为数据传送频率的16倍频率即24 MHz(周期为41.67 ns),因而一个完美的数据波形应为8个低电平和8个高电平,如图2(a)所示。在非理想的状态下,曼彻斯码高低电平的持续时间会在一个有限的范围内随机的变化,当这种变化是连续的变长或者连续的变短时,就有可能造成计数器的失步,如图2(b)所示。
造成这一失步的根本原因是计数器的归零是不受控制的,而采样这一动作的触发又是受制于计数器的,4 b计数器的归零完全是24 MHz时钟驱动下累加的结果(0000~1111的循环累加)。因而当出现电平连续变长或连续变短的情况时,本应该在每个曼彻斯码周期结束后归零的计数器不能在下个曼彻斯码周期到来时回复到初始状态即“0000”,这种错误的不断累积将导致译码的失步(位失步)。这里是采取如下措施解决这一问题:检测每位曼彻斯码中必然出现的电平跳变沿,将这一跳变沿作为计数器的控制信号;当此信号有效即将计数器置于理想状态,这样在每位曼彻斯码中,计数器都能够进行1次与MVB串行信号的同步。
3.2 控制模块
控制逻辑接收解码器单元解码后的信号,如果帧不完整或者CRC校验错误,则加错误标志2直接与入存储单元;帧完整则需要判断主从帧;如果主帧则可直接加标志0写入存储单元;如果为从帧,则需要判断从帧到达时间是否满足要求;如果符合要求则加标志1写入存储单元。否则加标志2写入存储单元,整个控制逻辑的状态转移如图3所示。
3.3 存储模块
通信存储器是MVB总线分析仪的重要组成部分,它负责存储MVB总线通信的数据,因此MVB与上位机通过PC/104接口模块会频繁的访问通信存储器进行数据的读操作。实现通信存储器有3种方式:用FPGA内部自带的RAM资源实现;用FPGA内部的寄存器实现;用外部存储器,例如SRAM,E2PROM等实现。最终选用FPGA内部自带的RAM资源实现通信存储器。原因包括以下几点:现在高级的FPGA都带有大小不等的片内RAM资源,如果使用外部的存储器,则需要一些扩展威廉希尔官方网站 因此导致威廉希尔官方网站 变的复杂,增加了不稳定性的同时也带来了外部寄存器的访问延迟问题。经过比较,选用FPGA内部RAM实现通信存储器是较好的方案。
3.4 PC104接口模块
PC104接口有4种访问方式:8位存储器、16位存储器、8位I/O和16位I/O。这里是8位存储器方式,逻辑实现和布线都相对简单。通过PC104总线接口,设备可以连接到PC104总线上并作为PC104总线上的一个标准设备使用。上位机可以通过PC104总线访问设备和通信存储器。一类设备只是CPU控制的设备之一,因而分配的内存空间有限制的。内存空间为0xD0000~0xE0000,需要地址译码将设备的通信存储器映射到CPU的该内存区。PC104采用堆栈式结构,单列双排插针和插孔,P1:64针,P2:40针,合计104个总线信号,接口引脚定义如表1所示。
4 实验与应用
实验室里在实验室搭建的MVB网络如图4所示,MVB网络由MVB主设备DUAGON公司的总线管理器D412,MVBC01芯片设计的MVB一类设备1与FPGA设计的MVB一类设备2与设备3。
MVB总线分析仪连接MVB网络,上位机通过PC/104总线读取MVB总线分析仪存储模块,MVB总线分析仪完整存储了总线上数据,其中在所有获得的数据中不完整的从帧数据如表2所示。
根据对采集到的不完整帧数据的分析,帧不完整的原因主要体现在帧头的不正确(存在高电平或低电平时间过长或过短),CRC校验错误(生成的CRC不正确),帧数据不完整,结束符时间过短。对主从帧数据对应关系来看,当总线上传输主帧时,设备应发送但没有发送从帧的现象出现,针对这些问题可以逐一检查FPGA等可编程器件里逻辑设计错误,通过改进减少不完整帧的出现,从而保证自主研发的MVB设备的数据在MVB网络中可靠传输。
5 结 语
本文在研究MVB多功能车辆总线的基础上,开发了具有PC104总线接口的MVB总线分析仪。该MVB总线分析仪已经实现了记录MVB网络传输所有数据,有利于更深一步掌握MVB总线网络数据传输技术,并为验证MVB设备互连与互操作性做好准备。
责任编辑:gt
全部0条评论
快来发表一下你的评论吧 !