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

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

Info

Publication number
CN116266804A
CN116266804A CN202211514597.2A CN202211514597A CN116266804A CN 116266804 A CN116266804 A CN 116266804A CN 202211514597 A CN202211514597 A CN 202211514597A CN 116266804 A CN116266804 A CN 116266804A
Authority
CN
China
Prior art keywords
received data
bits
bus
time
edge detector
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
CN202211514597.2A
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 CN116266804A publication Critical patent/CN116266804A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/40006Architecture of a communication node
    • 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/40006Architecture of a communication node
    • H04L12/40032Details regarding a bus interface enhancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • 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

Abstract

一种用于CAN收发器的设备,所述CAN收发器被配置成耦合到CAN总线并基于来自所述CAN总线的信号生成接收数据,并且响应于从CAN控制器接收到的传输数据在所述CAN总线上生成信号,其中所述设备被配置成:接收包括多个位的所述接收数据;以及对于所述接收数据的一个或多个位中的每个位,在相应采样时间进行采样以确定所述一个或多个位中的每个位的相应值;并且利用边缘检测器确定在相应边缘检测器窗口期间所述接收数据中是否出现边缘,并且生成指示是否出现边缘的元数据,其中所述边缘检测器窗口包括含所述采样时间的时间周期;并且其中所述设备被配置成基于所述相应值和所述元数据确定传输数据是否符合一个或多个规则。

Description

