掌桥专利:专业的专利平台
掌桥专利
首页

CAN总线并联连接装置、方法及计算机可读存储介质

文献发布时间:2024-04-18 20:01:30


CAN总线并联连接装置、方法及计算机可读存储介质

技术领域

本发明实施例涉及汽车电子技术领域,具体涉及CAN总线并联连接装置、方法及计算机可读存储介质。

背景技术

目前双系统域控制器的CAN通讯架构方案,A/B域CAN收发器芯片与外设雷达在CAN节点连接方案是分开和独立的,A域雷达仅连接A域CAN节点,B域雷达仅连接B域CAN节点,CAN节点独立连接。

目前的CAN通讯架构方案,数据在跨域传输时,就需要从一个域的MCU转到另外一个域的MCU,由于两个MCU之间直连的低速通信接口传输速率很低,带宽也不满足,跨域传输路径就不能从路径MCUA到MCUB直连的路径传输,需要按照带宽和速率都满足要求的从MCUA到通讯接口A到通讯接口B再到MCUB传输;上述方案同一个雷达发给两个域的MCU信号都是先到达本域的MCU,在经过其他路径跨域传递到另外一个域的MCU,同理两个MCU同步发送给同一个雷达的数据也是本域的MCU发送的数据先到达,另外一个域的会有延迟,发送的数据在接收端始终不能同步接受,很长的传输路径软件处理逻辑也会比较复杂;如果某个域MCU故障,这个域对应的输入数据包不能被另外一个域接管和处理,未能实现数据冗余通讯。

发明内容

鉴于上述问题,本发明实施例提供了基于CAN总线冗余的通讯方法、通讯装置及计算机可读存储介质,解决了如果某个域MCU故障,这个域对应的输入数据包不能被另外一个域接管和处理,未能实现数据冗余通讯的问题。

根据本发明实施例的一个方面,提供了一种CAN总线并联连接装置,所述装置至少包括第一控制器、第二控制器、至少一个第一CAN芯片、至少一个第二CAN芯片,

所述第一控制器与所述第一CAN芯片连接,所述第二控制器与第二CAN芯片连接,其中,任一所述第一CAN芯片、任一所述第二CAN芯片与外设装置并联连接。

在一种可选的方式中,所述第一控制器与所述外设装置为主连接关系,且所述第二控制器与外设装置为从连接关系。

在一种可选的方式中,所述外设装置为雷达设备,当所述雷达设备数量为多个时,第一CAN芯片数量、第二CAN芯片数量与外设装置数量一致,且每个所述雷达设备分别与一个第一CAN芯片、一个第二CAN芯片连接。

根据本发明实施例的另一方面,提供了基于CAN总线并联连接装置的方法,所述方法包括:

所述第一控制器、第二控制器同时接收外设装置的输入数据包,且对所述输入数据包进行校验;

若校验通过则由第一控制器或第二控制器对输入数据包进行处理;

否则对所述第一控制器或第二控制器进行故障判定,若任一控制器故障则由另一控制器进行接管处理。

在一种可选的方式中,所述对输入数据包进行校验,包括:

第一控制器、第二控制器同时对输入数据包的外设装置ID和校验码进行校验,若第一控制器和第二控制器校验结果一致,则判定为校验通过,否则不通过。

在一种可选的方式中,当所述第一控制器与所述外设装置为主连接关系,且所述第二控制器与外设装置为从连接关系时,所述若校验通过则由第一控制器或第二控制器对输入数据包进行处理,包括:

当输入数据包校验通过时,由第一控制器对输入数据包进行处理,第二控制器不做处理。

在一种可选的方式中,所述否则对所述第一控制器或第二控制器进行故障判定,包括:

当第一控制器和第二控制器对输入数据包校验不一致时,判断第一控制器或第二控制器是否正常工作;

若第一控制器和第二控制器均正常工作,则要求所述外设装置对输入数据包进行多次发送,并由第一控制器和第二控制器对每次输入数据包进行重新校验;

若与外设装置为主连接关系的任一控制器故障,则由另一控制器接管并对输入数据包进行处理。

在一种可选的方式中,所述要求所述外设装置对输入数据包进行多次发送,并由第一控制器和第二控制器对每次输入数据包进行重新校验,包括:

当第一控制器和第二控制器在预设次数对输入数据包进行校验失败,并根据校验结果判断任一控制器故障,所述输入数据包由另一控制器进行接管处理。

在一种可选的方式中,当所述第一控制器或第二控制器被判定为故障后,对所述第一控制器或第二控制器进行复位重启,并在重启成功后重新对输入数据包进行接收及校验。

