新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于ARM处理器的网关通信模块研制

基于ARM处理器的网关通信模块研制

作者:时间:2012-07-17来源:网络收藏

4 软件实现方案
在本设计中,关键是实现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说明了软件流程框图。

本文引用地址:http://www.eepw.com.cn/article/148757.htm

c.JPG



5 结语
本文描述了7LPC2294的MVB-CAN模块的实现方法,概述了MVB网络和CAN总线网络的报文结构,提出模块的硬、软件实现方法。通过考核该模块实现了MVB与CAN总线间的数据传递,其性能稳定,可靠性高。各种现场总线都有各自应用特点及优势。所以,多类型总线异构组网方式在列车通信网络中的应用越来越广泛。MVB及CAN总线的异构组网方式具有广阔的市场前景。MVB-CAN通信模块的设计为列车通信网络的多元化发展提供了支持,也为其他网络异构组网(例如:RS 485/RS 422-MVB,HDLC-MVB等)方式的网络通信模块设计提供了参考。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