1 MVB多功能车辆总线
MVB是国际标准IEC61375-1的车辆总线部分,它主要用于具有互操作性和互换性要求的互联设备之间通信的串行数据总线。MVB采用主帧/从帧应答方式,可以实现设备和介质冗余,实时性靠RTP实时协议保证。MVB介质分为3种:电气短距离介质为RS 485差分传输导线对,传输距离为20 m;电气中距离介质为双绞屏蔽线,传输距离为200 m;电气长距离介质为光纤,传输距离为2 km。
MVB作为主从方式的串行通讯总线,是可以实现过程控制优化的总线。MVB具有良好的实时响应,一般用作车辆内部设备之问的数据通信,其采用曼彻斯特编码方式,数据传输速率为1.5 MHz。MVB多功能车辆总线主要由通信介质、MVBC协议控制器和MVB链路软件3部分构成。
MVB具有2种帧格式,一种是只能由总线主设备发送的主设备帧,简称主帧;另一种是为响应主帧而由从设备发送的从设备帧,简称从帧。总线主设备在每一个特征周期里通过发主帧的方式对进程数据进行轮询,相应地从设备发送从帧进行真正的数据传输。报文由主帧和响应此主帧而送出的从帧组成。一个主帧应以主起始分界符开始,其后为16 b帧数据,接着为8 b校验序列。
一个从帧应以从起始分界符开始;接着为(16,32,64,128或256)b帧数据,在每64个数据位包含一个8 b的校验序列,当帧数据只有16 b或32 b时将一个8 b的校验序列附加其后。
2 CAN总线
控制器局域网(Conteoller Area Network,CAN)是国际上应用最广泛的现场总线之一,最早由德国BOSCH公司推出,是一种用于汽车内部测量与执行部件之间的数据通信协议,CAN总线作为一种技术先进,可靠性高,功能完善,成本合理的远程网络通信控制技术,CAN总线已被广泛应用于各个领域。它为分布式控制系统实现各功能节点之间实时、可靠的数据通信提供强有力的技术支持。其报文结构可以分为2种不同的帧格式,两种帧格式的不同之处为标识符的长度不同:具有11位标识符的帧称为标准帧,具有29位标识符的帧称为扩展帧。本设计中主要考虑标准帧的情况。标准帧的报文由4种不同类型的帧构成表示:数据帧、远程帧、出错帧和超载帧。以数据帧为例:数据帧由7个不同部分构成:帧起始、仲裁场、控制场、数据场、CRC场、应答场和帧结束。
3 通信网关模块硬件设计
网关模块的硬件框图如1所示。
处理器采用基于ARM7的LPC2294。LPC2294是一款基于16 b/32 b ARM7TDMI-S内核,内带16 KB RAM和256 KB高速FLASH的微处理器,最
大时钟速率60 MHz。内带2路CAN通道,其CAN控制器集成了数据链路层功能,符合CAN2.0A和CAN2.0B的规范。
CAN收发器采用Philips PCA82C250。主要提供对总线的差分发送能力和对CAN控制器的差动分接收能力。微处理器对CAN控制器进行相应配置后,收发器自动完成相应的CAN总线动作。
MVB通信控制器采用MVBC02专用芯片,它采用16 b数据总线,提供了丰富的接口控制信号,简化了与各种宿主CPU以及通信存储器的接口设计,支持MVB协议中链路层及物理层的功能。MVB物理层接口采用电气短距离介质ESD+接口,系统信号通道使用光耦实现主系统与外界的电隔离,从而提高了系统的可靠性。使用RS 485芯片LTC1485I作为收发器,并使用过压保护模块以防止瞬间过压对器件造成损坏。MVB物理层接口电路如图2所示。
[page]
在本设计中,关键是实现MVB总线和CAN总线之间的数据交换,它具有MVB检测和接入功能,以及CAN总线检测和接入功能,通过处理器控制数据帧的解析和重新封装,实现符合CAN总线V2.0规范和MVB标准格式帧的相互转换。因此从CAN侧接收到的数据要通过MVB传输,就需要按照一定的格式把CAN帧中的数据组合成MVB帧的数据格式;同样从MVB侧接收到的数据要通过CAN传输,也需要按照一定的格式对MVB帧中的数据进行分帧处理。另外,为了实现透明传输需要在MVB端口中将各种变量的含义按照一定的规则和CAN总线侧帧的标识符等信息对应,从而形成一个表格,同样在CAN总线侧也将CAN侧的标识符与MVB侧的过程数据的数据集进行对应形成表格。
软件主要由主函数调度模块、MVB控制模块、CAN控制模块以及2个数据缓冲组成。当CAN应用层有数据要发送到MVB网络时,主函数需调度模块得到CAN数据传输后调度CAN控制模块接收数据,解码分析获取标识符,依据标识符查询索引表找出对应MVB端口相关变量,后将报文中的相关数据提取出来发送到数据缓冲区B。主函数调度模块通知MVB控制模块从缓冲区B中提取数据,并进行完整的MVB报文封装,发送到MVB总线上,释放缓冲区B。反过来,当MVB应用层有数据要发送到CAN节点时,首先,数据发送到MVB上,主函数调度模块检测MVB上是否有数据传输,通知MVB控制模块接受数据,并对信息解码分析,从中获取端口相关变量,依据端口相关变量查询索引表找出对应CAN标识符,同时将数据发送到数据缓冲区A。此时,总调度模块通知CAN控制模块从缓冲区A中提取数据,并进行完整的CAN报文封装,发送到CAN总线上,释放缓冲区A。CAN控制模块主要负责从CAN数据包中解析出完整CAN协议报文,存入数据缓冲区B。同时,将数据缓冲区A中的CAN数据封装成完整的CAN协议报文后发送到CAN总线上。MVB控制模块主要负责从MVB数据包中解析出完整MVB协议报文,存入数据缓冲区A。同时,将数据缓冲区B中的MVB数据封装成完整的MVB协议报文后发送到MVB上。总调度模块主要起到综合调度和监控作用,同时,它还用于整个传输过程中的中断响应。
图3说明了软件流程框图。
5 结语
本文描述了基于ARM7处理器LPC2294的MVB-CAN通信模块的实现方法,概述了MVB网络和CAN总线网络的报文结构,提出通信模块的硬、软件实现方法。通过考核该通信模块实现了MVB与CAN总线间的数据传递,其性能稳定,可靠性高。各种现场总线都有各自应用特点及优势。所以,多类型总线异构组网方式在列车通信网络中的应用越来越广泛。MVB及CAN总线的异构组网方式具有广阔的市场前景。MVB-CAN通信模块的设计为列车通信网络的多元化发展提供了支持,也为其他网络异构组网(例如:RS 485/RS 422-MVB,HDLC-MVB等)方式的网络通信模块设计提供了参考。
上一篇:基于ARM+Linux 的仪器控制系统设计
下一篇:S1D13506显示控制器与AT91RM9200的接口设计
推荐阅读最新更新时间:2024-03-16 13:04
设计资源 培训 开发板 精华推荐
- 骏龙科技&ADI有奖直播:适用于视频、转换器、通信的千兆数字隔离器
- 【MPS有奖分享】便携式多功能电工台的核“芯”功能测试与结构设计
- TI即将直播【 MSP430 系列最新超声波流量测量方案】,你会错过?报名看直播赢双重好礼喽!
- 学C2000精品课程,低价抢购 C2000 LaunchPad!
- 打造健康生活,成就强劲工具 TE Connectivity (TE) 智慧生活子系统解决方案
- 直播已结束|浅谈Microchip的FPGA产品与智能嵌入式视觉解决方案
- 【泰有聊】系列技术文章连载1:示波器“芯”升级,聊一聊TEK061/041 ASIC创新平台
- 英飞凌ADAS解决方案,确保您每一次安全出行 参与赢好礼!
- 赞一赞我国的青年:专访TI杯2019年国赛9支优秀队伍
- 答题有好礼 | 是德科技《优化物联网设备电池续航时间的4个技巧》