CN113132150B - 控制器局域网故障检测和恢复 - Google Patents
控制器局域网故障检测和恢复 Download PDFInfo
- Publication number
- CN113132150B CN113132150B CN202110011338.7A CN202110011338A CN113132150B CN 113132150 B CN113132150 B CN 113132150B CN 202110011338 A CN202110011338 A CN 202110011338A CN 113132150 B CN113132150 B CN 113132150B
- Authority
- CN
- China
- Prior art keywords
- fault
- controller
- remediation
- reset
- failure
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40169—Flexible bus arrangements
- H04L12/40176—Flexible bus arrangements involving redundancy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/008—Registering or indicating the working of vehicles communicating information to a remotely located station
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0808—Diagnosing performance data
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0816—Indicating performance data, e.g. occurrence of a malfunction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40013—Details regarding a bus controller
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明涉及控制器局域网故障检测和恢复。具体地,控制器局域网故障检测和恢复系统及方法可以包括故障检测模块、故障补救模块、检查点管理器和恢复管理器,其配置为基于检测到的CAN故障来选择一个或多个故障补救机制。根据预定有序层次中的所选故障补救机制,在CAN驱动器软件级别处控制检测到的CAN故障的补救。
Description
技术领域
本公开涉及控制器局域网中的通信。
背景技术
车辆系统包括多个子系统,其例如包括发动机、变速器、行驶/操纵、制动、HVAC和乘员保护。可以采用多个控制器来监视和控制子系统的操作。控制器可配置为响应于操作员命令、车辆操作状态和外部条件,经由控制器局域网(CAN)通信以协调车辆的操作。
CAN系统可以将总线拓扑用于所有控制器之间的通信连接,总线拓扑可以包括线性拓扑、星形拓扑或者星形和线性拓扑的组合。高速CAN系统可以采用线性拓扑,而低速CAN系统可以采用星形和线性拓扑的组合。CAN系统可以为所有控制器的电源线和接地线采用单独的电源和接地拓扑。控制器可以通过在CAN总线上不同时间段发送的消息相互通信。CAN系统消息不包含定义的地址,仅包含定义的消息。这样,所有消息都可以由所有网络控制器接收和处理。
CAN系统可能具有基本的故障检测和恢复,其主要涉及在检测到中止的消息并阻止接受其后中止传输。错误检测可以在比特级别和消息级别进行。持续的错误可能导致控制器脱机以防止总线阻塞。这样的检测系统通常不能识别故障的根本原因,并且不能区分瞬时故障和间歇故障。CAN系统的复杂性不断增长,包括网络上正在服务的节点数量。此外,由于单个物理控制器可能具有多个节点消息传递功能,因此CAN系统可以采用导致消息传递密度增加的网络ID协议。随着网络消息传递密度的增加,与运行时相关的故障的可能性也可能增加。
发明内容
在一示例性实施例中,一种控制器局域网(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故障的多个故障补救机制,故障补救机制具有缓冲器清理和软件标志复位、CAN控制器复位以及微控制器运行复位;检查点管理器,用于保持CAN消息帧的运行存储;以及恢复管理器,其配置为基于检测到的CAN故障来选择故障补救机制中的一个或多个,并且根据预定有序层次中的所选故障补救机制,在CAN驱动器软件级别处控制检测到的CAN故障的补救。
当结合附图考虑时,根据以下详细描述,本公开的以上特征和优点以及其他特征和优点将显而易见。
附图说明
其他特征、优点和细节仅通过示例的方式在以下详细描述中出现,该详细描述参考附图,其中:
图1示出了根据本公开的包括控制器局域网(CAN)的车辆,该控制器局域网包括CAN总线和多个节点,例如控制器;
图2示出了根据本公开的控制器;
图3示出了根据本公开的包括基本级别和CAN驱动器级别的控制策略和方法;
图4示出了根据本公开的示例性策略和方法;
图5示出了根据本公开的传输锁定检测策略的实施例;
图6示出了根据本公开的接收锁定检测策略的实施例;以及
图7示出了根据本公开的示例性故障检测和恢复过程。
具体实施方式
以下描述本质上仅是示例性的,并且无意于限制本公开、其应用或用途。在所有附图中,相应的附图标记表示相同或相应的部件和特征。如本文所用,控制模块、模块、控制、控制器、控制单元、电子控制单元、处理器和类似术语是指专用集成电路(ASIC)、电子电路、中央处理单元(优选是微处理器)以及相关的内存和存储(只读存储器(ROM)、随机存取存储器(RAM)、电可编程只读存储器(EPROM)、硬盘驱动等)或者执行一个或多个软件或固件程序或例程的微控制器、组合逻辑电路、输入/输出电路和设备(I/O)以及适当的信号调节和缓冲电路、高速时钟、模数(A/D)和数模(D/A)电路以及其他部件中的一个或多个的任何一个或各种组合,以提供上述功能。控制模块可以包括各种通信接口,其包括点对点或离散线路以及到车辆控制器局域网以及工厂内和与服务有关的网络上的包括广域网和局域网的网络的有线或无线接口。如本公开中阐述的控制模块的功能可以在多个联网控制模块之间的分布式控制架构中执行。软件、固件、程序、指令、例程、代码、算法和类似术语表示任何控制器可执行指令集,其包括校准、数据结构和查找表。控制模块具有一组控制例程,其被执行以提供所描述的功能。例程例如由中央处理单元执行,并且可操作成监视来自感测设备和其他联网控制模块的输入,并执行控制和诊断例程以控制致动器的操作。例程可以在正在进行的发动机和车辆操作期间以规则间隔执行。可替代地,可以响应于事件的发生、软件调用或者根据需要经由用户界面输入或请求来执行例程。
现在参考附图,这些附图仅出于说明某些示例性实施例的目的,而非出于限制它们的目的,图1示意性地示出了车辆8,其包括控制器局域网(CAN)50,该控制器局域网包括CAN总线15和多个节点(即控制器10、20、30和40)。术语“节点”是指信号连接到CAN总线15并能够通过CAN总线15发送、接收或转发信息的任何有源电子设备。控制器10、20、30和40中的每个都信号连接到CAN总线15,并电连接至电网60和接地电网70。控制器10、20、30和40中的每个都包括电子控制器或其他车载设备,其配置为监视或控制车辆8的子系统的操作并通过CAN总线15进行通信。CAN50的所示实施例是CAN的非限制性示例,其可用于多种系统配置中的任何一种。
CAN总线15包括多个通信链路,其包括控制器10和20之间的第一通信链路51、控制器20和30之间的第二通信链路53以及控制器30和40之间的第三通信链路55。电网60包括电源62(例如电连接到第一电力总线64和第二电力总线66以经由电力链路向控制器10、20、30和40提供电功率的电池)。如图所示,电源62经由以串联配置布置的电力链路连接到第一电力总线64和第二电力总线66,其中电力链路69连接第一和第二电力总线64、66。第一电力总线64经由以星形配置布置的电力链路连接到控制器10和20,其中电力链路61连接第一电力总线64和控制器10,而电力链路63将第一电力总线64连接到控制器20。电力总线66通过以星形配置布置的电力链路连接到控制器30和40,其中电力链路65连接第二电力总线66和控制器30,而电力链路67将第二电力总线66连接到控制器40。接地电网70包括车辆接地72,其连接到第一接地总线74和第二接地总线76,以经由接地链路向控制器10、20、30和40提供电接地。如图所示,车辆接地72通过以串联配置布置的接地链路连接到第一接地总线74和第二接地总线76,其中接地链路79连接第一和第二接地总线74、76。第一接地总线74经由以星形配置布置的接地链路连接到控制器10和20,其中接地链路71连接第一接地总线74和控制器10,而接地链路73将第一接地总线74连接到控制器20。接地总线76经由以星形配置布置的接地链路连接到控制器30和40,其中接地链路75连接第二接地总线76和控制器30,而接地链路77将第二接地总线76连接到控制器40。可以以类似的效果采用用于控制器10、20、30和40以及CAN总线15的通信、电力和接地的分配的其他拓扑。
控制器10、20、30和40中的每个经由CAN总线15通过CAN50传输和接收消息,对于不同的控制器,消息传输速率在不同的时间段发生。CAN消息帧具有预定格式,其在一个实施例中包括帧起始(SOF)、标识符(11位标识符)、单个远程传输请求(RTR)、主要单个标识符扩展(IDE)、保留位(r0)、4位数据长度代码(DLC)、最多64位数据(DATA)、16位循环冗余校验(CDC)、2位确认(ACK)、7位帧结束(EOF)和3位帧间空间(IFS)。CAN消息可能被损坏,已知错误包括填充错误、形式错误、ACK错误、位1错误、位0错误和CRC错误。错误用于生成错误警告状态,其包括错误主动状态、错误被动状态和总线关闭错误状态之一。根据检测到的总线错误帧数量的增加即总线错误计数的增加来分配错误主动状态、错误被动状态和总线关闭错误状态。
进一步参考图2,示出了控制器201的框图。控制器201可以包括微控制器203,其包括相应的接收和传输消息缓冲器205、207。微控制器203可以与CAN控制器211处于信号通信209。CAN控制器211可以包括相应的接收和传输消息缓冲器213、215。收发器217在传输线219和接收线221处由CAN控制器211信号连接和控制。收发器217可以通过CAN高线227和CAN低线229与CAN总线225物理地对接。CAN控制器211可以实现为独立控制器,实现为微控制器203外围的芯片,或者可以上集成到微控制器软件级别中。类似地,收发器217可以实现为独立硬件,实现为微控制器203外围的芯片,或者实现为与CAN控制器或微控制器和CAN控制器的单芯片集成的一部分。
各种硬件和软件问题以及异常可能会导致控制器的错误计数和错误状态,最终导致总线关闭错误状态。通常的做法是在总线关闭错误状态为主动时要求控制器复位。控制器复位非常麻烦,并且取决于控制器而完全关闭运行时操作和控制,并可能影响分布式系统中的其他控制器操作。然而,并非所有硬件和软件问题以及异常都会导致总线关闭错误,并且并非所有导致总线关闭错误的硬件和软件问题以及异常都需要控制器复位。由系统动态引起的运行时故障(例如消息量过多或静音时间过长)可能导致不必要的控制器复位或在适当级别处未完全解决故障。当前的做法甚至可能未检测到其他运行时故障。收发器锁定可能由于噪声或瞬变而发生,例如这些故障可能与物理层异常相对应,但可能与总线硬件短路或断开无关。CAN控制器可以在操作上稳定且有效地控制相应消息缓冲器中的传输和接收消息,但是可能发生缓冲器溢出和/或锁定,从而导致消息的传输和接收丢失。CAN控制器可能导致软件异常,其中消息的传输和/或接收受到损害或停止。因此,期望提高CAN环境中的检测和恢复能力。
根据本公开并且进一步参考图3,控制策略和方法300可以由控制器201实现。基本软件级别301可以包括运行时操作系统303,其包括由微控制器203实现的应用、过程和服务,例如与控制器201的任务是单独或与其他控制器以专用或分布式方式组合来监视和控制的一个或多个系统相关的控制和诊断。关于CAN系统操作,运行时操作系统303可以包括更高级别的协议,例如包括用于容纳超过标准CAN消息帧的数据需求(即数据分段和重组)以及用于网络管理(例如节点ID的使用)的协议。而且,并且特别地与本公开有关,运行时操作系统303可以包括与更低级别CAN消息传递有关的应用、过程和服务以及如本文关于图1所阐述的作为CAN50上的控制器节点的控制器201的参与。这样,运行时操作系统303可以涉及提供CAN控制器211和收发器217排队和传输的CAN消息帧。同样,运行时操作系统303可以涉及处理由CAN控制器211和收发器217接收的CAN消息帧。根据本公开的一个实施例,基本软件级别301可以进一步包括如本文进一步描述的锁定检测器305和恢复管理器307。基本软件级别301可以另外包括其他支持应用、过程和服务,比如本文进一步描述的检查点管理器(未示出)。锁定检测器305可主要负责与多种传输和接收故障有关的监视和诊断功能,该故障与CAN控制器211和收发器217的硬件和软件相关,如本文进一步所述。同样地,恢复管理器307可主要负责特别适合检测到的故障的补救功能,采用有序、分层的恢复方法,如本文进一步所述,至少部分地取决于根据锁定检测器305做出的诊断确定311。如可从图3理解,运行时操作系统303可以比如通过定期调用或事件触发器来提供锁定检测器305和恢复管理器307的任务控制309。CAN驱动器软件级别321也可以在控制器201内实现。恢复管理器307与CAN驱动器软件级别321对接,以控制和实施各种补救措施及其组合,以在控制器201的CAN控制器211、收发器217和微控制器203的硬件和软件级别处适当地采用,如本文进一步所述。根据本公开的补救措施可以包括CAN缓冲器和标志复位过程323、CAN控制器复位过程325和微控制器复位过程327。控制策略和方法300可以进一步包括附加软件级别(未示出),例如用于管理参考数据的数据级别(包括静态和自适应表和数据结构)以及包括用于服务和维护功能的用户界面级别。
图4示出了根据本公开的示例性策略和方法401。在一实施例中,策略和方法401由控制器201实现。故障检测模块403可以在控制器201的微控制器203内实现,并且可以包括在本实施例中对应于来自CAN控制器415的CAN状态信息的多个故障检测机制403A-403C,如本文进一步所述。故障检测模块可被包括作为图3的控制策略和方法300的基本软件级别301的一部分。由恢复管理器407监视故障检测,该恢复管理器参考故障补救模块405的适当的故障补救机制405A-405C,以便以有序、分层的恢复方法来实现。恢复管理器407可被包括作为图3的控制策略和方法300的基本软件级别301的一部分。故障补救模块405可被包括作为图3的控制策略和方法300的基本软件级别301的一部分或者可替代地作为数据级别(未示出)的一部分。通过对CAN控制器415和微控制器413中的一个或多个的与期望的故障补救机制405A-405C相对应的适当措施或命令来控制恢复。策略和方法401可以进一步包括检查点管理器409,其保持接收和传输的CAN消息帧的运行存储,作为来自CAN控制器415的检查点411。检查点管理器409可被包括作为图3的控制策略和方法300的基本软件级别301的一部分。根据适当的故障补救机制405A-405C,在检测到故障和恢复之后,恢复管理器407可以利用检查点411。
在一实施例中,故障检测模块403的多个检测机制403A-403C可包括检测总线关闭故障、传输故障和接收故障。传输故障可以由传输锁定检测器403A检测。接收故障可以由接收锁定检测器403B检测。总线关闭故障可以由总线关闭故障检测器403C检测,该检测可以通过任何适当的技术来完成,例如包括通过众所周知的传输和接收错误计数器以及主动错误、被动错误和总线关闭状态指示器。图5示出了根据本公开的传输锁定检测策略501的实施例。传输锁定检测策略501可以在正在进行的运行时期间或消息发送失败时定期调用。在一种情况下,命令消息传输521,并且CAN控制器211可以返回消息发送失败523。CAN控制器211可以包括软件驱动器,其包括配置为在CAN的软件层处(例如在CAN驱动器软件级别处)返回指示消息发送失败523的一个或多个故障代码的驻留软件诊断。在由多个消息发送失败523所指示的预定数量的不成功消息传输尝试之后,调用525CAN控制器211和传输缓冲器215的查询以获得状态信息。设置标志527,并确定传输锁定529。在另一种情况下,命令消息传输521,并且CAN控制器211不返回消息发送失败,然而,由于未知原因,消息不在总线上被发出,例如收发器217内的硬件驱动器锁存低温或高温或者过温状态。然而,通过反馈,例如通过位级别诊断(即由CAN控制器进行总线监视),知道期望的所传输消息是否在CAN系统的物理层(例如CAN总线和收发器)处被成功传输。因此,在预定时间段531之后,执行传输检查533,例如在预定时间段内将成功传输(传输确认)与已知数量的所请求传输(传输请求)进行比较。在计数差超过某个预定阈值535的情况下,确定传输锁定529。在这种情况下,预定时间段531可以根据需要进行校准,并且计数差预定阈值535也可以根据需要进行校准。
图6示出了根据本公开的接收锁定检测策略601的实施例。接收锁定检测策略601可以在正在进行的运行时期间定期调用,例如在成功启动服务和操作系统加载或等效启动过程之后控制器进入正常或稳态操作状态的任何时间。在一种情况下,控制器准备接收CAN消息帧621,但在周期性超时持续时间623之后,没有接收到CAN消息帧。周期性超时持续时间623可以根据需要是可校准的。在这样的无消息接收时间段之后,调用625CAN控制器211和接收缓冲器213的查询以获得状态信息。设置标志627并确定接收锁定629。在另一种情况下,接收缓冲器213可能是满的,并且CAN控制器211将这种状况通知微控制器203的运行时操作系统303,并确定锁定629。另外,在没有接收到CAN消息帧时的周期性超时持续时间631之后,可以调用远程检查633,其中可以使用检查点来确定最后通信的节点,并且向其传输检查CAN消息帧以触发确认CAN消息。周期性超时持续时间631可以根据需要是可校准的。未能收到确认CAN消息帧635确定接收锁定629。
根据本公开,故障补救模块405的故障补救机制405A-405C可以包括缓冲器清理和软件标志复位405A、CAN控制器复位405B和微控制器运行复位405C。故障补救模块405用于基于检测到的故障来实施分层恢复策略。因此,如由检测到的故障所指示,补救尝试从侵入性或破坏性最小的硬件和软件级别到侵入性或破坏性最大的硬件和软件级别以有序方式发生。在一实施例中,缓冲器清理和软件标志复位405A提供最小的侵入性补救策略。缓冲器清理和软件标志复位405A可以包括软件级别过程,其中除了消息缓冲器和相关的标志之外,没有任何正在运行的任务或系统状态受到影响。恢复管理器307可以通过CAN驱动器软件级别321的CAN缓冲器和标志复位过程323来调用缓冲器清理和软件标志复位405A,如本文结合图3所述。例如,在检测到传输或接收锁定时,并且在没有总线关闭故障的情况下,可以调用缓冲器清理和软件标志复位405A,以例如刷新在传输和接收缓冲器215、213中的一个或两个内的所存储消息,如由检测到的故障适当地指示。例如,这可能包括计数器复位、所有消息存储位置的初始化、后续消息的指针调整以及此类补救措施的组合。此外,可调用缓冲器清理和软件标志复位405A,以复位软件标志来指示消息缓冲器可用性并从检查点恢复至少一个先前的CAN消息帧,如本文所述。在缓冲器清理和软件标志复位405A期间,缓冲器专用于故障补救过程,以防止CAN总线消息被覆盖。在一实施例中,CAN控制器复位405B提供中间侵入性补救策略。CAN控制器复位405B可以包括如本文所述的缓冲器清理和软件标志复位405A补救,并且另外可以包括由恢复管理器307通过CAN驱动器软件级别321的CAN控制器复位过程325调用的CAN控制器211的复位,如本文结合图3所述。例如,在检测到总线关闭故障或CAN控制器故障时,比如可以由指示关于图5所述的消息发送失败或者在如关于图6所述的传输检查CAN消息帧时未能接收到确认CAN消息帧的故障代码来指示,可以调用缓冲器清理和软件标志复位405A以实现本文描述的相关补救措施。此外,可以调用CAN控制器复位405B以复位CAN控制器缓冲器来起动CAN控制器211的启动服务和操作系统加载或等效启动过程,并且复位或初始化收发器217。在一实施例中,微控制器运行复位405C提供最大侵入性补救策略。如本文所述,微控制器运行复位405C可以包括缓冲器清理和软件标志复位405A和CAN控制器复位405B补救,并且还可以包括由恢复管理器307通过CAN驱动器软件级别321的微控制器复位过程327调用的微控制器203的复位,如本文结合图3所述。例如,在检测到传输或接收锁定、总线关闭故障、CAN控制器故障或任何故障(其中较小侵入性补救过程未能清除故障)时,可以调用缓冲器清理以及软件标志复位405A和CAN控制器复位405B,以实现本文描述的相关补救措施。此外,可以调用微控制器运行复位405C,以通过起动微控制器203的启动服务和操作系统加载或等效启动过程来复位微控制器缓冲器和运行时过程。优选地,由于这种补救的侵入性质,微控制器运行复位405C的可用性受到限制。例如,在控制器调用等待系统服务的有限功能的模式之前,可以允许完全地或在预定的时间基础上预定数量的这种微控制器运行复位405C。例如,这可以包括在汽车应用中的所谓的汽车操作的跛行回家模式。
图7示出了根据本公开的可被实现为控制器内的运行代码的故障检测和恢复过程701。故障检测703在运行时期间经由故障检测模块403监视故障,例如包括总线关闭、传输锁定和接收锁定,如本文所述。将故障分类705,例如以确定故障模式(例如传输故障代码或者传输请求与确认计数差)。基于分类,确定适当的最小侵入性恢复策略706。将适当的命令发送到适当的硬件和软件部件以调用期望的恢复策略707。在调用当前期望的恢复策略708之后确定是否存在相同或附加故障。在不存在的情况下,清除故障指示符比如标志或设置代码709且退出该过程710。在存在连续故障的情况下,该过程从705重复,对当前故障进行分类,并再次运行后续恢复过程。
除非明确地描述为“直接的”,否则在以上公开中描述第一和第二元件之间的关系时,该关系可以是其中第一和第二元件之间不存在其他中间元件的直接关系,但也可以是其中在第一和第二元件之间存在一个或多个中间元件(在空间上或功能上)的间接关系。
应当理解,在不改变本公开的原理的情况下,可以以不同的顺序(或同时)执行方法内的一个或多个步骤。此外,尽管以上将实施例中的每个描述为具有某些特征,但相对于本公开的任何实施例描述的那些特征中的任何一个或多个都可以在任何其他实施例中实现和/或与其特征组合,即使该组合没有明确描述。换句话说,所描述的实施例不是互相排斥的,并且一个或多个实施例彼此的置换仍在本公开的范围内。
尽管已经参照示例性实施例描述了以上公开,但本领域技术人员将理解,在不脱离其范围的情况下,可以进行各种改变并且可以用等同物代替其元件。另外,在不脱离本公开的实质范围的情况下,可以做出许多修改以使特定情况或材料适应本公开的教导。因此,意图是本公开不限于所公开的特定实施例,而是将包括落入其范围内的所有实施例。
Claims (8)
1.一种控制器局域网CAN故障检测和恢复系统,包括:
CAN节点,其包括控制器,该控制器包括微控制器、CAN控制器和用于传输和接收CAN消息帧的收发器;
所述控制器包括:
故障检测模块,其包括用于检测CAN故障的多个故障检测机制;
故障补救模块,其包括用于补救检测到的CAN故障的多个故障补救机制,所述多个故障补救机制包括缓冲器清理和软件标志复位、CAN控制器复位以及微控制器运行复位;以及
恢复管理器,其配置为基于检测到的CAN故障来选择故障补救机制中的一个或多个,并且根据预定有序层次中的所选故障补救机制来控制检测到的CAN故障的补救。
2.根据权利要求1所述的系统,其中,所述预定有序层次按序包括:所述缓冲器清理和软件标志复位、所述CAN控制器复位以及所述微控制器运行复位。
3.根据权利要求1所述的系统,其中,用于检测CAN故障的多个故障检测机制包括传输锁定检测器、接收锁定检测器以及总线关闭故障检测器。
4.根据权利要求1所述的系统,其中,所述预定有序层次包括最小到最大侵入性故障补救机制。
5.一种用于控制器局域网CAN故障检测和恢复的方法,包括:
利用包括多个故障检测机制的故障检测模块来检测CAN故障;
利用恢复管理器,基于检测到的CAN故障,从故障补救模块选择故障补救机制,所述故障补救机制包括缓冲器清理和软件标志复位、CAN控制器复位以及微控制器运行复位;以及
根据预定有序层次中的所选故障补救机制,控制检测到的CAN故障的补救。
6.根据权利要求5所述的方法,其中,所述预定有序层次按序包括:所述缓冲器清理和软件标志复位、所述CAN控制器复位以及所述微控制器运行复位。
7.根据权利要求5所述的方法,其中,所述多个故障检测机制包括传输锁定检测、接收锁定检测以及总线关闭故障检测。
8.一种控制器局域网CAN故障检测和恢复系统,包括:
CAN节点,其包括控制器,该控制器包括微控制器、CAN控制器和用于传输和接收CAN消息帧的收发器;
所述控制器包括:
故障检测模块,其包括用于检测CAN故障的多个故障检测机制,所述故障检测机制包括传输锁定检测器、接收锁定检测器以及总线关闭故障检测器;
故障补救模块,其包括用于补救检测到的CAN故障的多个故障补救机制,所述故障补救机制包括缓冲器清理和软件标志复位、CAN控制器复位以及微控制器运行复位;
检查点管理器,用于保持CAN消息帧的运行存储;以及
恢复管理器,其配置为基于检测到的CAN故障来选择故障补救机制中的一个或多个,并且根据预定有序层次中的所选故障补救机制,在CAN驱动器软件级别处控制检测到的CAN故障的补救。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/741,780 US11516046B2 (en) | 2020-01-14 | 2020-01-14 | Controller area network fault detection and recovery |
US16/741,780 | 2020-01-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113132150A CN113132150A (zh) | 2021-07-16 |
CN113132150B true CN113132150B (zh) | 2023-06-30 |
Family
ID=76542872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110011338.7A Active CN113132150B (zh) | 2020-01-14 | 2021-01-06 | 控制器局域网故障检测和恢复 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11516046B2 (zh) |
CN (1) | CN113132150B (zh) |
DE (1) | DE102020132573A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8930769B2 (en) * | 2010-08-13 | 2015-01-06 | International Business Machines Corporation | Managing operating system deployment failure |
US9110951B2 (en) * | 2013-09-16 | 2015-08-18 | GM Global Technology Operations LLC | Method and apparatus for isolating a fault in a controller area network |
CN108241355B (zh) | 2016-12-27 | 2019-08-30 | 合肥美亚光电技术股份有限公司 | 安检机的故障恢复方法、系统及安检机 |
US20190228322A1 (en) * | 2018-01-25 | 2019-07-25 | Noregon Systems, Inc. | Vehicle repair guidance system |
CN108737187B (zh) | 2018-05-23 | 2021-07-20 | 哈尔滨工业大学 | 一种can总线故障模拟系统及故障模拟方法 |
-
2020
- 2020-01-14 US US16/741,780 patent/US11516046B2/en active Active
- 2020-12-08 DE DE102020132573.8A patent/DE102020132573A1/de active Pending
-
2021
- 2021-01-06 CN CN202110011338.7A patent/CN113132150B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113132150A (zh) | 2021-07-16 |
US11516046B2 (en) | 2022-11-29 |
DE102020132573A1 (de) | 2021-07-15 |
US20210218596A1 (en) | 2021-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10693905B2 (en) | Invalidity detection electronic control unit, in-vehicle network system, and communication method | |
US9009523B2 (en) | Method and apparatus for isolating a fault in a controller area network | |
US9524222B2 (en) | Method and apparatus for fault detection in a controller area network | |
US9600372B2 (en) | Approach for controller area network bus off handling | |
US20150312123A1 (en) | Method and apparatus for isolating a fault in a controller area network | |
JP2011526110A (ja) | 故障ノードの検出方法 | |
CN111147437B (zh) | 基于错误帧归因总线断开攻击 | |
CN109104352B (zh) | 车辆网络操作协议和方法 | |
US20080298256A1 (en) | Distributed System | |
US11544132B2 (en) | Communication apparatus, communication method, program, and communication system | |
WO2020235178A1 (ja) | 情報処理装置、情報処理システム、通知方法および情報処理プログラム | |
US9499174B2 (en) | Method and apparatus for isolating a fault-active controller in a controller area network | |
US5329528A (en) | Duplex communication control device | |
US20060187932A1 (en) | Method and system for transmitting telegrams | |
EP2680476B1 (en) | Communications apparatus, system and method with error mitigation | |
CN113132150B (zh) | 控制器局域网故障检测和恢复 | |
KR101945426B1 (ko) | 배터리 통신진단방법 | |
US11036573B2 (en) | Control processor unit (CPU) error detection by another CPU via communication bus | |
JP5405927B2 (ja) | ネットワークノード | |
KR101231933B1 (ko) | 전자 장비의 오류 관리 시스템 및 방법 | |
JP2004080397A (ja) | Lan監視機能を備えたsnmpエージェント | |
KR20240048200A (ko) | Can 버스 통신에서 위변조 ecu의 진단 id 식별 방법 및 이를 수행하는 시스템 | |
Chethan et al. | Strategies for monitoring CAN node communication failures in the V2X eco-system | |
Baba et al. | Toward adaptable distributed real-time computer systems | |
JP3978028B2 (ja) | マシン異常検知システム及び異常検知方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |