微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 基于ARM7的MVB_CAN网关设计

基于ARM7的MVB_CAN网关设计

时间:03-25 来源:互联网 点击:

摘要:介绍了用于机车内部数据通讯的MVB网络和CAN总线网络的报文结构,给出了MVB-CAN总线网关的硬件和软件实现方法。
关键词:MVB;CAN;MVB-CAN网关

0 引言
随着网络技术和控制技术的发展,机车信息化控制技术向着更高的方向发展。为此,IEC制定出新的列车通信网路国际标准TCN(机车通信
网络),以满足列车微机控制系统中对车载数据通信网提出的新要求。
按照TCN标准,列车通信网可分为两级:第一级是WTB绞线式列车总线(Wired Train Bus),可实现车辆间的数据通信;第二级是MVB(Mul-
tifunction Vehicle bus)多功能车辆总线,主要实现同一个车辆内各个功能控制单元之间的数据通信。
多功能车辆总线(MVB)是主要用于有互操作性和互换性要求的互连设备之间进行串行数据通信的一种总线,MVB以其高实时性、高可靠性及可管理性等多方面的优势而广泛的应用在列车总线控制当中。
控制器局部网(CAN-CONTROLLER AREANETWORK)是BOSCH公司为现代汽车应用推出的一种多主机局部网。由于该网的卓越性能,现已广泛应用于工业自动化、多种控制设备、交通工具、医疗仪器以及建筑、环境控制等众多领域。
对于现在的机车总线通信,MVB总线主要应用在单台机车内的车载设备间的通讯,而CAN总线则用于车载设备内部模块间的数据通讯。因
此,实现CAN总线与MVB总线之间的通信就成为工程实践中一个必须解决的问题。

1 报文
1.1 CAN报文
CAN报文主要包括数据帧、远程帧、出错帧、超载帧等四种帧。
在总线中传送的报文,每帧一般由7部分组成。CAN协议支持两种报文格式,它们之间唯一的不同是标识符(ID)长度不同。它们的标准格
式为11位,扩展格式为29位。
在标准格式中,报文的起始位通常也称为帧起始(SOF),之后,一般是由11位标识符和远程发送请求位(RTR)组成的仲裁场。RTR位用于标明是数据帧还是请求帧,请求帧中没有数据字节。控制场的包括的标识符扩展位(IDE)用于指出是标准格式还是扩展格式。此外,它还包括一个保留位,以便为将来扩展使用。它的最后四个字节用来指明数据场中数据的长度(DLC)。数据场范围为0~8个字节,其后有一个检测数据错误的循环冗余检查(CRC)。CAN的标准帧格式如图1所示。

应答场通常(ACK)包括应答位和应答分隔符。发送站发送的这两位均为隐性电平(逻辑1),这时,正确接收报文的接收站会发送主控电平(逻辑0)覆盖它。用这种方法,发送站可以保证网络中至少有一个站能正确接收到报文。报文的尾部应由帧结束标出。在相邻的两条报文间有一很短的间隔位,如果这时没有站进行总线存取,则总线将处于空闲状态。
1.2 MVB报文
MVB报文主要包括两种帧:主帧和从帧。其中主帧只能由总线主设备发送,而从帧则为响应主帧而由从设备发送。
主帧应传送16位数据字,发送的数据字的第一位应为它的最高有效位,用bit0来表示,其内容为16位字中的最高前四位,应为FCODE。次有效的后12位用于表示Focde所指定的地址或参数。因此,主帧有固定的格式,为34 bit(9 bit主帧分界符+16 bit数据位+8 bit校验位+1bit终止分界符)。一个主帧应以主起始分界符开始,其后为16位帧数据,接着为8位校验序列。MVB的主帧格式如图2所示。

一个从帧应以从帧起始分界符开始,接着为16、32、64、128或256位帧数据,在每64个数据位后还包含一个8位的校验序列或当帧数据只有16或32位时将一个8位的校验序列附在其后,其MVB的从帧格式如图3所示。



2 CAN总线与MVB总线协议转换
CAN总线和MVB总线都属于现场总线范畴,因此,它们都有自己的网络分层结构。对于大多数现场总线,它们都包括物理层,数据链路层和应用层。
MVB有过程数据和消息数据之分。基于过程数据的网络分层是三层(物理层、数据链路层、应用层),而基于消息数据的网络分层则有7层。由于消息数据比较复杂且应用场合较少,因此,本文只讨论过程数据。但实际上,有时也可以将MVB视为一个三层协议的网络。
CAN网络分层结构按照CAN总线协议来说,就只有两层即物理层和数据链路层。但是涉及到具体的应用,它实际上也包括应用层。
为了实现两种总线问的协议转换,通常需要首先对他们的帧格式进行转换,其主要原因是帧字节数大小不同,而帧的编码解码部分是由网卡硬件完成的;其次是对应用层的转换,即通过一定的形式将CAN总线中表示过11位标志符的数据含义和MVB总线中过程变量的数据集对应起来,以实现数据之间的传输。

3 MVB-CAN网关的硬件实现
为了设计方便,本设计的CAN侧采用三星公司生产的S3C4480微控制器,MVB侧则采用MVBC01 ASIC专用芯片。
MVB通信控制器选用的MVBC01 ASIC专用芯片采用的是16 bit数据总线,该芯片同时可提供丰富的接口控制信号(如RDY、TMRDY等待信号),因此,可用于简化与各种宿主CPU以及通信存储器的接口设计。此外,MVBC01还内嵌有完整的MVB1类设备协议,其中,MVB物理层接口采用电气短距离介质ESD+接口,系统信号通道则使用光耦来实现主系统与外界的电隔离,从而提高了系统的可靠性。另外,系统还使用RS 485芯片作为收发器,并使用过压保护模块来防止瞬间过压对器件造成的损坏。MVB侧的接口单元如图4所示。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top