CN116405153A - 用于控制器局域网的设备 - Google Patents

用于控制器局域网的设备 Download PDF

Info

Publication number
CN116405153A
CN116405153A CN202211513925.7A CN202211513925A CN116405153A CN 116405153 A CN116405153 A CN 116405153A CN 202211513925 A CN202211513925 A CN 202211513925A CN 116405153 A CN116405153 A CN 116405153A
Authority
CN
China
Prior art keywords
frame
data
error
transmission data
fields
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.)
Pending
Application number
CN202211513925.7A
Other languages
English (en)
Inventor
罗尔夫·范德伯吉特
贝恩德·乌韦·格哈德·伊兰德
蒂里·G·C·瓦伦特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NXP BV
Original Assignee
NXP BV
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NXP BV filed Critical NXP BV
Publication of CN116405153A publication Critical patent/CN116405153A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0091Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location arrangements specific to receivers, e.g. format detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/417Bus networks with decentralised control with deterministic access, e.g. token passing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]
    • H04L12/4135Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD] using bit-wise arbitration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

一种用于控制器局域网CAN收发器的设备,所述设备包括:用于接收传输数据的第一输入,所述传输数据包括由CAN控制器生成的数据,用于使CAN收发器在CAN总线上传输表示所述传输数据的信令;用于接收接收数据的第二输入,所述接收数据指示来自所述CAN总线的信令;并且其中所述设备被配置成:在所述接收数据中检测CAN帧的一个或多个字段;以及防止通过所述CAN收发器在与所述检测到的所述CAN帧的一个或多个字段相对应的时间传输表示所述传输数据的所述信令,以至少防止所述传输数据中的错误帧被传输。

Description

用于控制器局域网的设备
技术领域
本公开涉及一种用于控制器局域网(CAN)收发器的设备。本公开还涉及一种CAN节点、一种操作所述设备的方法以及一种计算机可读介质。
背景技术
例如控制器局域网(CAN)、具有灵活数据速率的CAN(CAN FD)、本地互连网络(LIN)、FlexRay、基于以太网的网络总线以及其它类型的车载网络(IVN)总线可用于车辆内的通信。例如,控制器局域网(CAN)总线是通常在汽车内使用的基于消息的通信总线协议。应了解,CAN网络还具有在汽车领域之外的应用。CAN总线网络可包括多个总线装置、所谓的节点或电子控制单元(ECU),例如引擎控制模块(ECM)、传动系控制模块(PCM)、安全气囊、防抱死刹车、定速巡航、电动助力转向、音频系统、车窗、车门、后视镜调整、用于混合动力/电动汽车的电池和再充电系统等。CAN总线协议用于实现各种总线装置之间的通信。CAN协议的数据链路层被标准化为国际标准组织(ISO)11898-1:2003。作为标准化CAN数据链路层协议的扩展并同时集成到ISO11898-1:2015标准中的CAN灵活数据速率或“CAN FD”可提供更高的数据速率。标准化CAN数据链路层协议正被进一步扩展以提供甚至更高的数据速率。在CiA610(自动化中的CAN)下论述的定义阶段中,采用允许更高数据速率的新级别方案的称为CAN XL的另一扩展在CiA610下进行了论述,并且正在以另外更新现有ISO11898标准或新标准的形式朝着标准化方向发展。
发明内容
根据本公开的第一方面,提供一种用于控制器局域网CAN收发器的设备,所述设备包括:
用于接收传输数据的第一输入,所述传输数据包括由CAN控制器生成的数据,用于使CAN收发器在CAN总线上传输表示所述传输数据的信令;
用于接收接收数据的第二输入,所述接收数据指示来自所述CAN总线的信令;并且
其中所述设备被配置成:
在所述接收数据中检测CAN帧的一个或多个字段;以及
防止通过所述CAN收发器在与所述检测到的所述CAN帧的一个或多个字段相对应的时间传输表示所述传输数据的所述信令,以至少防止所述传输数据中的错误帧被传输。
在一个或多个例子中,所述设备被配置成检测所述传输数据中的错误帧并且根据一个或多个规则检测所述接收数据中错误的发生,其中所述设备被配置成在所述传输数据包含错误帧并且所述设备未检测到所述接收数据中错误的发生的情况下防止传输。
在一个或多个实施例中,所述设备被配置成基于所述接收数据而根据一个或多个规则检测所述接收数据中错误的发生,并且其中所述设备被配置成基于所述错误的发生而提供错误信号或错误帧在所述CAN总线上的传输。
在一个或多个实施例中,所述设备被配置成至少在与所述检测到的所述CAN帧的一个或多个字段相对应的时间提供所述错误帧或错误信号的所述传输。
在一个或多个实施例中,用于确定所述接收数据中所述错误的发生的所述一个或多个规则包括以下一者或多者:
填充错误规则,所述填充错误规则定义对所述CAN协议的填充规则的遵从性;
CRC错误规则,所述CRC错误规则定义CRC字段指示数据字段中的数据是正确的;
格式错误规则,所述格式错误规则根据所述CAN协议定义CAN帧中的预定位的一个或多个预期值;以及
位错误规则,所述位错误规则定义应在所述接收数据中看到所述传输数据中的位。
在一个或多个实施例中,所述设备被配置成在CAN帧的仲裁字段期间基于所述接收数据和所述传输数据确定是否赢得仲裁;并且
如果确定未赢得所述仲裁,则所述CAN帧的所述一个或多个字段包括以下一者或多者:
数据字段;
输掉仲裁的时间之后的仲裁字段的一部分;
循环冗余校验字段;
帧间间隔;以及
帧结束字段。
在一个或多个实施例中,所述设备被配置成在CAN帧的仲裁字段期间基于所述接收数据和所述传输数据确定是否赢得仲裁;并且
如果确定赢得所述仲裁,则所述CAN帧的所述一个或多个字段包括以下一者或多者:
确认字段;
帧结束字段;以及
帧间间隔。
在一个或多个实施例中,所述设备被配置成存储安全级别索引,其中所述安全级别索引至少包括第一值或不同于所述第一值的第二值;并且其中
当所述安全级别索引包括所述第一值时,其中所述设备被配置成防止传输的所述检测到的所述CAN帧的一个或多个字段的数量包括第一数量;并且
当所述安全级别索引包括所述第二值时,其中所述设备被配置成防止传输的所述检测到的所述CAN帧的一个或多个字段的数量包括第二数量;并且
其中所述第二数量大于所述第一数量。
在一个或多个实施例中,所述设备被配置成存储安全级别索引,其中所述安全级别索引至少包括第一值或不同于所述第一值的第二值;并且其中
当所述安全级别索引包括所述第一值时,其中所述设备被配置成防止传输的所述检测到的所述CAN帧的一个或多个字段包括第一选择;并且
当所述安全级别索引包括所述第二值时,其中所述设备被配置成防止传输的所述检测到的所述CAN帧的一个或多个字段包括不同于所述第一选择的第二选择。
在一个或多个实施例中,所述设备被配置成基于检测到所述传输数据中的一个或多个异常事件而将所述安全级别索引从所述第一值更改为所述第二值,所述一个或多个异常事件是基于预定行为规则集确定的。
在一个或多个实施例中,所述设备被配置成基于在预定时间周期内或在预定数量的帧内未检测到所述传输数据中的一个或多个异常事件而将所述安全级别索引从所述第二值更改为所述第一值,所述一个或多个异常事件是基于预定行为规则集确定的。
在一个或多个实施例中,基于所述设备提供所述错误帧的传输,所述设备被配置成停止所述防止所述CAN收发器传输表示所述传输数据的所述信令。
在一个或多个实施例中,所述设备包括CAN收发器的一部分,并且
所述第一输入耦合到所述CAN收发器的TXD端;并且
所述第二输入耦合到所述CAN收发器的接收器模块的输出,所述接收器模块被配置成基于所述CAN总线的所述信令生成数字位流,所述数字位流包括所述接收数据。
在一个或多个实施例中,所述设备被配置成通过以下一个或多个步骤防止所述CAN收发器传输表示所述传输数据的所述信令:
修改所述传输数据;
阻止所述CAN收发器的传输器模块接收所述传输数据,所述传输器模块被配置成将所述传输数据转换成差分电压电平,以用于在所述CAN总线上;以及
阻止所述CAN收发器的所述传输器模块的输出,所述传输器模块被配置成将所述传输数据转换成差分电压电平,并将所述差分电压电平输出到所述CAN总线。
在一个或多个实施例中,所述设备被配置成基于检测到所述传输数据中的错误帧并且其中所述设备用于防止传输而修改所述接收数据,使得所述CAN控制器认为所述错误帧是在所述CAN总线上传输的。
在一个或多个例子中,所述设备被配置成基于所述防止传输表示所述传输数据的所述信令和所述修改所述接收数据,提供在所述CAN总线上传输过载标志,并且在所述修改所述接收数据之后且在所述过载标志之前,阻止所述接收数据被提供到所述CAN控制器。
根据本公开的第二方面,提供一种用于控制器局域网CAN收发器的方法,所述方法包括:
在第一输入接收传输数据,所述传输数据包括由CAN控制器生成的数据,用于使CAN收发器在CAN总线上传输表示所述传输数据的信令;
在第二输入接收接收数据,所述接收数据指示来自所述CAN总线的信令;以及
在所述接收数据中检测CAN帧的一个或多个字段;并且
防止通过所述CAN收发器在与所述检测到的所述CAN帧的一个或多个字段相对应的时间传输表示所述传输数据的所述信令,以至少防止所述传输数据中的错误帧被传输。
根据本公开的第三方面,提供一种非暂时性计算机可读介质,所述非暂时性计算机可读介质包括计算机程序代码,所述计算机程序代码当被执行时被配置成使处理器执行根据第二方面所述的方法。
虽然本公开容许各种修改和替代形式,其细节已经借助于例子在附图中示出且将详细地描述。然而,应理解,也可能存在除所描述的特定实施例以外的其它实施例。也涵盖落入所附权利要求书的精神和范围内的所有修改、等效物和替代实施例。
以上论述并不意在呈现在当前或将来权利要求集的范围内的每一示例实施例或每一实施方案。附图和具体实施方式还举例说明了各种示例实施例。结合附图考虑以下具体实施方式可以更全面地理解各种示例实施例。
附图说明
现将仅借助于例子参考附图描述一个或多个实施例,附图中:
图1示出连接到公共CAN总线的多个CAN节点的示例实施例;
图2示出示例CAN节点,所述CAN节点包括与CAN收发器耦合的CAN控制器,所述CAN收发器提供到CAN总线的耦合,并且其中所述CAN收发器包括示例设备,用于控制在总线上传输表示从CAN控制器接收到的传输数据的信令;
图3示出示例设备的更详细视图;
图4示出一系列示例CAN帧;
图5示出示例状态图;
图6示出示例方法;以及
图7示出计算机可读介质。
具体实施方式
示例图1示出CAN总线系统100,其中多个节点或电子控制单元(ECU)101-104连接到包括第一CANH导线和第二CANL的相同CAN总线导线105。节点101-104可包括实施经典CAN的节点、实施CAN FD协议的CAN FD节点或实施新CAN XL协议的CAN XL节点。
示例图2更详细地示出节点101-104中的一个。节点主要包括CAN控制器200,例如微控制器,所述CAN控制器200例如通过使用嵌入式CAN、CAN FD或CAN XL协议控制器201来实施CAN、CAN FD或CAN XL协议。CAN控制器200可被称为主机。控制器200,并且更具体地协议控制器201,通过CAN收发器202连接到CAN总线105。CAN控制器200通过称为传输数据(TXD)203和接收数据(RXD)204的两个接口连接而连接到CAN收发器202。因此,控制器可具有与CAN收发器202的传输输入端耦合的传输输出端。同样,CAN收发器202可具有与CAN控制器200的接收输入端耦合的接收输出端。收发器202用于使用传输器模块205将包括TXD 203上的数字位流的传输数据转换成总线导线105上的模拟信令。收发器202还用于通过接收器模块206将来自总线105的模拟信令转化成包括数字输出信号或位流的接收数据,以提供到RXD连接204。因此,传输器模块205被配置成将传输数据转化成总线105的显性位和隐性位差分信号。因此,接收器模块206被配置成从总线105接收差分信号,并且确定显性位或隐性位的存在且基于此生成接收数据。通常,CAN收发器包括到网络的接口装置并且CAN控制器包括控制器,所述控制器被配置成经由所述接口装置向网络传输数据和从网络接收数据。
在一个或多个例子中且对于上下文,如果节点103正在传输CAN帧,则根据CAN协议,接收节点101、102和104被配置成验证接收到的帧,并且可以通过错误帧确认所述帧或使所述帧无效。错误帧可以在帧期间或在帧结束(EOF)字段(下文关于图4进行描述)中传输。如果错误帧在总线上传输,则所有接收节点101、102、104将丢弃它们刚接收到的帧,并且传输节点103将任选地重试多次传输所述帧。利用此属性,每个节点具有否决权,可以使总线105上的帧无效。
公开一种设备,在一个或多个例子中,所述设备可以充当监护者以监测并可能从本地主机接管错误帧传输任务。在一个或多个例子中,设备可以防止在CAN帧的预定义阶段或字段期间本地主机在总线上传输错误帧。在一个或多个例子中,所述预定义字段可随时间而改变。
因此,在本公开的一个或多个示例实施例中,CAN收发器202可以另外包括设备210,所述设备210用于控制CAN收发器202何时响应于在TXD 203上从CAN控制器200接收传输数据而向总线105提供信令。在一个或多个例子中,设备205可被配置成阻止或允许在TXD203上接收的传输数据由CAN收发器202的传输器模块205接收。
设备210还可以从接收器模块206接收接收数据,所述接收数据将被提供给RXD204上的CAN控制器。设备210可以是CAN协议感知的,这意味着设备210可以识别CAN帧的一个或多个部分,并且响应于CAN帧的一个或多个部分正在传输和/或存在于总线105上的信令中而提供其控制。设备210可包括符合CAN ISO11898的接收器,所述接收器能够对总线105上的帧进行解码。然而,应了解,设备210可能不需要ISO11898中提供的所有功能,而是可被配置成根据一个或多个预定解码规则来对CAN帧进行解码,所述一个或多个预定解码规则可以从ISO11898针对CAN接收器定义的规则中导出或包括所述规则的子集。
图3中提供设备210的更详细视图。图3示出设备210可能需要用来实施控制的功能部件的例子。图2中使用的相同附图标记也用于图3中的类似部件。
综上所述,设备210用于CAN收发器。在图3中,设备210示为CAN收发器202的一部分,并且是接收器模块206和传输器模块205与接收输出端301和传输输入端302的组合之间的接口。在其它例子中,设备210可位于CAN收发器202的外部,并且耦合到接收输出端301和传输输入端302。在此类配置中,来自CAN控制器200的传输数据可以通过设备传递到传输输入端302,并且从接收输出端301接收到的接收数据可以通过设备传递到CAN控制器。
无论哪个配置,设备210都可包括用于接收由CAN控制器200生成的传输数据的第一输入320。如本领域的技术人员所熟悉的,传输数据使CAN收发器202例如借助于传输器模块205在CAN总线上传输表示所述传输数据的信令。另外,设备210可包括用于接收接收数据的第二输入321,其中接收数据指示来自CAN总线105的信令,所述信令可以从接收器模块206接收。
设备210包括协议和采样块303,所述协议和采样块303被配置成读取CAN帧以及传输数据和接收数据中的信令。为了提供此类功能和后续控制,协议和采样块303包括用于确定传输数据中的信号定时的第一定时恢复块304。另外,协议和采样块303包括用于确定接收数据中的信号定时的第二定时恢复块305。边缘定时检查块306被配置成接收传输数据并检查传输数据中的边缘定时,即显性位与隐性位之间的过渡,以检查错误或与CAN协议的符合性。总线状态块307被配置成根据接收数据确定总线的状态。因此,总线状态块可被配置成确定接收的CAN帧的一种或多种类型、接收到的帧的部分以及总线105是否在使用中。违反检测器和TXD选通块308被配置提供对传输数据中的一个或多个预定规则的违反的检测。可以基于根据接收数据确定的传输数据的一个或多个位和总线105的当前状态来确定对一个或多个预定规则的违反。
违反检测器和TXD选通块308可被配置成执行一个或多个控制动作。
在这个例子中,第一控制动作包括违反检测器和TXD选通块308被配置成通过在第一输出322处提供的一个或多个信号来操纵提供给传输器模块205的传输数据。来自第一输出322的信号可以控制开关310。开关310可以中断传输输入端302与传输模块205之间的连接。在其它例子中,信号322可被配置成插入或更改传输数据中的位。
在这个例子中以及在一个或多个其它例子中,第二控制动作包括违反检测器和TXD选通块308被配置成通过从第二输出311向传输模块205提供适当信号来发送错误帧。
在这个例子中以及在一个或多个其它例子中,第三控制动作包括违反检测器和TXD选通块308被配置成通过在第三输出323处提供的一个或多个信号来操纵提供给CAN控制器200的接收数据。来自第三输出323的信号可以控制开关309。开关309可以中断接收模块206与接收输出端301之间的连接。在其它例子中,第三输出323处的信号可被配置成插入或更改接收数据中的位。
协议和采样块303可被配置成接收一个或多个参考信号以提供这些功能。因此,位定时设置块312被配置成存储CAN网络的位速率设置,如本领域的技术人员所熟悉的。时钟313提供时钟信号。
应了解,图3提供设备210的实施方案的一个例子。在其它实施方案中,本文描述的设备210的功能可由具有适当配置的软件的通用处理器或FPGA或PLC或专用管芯提供。因此,在以下描述中,将描述通常由设备210而不是由一个或多个块(例如,块308)提供的功能。
在本发明的例子中,开关310用于防止所述CAN收发器传输表示所述传输数据的所述信令。然而,在其它例子中,可以通过修改传输数据使得其中不存在无保证的错误帧等来防止传输。在其它例子中,设备可被配置成暂时阻止CAN收发器的传输器模块205接收传输数据。在其它例子中,设备可被配置成阻止CAN收发器202的传输器模块205的输出,且因此可在连接到CAN总线105之前在传输器模块205的输出处包括开关。
图4示出一系列CAN帧400以说明设备的动作。将首先描述典型CAN帧的结构以突出显示其部分。所述帧包括帧起始字段401,所述帧起始字段401指定CAN帧400的起始。仲裁字段402在帧起始字段401之后,在所述仲裁字段402中确定哪个节点101-104赢得了对总线105的访问。仲裁字段402可以包括节点101-104的ID的信令,并且可以包括11位或29位ID。在仲裁字段402之后,所述帧包括可用于用信号表示将遵循的CAN协议类型的包括IDE、FDF和res的控制位字段403。数据字段404在控制位字段403之后,所述数据字段404包含帧的数据内容。CRC字段405在数据字段404之后,所述CRC字段405包含错误检测和/或错误校正信息。随后是确认字段406。随后是确认Del字段407。帧结束字段408指示帧400的结束。提供帧间间隔409以提供不同帧之间的可识别分隔。在此帧间间隔409中,总线(以及因此节点)可被视为空闲。接着,后续帧可以帧起始字段开始。因此,在时间410,多个节点将进行传输,对总线进行仲裁。在时间411,应仅传输一个节点(错误或无效信号的情况除外)。在确认字段406,接收帧的节点101-104将变为处于作用中。
CAN帧420和430包括阴影,以说明设备210可以在CAN帧中的什么位置施加控制。
因此,设备210被配置成在所述接收数据中检测CAN帧的一个或多个字段,如图4所示。在本文的例子中,设备210检测到的一个或多个字段可以包括帧间间隔409,即使帧间间隔409是帧之间的信令的一部分。因此,设备210可被配置成检测帧结束字段408。在其它例子中,设备210可被配置成检测帧结束字段408和帧间间隔409。因此,设备210可以尽可能地为协议感知的,以识别CAN帧的一个或多个字段的出现。可替换的是,设备210可具有识别CAN帧的多个(或所有)字段的能力,并且上文描述的一个或多个字段可以包括那些字段的子集。
在本文描述的一个或多个例子中,设备210被配置成防止所述CAN收发器在与所述检测到的CAN帧的一个或多个字段相对应的时间传输表示所述传输数据的所述信令,以至少防止所述传输数据中的错误帧被传输。因此,如上文所描述,存在缺陷或软件受损的CAN控制器200可能会尝试使正确接收到且应已根据CAN协议确认的CAN帧无效。出于安全和保密原因,这可能是不希望的行为。因此,设备210可被配置成在一个或多个字段期间防止CAN控制器传输错误帧。
在第一例子中,设备210可被配置成防止在一个或多个字段期间将信令传输到总线上,从而被配置成防止传输错误帧。因此,设备210可被配置成使得其在CAN帧的所述一个或多个字段期间选择性地使CAN控制器处于静默状态,这可与CAN控制器可能尝试发送的内容无关。
在一个或多个其它例子中,所述设备210可被配置成检测传输数据中的错误帧,例如CAN控制器尝试发送错误帧。设备210可另外被配置成根据一个或多个规则检测所述接收数据中错误的发生。设备210可因此被配置成确定CAN控制器是否响应于真实错误而尝试发送错误帧。因此,设备210可以通过检查传输数据和/或控制CAN收发器何时响应于传输数据向CAN总线提供信令来监测CAN控制器的行为。设备210可被配置成在所述传输数据包含错误帧并且所述设备未检测到所述接收数据中错误的发生的情况下防止传输。
在一个或多个实施例中,设备210被配置成基于检测到所述传输数据中的错误帧并且其中所述设备用于防止CAN收发器传输错误帧而修改所述接收数据,使得所述CAN控制器200认为所述错误帧是在CAN总线上传输的。通过执行此动作,CAN控制器可能会认为其错误帧实际上已传输(即使其错误帧未传输),因为在延迟后,CAN控制器可以看到它将认为是总线105上的对应信令。因此,这可能会对CAN控制器200隐藏设备210的动作。应了解,检测所述传输数据中的错误帧可以包括检测根据CAN协议规则意外到达的一个或多个显性位。因此,那些一个或多个位可被阻止,以防止CAN收发器传输那些位。
设备可被配置成随后在总线上生成过载标志。过载标志有助于CAN控制器200和耦合到CAN总线105的其它CAN控制器在同一时间点到达下一个间歇字段;从而允许所有CAN控制器平等参与下一次仲裁。在初始修改以呈现错误帧已发送与过载标志的传输之间的周期内,设备可以修改传递给CAN控制器的接收数据。因此,“真实”接收数据被阻止。
在一个或多个例子中,设备210可被配置成至少部分地负责从CAN控制器201发送错误帧。应了解,由于设备210被配置成从CAN控制器200接收传输数据,因此设备210位于CAN控制器的下游,且因此可能负责在CAN控制器知晓(即,能够检测到)设备210正在执行此类功能的情况下发送错误帧。因此,在一个或多个例子中,设备210可被配置成基于接收数据而根据一个或多个规则检测所述接收数据中错误的发生。一个或多个规则可以包括CAN协议的规则的子集,或可基于CAN协议的规则。一个或多个规则可以包括对其它节点进行的传输的一个或多个定时的遵从性;其它节点进行的传输取决于是赢得还是输掉仲裁、CAN帧类型,CAN帧类型可包括CAN、CAN FD和CAN XL帧类型等。因此,如果设备210确定一个或多个规则未被遵守,则设备210可被配置成基于错误的发生而提供在CAN总线上传输错误帧或错误信号,并且与CAN控制器发送错误帧或信号无关,如可以在传输数据中观察到的那样。“错误帧”可以包括ISO11898-1定义的帧。“错误信号”可以是提供给总线的破坏当前帧的任何信令。
在一个或多个例子中,可以与CAN控制器201共享负责发送错误帧。因此,设备210可被配置成至少在与所述检测到的CAN帧的一个或多个字段当前存在于接收数据中时相对应的时间提供错误帧的所述传输。因此,当设备210被配置成防止在CAN总线上传输表示来自CAN控制器的所述传输数据的信令时,如果检测到错误,则设备210可以提供错误帧的传输。在CAN帧的一个或多个字段的时间之外,设备可以允许CAN控制器200在CAN总线105上提供错误帧的传输。
在一个或多个例子中,用于确定所述接收数据中错误的发生的一个或多个规则包括填充错误规则,所述填充错误规则包括对CAN协议的填充规则的遵从性。因此,对于CAN协议,在插入填充位以提供同步边缘之前,至多允许五个位具有相同值。因此,填充错误规则确定接收数据是否符合CAN协议填充规则。在一个或多个例子中,填充错误规则可包括确定CAN FD帧的CRC字段405是否包括在针对CAN FD的协议中定义的所需四个填充位。
在一个或多个例子中,用于确定所述接收数据中错误的发生的一个或多个规则包括格式错误规则,所述格式错误规则被配置成根据CAN协议确定CAN帧中的预定位的值是否具有无效值。例如,预期定界符位或保留位具有预定值,而如果未检测到该值,则存在格式错误。
在一个或多个例子中,用于确定所述接收数据中错误的发生的一个或多个规则包括位错误规则,所述位错误规则定义应在接收数据中看到传输数据中的位。
在一个或多个例子中,用于确定所述接收数据中错误的发生的一个或多个规则包括CRC错误规则,所述CRC错误规则定义CRC字段405指示数据字段404中的数据是正确的。
参考图4,第一CAN帧420说明与设备210相关联的CAN控制器赢得仲裁的情境。第二CAN帧430说明与设备210相关联的CAN控制器输掉仲裁的情境。
设备210可被配置成确定与其相关联的CAN控制器200是否赢得仲裁。在一些例子中,设备210可另外被配置成确定与其相关联的CAN控制器200是赢得仲裁还是输掉仲裁。因此,可能因为输掉仲裁或控制器200没有参与仲裁而没有赢得仲裁。因此,通过在CAN帧的仲裁字段402期间监测从CAN总线接收到的接收数据中的“ID”和CAN控制器200发送的传输数据中的ID,设备210可以确定是赢得还是输掉仲裁,包括CAN控制器200未参与仲裁的情境。在一个或多个例子中,设备210可以具有与其相关联的CAN控制器的ID的预定信息,并且因此可被配置成基于接收数据而不是传输数据来确定仲裁是赢得和/或未赢得仲裁。
如果确定赢得所述仲裁(应了解,可以在仲裁字段期间或之后进行确定),则参考第一CAN帧420,CAN帧的所述一个或多个字段可包括以下一者或多者:
确认字段406;
CRC字段405;
帧结束字段408;以及
帧间间隔409。
因此,在CAN帧的任何一个或多个这些部分期间(包括帧之间的帧间间隔409),参考第二CAN帧430,设备210可被配置成防止所述CAN收发器在总线上传输表示所述传输数据的信令。因此,帧的这些部分中的阴影指示设备210限制CAN收发器将传输数据传输到CAN总线上的位置。
如果未赢得仲裁(例如,输掉仲裁或CAN协议控制器201未参与仲裁以赢得对CAN总线的访问的情况),则CAN帧的所述一个或多个字段可包括以下一者或多者:数据字段404;帧结束字段408;以及帧间间隔409。此外,CAN帧430的一个或多个字段可以包括输掉仲裁的时间之后的仲裁字段402的部分431。应了解,ID最小的节点101-104赢得对总线的访问,因此,如果ID较小的节点继续参与仲裁,则可以确定在仲裁字段结束之前已经输掉仲裁。因此,从仲裁字段中CAN控制器已经输掉仲裁的时间点开始,设备210可被配置成防止基于传输数据的信令的传输。
设备210可被配置成根据当前安全级别来防止传输数据的传输。因此,设备201可被配置成通过检查传输数据来监测CAN控制器200的行为。设备210还可以接收接收数据,且因此可被配置成根据其生成的传输数据来确定CAN控制器200的行为。此外,设备可被配置成响应于来自CAN总线105的接收数据确定传输数据是否是适当的传输数据。因此,设备210可被配置成检测传输数据中一个或多个异常事件的发生,所述一个或多个异常事件是基于预定行为规则集确定的。预定行为规则集可包括定义被视为CAN控制器200的不当或可疑行为的规则。例如,预定行为规则集可基于传输数据中的位的定时和对CAN帧的字段的遵从性来定义规则,这可能不需要了解接收数据来进行验证。在其它例子中,预定行为规则集可以包括当设备210未检测到错误时生成错误帧,这可能需要设备210监测接收数据和传输数据以确定CAN控制器201是否正常工作。
可以使用指示当前安全级别的安全级别索引存储当前安全级别。因此,如果检测到预定数量的异常事件,则可以提高当前安全级别索引。这可使得设备210被配置成防止在CAN帧的更多数量的字段期间传输传输数据。如果在预定周期内未检测到异常事件,则可降低当前安全级别索引。这可使得设备210被配置成防止在CAN帧的更少数量的字段期间传输传输数据。可能有两个或更多个或三个或更多个安全级别。
示例图5示出四个安全级别501、502、503、504。第一级别501表示受信任的CAN控制器200。在此级别,设备210可被配置成允许传输表示传输数据的信令。第二级别502表示设备怀疑CAN控制器200的行为,并可能指示对其中设备210防止传输传输数据的CAN帧的一个或多个字段引入限制。第三级别503指定“强制被动”状态,在此状态下,设备210被配置成防止传输更大比例的CAN帧。第四级别504指定“断开连接”状态,在此状态下,设备210被配置成防止所有传输数据的传输,并且在一些例子中,防止CAN控制器接收接收数据。
在这个例子中,每次发生预定行为规则集中定义的异常事件,都会使得设备210提高安全级别。然而,如果在预定时间周期内或在预定数量的CAN帧内没有发生预定行为规则集中定义的异常事件,则设备210可以降低安全级别,如505和506所示。然而,一旦达到第四安全级别,设备210就可被配置成在离开第四安全级别之前要求复位。在一个或多个例子中,预定行为规则集可以定义一个或多个严重违反,如果这些违反发生,则会使设备210直接移至第四安全级别504。应了解,当应提高或降低安全级别时,可以提供其它规则。
图5还示出设备210的示例状态图。状态510指示设备210断开。状态511指示设备等待传输数据和接收数据时的空闲状态。状态512示出对仲裁阶段以及因此仲裁字段402的监测。状态513示出设备确定输掉仲裁。状态513呈现有双线边界,指示在第二安全级别502或更高安全级别,设备210用于防止传输数据的传输。这在CAN帧430中通过在仲裁字段431中开始的方形图案阴影示出。如果此时设备检测到错误,并且CAN控制器200在第一安全级别501中受信任,则设备停止防止传输,并允许CAN控制器200以状态515向总线发送错误帧。设备接着移至状态519,即处于受信任状态,在半阴影字段432所示的帧结束字段中不提供对传输的限制。可替换的是,如果安全级别为第二安全级别502或更高,并且检测到错误441,则设备210移至状态519,在此状态下,对于如442所示的帧的其余部分以及在帧结束字段防止传输。接着,设备210移至空闲状态520,并转至状态511。
状态514包括设备210在确定赢得仲裁时进入的状态。如果CAN控制器当前在第一安全级别501受信任,则设备210不限制传输。设备210在CRC字段405之后移至状态517,在此状态下,如果处于第二安全级别或更高安全级别,则限制传输。设备移至状态518,在此状态下,由CAN控制器无限制地提供帧结束字段408。如果安全级别为第三安全级别502或更高,则设备210移至状态519,在此状态下,帧结束字段408期间的传输受到限制,如CAN帧420中的部分阴影所示。设备210可以从状态514移至状态515,在此状态下,如果安全级别为第二级别502或更低,可以允许CAN控制器传输错误帧。
因此,通常,设备210被配置成存储安全级别索引501、502、503、504。当安全级别索引较低时,其中设备被配置成防止传输的CAN帧的一个或多个字段的数量较少(或字段的不同选择)。当所述安全级别索引较高时,其中设备被配置成防止传输的CAN帧的一个或多个字段的数量较多(或字段的不同选择)。在一些例子中,当安全级别较高时,设备可用于基于传输数据抑制所有信令的传输。
图6示出用于控制器局域网CAN收发器的针对耦合到所述CAN收发器的受损CAN控制器提供缓解的示例方法,所述方法包括:
在第一输入接收601传输数据,所述传输数据包括由CAN控制器生成的数据,用于使CAN收发器在CAN总线上传输表示所述传输数据的信令;
在第二输入接收602接收数据,所述接收数据指示来自所述CAN总线的信令;并且
在所述接收数据中检测603CAN帧的一个或多个字段;以及
防止604通过所述CAN收发器在与所述检测到的所述CAN帧的一个或多个字段相对应的时间传输表示所述传输数据的所述信令,以至少防止所述传输数据中的错误帧被传输。
图7示出一种非暂时性计算机可读介质,所述非暂时性计算机可读介质包括计算机程序代码,所述计算机程序代码被配置成使处理器和存储器执行图6的方法。
除非明确陈述特定顺序,否则可以任何顺序执行以上图式中的指令和/或流程图步骤。而且,本领域的技术人员将认识到,虽然已论述了一个示例指令集/方法,但是在本说明书中的材料可以多种方式组合从而还产生其它例子,并且应在此详细描述提供的上下文内来进行理解。
在一些示例实施例中,上文描述的指令集/方法步骤实施为体现为可执行指令集的功能和软件指令,所述可执行指令集在计算机或以所述可执行指令编程并控制的机器上实现。此类指令经过加载以在处理器(例如,一个或多个CPU)上执行。术语处理器包括微处理器、微控制器、处理器模块或子系统(包括一个或多个微处理器或微控制器),或其它控制或计算装置。处理器可指代单个组件或多个组件。
在其它例子中,本文中示出的指令集/方法以及与其相关联的数据和指令存储于相应存储装置中,所述存储装置被实施为一个或多个非暂时性机器或计算机可读或计算机可用存储介质。这类计算机可读或计算机可用存储介质被视为物品(或制品)的部分。物品或制品可以指任何所制造出的单个组件或多个组件。如本文所定义的非暂时性机器或计算机可用介质不包括信号,但此类介质可能够接收并处理来自信号和/或其它暂时性介质的信息。
本说明书中论述的材料的示例实施例可整体或部分地经由网络、计算机或基于数据的装置和/或服务加以实施。这些可包括云、因特网、内联网、移动装置、台式电脑、处理器、查找表、微控制器、消费者设备、基础架构,或其它致能装置和服务。如本文和权利要求书中可使用,提供以下非排他性定义。
在一个例子中,本文论述的一个或多个指令或步骤是自动化的。术语自动化或自动地(和其类似变型)意指使用计算机和/或机械/电气装置而不需要人类干预、观测、努力和/或决策来控制设备、系统和/或过程的操作。
应了解,据称将耦合的任何组件可直接地或间接地耦合或连接。在间接耦合的状况下,可在称为耦合的两个组件之间安置另外的组件。
在本说明书中,已经按选定的细节集合来呈现示例实施例。然而,本领域的普通技术人员将理解,可以实践包括这些细节的不同选定集合的许多其它示例实施例。希望所附权利要求书涵盖所有可能的示例实施例。

Claims (10)

1.一种用于控制器局域网CAN收发器的设备,其特征在于,所述设备包括:
用于接收传输数据的第一输入,所述传输数据包括由CAN控制器生成的数据,用于使CAN收发器在CAN总线上传输表示所述传输数据的信令;
用于接收接收数据的第二输入,所述接收数据指示来自所述CAN总线的信令;并且
其中所述设备被配置成:
在所述接收数据中检测CAN帧的一个或多个字段;以及
防止通过所述CAN收发器在与所述检测到的所述CAN帧的一个或多个字段相对应的时间传输表示所述传输数据的所述信令,以至少防止所述传输数据中的错误帧被传输。
2.根据权利要求1所述的设备,其特征在于,所述设备被配置成基于所述接收数据而根据一个或多个规则检测所述接收数据中错误的发生,并且其中所述设备被配置成基于所述错误的发生而提供错误信号或错误帧中的一者或两者在所述CAN总线上的传输。
3.根据权利要求2所述的设备,其特征在于,所述设备被配置成至少在与所述检测到的所述CAN帧的一个或多个字段相对应的时间提供所述错误帧或错误信号中的所述一者或两者的所述传输。
4.根据权利要求2或权利要求3所述的设备,其特征在于,用于确定所述接收数据中所述错误的发生的所述一个或多个规则包括以下一者或多者:
填充错误规则,所述填充错误规则定义对所述CAN协议的填充规则的遵从性;
CRC错误规则,所述CRC错误规则定义CRC字段指示数据字段中的数据是正确的;
格式错误规则,所述格式错误规则根据所述CAN协议定义CAN帧中的预定位的一个或多个预期值;以及
位错误规则,所述位错误规则定义应在所述接收数据中看到所述传输数据中的位。
5.根据在前的任一项权利要求所述的设备,其特征在于,所述设备被配置成在CAN帧的仲裁字段期间基于所述接收数据和所述传输数据确定是否赢得仲裁;并且
如果确定未赢得所述仲裁,则所述CAN帧的所述一个或多个字段包括以下一者或多者:
数据字段;
输掉仲裁的时间之后的仲裁字段的一部分;
循环冗余校验字段;
帧间间隔;以及
帧结束字段。
6.根据在前的任一项权利要求所述的设备,其特征在于,所述设备被配置成在CAN帧的仲裁字段期间基于所述接收数据和所述传输数据确定是否赢得仲裁;并且
如果确定赢得所述仲裁,则所述CAN帧的所述一个或多个字段包括以下一者或多者:
确认字段;
帧结束字段;以及
帧间间隔。
7.根据在前的任一项权利要求所述的设备,其特征在于,所述设备被配置成存储安全级别索引,其中所述安全级别索引至少包括第一值或不同于所述第一值的第二值;并且其中
当所述安全级别索引包括所述第一值时,其中所述设备被配置成防止传输的所述检测到的所述CAN帧的一个或多个字段的数量包括第一数量或第一选择;并且
当所述安全级别索引包括所述第二值时,其中所述设备被配置成防止传输的所述检测到的所述CAN帧的一个或多个字段的数量包括不同于第一数量或第一选择的第二数量或第二选择;并且
其中所述第二数量大于所述第一数量。
8.根据权利要求7所述的设备,其特征在于,所述设备被配置成基于检测到所述传输数据中的一个或多个异常事件而将所述安全级别索引从所述第一值更改为所述第二值,所述一个或多个异常事件是基于预定行为规则集确定的。
9.根据权利要求7或权利要求8所述的设备,其特征在于,所述设备被配置成基于在预定时间周期内或在预定数量的帧内未检测到所述传输数据中的一个或多个异常事件而将所述安全级别索引从所述第二值更改为所述第一值,所述一个或多个异常事件是基于预定行为规则集确定的。
10.一种用于控制器局域网CAN收发器的方法,其特征在于,所述方法包括:
在第一输入接收传输数据,所述传输数据包括由CAN控制器生成的数据,用于使CAN收发器在CAN总线上传输表示所述传输数据的信令;
在第二输入接收接收数据,所述接收数据指示来自所述CAN总线的信令;以及
在所述接收数据中检测CAN帧的一个或多个字段;并且
防止通过所述CAN收发器在与所述检测到的所述CAN帧的一个或多个字段相对应的时间传输表示所述传输数据的所述信令,以至少防止所述传输数据中的错误帧被传输。
CN202211513925.7A 2021-12-17 2022-11-29 用于控制器局域网的设备 Pending CN116405153A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP21215663.2 2021-12-17
EP21215663.2A EP4199437A1 (en) 2021-12-17 2021-12-17 Apparatus for a controller area network

