站内文章搜索:

 

梭哈单机版下载

 行业资讯 
 电子基础 
 汽车电子 
 家电维修 
 手机数码 
 通信网络 
 PLC工控 
 LED照明 
 安防电子 
 消费电子 
 电源电池 
 嵌入式系统 
 EDA技术 
 音响技术 
 医疗电子 
 半导体 
 光伏技术 
 SMT技术 
 传感器 
 电工电气 
 单片机 
 EMC EMI 
 电机控制 
 光电显示 
您现在的位置: 电子之家 >> 嵌入式系统 >> 正文   更新时间:2014/5/3 19:47:53  点击数:1120

基于ARM7的网关通信??樯杓?

分享此文章:

MVB多功能车辆总线是在国际标准IEC61375列车通信网络(TCN)中被详细定义的一种现场总线,按照TCN标准,列车通信网分为两级,第一级绞线式列车总线实现车辆间的数据通信,第二级多功能车辆总线MVB主实现同车辆内各个功能控制单元之间的数据通信。MVB以其高实时性、高可靠性及可管理性等多方面的优势而广泛应用在列车总线控制当中。但是由于MVB是专门针对列车通信网络而开发的,其实用范围、供货商、经济型均不如CAN总线。CAN总线作为现场设备级的通信总线具有很高的可靠性和性价比。目前很多机车车辆的列车通信网络系统都采用MVB总线和CAN总线共同组成的异构网络。因此,本文提出了一种基于μC/OS-Ⅱ的ARM7内核芯片LPC2294的MVB-CAN双向通信???。

  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 通信网关??橛布杓?/P>

  网关??榈挠布蛲既?所示。

图1 网关??榈挠布蛲? src=

  处理器采用基于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所示。

图2 MVB物理层接口电路

4 软件实现方案

  在本设计中,关键是实现MVB总线和CAN总线之间的数据交换,它具有MVB检测和接入功能,以及CAN总线检测和接入功能,通过处理器控制数据帧的解析和重新封装,实现符合CAN总线V2.0规范和MVB标准格式帧的相互转换。因此从CAN侧接收到的数据要通过MVB传输,就需要按照一定的格式把CAN帧中的数据组合成MVB帧的数据格式;同样从MVB侧接收到的数据要通过CAN传输,也需要按照一定的格式对MVB帧中的数据进行分帧处理。另外,为了实现透明传输需要在MVB端口中将各种变量的含义按照一定的规则和CAN总线侧帧的标识符等信息对应,从而形成一个表格,同样在CAN总线侧也将CAN侧的标识符与MVB侧的过程数据的数据集进行对应形成表格。

  软件主要由主函数调度???、MVB控制???、CAN控制??橐约?个数据缓冲组成。当CAN应用层有数据要发送到MVB网络时,主函数需调度??榈玫紺AN数据传输后调度CAN控制??榻邮帐?,解码分析获取标识符,依据标识符查询索引表找出对应MVB端口相关变量,后将报文中的相关数据提取出来发送到数据缓冲区B。主函数调度??橥ㄖ狹VB控制??榇踊撼迩鳥中提取数据,并进行完整的MVB报文封装,发送到MVB总线上,释放缓冲区B。反过来,当MVB应用层有数据要发送到CAN节点时,首先,数据发送到MVB上,主函数调度??榧觳釳VB上是否有数据传输,通知MVB控制??榻邮苁?,并对信息解码分析,从中获取端口相关变量,依据端口相关变量查询索引表找出对应CAN标识符,同时将数据发送到数据缓冲区A。此时,总调度??橥ㄖ狢AN控制??榇踊撼迩鳤中提取数据,并进行完整的CAN报文封装,发送到CAN总线上,释放缓冲区A。CAN控制??橹饕涸鸫覥AN数据包中解析出完整CAN协议报文,存入数据缓冲区B。同时,将数据缓冲区A中的CAN数据封装成完整的CAN协议报文后发送到CAN总线上。MVB控制??橹饕涸鸫覯VB数据包中解析出完整MVB协议报文,存入数据缓冲区A。同时,将数据缓冲区B中的MVB数据封装成完整的MVB协议报文后发送到MVB上。总调度??橹饕鸬阶酆系鞫群图嗫刈饔?,同时,它还用于整个传输过程中的中断响应。

  图3说明了软件流程框图。

图3 软件流程框图

  5 结语

  本文描述了基于ARM7处理器LPC2294的MVB-CAN通信??榈氖迪址椒?,概述了MVB网络和CAN总线网络的报文结构,提出通信??榈挠?、软件实现方法。通过考核该通信??槭迪至薓VB与CAN总线间的数据传递,其性能稳定,可靠性高。各种现场总线都有各自应用特点及优势。所以,多类型总线异构组网方式在列车通信网络中的应用越来越广泛。MVB及CAN总线的异构组网方式具有广阔的市场前景。MVB-CAN通信??榈纳杓莆谐低ㄐ磐绲亩嘣⒄固峁┝酥С?,也为其他网络异构组网(例如:RS 485/RS 422-MVB,HDLC-MVB等)方式的网络通信??樯杓铺峁┝瞬慰?。

  • 上一篇文章:

  • 下一篇文章:
  • 相关文章

    没有相关文章

    推荐文章

    · 如何选择嵌入式微处理器
    · 嵌入式系统选型
    · 嵌入式开发与普通编程开发的区别
    · 典型的嵌入式操作系统
    · 什么是嵌入式linux
    · s3c2410 watchdog详解

    热门文章

    · 嵌入式系统组成
    · 什么是嵌入式系统
    · Wi-Fi速度慢的十个原因以及解决办法
    · 嵌入式系统的历史
    · 梭哈单机版下载
    · 嵌入式系统的应用领域

    | QQ:278237851 | 鲁ICP备14015669号-3 |

    电子之家 版权所有

    892| 150| 510| 766| 181| 509| 371| 340| 602| 695|