用于控制器局域网的设备
技术领域
本公开涉及一种用于控制器局域网(CAN)收发器的设备。本公开还涉及CAN收发器,以及包括CAN控制器和CAN收发器的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控制器和所述设备中的一个或多个的时钟的精度。
在一个或多个实施例中,定义所述边缘检测器窗口的所述时间周期为所述接收数据中的所述位的持续时间的至多30%、40%、50%、60%或70%。
在一个或多个实施例中,定义所述边缘检测器窗口的所述时间周期是可变的并且取决于所述接收数据中的CAN帧中的位置。
在一个或多个实施例中,所述第一时间是在所述采样时间之前并且所述第二时间是在所述采样时间之后。
在一个或多个实施例中,基于所述传输数据不符合的确定,所述设备被配置成通过以下一个或多个步骤防止所述CAN收发器传输表示所述传输数据的所述信令:
修改所述传输数据;
阻止所述CAN收发器的传输器模块接收所述传输数据,所述传输器模块被配置成将所述传输数据转换成差分电压电平,以供在所述CAN总线上传输;以及
阻止所述CAN收发器的所述传输器模块的输出,所述传输器模块被配置成将所述传输数据转换成差分电压电平,并将所述差分电压电平输出到所述CAN总线。
在一个或多个实施例中,所述设备被配置成检测所述接收数据中的错误,并且其中所述一个或多个规则包括仅在与所述设备检测到所述接收数据中存在错误时对应的时间检测所述传输数据中的错误帧。
在一个或多个实施例中,所述设备被配置成在违反一个或多个以下接收数据规则的情况下确定所述接收数据中存在所述错误:
填充错误规则,所述填充错误规则定义对所述CAN协议的填充规则的遵从性;
CRC错误规则,所述CRC错误规则定义CRC字段指示数据字段中的数据是正确的;
格式错误规则,所述格式错误规则根据所述CAN协议定义CAN帧中的预定位的一个或多个预期值;以及
位错误规则,所述位错误规则定义应在所述接收数据中看到所述传输数据中的位。
在一个或多个实施例中,所述设备被配置成使得,与当所述元数据指示所述一个或多个位中的一个或多个最近位在所述边缘检测器窗口中不出现边缘时相比,当所述元数据指示所述一个或多个位中的所述一个或多个最近位在所述边缘检测器窗口中出现边缘时,确定所述传输数据不符合所述一个或多个规则的可能性更小。
在一个或多个实施例中,所述设备被配置成基于:
i)检测到由所述CAN控制器发送的所述传输数据中的错误帧;
ii)确定所述接收数据中发生了错误;和
iii)所述元数据不指示与所述一个或多个位相关联的边缘的出现;
确定所述错误帧是有效生成的。
在一个或多个实施例中,所述设备被配置成基于:
i)检测到由所述CAN控制器发送的所述传输数据中的错误帧;
ii)确定所述接收数据中未发生错误;和
iii)所述元数据确实指示与所述一个或多个位相关联的一个或多个边缘的出现;
确定所述错误帧是有效生成的。
在一个或多个实施例中,所述设备被配置成修改要发送到所述CAN控制器的所述接收数据,其中所述设备被配置成在所述相应边缘检测器窗口期间锁定所述接收数据中表示的相应位的所述值,使得在所述相应边缘检测器窗口期间保持所述位的所述值恒定。
在一个或多个例子中,所述相应采样时间是基于针对耦合到所述CAN总线的节点相对于所述接收数据中的每个位定义所述采样时间的预定网络信息。
根据本公开的第二方面,提供一种用于CAN收发器的方法,所述CAN收发器被配置成耦合到CAN总线并基于从所述CAN总线接收到的一个或多个信号生成接收数据,并且被配置成响应于从CAN控制器接收到的传输数据在所述CAN总线上生成一个或多个信号,其中所述方法包括:
接收所述接收数据,所述接收数据包括多个位;以及
对于所述接收数据的所述多个位中的一个或多个位中的每个位,在相应采样时间对所述接收数据进行采样,以确定所述接收数据中的所述一个或多个位中的每个位的相应值;并且
由边缘检测器确定在相应边缘检测器窗口期间所述接收数据中是否出现边缘,并且生成指示在所述相应边缘检测器窗口期间是否出现边缘的元数据,并且其中所述边缘检测器窗口包括在所述多个位中的一个或多个位中的每个位中从第一时间延伸到第二时间且包括所述采样时间的时间周期;
接收所述传输数据;以及
基于所述一个或多个位中的每个位的所述相应值和所述元数据,确定所述传输数据是否符合一个或多个规则。
虽然本公开容许各种修改和替代形式,其细节已经借助于例子在附图中示出且将详细地描述。然而,应理解,也可能存在除所描述的特定实施例以外的其它实施例。也涵盖落入所附权利要求书的精神和范围内的所有修改、等效物和替代实施例。
以上论述并不意在呈现在当前或将来权利要求集的范围内的每一示例实施例或每一实施方案。附图和具体实施方式还举例说明了各种示例实施例。结合附图考虑以下具体实施方式可以更全面地理解各种示例实施例。
附图说明
现将仅借助于例子参考附图描述一个或多个实施例,附图中:
图1示出连接到公共CAN总线的多个CAN节点的示例实施例;
图2示出包括与CAN收发器耦合的CAN控制器且包括设备的示例CAN节点,CAN收发器提供与CAN总线的耦合;
图3示出设备的示例实施例,在这个例子中,所述设备是CAN收发器的一部分;
图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)字段中传输。如果错误帧在总线上传输,则所有接收节点101、102、104将丢弃它们刚接收到的帧,并且传输节点103将任选地重试多次传输所述帧。利用此属性,每个节点具有否决权,可以使总线105上的帧无效。
CAN协议包括可能导致CAN控制器传输错误帧的不同类型的错误。在CAN帧期间和在CRC定界符字段之前传输的错误帧是位错误、格式错误和/或填充错误的结果。如果传输节点没有在接收数据中接收回传输节点在传输数据中传输的内容,则传输节点会检测到位错误。如果CAN帧的预定义位根据CAN协议具有正确的值,则会检测到格式错误。当不遵守CAN填充规则并且连续传输了具有相同值的太多位,大多数情况下不超过五位,则会检测到填充错误。
CAN收发器可被配置为协议感知的,这意味着CAN收发器可以识别CAN帧的一个或多个部分,并响应于从来自总线105的信令接收到的CAN帧的一个或多个部分提供功能。CAN收发器可配备有能够对总线上的帧进行解码的符合CAN ISO11898的接收器。CAN收发器可包括时钟恢复功能,以与接收数据和/或传输数据中的CAN帧的定时同步。
在一个或多个例子中,CAN收发器的协议感知部分从CAN收发器中CAN协议控制器201的不同位置观察总线105上的CAN帧和CAN帧中的位。因此,由于协议感知收发器正在观察总线的点,即使采样点配置完全相同,协议感知收发器202也可能不会从总线105采样与本地主机的CAN协议控制器201相同的值。可能是CAN协议控制器201稍早进行采样,并且如果显性位被延长超过所允许的仲裁延迟,则可能发生的是本地主机将采样显性位,而协议感知收发器采样隐性位。另外,如果CAN协议控制器201所采样的显性位是例如一行中的第六个显性位,则CAN协议控制器201将检测到填充错误,接着生成错误帧。协议感知收发器未检测到填充错误,并将确定来自CAN协议控制器的填充错误帧是不合法地生成的,但从CAN协议控制器的角度来看,它是有效生成的。
公开示例设备210,在一个或多个例子中,所述示例设备210可被配置成评估总线105上的信令以确定信令元数据。利用此信令元数据,设备可被配置成确定CAN协议控制器的动作诸如生成一个或多个错误帧或错误信号是否合法,其中元数据可用于解释:设备210从CAN收发器202内或附近对来自CAN总线的接收数据进行采样,而CAN协议控制器201从CAN控制器200内对来自CAN总线的接收数据进行采样。错误帧可具有CAN协议中定义的形式。错误帧可包括ISO11898-1定义的帧。错误信号可以是提供给总线的破坏当前帧的任何信号。
如果节点的CAN控制器或相关联主机存在缺陷或软件受损,则可能会发生节点将尝试使正确接收到且应根据CAN协议确认的CAN帧无效的情况。受损的CAN控制器或主机可能滥用CAN标准的错误管理,通过使总线上的所有帧无效来执行拒绝服务攻击,或通过选择性地使具有特定ID或CAN帧格式的帧无效来使其它节点之一处于静默状态。出于安全和保密原因,这是不希望的行为。因此,在一个或多个例子中,提供可以更有效地(例如,误报更少地)识别CAN控制器的不合法行为的设备210可为有利的。
因此,在本公开的一个或多个示例实施例中,CAN收发器202可以另外包括设备210,所述设备210被配置成接收接收数据,所述接收数据包括多个位。所述设备可被配置成接收传输数据。
设备210可被配置成:对于接收数据的多个位中的一个或多个位中的每个位,在相应采样时间对接收数据进行采样,以确定接收数据中的一个或多个位中的每个位的相应值。可以在网络层级定义采样时间,使得耦合到CAN总线网络的每个节点101-104在每个位期间的基本等效时间对来自CAN总线的信号进行采样。本领域的技术人员将了解,此采样时间可以设置为位时间的例如80%(或其它百分比),使得在对位的值进行采样之前,可能发生的任何环状效应都有时间稳定下来。然而,采样时间发生的精确时间至少取决于每个节点或每个CAN控制器中用于确定采样时间的时钟的时钟漂移。
设备210包括边缘检测器(图2中未示出)。边缘检测器被配置成检测接收数据中的边缘,即位值之间的过渡。在一个或多个例子中,边缘检测器被配置成确定在相应边缘检测器窗口期间接收数据中是否出现边缘。边缘检测器例如结合设备可被配置成生成指示在相应边缘检测器窗口期间是否出现边缘的元数据。边缘检测器窗口包括在多个位中的一个或多个位中的每个位中从第一时间延伸到第二时间且包括采样时间的时间周期。下文将参考图5更详细地描述边缘检测器窗口。
另外,在一个或多个例子中,设备210被配置成基于一个或多个位中的每个位的相应值和元数据确定传输数据是否符合一个或多个规则。因此,由于元数据用作评估传输数据的一部分,因此在一个或多个例子中,可以改进设备210对传输数据是否符合的决定。如果设备210确定传输数据不符合,则即使在考虑元数据时,也可以采取控制动作。
在一个或多个例子中,设备205可被配置成阻止或允许在TXD 203上接收的传输数据由CAN收发器202的传输器模块205接收。在一个或多个例子中,所述设备可被配置成使用元数据确定是采取动作还是不采取控制动作来限制CAN控制器200对CAN总线105的访问。
设备对是否符合一个或多个规则的确定可包括确定是否已正确生成存在于传输数据中且表示CAN控制器对总线状态的反应的一个或多个CAN帧。
因此,设备210可以是CAN协议感知的(例如,在必要的程度上),这意味着设备210可以识别CAN帧的一个或多个部分,并且响应于CAN帧的一个或多个部分正在传输和/或存在于总线105上的信令中而提供其控制。设备210可包括符合CAN ISO11898的接收器,所述接收器能够例如在来自接收器模块206的接收数据中对来自总线105的帧进行解码。然而,应了解,设备210可能不需要ISO11898中提供的所有功能,而是可被配置成根据一个或多个预定解码规则来对CAN帧进行解码,所述一个或多个预定解码规则可以从ISO11898针对CAN接收器定义的规则中导出或包括所述规则的子集。
在一个或多个例子中,设备210可被配置成检测接收数据中的错误。因此,设备210将了解CAN控制器生成且存在于传输数据中的错误帧是否在适当时间生成。因此,设备210用于确定符合性的一个或多个规则可包括仅在设备210检测到接收数据中存在错误时检测传输数据中的错误帧。
应了解,设备210可被配置成根据CAN协议确定潜在错误中的一个或多个。例如,所述设备可被配置成在违反一个或多个以下接收数据规则的情况下确定接收数据中存在错误:
填充错误规则,所述填充错误规则定义对所述CAN协议的填充规则的遵从性;
CRC错误规则,所述CRC错误规则定义CRC字段指示数据字段中的数据是正确的;
格式错误规则,所述格式错误规则根据所述CAN协议定义CAN帧中的预定位的一个或多个预期值;以及
位错误规则,所述位错误规则定义应在所述接收数据中看到所述传输数据中的位。
图3中提供设备210的更详细视图。图3示出设备210可能需要的功能部件的例子。图2中使用的相同附图标记也用于图3中的类似部件。
综上所述,设备210用于CAN收发器。在图3中,设备210示为CAN收发器202的一部分,并且是接收器模块206和传输器模块205与接收输出端301和传输输入端302的组合之间的接口。在其它例子中,设备210可位于CAN收发器202的外部,并且耦合到接收输出端301和传输输入端302。在此类配置中,来自CAN控制器200的传输数据可以通过设备210传递到传输输入端302,并且从接收输出端301接收到的接收数据可以通过设备210传递到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的当前状态来确定对一个或多个预定规则的违反。
通常,且在一个或多个例子中,设备210包括一个或多个时钟恢复模块,用于确定接收数据和/或传输数据中的位定时,并且被配置成遵循CAN协议并确定观察到的位定时是否符合一个或多个位定时规则(所述一个或多个位定时规则可以是或基于CAN协议的位定时规则)。因此,设备可能够检测从CAN总线105接收到的CAN帧中是否存在错误,且因此确定CAN控制器200的反应是否合适。
协议和采样块303可被配置成接收一个或多个参考信号以提供这些功能。因此,位定时设置块312被配置成存储CAN网络的位定时设置,如本领域的技术人员所熟悉的。时钟313提供时钟信号。
违反检测器和TXD选通块308,或更一般地设备210,可被配置成执行一个或多个控制动作。
在一个或多个例子中,第一控制动作可能是隔离或阻止传输数据到达接收器模块205或总线105。在这个例子中,违反检测器和TXD选通块308,或更一般地设备,可被配置成通过在第一输出322处提供的一个或多个信号来操纵提供给传输器模块205的传输数据。来自第一输出322的信号可以控制开关310。开关310可以中断传输输入端302与传输模块205之间的连接。在其它例子中,信号322可被配置成插入或更改传输数据中的位。因此,如果设备确定传输数据不符合,则设备210可以通过以下一个或多个步骤防止所述CAN收发器传输表示所述传输数据的所述信令:修改传输数据;阻止CAN收发器的传输器模块接收传输数据,所述传输器模块被配置成将传输数据转换成差分电压电平,以供在CAN总线上传输;以及阻止CAN收发器的传输器模块的输出,所述传输器模块被配置成将传输数据转换成差分电压电平,并将所述差分电压电平输出到所述CAN总线。
在一个或多个例子中,第二控制动作可以是提供总线上显性位的传输以使帧无效。在这个例子中以及在一个或多个其它例子中,违反检测器和TXD选通块308,或更一般地设备,可被配置成通过从第二输出311向传输模块205提供适当信号来发送错误帧。如果设备被配置成独立于CAN控制器检测接收数据中的错误,则可使用此控制动作。
在一个或多个例子中,第三控制动作可以是修改传递给CAN控制器200的接收数据。在这个例子中,违反检测器和TXD选通块308,或更一般地设备,可被配置成通过在第三输出323处提供的一个或多个信号来操纵提供给CAN控制器200的接收数据。来自第三输出323的信号可以控制开关309。开关309可以中断接收模块206与接收输出端301之间的连接。在其它例子中,第三输出323处的信号可被配置成插入或更改接收数据中的位。
在一个或多个例子中,第四控制动作可能不进行任何动作,因为元数据指示已检测到边缘。这可能意味着CAN控制器的任何可疑行为都有可能被解释为其在接收数据中采样的值与由设备210采样的值不同。
应了解,图3提供设备210的实施方案的一个例子。在其它实施方案中,本文描述的设备210的功能可由具有适当配置的软件的通用处理器或FPGA或PLC或专用管芯提供。因此,在以下描述中,将描述通常由设备210而不是由一个或多个块(例如,块308)提供的功能。
为了提供更多的上下文并且参考图4,可以考虑CAN控制器200中CAN协议控制器201的协议引擎的可能架构。协议引擎通常包括传输部件401和接收部件402以及公共位流处理器(BSP)403和帧缓冲器。因此,在TXD 203上发送之前,所生成的用于传输的数据从传输缓冲器404传递到BSP 403并进入传输部件401。另外,来自RXD 204的接收数据被接收到接收部件402、被传递到BSP 403,然后再被传递到接收缓冲器405。传输部件401和接收部件402可以具有不同的时间概念。如果协议引擎没有要传输的内容而只是在总线上侦听,则接收部件与经由CAN收发器202接收到的总线105上的信令定时同步。接收数据的采样将使用恢复的定时完成,并且将定义采样时间。如果协议引擎也在传输或参与仲裁,则协议引擎可被配置成基于与用于生成传输数据的定时同步的时间,使用采样脉冲对来自CAN收发器202的接收数据进行采样。由于可能不考虑CAN收发器202引入的延迟,因此这一采样时间可能会早于接收路径中的采样时间。
因此,如果考虑CAN协议控制器201的协议引擎所使用的定时与协议感知CAN收发器所使用的定时之间的可能差异,则CAN收发器将在从总线接收到的数据上同步,但可能略早于CAN协议控制器201中的接收部件,因为它不包括CAN收发器202与CAN控制器200之间的输入-输出延迟。另外,CAN协议控制器201和协议感知CAN收发器可以使用具有自身精度公差的独立时钟源,这也可能导致协议感知收发器与CAN控制器200之间的定时差异。
在一个或多个例子中,设备210可被配置成减少对接收数据中不同值的采样。在一个或多个例子中,设备210可能够可靠地确定CAN控制器200的可疑或错误行为,而不是得出由所描述的定时差异引起的错误肯定结论。
示例图5示出包括多个位的接收数据501的表示。图5中示出第一位502,随后是第二位503。每个位都是在由协议定义的标称位时间504上提供的。然而,由于例如由仲裁延迟引起的总线上的延迟,第一位502可能被延长超过更长的位时间505,也可能不被延长。
第一时序图510示出设备210对接收数据501的位进行采样。
第二时序图520示出在使用被配置成与接收数据同步的时钟基准时,CAN控制器200对接收数据501的位进行采样。
第三时序图530示出在使用被配置成与由CAN控制器200生成的传输数据同步的时钟基准时,CAN控制器200对接收数据501的位进行采样。
参考第二时序图520,示出CAN控制器200在采样时间521对接收数据进行采样。然而,由于时钟漂移,采样时间521可能在采样窗口522内的任何时间发生。
参考第三时序图530,示出CAN控制器200在早于采样时间521的采样时间531对接收数据进行采样。然而,由于时钟漂移,采样时间531可能在采样窗口532内的任何时间发生。
参考第一时序图510,设备210被配置成接收接收数据的多个位中的一个或多个位502、503中的每个位,并且在相应采样时间511(和随后的采样时间513)对接收数据501进行采样。然而,由于设备210的时钟的时钟漂移,采样时间511可能在采样窗口512内的任何时间发生。在采样点511处采样将确定显性位或逻辑0的第一位502的相应值。
然而,位502、503的值可能在时间点506处在标称位时间504结束时或在考虑可能的仲裁延迟后的某个点发生变化。因此,当采样窗口522非常接近时间点506时,CAN控制器可对位504的不同值进行采样,因为接收数据可在506与周期505结束之间的任何时间从第一位502过渡到第二位503。类似地,当对下一位503进行采样时,第一位502可已被仲裁延迟延长超过时间505,因此采样时间513、523、533可在时间508处接近位值变化时发生。
图5示出边缘检测器窗口514,其中边缘检测器(例如体现为边缘定时检查块306)被配置成确定在接收数据501中是否出现边缘507。边缘检测器窗口514包括每个采样时间511的从所述采样时间之前的第一时间515延伸到所述采样时间之后的第二时间516的时间周期,且因此窗口包括采样时间511。
边缘检测器窗口514的时间周期的大小可被配置成涵盖CAN控制器200用于确定采样时间521和/或采样时间531的一个或多个时钟中可能发生的最大时钟漂移。因此,在这个例子中,边缘检测器窗口514被配置成从采样窗口532的下限时间延伸到采样窗口522的上限时间。
在一个或多个例子中,边缘检测器窗口514被配置成在后续位的最早可能边缘之前结束,即在这个例子中在时间506之前结束。
如上文所提及,边缘检测器被配置成生成指示在相应边缘检测器窗口514期间是否出现边缘的元数据。因此,元数据,且具体地当指示接近相应采样时间511出现边缘(由窗口514定义)时的元数据,可指示CAN控制器200已对接收数据进行采样并确定与设备210的位值不同的位值的风险。
在一个或多个例子中,设备210可被配置成执行控制动作,以确保CAN控制器200对位的采样符合设备对位的采样。因此,在一个或多个例子中,设备210可被配置成修改要发送到CAN控制器的接收数据,其中所述设备被配置成在相应边缘检测器窗口期间锁定相应位的值,使得在相应边缘检测器窗口期间保持位的值恒定。这确保CAN控制器200对与设备210所采样的位值相同的位值进行采样。边缘检测器窗口时间期间的锁定可以仅在CAN帧的某些预定位字段中执行。例如,对于仲裁字段之外的一个或多个所选位。一个或多个所选位可排除填充位。
根据协议且在纯净环境中(例如,没有延迟或定时错误),在此边缘检测器窗口514中不应出现边缘。然而,由于干扰和噪声,可能发生总线上有边缘的情况。因此,来自边缘检测器的元数据通知设备210CAN控制器生成错误帧的可能性,所述错误帧从具有接收数据的CAN控制器200的角度来看是有效生成的,但从设备210的角度来看不是有效生成的。
在这个例子中,定义边缘检测器窗口的时间周期可以是预定的。在一些例子中,可以在校准阶段对CAN控制器的时钟漂移(即,定义时钟精度或对漂移的敏感性的所谓时钟漂移参数)进行测量,并用于确定边缘检测器窗口的持续时间。在其它例子中,定义边缘检测器窗口的时间周期可以是固定的,例如,为接收数据中的位的持续时间的至多50%、40%、30%、20%或10%。边缘检测器窗口可以基本上关于采样时间511对称。边缘检测器窗口的大小可以根据具体应用而定并且在配置阶段设置。例如,边缘检测器窗口的大小可以设置为位时间的至多30%(或其它限制)以内的任何值。边缘检测器窗口的时间周期可能在CAN帧中有所变化。例如,边缘检测器窗口的时间周期可包括仲裁期间的第一较长的长度和其它时间的较短的长度。在其它例子中,当使用CAN FD和CAN XL时,边缘检测器窗口较短,以对应于较短的位时间。通常,边缘检测器窗口可能小于接收数据中当前存在位的最短位时间。
因此,设备210可被配置成基于:
i)检测到由CAN控制器发送的传输数据中的错误帧;
ii)基于接收数据中的一个或多个位中的每个位的采样后的相应值和预定协议规则,确定接收数据中发生了错误;和
iii)元数据不指示与所述一个或多个位相关联的边缘的出现;
确定错误帧是有效生成的。
另外,设备210可被配置成基于:
i)检测到由CAN控制器发送的传输数据中的错误帧;
ii)基于接收数据中的一个或多个位中的每个位的采样后的相应值和预定协议规则,确定接收数据中未发生错误;和
iii)元数据确实指示与一个或多个位相关联的一个或多个边缘的出现;
确定错误帧是有效生成的和/或存在错误帧有效生成的可能性。应了解,可以确定从CAN控制器的角度来看错误帧是有效生成的。
因此,在没有元数据的情况下,设备210可能已确定在此第二种情况下错误帧是无效生成的,并且可能已对CAN控制器200采取控制动作以限制其传输或使其处于静默状态。然而,通过使用元数据,可不采取此类动作,或者可采取不同的动作。
综上所述,设备210可使用任何所要算法基于一个或多个位中的每个位的相应值和元数据确定传输数据是否符合一个或多个规则。然而,元数据提供额外信息以避免对传输数据进行错误分类。因此,与当元数据指示一个或多个位中的一个或多个最近位在边缘检测器窗口中不出现边缘时相比,当元数据指示一个或多个位中的一个或多个最近位在边缘检测器窗口中出现边缘时,确定传输数据不符合一个或多个规则的可能性更小。应了解,在确定不符合性的决定之前,可能需要若干最近位的元数据。
边缘检测也可用于检测总线上的篡改或其它诊断功能。在一个或多个例子中,设备可被配置成使用元数据和一个或多个预定规则来识别耦合到CAN总线的一个或多个节点,这些节点是在不期望的时间生成的边缘。然后,设备可能够发送一个或多个信号以对那些一个或多个节点采取动作。
图6示出用于CAN收发器的示例方法,所述CAN收发器被配置成耦合到CAN总线并基于从所述CAN总线接收到的一个或多个信号生成接收数据,并且响应于从CAN控制器接收到的传输数据在所述CAN总线上生成一个或多个信号,其中所述方法包括:
接收601接收数据,所述接收数据包括多个位;以及
对于接收数据的多个位中的一个或多个位中的每个位,在相应采样时间对接收数据进行采样602,以确定接收数据中的一个或多个位中的每个位的相应值;并且
由边缘检测器确定603在相应边缘检测器窗口期间接收数据中是否出现边缘,并且生成指示在相应边缘检测器窗口期间是否出现边缘的元数据,并且其中边缘检测器窗口包括在多个位中的一个或多个位中的每个位中从第一时间延伸到第二时间且包括采样时间的时间周期;
接收604传输数据;以及
基于一个或多个位中的每个位的相应值和元数据,确定605传输数据是否符合一个或多个规则。
图7示出一种非暂时性计算机可读介质,所述非暂时性计算机可读介质包括计算机程序代码,所述计算机程序代码被配置成使处理器和存储器执行图6的方法。
除非明确陈述特定顺序,否则可以任何顺序执行以上图式中的指令和/或流程图步骤。而且,本领域的技术人员将认识到,虽然已论述了一个示例指令集/方法,但是在本说明书中的材料可以多种方式组合从而还产生其它例子,并且应在此详细描述提供的上下文内来进行理解。
在一些示例实施例中,上文描述的指令集/方法步骤实施为体现为可执行指令集的功能和软件指令,所述可执行指令集在计算机或以所述可执行指令编程并控制的机器上实现。此类指令经过加载以在处理器(例如,一个或多个CPU)上执行。术语处理器包括微处理器、微控制器、处理器模块或子系统(包括一个或多个微处理器或微控制器),或其它控制或计算装置。处理器可指代单个组件或多个组件。
在其它例子中,本文中示出的指令集/方法以及与其相关联的数据和指令存储于相应存储装置中,所述存储装置被实施为一个或多个非暂时性机器或计算机可读或计算机可用存储介质。这类计算机可读或计算机可用存储介质被视为物品(或制品)的部分。物品或制品可以指任何所制造出的单个组件或多个组件。如本文所定义的非暂时性机器或计算机可用介质不包括信号,但此类介质可能够接收并处理来自信号和/或其它暂时性介质的信息。
本说明书中论述的材料的示例实施例可整体或部分地经由网络、计算机或基于数据的装置和/或服务加以实施。这些可包括云、因特网、内联网、移动装置、台式电脑、处理器、查找表、微控制器、消费者设备、基础架构,或其它致能装置和服务。如本文和权利要求书中可使用,提供以下非排他性定义。
在一个例子中,本文论述的一个或多个指令或步骤是自动化的。术语自动化或自动地(和其类似变型)意指使用计算机和/或机械/电气装置而不需要人类干预、观测、努力和/或决策来控制设备、系统和/或过程的操作。
应了解,据称将耦合的任何组件可直接地或间接地耦合或连接。在间接耦合的状况下,可在称为耦合的两个组件之间安置另外的组件。
在本说明书中,已经按选定的细节集合来呈现示例实施例。然而,本领域的普通技术人员将理解,可以实践包括这些细节的不同选定集合的许多其它示例实施例。希望所附权利要求书涵盖所有可能的示例实施例。

