基于ARM的列车用CAN通信转换控制方法及转换模块技术

技术编号:15334364 阅读:81 留言:0更新日期:2017-05-16 21:38
本发明专利技术涉及一种基于ARM的列车用CAN通信转换控制方法及转换模块,所述方法的步骤为:CAN通信转换模块初始化,ARM处理器中断服务,主循环,主循环根据CAN网络拓扑不同采用主从结构形式的三种运行模式运行,通过主设备保证一个、两个或多个从设备与列车网络间接通信,控制方案灵活。所述转换模块包括ARM处理器、内嵌于ARM处理器中的三路CAN通信控制器以及与ARM处理器连接的数字量输入接口单元,每路CAN通信控制器均连接有一路用于连接CAN总线的CAN收发接口模块,以简单的电路实现数据的快速可靠传输,实现了设备级网络和设备内部模块级网络的可靠数据传输。

【技术实现步骤摘要】
基于ARM的列车用CAN通信转换控制方法及转换模块
本专利技术属于列车通信
,涉及列车用CAN通信转换技术,具体地说,涉及一种基于ARM的列车用CAN通信转换控制方法及转换模块。
技术介绍
CAN(ControllerAreaNetwork的简称,即控制器局域网)总线是一种用于实时应用的多主方式串行通信总线协议,具有很多优越的特性。其优点包括:使用成本低;具有极高的总线利用率;数据的传输距离远,长达10km;数据传输速率高,可高达1Mbit/s;可根据报文的ID决定接收获屏蔽该报文;具有可靠的错误处理和检错机制;发送的信息遭到破坏后,可以自动重发;节点在错误严重的情况下可自动退出总线;报文不包含源地址或目标地址,仅用标识符来指示功能信息、优先级信息。因此,CAN总线通信在汽车工业、航空工业、工业控制和安全防护等领域中获得广泛的应用。在轨道交通列车应用中,CAN总线最初仅仅用于设备级的网络中。随着车载设备的模块化设计,设备内部不同模块之间也需要快速可靠地进行通信。因此,CAN总线通信也可用于设备内部通信网络,即模块级网络。为了实现设备级网络之间、模块级网络之间以及设备级网络与模块级网络之间的可靠数据传输,同时保证冗余或可扩展功能,转换设备需要具有至少三路CAN总线。现有的大多设备采用的CPU最多内嵌两个CAN控制器,仅具有两路CAN总线。单CPU不能满足三路CAN总线的要求,若增加外部CAN控制器,则控制速度太慢;若采用多个CPU,则增加了电路的复杂性和CPU总线间的数据交互。
技术实现思路
本专利技术针对现有技术存在CAN总线接口较少或控制速度慢、电路复杂、数据交互困难等上述问题,提供了一种基于ARM的列车用CAN通信转换控制方法及转换模块,能够满足三路CAN总线的要求,以简单的电路实现数据的快速可靠传输,实现了设备级网络之间、模块级网络之间以及设备级网络与模块级网络之间的可靠数据传输。为了达到上述目的,本专利技术提供了一种基于ARM的列车用CAN通信转换控制方法,含有以下步骤:CAN通信转换模块初始化,完成ARM处理器硬件、通用定时器模块、CAN1收发接口模块、CAN2收发接口模块、CAN3收发接口模块以及变量初始化;ARM处理器中断服务,提供由通用定时器模块所产生的主循环的时间周期以及CAN1收发接口模块、CAN2收发接口模块、CAN3收发接口模块的数据接收;主循环,主循环采用的CAN网络拓扑结构为:CAN1收发接口模块、CAN2收发接口模块分别连接两个从设备的设备级CAN总线,并采取点对点的方式传输数据,CAN3收发接口模块连接主设备内部的模块级CAN总线;主循环采用以下运行模式运行:ARM处理器将CAN3收发接口模块收到的数据重新打包,同时通过CAN1收发接口模块、CAN2收发接口模块发送至从设备;ARM处理器将CAN1收发接口模块、CAN2收发接口模块收到的数据重新打包,同时通过CAN3收发接口模块发送至主设备的其他相关模块。优选的,主循环采用的运行模式运行的具体步骤如下:(1)ARM处理器按照时间周期T1通过CAN1收发接口模块、CAN2收发接口模块分别同时通过CAN总线向两个从设备发送报文TX_MSG11和报文TX_MSG21,报文TX_MSG11和报文TX_MSG21为数据帧,触发从设备的响应;(2)ARM处理器按照时间周期T2通过CAN3收发接口模块向主设备其它模块发送固定的报文TX_MSG31,报文TX_MSG31为数据帧,报文TX_MSG31中含有CAN1收发接口模块、CAN2收发接口模块的接收状态;(3)当ARM处理器从CAN1收发接口模块接收到的报文具有符合配置要求的ID时,将报文中的数据放入ARM处理器的缓存区BUFF1,并设置CAN1收发接口模块的ID接收标志为有效;或当ARM处理器从CAN2收发接口模块接收到的报文具有符合配置要求的ID时,将报文中的数据放入ARM处理器的缓存区BUFF2,并设置CAN2收发接口模块的ID接收标志为有效;(4)ARM处理器检测到CAN1收发接口模块的ID接收标志有效或CAN2收发接口模块的ID接收标志有效,则会将缓存区BUFF1或缓存区BUFF2中的数据通过CAN3收发接口模块对应的报文TX_MSG3X转发出去,下标X对应于不同的ID接收标志;(5)当ARM处理器从CAN3收发接口模块接收到有效报文时,根据该报文同时更新报文TX_MSG11和报文TX_MSG21的数据内容;(6)ARM处理器以时间周期T3检测CAN1收发接口模块、CAN2收发接口模块、CAN3收发接口模块的接收状态,根据CAN1收发接口模块、CAN2收发接口模块的接收状态更新报文TX_MSG31中的相关数据。为了达到上述目的,本专利技术另提供了一种基于ARM的列车用CAN通信转换控制方法,含有以下步骤:CAN通信转换模块初始化,完成ARM处理器硬件、通用定时器模块、CAN1收发接口模块、CAN2收发接口模块、CAN3收发接口模块以及变量初始化;ARM处理器中断服务,提供由通用定时器模块所产生的主循环的时间周期以及CAN1收发接口模块、CAN2收发接口模块、CAN3收发接口模块的数据接收;主循环,主循环采用的CAN网络拓扑结构为:主设备、CAN1收发接口模块、以串联方式形成链路的多个设备、CAN2收发接口模块依次以点对点的方式首尾连接形成环路,CAN3收发接口模块连接主设备内部的模块级CAN总线;主循环采用以下运行模式运行:ARM处理器通过CAN1收发接口模块、CAN2收发接口模块接收整个环路上全部从设备的数据,CAN1收发接口模块、CAN2收发接口模块接收的数据互为冗余,经ARM处理器校验数据的有效性后,通过CAN3收发接口模块转发至主设备的其他模块;ARM处理器通过CAN3收发接口模块接收来自内部模块级CAN总线的主设备控制器命令时,ARM处理器通过CAN1收发接口模块、CAN2收发接口模块向相邻的从设备转发。优选的,主循环采用的运行模式运行的具体步骤如下:(1)ARM处理器按照时间周期T1通过CAN1收发接口模块、CAN2收发接口模块分别同时通过CAN总线向从设备发送报文TX_MSG11和报文TX_MSG21,报文TX_MSG11和报文TX_MSG21为数据帧,触发从设备的响应;(2)ARM处理器按照时间周期T2通过CAN3收发接口模块向主设备发送固定的报文TX_MSG31,报文TX_MSG31为数据帧,报文TX_MSG31中含有从设备链路的连接状态;(3)当ARM处理器从CAN1收发接口模块或CAN2收发接口模块接收到的报文具有符合配置要求的ID时,将报文中的数据放入ARM处理器的缓存区BUFF,并设置外部数据接收标志为有效;(4)ARM处理器检测到外部数据接收标志有效,则以周期T3将ARM处理器的缓存区BUFF中的数据通过CAN3收发接口模块对应的报文TX_MSG3X转发出去,下标X对应于不同的ID接收标志;(5)当ARM处理器从CAN3收发接口模块接收到有效报文时,将其通过CAN1收发接口模块的报文TX_MSG11和CAN2收发接口模块的报文TX_MSG21分别转发出去;(6)ARM处理器以时间周期T3检测检测整个链路从设备的连接状态,并根据该状态更新报文TX_本文档来自技高网...
基于ARM的列车用CAN通信转换控制方法及转换模块

【技术保护点】
一种基于ARM的列车用CAN通信转换控制方法,其特征在于,含有以下步骤:CAN通信转换模块初始化,完成ARM处理器硬件、通用定时器模块、CAN1收发接口模块、CAN2收发接口模块、CAN3收发接口模块以及变量初始化;ARM处理器中断服务,提供由通用定时器模块所产生的主循环的时间周期以及CAN1收发接口模块、CAN2收发接口模块、CAN3收发接口模块的数据接收;主循环,根据CAN网络拓扑不同采用运行模式一、或运行模式二、或运行模式三运行,其中:运行模式一:CAN1收发接口模块、CAN2收发接口模块分别连接两个从设备的设备级CAN总线,并采取点对点的方式传输数据,CAN3收发接口模块连接主设备内部的模块级CAN总线;ARM处理器将CAN3收发接口模块收到的数据重新打包,同时通过CAN1收发接口模块、CAN2收发接口模块发送至从设备;ARM处理器将CAN1收发接口模块、CAN2收发接口模块收到的数据重新打包,同时通过CAN3收发接口模块发送至主设备的其他相关模块;运行模式二:主设备、CAN1收发接口模块、以串联方式形成链路的多个设备、CAN2收发接口模块依次以点对点的方式首尾连接形成环路,CAN3收发接口模块连接主设备内部的模块级CAN总线;ARM处理器通过CAN1收发接口模块、CAN2收发接口模块接收整个环路上全部从设备的数据,CAN1收发接口模块、CAN2收发接口模块接收的数据互为冗余,经ARM处理器校验数据的有效性后,通过CAN3收发接口模块转发至主设备的其他模块;ARM处理器通过CAN3收发接口模块接收来自内部模块级CAN总线的主设备控制器命令时,ARM处理器通过CAN1收发接口模块、CAN2收发接口模块向相邻的从设备转发;运行模式三:主设备通过CAN1收发接口模块连接至主设备的设备级CAN1总线,主设备通过CAN2收发接口模块与从设备点对点连接,CAN3收发接口模块连接主设备内部的模块级CAN总线;ARM处理器通过CAN3收发接口模块接收主设备的其他模块的报文,并对报文数据进行逻辑处理后通过CAN1收发接口模块转发;ARM处理器通过CAN2收发接口模块接收从设备的报文,并将报文数据直接通过CAN1收发接口模块转发;当ARM处理器通过CAN1收发接口模块从设备级CAN1总线接收到报文时,ARM处理器将主设备需要的报文通过CAN3收发接口模块转发,将从设备需要的报文通过CAN2收发接口模块转发。...

【技术特征摘要】
1.一种基于ARM的列车用CAN通信转换控制方法,其特征在于,含有以下步骤:CAN通信转换模块初始化,完成ARM处理器硬件、通用定时器模块、CAN1收发接口模块、CAN2收发接口模块、CAN3收发接口模块以及变量初始化;ARM处理器中断服务,提供由通用定时器模块所产生的主循环的时间周期以及CAN1收发接口模块、CAN2收发接口模块、CAN3收发接口模块的数据接收;主循环,根据CAN网络拓扑不同采用运行模式一、或运行模式二、或运行模式三运行,其中:运行模式一:CAN1收发接口模块、CAN2收发接口模块分别连接两个从设备的设备级CAN总线,并采取点对点的方式传输数据,CAN3收发接口模块连接主设备内部的模块级CAN总线;ARM处理器将CAN3收发接口模块收到的数据重新打包,同时通过CAN1收发接口模块、CAN2收发接口模块发送至从设备;ARM处理器将CAN1收发接口模块、CAN2收发接口模块收到的数据重新打包,同时通过CAN3收发接口模块发送至主设备的其他相关模块;运行模式二:主设备、CAN1收发接口模块、以串联方式形成链路的多个设备、CAN2收发接口模块依次以点对点的方式首尾连接形成环路,CAN3收发接口模块连接主设备内部的模块级CAN总线;ARM处理器通过CAN1收发接口模块、CAN2收发接口模块接收整个环路上全部从设备的数据,CAN1收发接口模块、CAN2收发接口模块接收的数据互为冗余,经ARM处理器校验数据的有效性后,通过CAN3收发接口模块转发至主设备的其他模块;ARM处理器通过CAN3收发接口模块接收来自内部模块级CAN总线的主设备控制器命令时,ARM处理器通过CAN1收发接口模块、CAN2收发接口模块向相邻的从设备转发;运行模式三:主设备通过CAN1收发接口模块连接至主设备的设备级CAN1总线,主设备通过CAN2收发接口模块与从设备点对点连接,CAN3收发接口模块连接主设备内部的模块级CAN总线;ARM处理器通过CAN3收发接口模块接收主设备的其他模块的报文,并对报文数据进行逻辑处理后通过CAN1收发接口模块转发;ARM处理器通过CAN2收发接口模块接收从设备的报文,并将报文数据直接通过CAN1收发接口模块转发;当ARM处理器通过CAN1收发接口模块从设备级CAN1总线接收到报文时,ARM处理器将主设备需要的报文通过CAN3收发接口模块转发,将从设备需要的报文通过CAN2收发接口模块转发。2.如权利要求1所述的基于ARM的列车用CAN通信转换控制方法,其特征在于,运行模式一的具体步骤如下:(1)ARM处理器按照时间周期T1通过CAN1收发接口模块、CAN2收发接口模块分别同时通过CAN总线向两个从设备发送报文TX_MSG11和报文TX_MSG21,报文TX_MSG11和报文TX_MSG21为数据帧,触发从设备的响应;(2)ARM处理器按照时间周期T2通过CAN3收发接口模块向主设备的其他模块发送固定的报文TX_MSG31,报文TX_MSG31为数据帧,报文TX_MSG31中含有CAN1收发接口模块、CAN2收发接口模块的接收状态;(3)当ARM处理器从CAN1收发接口模块接收到的报文具有符合配置要求的ID时,将报文中的数据放入ARM处理器的缓存区BUFF1,并设置CAN1收发接口模块的ID接收标志为有效;或当ARM处理器从CAN2收发接口模块接收到的报文具有符合配置要求的ID时,将报文中的数据放入ARM处理器的缓存区BUFF2,并设置CAN2收发接口模块的ID接收标志为有效;(4)ARM处理器检测到CAN1收发接口模块的ID接收标志有效或CAN2收发接口模块的ID接收标志有效,则会将缓存区BUFF1或缓存区BUFF2中的数据通过CAN3收发接口模块对应的报文TX_MSG3X转发出去,下标X对应于不同的ID接收标志;(5)当ARM处理器从CAN3收发接口模块接收到有效报文时,根据该报文同时更新报文TX_MSG11和报文TX_MSG21的数据内容;(6)ARM处理器以时间周期T3检测CAN1收发接口模块、CAN2收发接口模块、CAN3收发接口模块的接收状态,根据CAN1收发接口模块、CAN2收发接口模块的接收状态更新报文TX_MSG31中的相关数据。3.如权利要求1所述的基于ARM的列车用CAN通信转换控制方法,其特征在于,运行模式二的具体步骤如下:(1)ARM处理器按照时间周期T1通过CAN1收发接口模块、CAN2收发接口模块分别同时通过CAN总线向从设备发送报文TX_MSG11和报文TX_MSG21,报文TX_MSG11和报文TX_MSG21为数据帧,触发从设备的响应;(2)ARM处理器按照时间周期T2通过CAN3收发接口模块向主设备的其他模块发送固定的报文TX_MSG31,报文TX_MSG31为数据帧,报文TX_MSG31中含有从设备链路的连接状态;(3)当ARM处理器从CAN1收发接口模块或CAN2收发接口模块接收到的报文具有符合配置要求的ID时,将报文中的数据放入ARM处理器的缓存区BUFF,并设置外部数据接收标志为有效;(4)A...

【专利技术属性】
技术研发人员:张利军张艳芳李磊孙靖雯宋以俊孙冬
申请(专利权)人:中车青岛四方车辆研究所有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1