本实用新型涉及领域,具体是一种基于全备份的双can冗余系统。
背景技术:
现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网,它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。can(controllerareanetwork,控制器局域网)总线是一种有效支持分布式控制或实时控制的串行通信总线,是国际上应用最广泛的现场总线之一。can总线具有实时性强、传输距离较远、抗电磁干扰能力好、成本低、检错能力强等优点,已经在工业控制、汽车电子控制系统、船舶运输和航空航天等方面得到了广泛的应用。
在实际应用中,硬件电路的连接不牢、传输介质的损坏、总线驱动器或控制器的损坏都会影响can通信的可靠性,因此往往采取双can冗余总线来提高通信的可靠性。
技术实现要素:
本实用新型为了解决现有技术的问题,提供了一种基于全备份的双can冗余系统,当通信系统出现can总线故障时,可以通过另一条总线继续通信,从而提高系统的可靠性。
本实用新型提供了一种基于全备份的双can冗余系统包括can网关模块和两路can总线连接,两路can总线分别通过can网关模块与设备相连;所述的can网关模块包括采用stm32芯片的单处理器、三个can控制器和三个can收发器,单处理器连接三个can控制器,每个can控制器连接一个can收发器形成三条can物理链路,其中一条与设备相连,另外两条分别接入一条can总线。
本实用新型还提供了一种基于全备份的双can冗余方法。can总线的冗余设计方法包括部分冗余方法和全面冗余方法。本技术方案采取了全面冗余的方法,即使用两条完全独立的can总线,两个can收发器和can控制器,实现物理层、数据链路层的全面冗余。将单处理器连接两个can控制器,每个can控制器连接一个can收发器,每个can收发器再接入一条总线,形成两条独立的总线系统。
为了将原有的单can网络系统扩展为双can网络系统,新增了can网关模块。将设备与can网关模块连接,再通过can网关模块分别与两路can总线连接,从而实现将设备分别接入至两条总线,形成“双路can安全冗余”网络。
总线的备份方式有两种,一种是热备份,一种是全备份。本技术方案采取的是全备份的方式,即两条总线同时运行且独立工作。设备向总线发送can报文时,先将报文发送至can网关模块,can网关模块不判断两路总线的故障状态,将报文通过两路can同时发往两条总线;设备从总线接收报文时,can网关模块通过两路can接收两条总线的报文,并对两路can接收的报文进行对比分析,去除重复数据后再发送给设备。当一条总线出现故障时,不需要进行总线的切换,另一条总线仍能独立完成can网络的通信任务,相当于退回了单can运行的模式。
本实用新型有益效果在于:
(1)采用单处理器,与总线连接端配置双can控制器、双can收发器、双can总线的全面冗余结构,该结构实现简单,可靠性高。
(2)总线运行采用的全备份方式,在总线故障时不需要考虑复杂的总线切换,可避免总线切换所带来的不安全因素,大大提高系统的可靠性。
(3)新增的can网关模块,可以在原有单can总线系统上,通过最小代价实现单can总线向双can总线的扩展,实现成本低廉。
附图说明
图1是双can拓扑结构示意图。
图2是can总线全面冗余方法原理图。
图3是设备接入双can总线方式示意图。
图4是can网关模块电路原理示意图。
图5是发送模块工作流程图。
具体实施方式
下面结合附图对本实用新型作进一步说明。
本实用新型所采用的双can拓扑结构如图1所示,在原有can总线a的基础上,新增一条can总线b,各个设备分别接入can总线a和can总线b,使原先的单can总线拓扑结构扩展为双can总线拓扑结构。can总线全面冗余方法原理图如图2所示,每个处理器并行连接can控制器a和can控制器b,两个can控制器再分别连接can收发器a和can收发器b,最后再分别接入can总线a和can总线b。
can网关模块则集成了上述双can控制器和双can收发器的功能,设备接入总线时先接入can网关模块,再通过can网关模块接入can总线a和can总线b,如图3所示。can网关模块的具体电路原理图如图4所示,采用stm32芯片,内置三个can控制器,即can控制器1、can控制器2和can控制器3,分别与can收发器1、can收发器2、can收发器3连接,形成三路can物理链路。canh1和canl1与设备原先接入总线的电气接口连接,canh2和canl2与can总线a连接,canh3和canl3与can总线b连接。所组成的can网a和can网b地位是相同的,互为备份,不分主从。
can网关模块管理软件主要包含发送模块和接收模块两部分。
发送模块用于设备向总线发送数据,工作流程图如图5所示。can网关模块通过can1h、can1l接收设备发送给总线的报文,并对报文进行合法性检查,丢弃非法报文后,将合法报文存入缓冲区中,然后再依次将缓冲区中的报文分别通过can2h、can2l和can3h、can3l同时发送给can总线a和can总线b,因此两条总线上传输的报文是完全一致的。当其中一条总线出现故障时,另外一条总线仍然能够正常的将设备发送的报文传输出去。
接收模块用于设备接收总线传输的数据。can网关模块通过can2h、can2l和can3h、can3l分别接收总线a和总线b上的报文,对报文进行过滤以及合法性检查后,将符合要求的报文存入缓冲区内,此时缓冲区内由于同时存放了两条总线上的报文,因此需要去除掉其中一份重复的报文。去除重复报文时,是将当前报文与一定时间间隔内的报文依次对比分析,如果发现两条报文完全一致,则将当前报文丢弃,通过此操作,可以将从两条总线中接收到的重复报文去除。如果一条总线故障,则只能接收到一份报文,相当于退回了单can总线的接收状态。
本实用新型具体应用途径很多,以上所述仅是本实用新型的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本实用新型原理的前提下,还可以作出若干改进,这些改进也应视为本实用新型的保护范围。
1.一种基于全备份的双can冗余系统,其特征在于:包括can网关模块和两路can总线连接,两路can总线分别通过can网关模块与设备相连;所述的can网关模块包括单处理器、三个can控制器和三个can收发器,单处理器连接三个can控制器,每个can控制器连接一个can收发器形成三条can理链路,其中一条与设备相连,另外两条分别接入一条can总线。
2.根据权利要求1所述的基于全备份的双can冗余系统,其特征在于:所述的单处理器采用stm32芯片。
3.根据权利要求1所述的基于全备份的双can冗余系统,其特征在于:所述的can收发器内置隔离模块。
技术总结