根据本发明实施例的又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令在如上述CAN总线并联连接装置上运行时,使得CAN总线并联连接装置执行上述的基CAN总线并联连接装置的方法的操作。

本发明实施例的CAN总线并联连接装置设置多个控制器与外设装置进行并联,多个控制器同时接收输入数据包,数据传输实现数据同步接收,主连接传输和非主连接传输路径相同。同时,在控制器出现故障时,由另一控制器接管处理。实现输入数据包的冗余通讯;降低了信号传输过程中失效风险;提高了雷达信号传输的稳定性和安全性。

上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

附图仅用于示出实施方式,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明提供的CAN总线并联连接装置的第一实施例的结构示意图;

图2示出了本发明提供的CAN总线并联连接装置的第二实施例的结构示意图;

图3示出了本发明提供的基于CAN总线并联连接装置的方法的第一实施例的流程示意图;

图4示出了本发明提供的基于CAN总线并联连接装置的方法的第二实施例的流程示意图。

具体实施方式

下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。

图1示出了本发明一种CAN总线并联连接装置的第一实施例的流程图,本装置至少包括第一控制器、第二控制器、至少一个第一CAN芯片、至少一个第二CAN芯片,第一控制器与第一CAN芯片连接,第二控制器与第二CAN芯片连接,其中,任一第一CAN芯片、任一第二CAN芯片与外设装置并联连接。本方案把目前CAN通讯系统架构方案中多系统域的通讯装置,将当前雷达与对称的多系统CAN芯片总线连接到一起合并为一个节点,解决了目前CAN通讯架构方案存在的如果某个域MCU挂死,这个域对应的输入数据包不能被接管和处理、未实现冗余通讯等问题。第一控制器与外设装置为主连接关系,且第二控制器与外设装置为从连接关系。在本实施例中,控制器数量可以大于2个,当控制器数量有多个时,可以设置其中一个控制器为主连接关系的控制器,其他控制器为从连接关系的控制器。多个控制器同时接收输入数据包,数据传输实现数据同步接收,主连接传输和非主连接传输路径相同。同时,在控制器出现故障时,由另一控制器接管处理。实现输入数据包的冗余通讯;降低了信号传输过程中失效风险;提高了雷达信号传输的稳定性和安全性。

图2示出了本发明一种CAN总线并联连接装置的第一实施例的流程图,基于一种CAN总线并联连接装置的第一实施例,本发明连接的外部设备可以是多个,对应的第一CAN芯片、第二CAN芯片也可以是多个,通讯装置为多系统通讯,即设置多个控制器对外设装置进行管理。所述外设装置为雷达设备,当所述雷达设备数量为多个时,第一CAN芯片数量、第二CAN芯片数量与外设装置数量一致,且每个所述雷达设备分别与一个第一CAN芯片、一个第二CAN芯片连接。在本例中,一个雷达设备与一个第一CAN芯片、一个第二CAN芯片存在唯一的对应关系,参见图2所示,使一个雷达设备可以同时被与之连接的第一CAN芯片、第二CAN芯片获取并传输到第一控制器、第二控制器;。本装置设置两个控制器,即第一控制器、第二控制器。双系统域控制器在第一控制器、第二控制器的控制域放置了数量和型号对称的10对CAN芯片,3对TJA1043和7对TJA1042,A/B域的每一对CAN芯片总线连接到一起合并为一个节点,例名称RADAR1_A的雷达经过CAN总线同时连接到了CAN PHY_1A和CAN PHY_1B的TJA1043。TJA1042、TJA1043为CAN芯片。设置在第一控制器的控制域的雷达RADAR1_A发送的数据,经过并联节点后可以同步传递给第一控制器、第二控制器实现同时接受,由于跨域传输和非跨域传输路径相同,降低了信号传输过程中失效风险,例RADAR1_A发送的数据第一控制器和第二控制器同时接受;如果第一控制器挂死,第二控制器可以接管输入数据包,同理如果第二控制器挂死,第一控制器可以接管输入数据包。本发明实施例的通讯方法设置多个控制器同时接收输入数据包,并同时对输入数据包进行校验,通过校验结果判定控制器是否出现故障,并在控制器出现故障时,由另一控制器接管处理。实现输入数据包的冗余通讯,同时,多个控制器同时接收输入数据包,数据传输实现数据同步接收,主连接传输和非主连接传输路径相同,降低了信号传输过程中失效风险;提高了雷达信号传输的稳定性和安全性。

图3示出了本发明基于CAN总线并联连接装置的方法的第一实施例的流程图,如图3所示,本方法包括:

301,第一控制器、第二控制器同时接收外设装置的输入数据包,且对输入数据包进行校验;在步骤301中,对输入数据包进行校验,包括:第一控制器、第二控制器同时对输入数据包的外设装置ID和校验码进行校验,若第一控制器和第二控制器校验结果一致,则判定为校验通过,否则不通过。

302,若校验通过则由第一控制器或第二控制器对输入数据包进行处理;在步骤302中,当第一控制器与外设装置为主连接关系,且第二控制器与外设装置为从连接关系时,当输入数据包校验通过后,由第一控制器对输入数据包进行处理,第二控制器不做处理。

303,否则对第一控制器或第二控制器进行故障判定,若任一控制器故障则由另一控制器进行接管处理。在步骤303中,否则对第一控制器或第二控制器进行故障判定,包括:当第一控制器和第二控制器对输入数据包校验不一致时,判断第一控制器或第二控制器是否正常工作;若第一控制器和第二控制器均正常工作,则要求外设装置对输入数据包进行多次发送,并由第一控制器和第二控制器对每次输入数据包进行重新校验;若与外设装置为主连接关系的任一控制器故障,则由另一控制器接管并对输入数据包进行处理。要求外设装置对输入数据包进行多次发送,并由第一控制器和第二控制器对每次输入数据包进行重新校验,包括:当第一控制器和第二控制器在预设次数对输入数据包进行校验失败,并根据校验结果判断任一控制器故障,输入数据包由另一控制器进行接管处理。当第一控制器或第二控制器被判定为故障后,对第一控制器或第二控制器进行复位重启,并在重启成功后重新对输入数据包进行接收及校验。

本发明实施例设置多个控制器同时接收输入数据包,并同时对输入数据包进行校验,通过校验结果判定控制器是否出现故障,并在控制器出现故障时,由另一控制器接管处理。实现输入数据包的冗余通讯,同时,多个控制器同时接收输入数据包,数据传输实现数据同步接收,主连接传输和从主连接传输路径相同,降低了信号传输过程中失效风险;提高了雷达信号传输的稳定性和安全性。

在一种可选的方式中,多个控制器同时接收外设装置的输入数据包,其中,第一控制器与外设装置为主连接关系,且第二控制器与外设装置为从连接关系,在本实施例中,多个控制器分别形成不同的控制域,且每个控制器与多个CAN芯片连接,每个控制器的CAN芯片同时与同一外设装置并联连接;外设装置设置与第一控制器设置有主连接关系,外设装置与第二控制器存在主连接关系。当控制器有多个时,外设装置与第一控制器为主连接关系,外设装置与其他控制器为从连接关系。外设装置可以是雷达。

在一种可选的方式中,分别对输入数据包进行校验,包括:多个控制器同时对输入数据包进行校验,若多个控制器校验结果一致,则判定为校验通过,且多个控制器进行输入数据包同步。多个控制器同时对输入数据包进行校验,包括:对输入数据包的雷达ID和校验码进行校验。在本实施例中,每个雷达有唯一的雷达ID,在每个控制器都正常工作时,当前雷达发送的输入数据包分别传输到控制器后数据会做校验码校验和雷达ID确认,每个控制器接收的输入数据包中的雷达ID和校验码都一致情况下,会判断数据同步成功,与当前雷达进行主连接的控制器作为主域,优先级处理数据,其他控制器不做数据处理。在一个具体的例子中发送输入数据包的雷达ID序号为5,输入数据包定义M0,数据传输成功校验码=1;在每个控制器中需要对输入数据包的雷达ID和校验码进行判定,判定雷达ID是否为5,校验码是否为1;若所有控制器均校验成功,则校验通过。

在一种可选的方式中,若校验通过则通过第一控制器或第二控制器对输入数据包进行处理,包括:当输入数据包校验通过时,由与外设装置主连接的控制器对输入数据包进行处理,其他控制器不做处理。在本实施例中,多个控制器同时与外设装置并联连接,且外设装置其一控制器为主连接关系。每个控制器接收的输入数据包中的雷达ID和校验码都一致情况下,会判断数据同步成功,与当前雷达进行主连接的控制器作为主域,优先级处理数据,其他控制器不做数据处理。

图4示出了本发明基于CAN总线并联连接装置的方法的第二实施例的流程图,基于上述基于CAN总线并联连接装置的方法的第一实施例;在第一实施例对输入数据包校验失败后进一步,否则对第一控制器或第二控制器进行故障判定,包括:

401,当第一控制器和第二控制器对输入数据包校验不一致时,判断第一控制器或第二控制器是否正常工作;在步骤401中,外设装置有唯一的外设装置ID,在每个控制器都正常工作时,外设装置发送的输入数据包分别传输到控制器后数据会做校验码校验和雷达ID确认,每个控制器接收的输入数据包中的外设装置ID和校验码不一致情况,则验证不通过。在校验不通过时,需要对控制器是否正常工作进行判断,具体过程是:接收校验不通过信号,通过任一控制器向每一控制器发送测试信号,判断控制器是否接收测试信号并反馈响应信号,若控制器反馈响应信号则判定控制器正常工作,若控制器未反馈响应信号则判定控制器工作异常。此外,可以通过控制器进行自查,如当控制器接收校验不通过信号,定义其触发响应信号;若控制器触发响应信号则工作正常,否则异常。

402,若第一控制器和第二控制器均正常工作,则要求外设装置对输入数据包进行多次发送,并由第一控制器和第二控制器对每次输入数据包进行重新校验;在步骤402中,要求外设装置对输入数据包进行多次发送,并由第一控制器和第二控制器对每次输入数据包进行重新校验,包括:当第一控制器和第二控制器在预设次数对输入数据包进行校验失败,并根据校验结果判断任一控制器故障,输入数据包由另一控制器进行接管处理。

403,若与外设装置为主连接关系的任一控制器故障,则由另一控制器接管并对输入数据包进行处理。

当第一控制器或第二控制器被判定为故障后,对第一控制器或第二控制器进行复位重启,并在重启成功后重新对输入数据包进行接收及校验。在本实施例中,已挂死的某个控制器复位重启成功后,会重新对控制器的Heart功能做检测,判断正常后,会重新按两个控制器正常工作场景处理输入数据包。

在本发明一个具体实施例中,参见图1-4,外设装置为雷达,CAN通讯架构中雷达被多个控制器管理的机制;每个雷达有唯一的雷达ID,在每个控制器都正常工作时,外设装置发送的输入数据包分别传输到控制器后数据会做校验码校验和雷达ID确认,每个控制器接收的输入数据包中的雷达ID和校验码都一致情况下,会判断数据同步成功,与外设装置进行主连接的控制器作为主域,优先级处理数据,其他控制器不做数据处理。在一个具体的例子中发送输入数据包的雷达ID序号为5,输入数据包定义M0,数据传输成功校验码=1;在每个控制器中需要对输入数据包的雷达ID和校验码进行判定,判定雷达ID是否为5,校验码是否为1;若所有控制器均校验成功,则校验通过。

在其中一个控制器的校验码出错或ID信息不正确时,首先沿判定控制器是否正常工作,在控制器的MCU Heart功能正常时,会要求外设装置的输入数据包做二次发送,校验码和雷达ID同步做二次判断,直到正确雷达ID被识别和数据校验成功才会退出。

在外设装置输入数据包多次发数据后校验码和ID判断预设次数失败情况下,其中,预设次数可以是10次。会识别判断其中的控制器已故障挂死,在已故障挂死场景下,输入数据包会被另外一个未故障挂死的控制器来处理。其中,当控制器为第一控制器、第二控制器两个,第一控制器为与雷达主连接时,若第一控制器识别输入数据包为0或NG出错时,则认为第一控制器出现故障;由第二控制器对输入数据包进行接管处理。

在一种可选的方式中,当控制器被判定为故障后,对控制器进行复位重启,并在重启成功后重新对输入数据包进行接收及校验。在本实施例中,已挂死的某个控制器复位重启成功后,会重新对控制器的Heart功能做检测,判断正常后,会重新按两个控制器正常工作场景处理输入数据包。

本发明实施例的通讯方法设置多个控制器同时接收输入数据包,并同时对输入数据包进行校验,通过校验结果判定控制器是否出现故障,并在控制器出现故障时,由另一控制器接管处理。实现输入数据包的冗余通讯,同时,多个控制器同时接收输入数据包,数据传输实现数据同步接收,主连接传输和非主连接传输路径相同,降低了信号传输过程中失效风险;提高了雷达信号传输的稳定性和安全性。

根据本发明实施例的又一方面,提供了一种计算机可读存储介质,本存储介质中存储有至少一可执行指令,可执行指令在上述CAN总线并联连接装置上运行时,使得CAN总线并联连接装置执行如上述的基于CAN总线并联连接装置的方法的操作。本发明实施例的CAN总线并联连接装置设置多个控制器与外设装置进行并联,多个控制器同时接收输入数据包,数据传输实现数据同步接收,主连接传输和非主连接传输路径相同。同时,在控制器出现故障时,由另一控制器接管处理。实现输入数据包的冗余通讯;降低了信号传输过程中失效风险;提高了雷达信号传输的稳定性和安全性。

在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。此外,本发明实施例也不针对任何特定编程语言。

在此处所提供的说明书中,说明了大量具体细节。然而能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。类似地,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。其中,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。

技术分类

06120116556639