Publications (1)

Publication Number Publication Date
CN116405153A true CN116405153A (zh) 2023-07-07

Family

ID=79283251

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211513925.7A Pending CN116405153A (zh) 2021-12-17 2022-11-29 用于控制器局域网的设备

Country Status (3)

Country Link
US (1) US20230198807A1 (zh)
EP (1) EP4199437A1 (zh)
CN (1) CN116405153A (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5811140B2 (ja) * 2013-05-29 2015-11-11 株式会社デンソー 通信システム
US9652423B2 (en) * 2013-06-05 2017-05-16 Texas Instruments Incorporated CAN and flexible data rate CAN node apparatus and methods for mixed bus CAN FD communications
GB2583476B (en) * 2019-04-29 2021-05-26 Canis Automotive Labs Ltd CAN security invention

Also Published As

Publication number Publication date
EP4199437A1 (en) 2023-06-21
US20230198807A1 (en) 2023-06-22

Similar Documents

Publication Publication Date Title
US10693905B2 (en) Invalidity detection electronic control unit, in-vehicle network system, and communication method
US20180316584A1 (en) Abnormality detection method, abnormality detection apparatus, and abnormality detection system
US10713106B2 (en) Communication device, communication method and non-transitory storage medium
CN101483544B (zh) 故障定位装置、通信装置及故障定位方法
CN112347021B (zh) 用于串行通信装置的安全模块
US10462161B2 (en) Vehicle network operating protocol and method
CN112347022B (zh) 用于can节点的安全模块
US12063235B2 (en) Communication control device, anomaly detection electronic control unit, mobility network system, communication control method, anomaly detection method, and recording medium
US11016925B2 (en) Protocol-tolerant communications in controller area networks
EP3599743B1 (en) Method and device for communicating data frames on a multi-master bus
EP3965375B1 (en) Can transceiver
CN112583786B (zh) 用于警报的方法、发送器设备和接收器设备
CN116266803A (zh) 用于控制器局域网的设备
CN108632242B (zh) 通信装置及接收装置
CN116405153A (zh) 用于控制器局域网的设备
CN116266804A (zh) 用于控制器局域网的设备
CN112347023B (zh) 用于can节点的安全模块
EP4270882A1 (en) Detecting an error in a can system
CN116471139A (zh) 控制器局域网模块和用于所述模块的方法
CN115150220A (zh) 控制器局域网装置
CN112347023A (zh) 用于can节点的安全模块
JP2011229079A (ja) 電子制御ユニット

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication