基于ARM的列车用CAN通信转换控制方法及转换模块与流程

文档序号:11147683阅读:529来源:国知局
基于ARM的列车用CAN通信转换控制方法及转换模块与制造工艺

本发明属于列车通信技术领域,涉及列车用CAN通信转换技术,具体地说,涉及一种基于ARM的列车用CAN通信转换控制方法及转换模块。



背景技术:

CAN(Controller Area Network的简称,即控制器局域网)总线是一种用于实时应用的多主方式串行通信总线协议,具有很多优越的特性。其优点包括:使用成本低;具有极高的总线利用率;数据的传输距离远,长达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_MSG31中的相关数据。

为了达到上述目的,本发明又提供了一种基于ARM的列车用CAN通信转换控制方法,含有以下步骤:

CAN通信转换模块初始化,完成ARM处理器硬件、通用定时器模块、CAN1收发接口模块、CAN2收发接口模块、CAN3收发接口模块以及变量初始化;

ARM处理器中断服务,提供由通用定时器模块所产生的主循环的时间周期以及CAN1收发接口模块、CAN2收发接口模块、CAN3收发接口模块的数据接收;

主循环,主循环采用的CAN网络拓扑结构为:主设备通过CAN1收发接口模块连接至主设备的设备级CAN1总线,主设备通过CAN2收发接口模块与从设备点对点连接,CAN3收发接口模块连接主设备内部的模块级CAN总线;主循环采用以下运行模式运行:ARM处理器通过CAN3收发接口模块接收主设备的其他模块的报文,并对报文数据进行逻辑处理后通过CAN1收发接口模块转发;ARM处理器通过CAN2收发接口模块接收从设备的报文,并将报文数据直接通过CAN1收发接口模块转发;当ARM处理器通过CAN1收发接口模块从设备级CAN1总线接收到报文时,ARM处理器将主设备需要的报文通过CAN3收发接口模块转发,将从设备需要的报文通过CAN2收发接口模块转发。

优选的,主循环采用的运行模式运行的具体步骤如下:

(1)ARM处理器按照时间周期T1通过CAN1收发接口模块向设备级CAN1总线发送报文TX_MSG11-TX_MSG1n,n为大于1的自然数,报文TX_MSG11-TX_MSG1n为数据帧;

(2)ARM处理器按照时间周期T2通过CAN2收发接口模块向从设备发送报文TX_MSG21-TX_MSG2n,n为大于1的自然数,报文TX_MSG21-TX_MSG2n为数据帧;

(3)ARM处理器按照时间周期T3通过CAN3收发接口模块向主设备发送固定的报文TX_MSG31-TX_MSG3n,n为大于1的自然数,报文TX_MSG31-TX_MSG3n为数据帧;

(4)当ARM处理器从CAN1收发接口模块接收到的报文具有符合配置要求的ID时,将报文中的数据放入ARM处理器的缓存区BUFF1;

(5)当ARM处理器从CAN2收发接口模块接收到的报文具有符合配置要求的ID时,将报文中的数据放入ARM处理器的缓存区BUFF2;

(6)当ARM处理器从CAN3收发接口模块接收到的报文具有符合配置要求的ID时,ARM处理器对报文中的数据进行逻辑处理后,将处理完毕的数据放入ARM处理器的缓存区BUFF3;

(7)ARM处理器以时间周期T4检测CAN1收发接口模块、CAN2收发接口模块、CAN3收发接口模块的接收状态;

(8)ARM处理器以时间周期T5更新CAN1收发接口模块、CAN2收发接口模块、CAN3收发接口模块待发送数据,包括用缓存区BUFF2中的数据、缓存区BUFF3中的数据、CAN2收发接口模块的接收状态和CAN3收发接口模块的接收状态更新TX_MSG11-TX_MSG1n,用缓存区BUFF1中的数据更新TX_MSG21-TX_MSG2n,以及用缓存区BUFF1中的数据、CAN1收发接口模块的接收状态和CAN2收发接口模块的接收状态更新TX_MSG31-TX_MSG3n。

为了达到上述目的,基于上述转换控制方法,本发明还提供了一种基于ARM的列车用CAN通信转换模块,包括ARM处理器、内嵌于ARM处理器中的三路CAN通信控制器以及与ARM处理器连接的数字量输入接口单元,每路CAN通信控制器均连接有一路用于连接CAN总线的CAN收发接口模块,分别为CAN1收发接口模块、CAN2收发接口模块和CAN3收发接口模块;ARM处理器分别与三路CAN收发接口模块之间均连接有0V或3.3V的脉冲信号,用于CAN接收和CAN发送,ARM处理器与数字量输入接口单元之间连接有0V或3.3V的数字量信号,用于提供数字量输入状态。

优选的,三路CAN收发接口模块中,CAN1收发接口模块和CAN2收发接口模块均为隔离的CAN收发电路,均包括一个隔离式CAN总线收发器以及由+5V转+5V的电源隔离模块,将CAN1总线接收、CAN1总线发送的信号转换为符合CAN通信标准的差分信号CAN1H、CAN1L,以及CAN2总线接收、CAN2总线发送的信号转换为符合CAN通信标准的差分信号CAN2H、CAN2L;CAN3收发接口模块为非隔离的CAN收发电路,包括一CAN总线收发器,将CAN3接收、CAN3发送的信号转换为符合CAN通信标准的差分信号CAN3H、CAN3L。

优选的,所述数字量输入接口单元包含数字量隔离器,将外部的+5V电平转换为隔离的适用于ARM处理器的+3.3V电平。

优选的,连接CAN1收发接口模块的CAN1总线和连接CAN2收发接口模块的CAN2总线为设备级CAN总线,用于负责设备之间的通信;连接CAN3收发接口模块的CAN3总线为模块级CAN总线,用于负责单个设备内部模块间的通信。

与现有技术相比,本发明的优点和积极效果在于:

(1)本发明提供的CAN通信转换控制方法,采用ARM处理器实现CAN通信,将数据转发与数据处理相结合,能够扩展出多种控制方案,采用主从结构形式的三种运行模式:单个从设备可通过设备级CAN总线接到主设备,并通过主设备模块级CAN总线接入主设备上一级CAN网络模块;两个从设备可通过设备级CAN总线接到主设备,并通过主设备模块级CAN总线接入主设备列车网络模块;多个从设备可通过设备级CAN总线接到主设备,并通过主设备模块级CAN总线接入主设备列车网络模块,控制方案灵活。

(2)本发明提供的CAN通信转换模块电路结构简单,以简单的电路实现了设备级网络之间、模块级网络之间以及设备级网络与模块级网络之间的可靠数据传输,并且能够实现冗余或可扩展,具有三路CAN收发接口,能够满足三路CAN总线的要求,控制方案灵活,采用主从结构,通过主设备保证一个或多个从设备与列车网络间接通信,使整车的网络简化且清晰,系统安全可靠,降低了整车的成本。

(3)本发明提供的CAN通信转换模块采用模块化设计,推动了列车网络设备的模块化设计,CAN通信转换模块中的CAN收发接口模块可以为符合CAN通信标准的不同模块,维护时只需更换需要维修的模块即可,降低了设计和维护成本,同时便于设备维护人员进行维护和维修。

(4)本发明提供的CAN通信转换模块及控制方法,采用适合于铁路应用的ARM处理器,该处理器具有双ARM Cortex-R4F核架构、双核锁步运行检、FLASH和RAM校验和保护机制、时钟和电压监控等,用硬件提供安全特性、检测是否有随机故障,避免系统出错,支持IEC61508最高等级的SIL-3安全标准,适用于列车轴温监测装置、烟火报警装置、充电机等列车网络设备。

附图说明

图1为本发明一实施例中基于ARM的列车用CAN通信转换控制方法的主循环CAN网络拓扑结构图。

图2为本发明图1实施例中基于ARM的列车用CAN通信转换控制方法的主循环流程图。

图3为本发明另一实施例中基于ARM的列车用CAN通信转换控制方法的主循环CAN网络拓扑结构图。

图4为本发明图3实施例中基于ARM的列车用CAN通信转换控制方法的主循环流程图。

图5为本发明又一实施例中基于ARM的列车用CAN通信转换控制方法的主循环CAN网络拓扑结构图。

图6为本发明图5实施例中基于ARM的列车用CAN通信转换控制方法的主循环流程图。

图7为本发明一实施例中基于ARM的列车用CAN通信转换模块的硬件结构简图。

图8为本发明一实施例中基于ARM的列车用CAN通信转换模块的ARM处理器的逻辑框架图。

具体实施方式

下面,通过示例性的实施方式对本发明进行具体描述。然而应当理解,在没有进一步叙述的情况下,一个实施方式中的元件、结构和特征也可以有益地结合到其他实施方式中。

本发明一实施例,提供了一种基于ARM的列车用CAN通信转换控制方法,含有以下步骤:

S1、CAN通信转换模块初始化,完成ARM处理器硬件、通用定时器模块、CAN1收发接口模块、CAN2收发接口模块、CAN3收发接口模块以及变量初始化;所述的变量包括ID接收标志、发送的报文数据和接收的报文数据。

更具体的说,将ARM处理器硬件、通用定时器模块、CAN1收发接口模块、CAN2收发接口模块、CAN3收发接口模块初始化为工作前的初始状态,将变量进行初始化是指将所有变量初始化为零。

S2、ARM处理器中断服务,提供由通用定时器模块所产生的主循环的时间周期以及CAN1收发接口模块、CAN2收发接口模块、CAN3收发接口模块的数据接收。

S3、主循环,根据以下CAN网络拓扑结构及运行模式运行;参见图1,CAN网络拓扑结构为:CAN1收发接口模块连接从设备1的设备级CAN总线,并采取点对点的方式传输数据;CAN2收发接口模块连接从设备2的设备级CAN总线,并采取点对点的方式传输数据;CAN3收发接口模块连接主设备内部的模块级CAN3总线;运行模式为:ARM处理器将CAN3收发接口模块收到的数据重新打包,同时通过CAN1收发接口模块、CAN2收发接口模块发送至从设备;ARM处理器将CAN1收发接口模块、CAN2收发接口模块收到的数据重新打包,同时通过CAN3收发接口模块发送至主设备的其他相关模块。

参见图2,主循环的具体步骤如下:

S31:ARM处理器按照时间周期T1通过CAN1收发接口模块、CAN2收发接口模块分别同时通过CAN总线向两个从设备发送报文TX_MSG11和报文TX_MSG21,报文TX_MSG11和报文TX_MSG21为数据帧,触发从设备的响应。

S32:ARM处理器按照时间周期T2通过CAN3收发接口模块向主设备发送固定的报文TX_MSG31,报文TX_MSG31为数据帧,报文TX_MSG31中含有CAN1收发接口模块、CAN2收发接口模块的接收状态。

S33:当ARM处理器从CAN1收发接口模块接收到的报文具有符合配置要求的ID时,将报文中的数据放入ARM处理器的缓存区BUFF1,并设置CAN1收发接口模块的ID接收标志为有效;或当ARM处理器从CAN2收发接口模块接收到的报文具有符合配置要求的ID时,将报文中的数据放入ARM处理器的缓存区BUFF2,并设置CAN2收发接口模块的ID接收标志为有效。

S34:ARM处理器检测到CAN1收发接口模块的ID接收标志有效或CAN2收发接口模块的ID接收标志有效,则ARM处理器会将缓存区BUFF1或缓存区BUFF2中的数据通过CAN3收发接口模块对应的报文TX_MSG3X转发出去,下标X对应于不同的ID接收标志,并清除CAN1收发接口模块的ID有效接收标志或CAN2收发接口模块的ID有效接收标志。

S35:当ARM处理器从CAN3收发接口模块接收到有效报文时,根据该报文同时更新报文TX_MSG11和报文TX_MSG21的数据内容;

S36:ARM处理器以时间周期T3检测CAN1收发接口模块、CAN2收发接口模块、CAN3收发接口模块的接收状态,根据CAN1收发接口模块、CAN2收发接口模块的接收状态更新报文TX_MSG31中的相关数据。

本实施例上述控制方法适用于单个从设备与主设备之间的通信。

为了便于工作人员查看ARM处理器的运行状况以及三个收发接口模块的接收状态,及时了解ARM处理器及CAN收发接口模块的工作状态,进一步保证数据传输的可靠性。参见图2,在本发明一优选实施例中,在步骤S36之后,ARM处理器以时间周期T4通过指示灯显示ARM处理器运行状况以及CAN1收发接口模块、CAN2收发接口模块、CAN3收发接口模块的接收状态。本实施例所述控制方法同样适用于单个从设备与主设备之间的通信。

本发明另一实施例,提供了一种基于ARM的列车用CAN通信转换控制方法,含有以下步骤:

S1:CAN通信转换模块初始化,完成ARM处理器硬件、通用定时器模块、CAN1收发接口模块、CAN2收发接口模块、CAN3收发接口模块以及变量初始化;所述的变量包括ID接收标志、发送的报文数据和接收的报文数据。

更具体的说,将ARM处理器硬件、通用定时器模块、CAN1收发接口模块、CAN2收发接口模块、CAN3收发接口模块初始化为工作前的初始状态,将变量进行初始化是指将所有变量初始化为零。

S2:ARM处理器中断服务,提供由通用定时器模块所产生的主循环的时间周期以及CAN1收发接口模块、CAN2收发接口模块、CAN3收发接口模块的数据接收。

S3:主循环,根据以下CAN网络拓扑结构及运行模式运行;参见图3,CAN网络拓扑结构为:主设备、CAN1收发接口模块、以串联方式形成链路的多个设备、CAN2收发接口模块依次以点对点的方式首尾连接形成环路,CAN3收发接口模块连接主设备内部的模块级CAN3总线;运行模式为:ARM处理器通过CAN1收发接口模块、CAN2收发接口模块接收整个环路上全部从设备的数据,CAN1收发接口模块、CAN2收发接口模块接收的数据互为冗余,经ARM处理器校验数据的有效性后,通过CAN3收发接口模块转发至主设备的其他模块;ARM处理器通过CAN3收发接口模块接收来自内部模块级CAN3总线的主设备控制器命令时,ARM处理器通过CAN1收发接口模块、CAN2收发接口模块向相邻的从设备转发。

参见图4,主循环的具体步骤如下:

S31:ARM处理器按照时间周期T1通过CAN1收发接口模块、CAN2收发接口模块分别同时通过CAN总线向从设备发送报文TX_MSG11和报文TX_MSG21,报文TX_MSG11和报文TX_MSG21为数据帧,触发从设备的响应;

S32:ARM处理器按照时间周期T2通过CAN3收发接口模块向主设备发送固定的报文TX_MSG31,报文TX_MSG31为数据帧,报文TX_MSG31中含有从设备链路的连接状态;

S33:当ARM处理器从CAN1收发接口模块或CAN2收发接口模块接收到的报文具有符合配置要求的ID时,将报文中的数据放入ARM处理器的缓存区BUFF,并设置外部数据接收标志为有效;

S34:ARM处理器检测到外部数据接收标志有效,则以周期T3将ARM处理器的缓存区BUFF中的数据通过CAN3收发接口模块对应的报文TX_MSG3X转发出去,下标X对应于不同的ID接收标志,并清除CAN1收发接口模块的ID有效接收标志或CAN2收发接口模块的ID有效接收标志。

S35:当ARM处理器从CAN3收发接口模块接收到有效报文时,将其通过CAN1收发接口模块的报文TX_MSG11和CAN2收发接口模块的报文TX_MSG21分别转发出去;

S36:ARM处理器以时间周期T3检测检测整个链路从设备的连接状态,并根据该状态更新报文TX_MSG31中的相关数据。

本实施例上述所述控制方法适用于两个从设备与主设备之间的通信。

为了便于工作人员查看ARM处理器的运行状况以及三个收发接口模块的接收状态,及时了解ARM处理器及CAN收发接口模块的工作状态,进一步保证数据传输的可靠性。参见图4,在本发明另一优选实施例中,在步骤S36之后,ARM处理器以时间周期T4通过指示灯显示ARM处理器运行状况以及CAN1收发接口模块、CAN2收发接口模块、CAN3收发接口模块的接收状态。本实施例所述控制方法同样适用于两个从设备与主设备之间的通信。本发明又一实施例,提供了一种基于ARM的列车用CAN通信转换控制方法,含有以下步骤:

S1:CAN通信转换模块初始化完成ARM处理器硬件、通用定时器模块、CAN1收发接口模块、CAN2收发接口模块、CAN3收发接口模块以及变量初始化;所述的变量包括ID接收标志、发送的报文数据和接收的报文数据。

更具体的说,将ARM处理器硬件、通用定时器模块、CAN1收发接口模块、CAN2收发接口模块、CAN3收发接口模块初始化为工作前的初始状态,将变量进行初始化是指将所有变量初始化为零。

S2:ARM处理器中断服务,提供由通用定时器模块所产生的主循环的时间周期以及CAN1收发接口模块、CAN2收发接口模块、CAN3收发接口模块的数据接收。

S3:主循环,根据以下CAN网络拓扑结构及运行模式运行;参见图5,CAN网络拓扑结构为:主设备通过CAN1收发接口模块连接至主设备的设备级CAN1总线,主设备通过CAN2收发接口模块与从设备点对点连接,CAN3收发接口模块连接主设备内部的模块级CAN3总线;运行模式为:ARM处理器通过CAN3收发接口模块接收主设备的其他模块的报文,并对报文数据进行逻辑处理后通过CAN1收发接口模块转发;ARM处理器通过CAN2收发接口模块接收从设备的报文,并将报文数据直接通过CAN1收发接口模块转发;当ARM处理器通过CAN1收发接口模块从设备级CAN1总线接收到报文时,ARM处理器将主设备需要的报文通过CAN3收发接口模块转发,将从设备需要的报文通过CAN2收发接口模块转发。

参见图6,主循环的具体步骤如下:

S31:ARM处理器按照时间周期T1通过CAN1收发接口模块向设备级CAN1总线发送报文TX_MSG11-TX_MSG1n,n为大于1的自然数,报文TX_MSG11-TX_MSG1n为数据帧;

S32:ARM处理器按照时间周期T2通过CAN2收发接口模块向从设备发送报文TX_MSG21-TX_MSG2n,n为大于1的自然数,报文TX_MSG21-TX_MSG2n为数据帧;

S33:ARM处理器按照时间周期T3通过CAN3收发接口模块向主设备发送固定的报文TX_MSG31-TX_MSG3n,n为大于1的自然数,报文TX_MSG31-TX_MSG3n为数据帧;

S34:当ARM处理器从CAN1收发接口模块接收到的报文具有符合配置要求的ID时,将报文中的数据放入ARM处理器的缓存区BUFF1;

S35:当ARM处理器从CAN2收发接口模块接收到的报文具有符合配置要求的ID时,将报文中的数据放入ARM处理器的缓存区BUFF2;

S36:当ARM处理器从CAN3收发接口模块接收到的报文具有符合配置要求的ID时,ARM处理器对报文中的数据进行逻辑处理后,将处理完毕的数据放入ARM处理器的缓存区BUFF3;

S37:ARM处理器以时间周期T4检测CAN1收发接口模块、CAN2收发接口模块、CAN3收发接口模块的接收状态;

S38:ARM处理器以时间周期T5更新CAN1收发接口模块、CAN2收发接口模块、CAN3收发接口模块待发送数据,包括用缓存区BUFF2中的数据、缓存区BUFF3中的数据、CAN2收发接口模块的接收状态和CAN3收发接口模块的接收状态更新TX_MSG11-TX_MSG1n,用缓存区BUFF1中的数据更新TX_MSG21-TX_MSG2n,以及用缓存区BUFF1中的数据、CAN1收发接口模块的接收状态和CAN2收发接口模块的接收状态更新TX_MSG31-TX_MSG3n。

本实施例上述所述控制方法适用于多个从设备与主设备之间的通信。

为了便于工作人员查看ARM处理器的运行状况以及三个收发接口模块的接收状态,及时了解ARM处理器及CAN收发接口模块的工作状态,进一步保证数据传输的可靠性。参见图2,在本发明又一优选实施例中,在步骤S38之后,ARM处理器以时间周期T6通过指示灯显示ARM处理器运行状况以及CAN1收发接口模块、CAN2收发接口模块、CAN3收发接口模块的接收状态。本实施例所述控制方法同样适用于多个从设备与主设备之间的通信。

参见图7、图8,本发明一实施例中,基于上述实施例所述CAN通信转换控制方法,提供了一种基于ARM的列车用CAN通信转换模块,包括ARM处理器、内嵌于ARM处理器中的三路CAN通信控制器以及与ARM处理器连接的数字量输入接口单元,CAN1通信控制器连接有用于连接CAN1总线的CAN1收发接口模块,CAN2通信控制器连接有用于连接CAN2总线的CAN2收发接口模块,CAN3通信控制器连接有用于连接CAN3总线的CAN3收发接口模块;ARM处理器分别与三路CAN收发接口模块之间均连接有0V或3.3V的脉冲信号,用于CAN接收和CAN发送,ARM处理器与数字量输入接口单元之间连接有0V或3.3V的数字量信号,用于提供数字量输入状态。

为了实现三路CAN收发接口模块的对总线发送的信号进行转换并转发出去,在本发明一优选实施例中,三路CAN收发接口模块中,CAN1收发接口模块包括一个隔离式CAN总线收发器和一个由+5V转+5V的电源隔离模块,电源隔离模块为隔离式CAN总线收发器供电,隔离式CAN总线收发器将CAN1总线接收、CAN1总线发送的信号转换为符合CAN通信标准的差分信号CAN1H、CAN1L转发出去。同样地,CAN2收发接口模块包括一个隔离式CAN总线收发器和一个由+5V转+5V的电源隔离模块,电源隔离模块为隔离式CAN总线收发器供电,隔离式CAN总线收发器将CAN2总线接收、CAN2总线发送的信号转换为符合CAN通信标准的差分信号CAN2H、CAN2L转发出去。CAN3收发接口模块为非隔离的CAN收发电路,包括一CAN总线收发器,CAN总线收发器将CAN3接收、CAN3发送的信号转换为符合CAN通信标准的差分信号CAN3H、CAN3L转发出去。在本发明一更优选实施例中,所述隔离式CAN总线收发器采用CAN总线收发器IS01050DUB,电源隔离模块采用电源隔离模块DRC010505U,CAN总线收发器采用CAN总线收发器SN65HVD232D。

为了使外部数字量输入电平转换为适于ARM处理器使用的电平输入,在本发明一优选实施例中,所述数字量输入接口单元包含数字量隔离器,将外部的+5V电平转换为隔离的适用于ARM处理器的+3.3V电平。在本发明一更优选实施例中,所述数字量隔离器采用数字量隔离器IS07240CDWR。

为了实现设备的外部通信和内部通信,参见图7,在本发明一优选实施例中,连接CAN1收发接口模块的CAN1总线和连接CAN2收发接口模块的CAN2总线为设备级CAN总线,用于负责设备之间的通信,CAN1总线和CAN2总线的波特率均设置为100kbit/s或125kbit/s;连接CAN3收发接口模块的CAN3总线为模块级CAN总线,用于负责单个设备内部模块间的通信,CAN3总线的波特率设置为500kbit/s。

在本发明上述实施例中,所述ARM处理器为采用双ARM Cortex-R4F核架构的处理器,具有双核锁步运行检、FLASH和RAM校验和保护机制、时钟和电压监控等,用硬件提供安全特性、检测是否有随机故障,避免系统出错,支持IEC61508最高等级的SIL-3安全标准,更适合于铁路应用。

上述实施例用来解释本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明做出的任何修改和改变,都落入本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1