Claims (10)

1.一种用于CAN收发器的设备,其特征在于,所述CAN收发器被配置成耦合到CAN总线并基于从所述CAN总线接收到的一个或多个信号生成接收数据,并且被配置成响应于从CAN控制器接收到的传输数据在所述CAN总线上生成一个或多个信号,其中所述设备被配置成:
接收所述接收数据,所述接收数据包括多个位;以及
对于所述接收数据的所述多个位中的一个或多个位中的每个位,在相应采样时间对所述接收数据进行采样,以确定所述接收数据中的所述一个或多个位中的每个位的相应值;并且
其中所述设备包括边缘检测器,所述边缘检测器被配置成确定在相应边缘检测器窗口期间所述接收数据中是否出现边缘,并且生成指示在所述相应边缘检测器窗口期间是否出现边缘的元数据,并且其中所述边缘检测器窗口包括在所述多个位中的一个或多个位中的每个位中从第一时间延伸到第二时间且包括所述采样时间的时间周期;并且其中所述设备被配置成:
接收所述传输数据;
基于所述一个或多个位中的每个位的所述相应值和所述元数据,确定所述传输数据是否符合一个或多个规则。
2.根据权利要求1所述的设备,其特征在于,定义所述边缘检测器窗口的所述时间周期是预定的。
3.根据权利要求1所述的设备,其特征在于,定义所述边缘检测器窗口的所述时间周期被配置成在所述一个或多个位中的相应位结束之前结束。
4.根据在前的任一项权利要求所述的设备,其特征在于,所述设备作为所述CAN收发器的一部分提供,用于与所述CAN控制器耦合。
5.根据权利要求4所述的设备,其特征在于,定义所述边缘检测器窗口的所述时间周期的所述第一时间和所述第二时间是基于时钟漂移参数,所述时钟漂移参数定义所述CAN控制器和所述设备中的一个或多个的时钟的精度。
6.根据在前的任一项权利要求所述的设备,其特征在于,定义所述边缘检测器窗口的所述时间周期是可变的并且取决于所述接收数据中的CAN帧中的位置。
7.根据在前的任一项权利要求所述的设备,其特征在于,所述第一时间是在所述采样时间之前并且所述第二时间是在所述采样时间之后。
8.根据在前的任一项权利要求所述的设备,其特征在于,基于所述传输数据不符合的确定,所述设备被配置成通过以下一个或多个步骤防止所述CAN收发器传输表示所述传输数据的所述信令:
修改所述传输数据;
阻止所述CAN收发器的传输器模块接收所述传输数据,所述传输器模块被配置成将所述传输数据转换成差分电压电平,以供在所述CAN总线上传输;以及
阻止所述CAN收发器的所述传输器模块的输出,所述传输器模块被配置成将所述传输数据转换成差分电压电平,并将所述差分电压电平输出到所述CAN总线。
9.根据在前的任一项权利要求所述的设备,其特征在于,所述设备被配置成检测所述接收数据中的错误,并且其中所述一个或多个规则包括仅在与所述设备检测到所述接收数据中存在错误时对应的时间检测所述传输数据中的错误帧。
10.一种用于CAN收发器的方法,其特征在于,所述CAN收发器被配置成耦合到CAN总线并基于从所述CAN总线接收到的一个或多个信号生成接收数据,并且被配置成响应于从CAN控制器接收到的传输数据在所述CAN总线上生成一个或多个信号,其中所述方法包括:
接收所述接收数据,所述接收数据包括多个位;以及
对于所述接收数据的所述多个位中的一个或多个位中的每个位,在相应采样时间对所述接收数据进行采样,以确定所述接收数据中的所述一个或多个位中的每个位的相应值;并且
由边缘检测器确定在相应边缘检测器窗口期间所述接收数据中是否出现边缘,并且生成指示在所述相应边缘检测器窗口期间是否出现边缘的元数据,并且其中所述边缘检测器窗口包括在所述多个位中的一个或多个位中的每个位中从第一时间延伸到第二时间且包括所述采样时间的时间周期;
接收所述传输数据;以及
基于所述一个或多个位中的每个位的所述相应值和所述元数据,确定所述传输数据是否符合一个或多个规则。
CN202211514597.2A 2021-12-17 2022-11-28 用于控制器局域网的设备 Pending CN116266804A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP21215659.0A EP4199434A1 (en) 2021-12-17 2021-12-17 Apparatus for a controller area network
EP21215659.0 2021-12-17

Publications (1)

Publication Number Publication Date
CN116266804A true CN116266804A (zh) 2023-06-20

Family

ID=78957349

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211514597.2A Pending CN116266804A (zh) 2021-12-17 2022-11-28 用于控制器局域网的设备

Country Status (3)

Country Link
US (1) US20230198799A1 (zh)
EP (1) EP4199434A1 (zh)
CN (1) CN116266804A (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2908473B1 (de) * 2013-07-04 2016-12-07 Elmos Semiconductor Aktiengesellschaft Kommunikationsnetzwerk zur übertragung von nachrichten
EP2985955B1 (en) * 2014-08-15 2019-06-12 Nxp B.V. Controller area network (can) device and method for emulating classic can error management
EP3691198B1 (en) * 2019-02-04 2021-09-29 Nxp B.V. Controller area network (can), can device and method therefor

Also Published As

Publication number Publication date
EP4199434A1 (en) 2023-06-21
US20230198799A1 (en) 2023-06-22

Similar Documents

Publication Publication Date Title
US10693905B2 (en) Invalidity detection electronic control unit, in-vehicle network system, and communication method
US10454957B2 (en) Method for preventing electronic control unit from executing process based on malicious frame transmitted to bus
EP3206361B1 (en) Controller area network (can) message filtering
US10713106B2 (en) Communication device, communication method and non-transitory storage medium
EP3396900B1 (en) Fraudulent message detection
CN106598018B (zh) 控制器区域网络(can)装置以及用于操作can装置的方法
CN112347021B (zh) 用于串行通信装置的安全模块
US11677779B2 (en) Security module for a can node
EP3772840B1 (en) A security module for a can node
US11218501B2 (en) Detector, detection method, and detection program
CN112583786B (zh) 用于警报的方法、发送器设备和接收器设备
CN116266803A (zh) 用于控制器局域网的设备
CN116266804A (zh) 用于控制器局域网的设备
EP4199437A1 (en) Apparatus for a controller area network
EP4270882A1 (en) Detecting an error in a can system
CN116471139A (zh) 控制器局域网模块和用于所述模块的方法
CN115643038A (zh) 总线系统中经由接收线路的帧无效

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication