单can控制器热冗余can总线系统及其实现方法

文档序号:6311954阅读:256来源:国知局
专利名称:单can控制器热冗余can总线系统及其实现方法
技术领域
本发明涉及CAN (Controller Area Network,控制器局域网)总线领域,具体来讲是一种单CAN控制器热冗余CAN总线系统及其实现方法。
背景技术
CAN总线作为一种具有国际标准的现场总线,已广泛应用于汽车工业、机械工业、农用机械、纺织机械、机器人、数控机床、医疗器械、家用电器及传感器等领域。CAN总线有如下特点(1) CAN总线是多主工作方式,总线上任一节点均可在任意时刻主动向总线上其它节点发送数据,不分主从;⑵CAN总线采用非破坏总线仲裁技术,报文标识符越小其优先级越高,优先级高的的报文优先发送,优先级低的主动退出总线等总线空闲再重新发送;⑶CAN节点通过对报文标识符滤波即可实现点对点、点对多及广播等方式来收发数据。虽 开、短路或因为电磁干扰而出现短暂通讯中断等故障还是时有发生。为了提高总线通讯系统可靠性,很多控制场所采用了冗余CAN总线即敷设两条独立的CAN总线,通过不同的物理位置布线来避免同时发生这些故障。一个完整的CAN总线节点电路至少包括一个总线收发器、一个总线控制器和一个微处理器。因而,实现冗余的CAN总线一般有3种方式I)总线收发器、总线控制器和微处理器全都冗余,即都配置两个。这种方式相当于把每个CAN总线节点完整复制一遍,硬件成本太高,一般不考虑。2)总线收发器和总线控制器冗余,微处理器只配置一个。这种实现方法目前较多,但是,由于要多配置总线控制器,硬件成本较高;软件编制复杂,需要配置2套完整的CAN总线通讯相关变量,对存储容量较小的微处理器是个很大的开销。特别是两条总线同时收到数据时,如何对数据进行合并处理相当麻烦。因此,有的冗余方案就折衷处理采用冷冗余,即只让其中一条总线工作,当该总线出现故障时再切换到另一总线。

发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种单CAN控制器热冗余CAN总线系统及其实现方法,其操作简单,收发数据可靠性高,硬件成本低,大大简化开发冗余总线的难度。为达到以上目的,本发明一种单CAN控制器热冗余CAN总线系统,包括两条总线和多个CAN节点电路,每个CAN节点电路同时连接两条总线,每个CAN节点电路包括微处理器、故障处理单元、CAN控制器、接收仲裁选择单元、第一隔离收发单元和第二隔离收发单元,第一隔离收发单元和第二隔离收发单元分别连接一条总线,第一隔离收发单元和第二隔离收发单元共同连接至接收仲裁选择单元,接收仲裁选择单元连接CAN控制器,CAN控制器外设连接至微处理器或内容置于微处理器,同时分别连接第一隔离收发单元和第二隔离收发单元,微处理器还连接故障处理单元,故障处理单元分别连接接收仲裁选择单元、第一隔离收发单元和第二隔离收发单元;第一隔离收发单元和第二隔离收发单元将由总线接收的数据发送至接收仲裁选择单元,接收仲裁选择单元将数据传送至CAN控制器,CAN控制器将数据传入微处理器,故障处理单元接收来自接收仲裁选择单元和微处理器的数据,并分别发送使能控制信号到第一隔离收发单元、第二隔离收发单元。在上述技术方案的基础上,所述接收仲裁选择单元包括第一单稳多谐振荡器和第二单稳多谐振荡器,二者分别连接第一隔离收发单元和第二隔离收发单元,并接收其数据,且二者共同连接一个RS触发器,RS触发器分别连接第一与非门和第二与非门,第一与非门接有一个第一反相器;第二与非门接有一个第二反相器,第一反相器和第二反相器共同连接一个或门。在上述技术方案的基础上,所述或门连接CAN控制器,第一与非门和第二与非门均连接故障处理器,并接收来自故障处理器的使能控制信号。在上述技术方案的基础上,所述第一单稳多谐振荡器数据通过RS触发器送入第二与非门,第二单稳多谐振荡器数据通过RS触发器送入第一与非门。·在上述技术方案的基础上,所述第一隔离收发单元包括相互连接的第一隔离器件和第一 CAN收发器,第二隔离收发单元包括相互连接的第二隔离器件和第二 CAN收发器,所述第一 CAN收发器和第二 CAN收发器分别与其对应的总线连接。在上述技术方案的基础上,所述第一隔离器件分别连接第一单稳多谐振荡器、第一与非门,且将数据送入第一单稳多谐振荡器和第一与非门;第一隔离器件还分别连接CAN控制器和故障处理单元,并接收来自CAN控制器和故障处理单元的数据。在上述技术方案的基础上,所述第二隔离器件分别连接第二单稳多谐振荡器、第二与非门,且将数据送入第二单稳多谐振荡器和第二与非门;第二隔离器件还分别连接CAN控制器和故障处理单元,并接收来自CAN控制器和故障处理单元的数据。在上述技术方案的基础上,所述第一隔离收发单元和第二隔离收发单元相同。本发明还设计一种基于权利要求I中单CAN控制器热冗余CAN总线系统的实现方法,数据发送方面,微处理器通过控制器同时将数据发送至第一隔离收发单元和第二隔离收发单元,第一隔离收发单元和第二隔离收发单元将数据同时发送至对应总线,同时屏蔽其中一条总线的返回信号,若数据发送完成后无错误产生,则在下次数据发送时按照上述方式屏蔽另一条总线的返回信号,以后每次数据发送循环屏蔽,且数据发送后立即恢复两条总线的数据接收;数据接收方面,接收仲裁选择单元通过第一隔离收发单元和第二隔离收发单元分别接收两条总线额数据,并根据数据的先后到达的次序,将先到达的数据传入微处理器,而后接收的数据被屏蔽。在上述技术方案的基础上,所述数据发送方面,若数据发送完成后有错误产生,则标记相应的一条总线有错误,下次数据发送时,通过微处理器连接的故障处理单元,控制关闭与该条总线相连的隔尚收发单兀。本发明的有益效果在于I.每个CAN节点电路只有一个CAN控制器、双隔离收发单元和双总线的冗余体系结构,保证了整个通讯系统的可靠性和容错能力,降低了硬件成本,简化了开发者的软件设计。2.数据接收时,接受仲裁选择单元选择先到达的数据作为本次通讯数据,对外发送时则把数据同时发送到两条总线上;两条总线同时处于工作状态,是真正的热冗余。3.当任意一条总线出现被动或主动错误时,出现故障的总线被自动屏蔽,正常总线一直工作,不存在切换时间,不影响另一总线数据的接收和发送。


图I为本发明实施例单CAN控制器热冗余CAN总线系统示意图;图2为图I中每个CAN节点电路的系统示意图;图3为图2的详细系统示意图;图4为图2中隔离收发单元的电路原理图; 图5为图2中CAN控制器数据处理流程图。附图标记微处理器I,故障处理单元2,CAN控制器3,接收仲裁选择单元4,第一单稳多谐振荡器41,第二但闻多谐振荡器42, RS触发器43,第一与非门44,第二与非门45,第一反相器46,第二反相器47,或门48,第一隔离收发单元5,第一隔离器件51,第一 CAN收发器52,第二隔离收发单元6,第二隔离器件61,第二 CAN收发器62,第一总线10,第二总线20。
具体实施例方式以下结合附图及实施例对本发明作进一步详细说明。如图I所示,本发明单CAN控制器热冗余CAN总线系统包括两条总线和多个CAN节点电路,每个CAN节点电路同时连接两条总线,为了方便叙述,将总线记为第一总线10和第二总线20。如图2所示,为每个CAN节点电路的系统示意图,其包括一个微处理器I、一个故障处理单元2、一个CAN控制器3、一个接收仲裁选择单元4、以及一个第一隔离收发单元5和一个第二隔离收发单元6。所述第一隔离收发单元5和第二隔离收发单元6分别连接一条总线,本实施例中,第一隔离收发单元5连接第一总线10,第二隔离收发单元6连接第二总线20,第一隔离收发单元5和第二隔离收发单元6共同连接至接收仲裁选择单元4,接收仲裁选择单元4连接CAN控制器3,CAN控制器3外设连接至微处理器I或内容置于微处理器1,同时分别连接第一隔离收发单元5和第二隔离收发单元6,微处理器I还连接故障处理单元2,故障处理单元2分别连接接收仲裁选择单元4、第一隔离收发单元5和第二隔离收发单元6。第一隔离收发单元5和第二隔离收发单元6将由总线接收的数据发送至接收仲裁选择单元4,接收仲裁选择单元4将数据传送至CAN控制器3,CAN控制器3将数据传入微处理器1,故障处理单元2接收来自接收仲裁选择单元4和微处理器I的数据,并分别发送使能控制信号到第一隔离收发单元5、第二隔离收发单元6。其中,故障处理单元2位于微处理器I中,并有4个控制信号,包括两组接收使能控制信号和两组发送使能控制信号,用以实现对两组总线收发状态进行控制,可实现对总线故障的处理。如图3所示,所述接收仲裁选择单元4包括第一单稳多谐振荡器41和第二单稳多谐振荡器42,二者分别连接第一隔离收发单元5和第二隔离收发单元6,并接收其数据,且二者共同连接一个RS触发器43,RS触发器43分别连接第一与非门44和第二与非门45,第一单稳多谐振荡器41数据通过RS触发器43送入第二与非门45,第二单稳多谐振荡器42数据通过RS触发器43送入第一与非门44。第一与非门44接有一个第一反相器46 ;第二与非门45接有一个第二反相器47,第一反相器46和第二反相器47共同连接一个或门48。所述或门48连接CAN控制器3,第一与非门44和第二与非门45均连接故障处理器2,并接收来自故障处理器2的使能控制信号。所述第一隔离收发单元5包括相连的第一隔离器件51和第一 CAN收发器52,第二隔离收发单元6包括相连的第二隔离器件61和第二 CAN收发器62,所述第一 CAN收发器51连接第一总线10,第二 CAN收发器52连接总线8。所述第一隔离器件51分别连接第一单稳多谐振荡器41、第一与非门44,且将数据送入第一单稳多谐振荡器41和第一与非门44中;第一隔离器件51还分别连接CAN控制器3和故障处理单元2,并接收来自CAN控制器3和故障处理单元2的 数据。所述第二隔离器件61分别连接第二单稳多谐振荡器42、第二与非门45,且将数据送入第二单稳多谐振荡器42和第二与非门45 ;第二隔离器件61还分别连接CAN控制器3和故障处理单元2,并接收来自CAN控制器3和故障处理单元2的数据。如图3和图4所示,本实施例中第一隔离收发单元5和第二隔离收发单元6相同,其均使用型号为ADuM5401的隔离器件,以及型号为TJA1050CAN的CAN收发器,以此实现总线与微处理器内部电路完全电气隔离。以第一隔离收发单元5为例,其中隔离器件51在提供隔离收发信号的同时,还给CAN收发器52提供隔离5V电源。隔离器件51管脚I接与CAN控制器相同的5V电源,管脚2、5、8接地,管脚7悬空,管脚16提供隔离的5V电源给CAN收发器52供电,管脚10接隔离电源,管脚9是隔离的地,管脚15也接隔离地。隔离器件51的左右两侧各有4组隔离的信号,其中管脚3接CAN控制器52的发送信号,管脚4接发送使能控制信号,管脚6接CAN控制器52的接收信号。CAN收发器52的管脚3接隔离器件51的管脚16,CAN控制器52的管脚2接隔离器件51管脚9。CAN控制器52的管脚I接隔离器件51的管脚14,CAN控制器52的管脚4接隔离器件51的管脚11,CAN控制器52的管脚8接隔离器件51的管脚13。CAN控制器52的管脚6和管脚7接总线的两根差分信号线。这样,CAN控制器52与CAN控制器电路不仅完全隔离开,而且其所需电源也由隔离器件51提供,不需要额外电源。CAN控制器52的管脚8用于发送控制,当该管脚接高电平时,CAN控制器52的发送被禁止,不会向总线发送数据,当该总线出现发送故障时,可通过对隔离器件51的管脚4输入高电平来禁止该收发器向总线发送数据。如图3所示,本发明单CAN控制器热冗余CAN总线系统的实现方法,包括数据发送方面,微处理器I通过控制器3同时将数据发送至第一隔离收发单元5和第二隔离收发单元6,并同时向两条总线发送数据,为了对错误进行定位,在向两条总线同时发送数据时,人为对接收通道进行屏蔽选择。微处理器I通过对第一隔离收发单元5和第二隔离收发单元6的使能控制信号进行选择。具体实现是发送数据前,隔离收发单元先屏蔽第一总线10的返回信号,给第一与非门44输入低电平,使得反相器46的输出固定为低电平。这样,或门48的输出就取决于第二总线20的返回值,第一总线10返回的数据被屏蔽,只有第二总线的返回数据发送给CAN控制器3。如果在数据发送完成后,第二总线20无错误产生,则下次发送时就选择屏蔽第二总线20,即给第二与非门45的接收使能信号为加低电平,检查第一总线10在发送过程中是否有错误产生。如此对以后每次数据发送循环屏蔽,保证能及时发现总线错误并进行切换。如果发送过程中产生错误,则标记相应总线有错误,下次发送数据时,通过故障处理单元2的发送使能控制信号,关闭对应总线上CAN收发器的发送功能。要注意的是一旦完成数据发送,就要立即恢复两条总线的接收使能控制信号,以便能够同时接收两条总线的数据。如图5所示,具体CAN控制器数据处理包括如下步骤SI.节点初始化,设置各种数据以及中断处理接口 ;S2.判断是否有数据发送,若是,进入S3 ;若否,返回重新判断;S3.判断上次发送数据的总线是否有错误,若是,进入S4 ;若否,进入S5 ;S4.禁止该总线的接收和发送,选择另一总线发送数据,进入S6 ;S5.禁止该总线的接收,选择另一总线发送数据,进入S6 ;
S6.判断是否有错误产生,若是,进入S7 ;若否,进入S8 ;S7.标记错误总线,进驻该总线的发送和接收,进入S2 ;S8.允许被禁止接收总线的接收功能,进入S2。如图2和图3所示,数据接收方面,根据CAN总线的特点,数据接收和数据发送不会同时发生,因此只要没有数据发送,故障处理单元2就必须同时打开两个通道的接收使能。故障处理单元2给对于第一隔离收发单元5和第二隔离收发单元6的两个接收使能控制信号都置高电平,允许外部数据通过接收仲裁选择单元4进行接收数据的选择。本实施例中第一单稳多谐振荡器41和第二单稳多谐振荡器42均采用74HC123,RS触发器43采用与非门电路74HC132搭建,第一与非门44和第二与非门45均采用74HC10,第一反相器46和第二反相器47均采用74HC132搭建,或门48采用74HC32,上述各部分组成了一个接收仲裁选择单元4,其作用是通过第一隔离收发单元和第二隔离收发单元分别接收两条总线额数据,并根据数据的先后到达的次序,先到达数据的总线获得优先权,或门48的输出结果等于先到达数据的总线数据,将先到达的数据传入微处理器,而后到达数据或无数据到达的总线数据被屏蔽。如图2、图3和图4所示,通过一个具体实施例说明本发明的原理。根据CAN总线的协议规定,总线空闲时呈隐性,反应在第一 CAN收发器52和第二 CAN收发器62的接收管脚上是高电平。当CAN总线上有数据传输时,传输的第一位是帧起始位,该位是显性,反应在第一 CAN收发器52和第二 CAN收发器62的接收管脚上是低电平。由于两条CAN总线的器件特性、电缆长度等物理特性不会完全一样,导致第一 CAN收发器52和第二 CAN收发器62收到的数据不会绝对同时到达,必然有先后。假设第一 CAN收发器52先收到数据,则第一单稳多谐振荡器41的输入产生一个下降沿,其将输出一段时间的高电平。由于CAN总线数据最多间隔12位就会有电平翻转,总线数据会不断触发单稳多谐振荡器输出高电平,因此,第一单稳多谐振荡器41的时间常数在O. Ims左右即可。同时,第二单稳多谐振荡器42输入仍然是高电平,其输出仍是低电平。于是,RS触发器43的输出就有区别,其输出低电平给第二与非门45,输出的高电平给第一与非门44。第一与非门44的输出就是第一总线10输入值的反相,再通过第一反相器46后,其值就变成了总线输入值。与此同时,第二与非门45的I路输入为低电平,则其输入就与第二总线20的输入值无关,而是固定的高电平,通过第二反相器47后,其值固定为低电平。这样,最后通过或门48并进入CAN控制器3的数据,就是先收到数据的第一总线10的数据,而后收到数据的第二总线20的数据就被屏蔽了。当第二 CAN收发器62的数据到达后,第一与非门44的输入也是高电平,根据RS触发器的特点,RS触发器43的输出维持原来状态不变。当总线无数据收发时,第一单稳多谐振荡器41和第二单稳多谐振荡器42的输出会恢复到低电平。有新数据到达时,第一总线10和第二总线20的数据重新进行仲裁选择,原理如上所述。本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。·
权利要求
1.一种单CAN控制器热冗余CAN总线系统,包括两条总线和多个CAN节点电路,每个CAN节点电路同时连接两条总线,其特征在于每个CAN节点电路包括微处理器、故障处理单元、CAN控制器、接收仲裁选择单元、第一隔离收发单元和第二隔离收发单元,第一隔离收发单元和第二隔离收发单元分别连接一条总线,第一隔离收发单元和第二隔离收发单元共同连接至接收仲裁选择单元,接收仲裁选择单元连接CAN控制器,CAN控制器外设连接至微处理器或内容置于微处理器,同时分别连接第一隔离收发单元和第二隔离收发单元,微处理器还连接故障处理单元,故障处理单元分别连接接收仲裁选择单元、第一隔离收发单元和第二隔离收发单元;第一隔离收发单元和第二隔离收发单元将由总线接收的数据发送至接收仲裁选择单元,接收仲裁选择单元将数据传送至CAN控制器,CAN控制器将数据传入微处理器,故障处理单元接收来自接收仲裁选择单元和微处理器的数据,并分别发送使能控制信号到第一隔离收发单元、第二隔离收发单元。
2.如权利要求I所述的单CAN控制器热冗余CAN总线系统,其特征在于所述接收仲裁选择单元包括第一单稳多谐振荡器和第二单稳多谐振荡器,二者分别连接第一隔离收发单元和第二隔离收发单元,并接收其数据,且二者共同连接一个RS触发器,RS触发器分别连接第一与非门和第二与非门,第一与非门接有一个第一反相器;第二与非门接有一个第二反相器,第一反相器和第二反相器共同连接一个或门。
3.如权利要求2所述的单CAN控制器热冗余CAN总线系统,其特征在于所述或门连接CAN控制器,第一与非门和第二与非门均连接故障处理器,并接收来自故障处理器的使能控制信号。
4.如权利要求3所述的单CAN控制器热冗余CAN总线系统,其特征在于所述第一单稳多谐振荡器数据通过RS触发器送入第二与非门,第二单稳多谐振荡器数据通过RS触发器送入第一与非门。
5.如权利要求3所述的单CAN控制器热冗余CAN总线系统,其特征在于所述第一隔离收发单元包括相互连接的第一隔离器件和第一 CAN收发器,第二隔离收发单元包括相互连接的第二隔离器件和第二 CAN收发器,所述第一 CAN收发器和第二 CAN收发器分别与其对应的总线连接。
6.如权利要求5所述的单CAN控制器热冗余CAN总线系统,其特征在于所述第一隔离器件分别连接第一单稳多谐振荡器、第一与非门,且将数据送入第一单稳多谐振荡器和第一与非门;第一隔离器件还分别连接CAN控制器和故障处理单元,并接收来自CAN控制器和故障处理单元的数据。
7.如权利要求5所述的单CAN控制器热冗余CAN总线系统,其特征在于所述第二隔离器件分别连接第二单稳多谐振荡器、第二与非门,且将数据送入第二单稳多谐振荡器和第二与非门;第二隔离器件还分别连接CAN控制器和故障处理单元,并接收来自CAN控制器和故障处理单元的数据。
8.如权利要求I所述的单CAN控制器热冗余CAN总线系统,其特征在于所述第一隔离收发单元和第二隔离收发单元相同。
9.一种基于权利要求I中单CAN控制器热冗余CAN总线系统的实现方法,其特征在于 数据发送方面,微处理器通过控制器同时将数据发送至第一隔离收发单元和第二隔离收发单元,第一隔离收发单元和第二隔离收发单元将数据同时发送至对应总线,同时屏蔽其中一条总线的返回信号,若数据发送完成后无错误产生,则在下次数据发送时按照上述方式屏蔽另一条总线的返回信号,以后每次数据发送循环屏蔽,且数据发送后立即恢复两条总线的数据接收; 数据接收方面,接收仲裁选择单元通过第一隔离收发单元和第二隔离收发单元分别接收两条总线额数据,并根据数据的先后到达的次序,将先到达的数据传入微处理器,而后接收的数据被屏蔽。
10.如权利要求9所述的单CAN控制器热冗余CAN总线系统的实现方法,其特征在于所述数据发送方面,若数据发送完成后有错误产生,则标记相应的一条总线有错误,下次数据发送时,通过微处理器连接的故障处理单元,控制关闭与该条总线相连的隔离收发单元。
全文摘要
一种单CAN控制器热冗余CAN总线系统,涉及CAN总线领域,包括两条总线和多个CAN节点电路,每个CAN节点电路同时连接两条总线,每个CAN节点电路包括微处理器、故障处理单元、CAN控制器、接收仲裁选择单元、第一隔离收发单元和第二隔离收发单元,第一隔离收发单元和第二隔离收发单元将由总线接收的数据发送至接收仲裁选择单元,接收仲裁选择单元将数据传送至CAN控制器,CAN控制器将数据传入微处理器,故障处理单元接收来自接收仲裁选择单元和微处理器的数据,并分别发送使能控制信号到第一隔离收发单元、第二隔离收发单元。本发明操作简单,收发数据可靠性高,硬件成本低,大大简化开发冗余总线的难度。
文档编号G05B19/418GK102880143SQ201210365609
公开日2013年1月16日 申请日期2012年9月27日 优先权日2012年9月27日
发明者张晓辉, 江炜, 孙玉平, 孙建华, 汪伟, 徐斌 申请人:中国船舶重工集团公司第七一九研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1