CN116471139A - 控制器局域网模块和用于所述模块的方法 - Google Patents
控制器局域网模块和用于所述模块的方法 Download PDFInfo
- Publication number
- CN116471139A CN116471139A CN202211637372.6A CN202211637372A CN116471139A CN 116471139 A CN116471139 A CN 116471139A CN 202211637372 A CN202211637372 A CN 202211637372A CN 116471139 A CN116471139 A CN 116471139A
- Authority
- CN
- China
- Prior art keywords
- bit
- bit sequence
- module
- sequence
- padding
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000012545 processing Methods 0.000 claims abstract description 98
- 230000000295 complement effect Effects 0.000 claims abstract description 13
- 230000001419 dependent effect Effects 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 description 10
- 230000036961 partial effect Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/407—Bus networks with decentralised control
- H04L12/417—Bus networks with decentralised control with deterministic access, e.g. token passing
-
- 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
- H04L12/40006—Architecture of a communication node
- H04L12/40026—Details regarding a bus guardian
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
本公开涉及可以集成在控制器局域网(CAN)控制器与CAN收发器之间的CAN模块。所述CAN模块包括用于通过RXD流接收第一位序列的接收数据(RXD)输入接口,以及用于发送包括第二位序列的经操控接收数据(MRXD)流的RXD输出接口。所述CAN模块的处理逻辑被配置成操控所述第一位序列以生成第二位序列,所述第二位序列包括在所述第二位序列中对应于所述第一位序列中的第一填充位的第一位置的第二位置处的第二填充位,从而使所述第二填充位与所述第二位序列中的所述第二填充位的前一位互补。本公开还涉及用于所述CAN模块的方法。
Description
技术领域
本公开涉及一种控制器局域网(CAN)模块和一种用于所述CAN模块的方法。
背景技术
CAN总线是通常在汽车内使用的基于消息的通信总线协议。CAN总线协议用于实现各种电子控制单元(ECU)之间的通信,所述ECU例如发动机控制模块(ECM)、传动系控制模块(PCM)、安全气囊、防抱死刹车、定速巡航、电动助力转向、音频系统、窗户、门、后视镜调整、用于混合/电动汽车的电池和再充电系统等等。
CAN协议的数据链路层被标准化为国际标准组织(ISO)11898-1。标准化CAN数据链路层协议处于进行延伸以提供更高数据速率的过程中。延伸协议(称为CAN灵活数据速率或“CAN FD”)已变成现有ISO11898-1标准的一部分。在CiA610(自动化中的CAN)下讨论的定义阶段中,称为CAN XL的另一延伸具有允许更高数据速率的新级别方案,在规范草案CiA610-1中进行了讨论,并且正在以现有ISO11898标准的另外更新或新标准的形式朝着标准化方向发展。
发明内容
在所附权利要求书中限定本公开的各方面。
根据本公开的第二方面,提供一种控制器局域网(CAN)模块,所述CAN模块包括被配置成接收来自CAN收发器的RXD流的接收数据(RXD)输入接口;被配置成将经操控接收数据(MRXD)流发送到CAN控制器的RXD输出接口;以及被配置成识别所述RXD流中的第一位序列的处理逻辑,其中所述处理逻辑被配置成识别所述第一位序列中的第一填充位的第一位置,所述处理逻辑被配置成操控所述第一位序列以生成第二位序列,所述第二位序列包括在所述第二位序列中对应于所述第一位序列中的所述第一填充位的所述第一位置的第二位置处的第二填充位,从而使所述第二填充位与所述第二位序列中的所述第二填充位的前一位互补,并且其中所述CAN模块被配置成经由所述RXD输出接口将所述第二位序列发送到所述CAN控制器。
在一个或多个实施例中,所述第一位序列表示第一CAN帧的第一识别符。
在一个或多个实施例中,所述处理逻辑被配置成识别所述第一位序列中的预定义数目个相同连续位,并且基于此识别,在经由所述RXD输入接口接收所述第一填充位之前和/或同时,预测所述第一位序列中的所述第一填充位的所述第一位置。
在一个或多个实施例中,所述处理逻辑被配置成基于所述第一位序列,在经由所述RXD输入接口接收所述第一填充位之后,识别所述第一位序列中的所述第一填充位的所述第一位置。
在一个或多个实施例中,所述CAN模块包括被配置成接收来自所述CAN控制器的TXD流的传输数据(TXD)输入接口,其中所述处理逻辑被配置成识别所述TXD流中的表示第三CAN帧的位的第三位序列,其中所述处理逻辑被配置成识别所述第三位序列中的第三填充位的第三位置,其中所述第一位序列是所述第三位序列的结果,并且其中所述处理逻辑被配置成基于所述第三位序列中的所述第三填充位的所述第三位置来识别所述第一位序列中的所述第一填充位的所述第一位置。
在一个或多个实施例中,所述处理逻辑被配置成确定所述第三填充位是显性第三填充位还是隐性第三填充位。
在一个或多个实施例中,所述处理逻辑被配置成仅当确定所述第三填充位为隐性第三填充位时,才操控所述第一填充位以用于生成所述第二填充位来与其前一位互补。
在一个或多个实施例中,所述处理逻辑被配置成识别所述第一位序列中的多个第一填充位,其中所述处理逻辑被配置成操控所述第一位序列以生成所述第二位序列,对于每个第一填充位,所述第二位序列包括在对应于所述第一位序列中的相应相关联第一填充位的所述位置的位置处的相关联第二填充位。
在一个或多个实施例中,所述处理逻辑被配置成识别所述第三位序列中的第四显性非填充位,其中所述处理逻辑被配置成操控所述第一位序列以生成所述第二位序列,所述第二位序列还包括在所述第二序列中对应于所述第三位序列中的所述第四非填充位的所述位置的位置处的第五非填充位,从而使所述第五非填充位与所述第四非填充位匹配。
在一个或多个实施例中,所述CAN模块包括被配置成接收来自所述CAN控制器的TXD流的传输数据(TXD)输入接口,其中所述CAN模块包括被配置成对正经由TXD流接收的CAN帧的识别符进行解码的解码器,其中所述CAN模块包括被配置成存储至少一个有效识别符的存储器,并且其中所述CAN模块包括比较逻辑,所述比较逻辑被配置成将正由所述解码器解码的所述识别符与所述至少一个有效识别符进行比较,并且如果所述比较指示所述经解码识别符与所述至少一个有效识别符中的任一个不匹配,那么输出失配信号。
在一个或多个实施例中,所述CAN模块包括被配置成将所述TXD流转送到所述CAN收发器的TXD输出接口,其中所述CAN模块被配置成响应于所述失配信号而中断所述TXD流的所述转送。
在一个或多个实施例中,所述CAN模块包括被配置成响应于所述失配信号而生成失效信号的信号生成器,其中所述CAN模块包括被配置成将所述失效信号发送到所述CAN收发器以使所述TXD流的所述CAN帧失效的信号输出接口。
根据本公开的第二方面,提供一种用于控制器局域网(CAN)模块的方法。所述方法包括步骤a)到e):
a)在所述CAN模块的RXD输入接口处接收来自CAN收发器的接收数据(RXD)流,
b)在所述CAN模块的处理逻辑处识别所述RXD流中的第一位序列,
c)在所述处理逻辑处识别所述第一位序列中的第一填充位的第一位置,
d)在所述处理逻辑处操控所述第一位序列以生成第二位序列,所述第二位序列包括在所述第二位序列中对应于所述第一位序列中的所述第一填充位的所述第一位置的第二位置处的第二填充位,从而使所述第二填充位与所述第二位序列中的所述第二位填充位的前一位互补,以及
e)经由所述CAN模块的RXD输出接口将所述第二位序列发送到CAN控制器。
在一个或多个实施例中,所述方法另外包括步骤f)到i):
f)在所述CAN模块的传输数据(TXD)输入接口处接收来自所述CAN控制器的TXD流,
g)在所述处理逻辑处识别所述TXD流中的表示第三CAN帧的位的第三位序列,
h)在处理逻辑处识别所述第三位序列中的第三填充位的第三位置,其中所述第一位序列是所述第三位序列的结果,以及
i)在所述处理逻辑处基于所述第三位序列中的所述第三填充位的所述第三位置来识别所述第一位序列中的所述第一填充位的所述第一位置。
在一个或多个实施例中,所述方法另外包括步骤j)到M):
j)经由所述CAN模块的TXD输出接口将所述TXD流转送到所述CAN收发器,
k)在所述CAN模块的解码器处,对正经由所述TXD输入接口接收的CAN帧的识别符进行解码,其中所述CAN模块包括被配置成存储至少一个有效识别符的存储器,
l)在所述CAN模块的比较模块处,将所述经解码识别符与所述至少一个有效识别符进行比较,并且如果所述比较指示所述经解码识别符与所述至少一个有效识别符中的任一个不匹配,那么输出失配信号,以及
m)响应于所述失配信号而中断所述TXD流的所述转送。
附图说明
将参考附图更详细地描述本公开的实施例,在附图中:
图1描绘包括连接到CAN总线的多个CAN节点的CAN网络。
图2描绘来自图1的一个CAN节点的展开图。
图3A描绘以传统CAN模式使用的ISO 11898-1标准帧的格式。
图3B描绘以CAN FD模式使用的ISO 11898-1标准帧的格式。
图4A描绘标准CAN帧的“识别符”字段。
图4B描绘延伸CAN帧的“识别符”字段。
图5示出另一CAN节点的简化框图;
图6示出CAN模块的例子的简化框图。
图7示意性地示出不同位流的例子。
图8示意性地示出不同位流的另一例子。
图9示出CAN模块的另一例子的简化框图。
图10至12示出用于CAN模块的方法的不同例子的简化流程图。
具体实施方式
图1描绘包括多个CAN节点102的CAN网络100,所述CAN节点102也称为“ECU”,每个ECU连接到CAN总线104。在图1的实施例中,每个CAN节点包括具有嵌入式CAN协议控制器114的微控制器110和CAN收发器120。CAN协议控制器114可以称为控制器或CAN控制器。CAN收发器120可以称为收发器。
微控制器110通常连接到至少一个装置(未示出),例如,传感器、致动器或某一其它控制装置,并且被编程为确定所接收的消息的含义并且生成恰当的传出消息。本领域中已知还可以称为主机处理器、主机或数字信号处理器(DSP)的微控制器110。在一个实施例中,主机支持与CAN协议控制器相互作用的应用程序软件。
CAN总线104携载模拟差分信号,并且包括CAN高(CANH)总线线路124和CAN低(CANL)总线线路126。本领域中已知所述CAN总线。
图2描绘来自图1的一个CAN节点102的展开图。在图2的展开图中,微控制器110包括主机116,所述主机116可以是例如存储在微控制器的存储器中并且通过微控制器110的处理电路执行的软件应用程序。微控制器110和CAN节点102的CAN收发器120连接在供电电压VCC与接地(GND)之间。如图2中所示出,将从由微控制器110实施的CAN协议控制器114传达到CAN收发器120的数据识别为传输数据(TXD),并且将从CAN收发器120传达到由微控制器110实施的CAN协议控制器114的数据称为接收数据(RXD)。在整个描述中,TXD携载于TXD路径上,并且RXD携载于RXD路径上。数据分别经由CANH总线线路124和CANL总线线路126传达到CAN总线104以及从CAN总线104传达。
CAN协议控制器114优选地嵌入在微控制器110内,但还可以在微控制器110(例如,单独IC装置)的外部实施。本领域中已知CAN协议控制器114与CAN收发器120之间的数据链路层操作。
举例来说,在接收操作中,CAN协议控制器114经由RXD路径接收来自收发器120的位流(称为RXD流)中的串行位。CAN协议控制器114存储所接收的位,直到整个消息可供微控制器110提取为止。CAN协议控制器114还可以根据CAN协议的标准化帧格式对CAN消息进行解码。
在传输操作中,CAN协议控制器114接收来自微控制器110的消息,并且经由TXD路径将CAN帧格式的消息作为位流(称为TXD流)中的串行位传输到CAN收发器120。
CAN收发器120位于由微控制器110实施的CAN控制器114与CAN总线104之间。CAN收发器120被配置成实施本领域中已知的物理层操作。
举例来说,在接收操作中,CAN收发器120将来自CAN总线104的模拟差分信号转换成CAN协议控制器114可以解释的串行位的RXD流。CAN收发器120还可以保护CAN协议控制器114免受来自CAN总线104上的例如电浪涌的极端电气条件影响。
在传输操作中,CAN收发器120将经由TXD路径接收到的来自CAN协议控制器114的TXD流的串行位转换成在CAN总线104上发送的模拟差分信号。
如上所述,CAN协议控制器114可以被配置成支持正常模式或灵活数据速率模式。如本文所使用,“CAN正常模式”(也称为“经典CAN模式”)以及“CAN FD模式”涉及根据ISO11898-1标准而格式化的帧。
图3A描绘以CAN正常模式使用的ISO 11898-1帧130的格式(呈经典基础帧格式(CBFF)或标准格式),并且图3B描绘以CAN FD模式使用的ISO 11898-1帧132的格式(呈FD基础帧格式或FBFF)。CAN正常模式和CAN FD模式帧的字段可以如下限定:
SOF帧开始(总是显性的)
识别符限定消息内容的识别符位
RTR远程传输请求
IDE ID延伸
r0 预留位0(由CAN FD格式的FDF代替)
FDF FD格式(这是区别帧格式的位)
BRS 波特率开关
ESI 错误状态指示符
DLC 数据长度代码
数据数据字节
CRC循环冗余检查
CRC Del CRC分隔符(总是隐性的)
ACK确认
ACK Del确认分隔符
EOF帧结束
还存在称为“经典延伸帧格式(CEFF)”的经典帧格式的另一版本,其中FDF位在旧r1位置中,而FDF位在CBFF中的r0位置中。还存在“FD延伸帧格式(FEFF)”,其中“延伸”涉及29位识别符。值得注意的是,CAN协议使用CAN帧内的预留位(r0或r1)(通常称为FDF位)以将帧识别为CAN FD模式帧。特定来说,FDF位为指示帧是CAN正常模式帧(ISO 11898-1)还是CAN FD模式帧(ISO 11898-1)的1位字段。当FDF位为显性(例如,低或“0”)时,帧为CAN正常模式帧,并且当FDF位为隐性(例如,高或“1”)时,帧为CAN FD模式帧。在CAN正常模式帧中,预留位(r0、r1)总是显性地驱动到总线线路。
CAN消息为广播消息,并且识别符通常对于同一CAN总线上的发送器CAN节点是唯一的。接收CAN节点102的CAN协议控制器114具有识别符筛选器,所述识别符筛选器被“调谐”到某些识别符以确保主机仅接收相关消息,并且不用为不相关的消息烦扰。标准CAN帧具有11位“识别符”字段以携载11位识别符,并且延伸CAN帧具有29位“识别符”字段以携载29位识别符。在图4A中描绘了标准CAN帧的“识别符”字段152,并且在图4B中描绘了延伸CAN帧的“识别符”字段。如图4B中所示出,29位“识别符”字段被划分成两个区段,即11位基础“识别符”字段154和18位延伸“识别符”字段156。
为了实现传输CAN节点102与另一接收CAN节点102之间的同步,将防止大量相同位的长单调序列。因此针对所谓的位填充对CAN协议控制器114进行配置。根据位填充,CAN协议控制器114在TXD流中的五个相同位之后插入额外的反向位。这意味着反向位与前五个相同位(中的一个或每个)反向。举例来说,如果将TXD流中的五个显性位以系列发送,那么CAN协议控制器114在TXD流中的第五显性位之后插入隐性位作为填充位。如果例如将TXD流中的五个隐性位以系列发送,情况同样如此,因为在这种情况下,CAN协议控制器114在TXD流中的第五隐性位之后插入显性位作为填充位。TXD流产生经由CAN总线104传输的CAN消息,并且通过用于特定接收器CAN节点102的识别符来寻址。此接收器CAN节点102的收发器120将把所接收的消息转换成呈RXD流形式的串行位。
接收器CAN节点102的CAN协议控制器114知晓RXD流中的位填充,并且从所接收的RXD流的串行位去除每个填充位。举例来说,CAN协议控制器114优选地被配置成识别RXD流中的五个相同位的位序列,并且另外被配置成去除五个相同位的所接收位序列之后的RXD流中的第六填充位。通过去除填充位,可以恢复表示待传输的消息的消息数据的实际位系列。因此,出于此目的配置接收器CAN节点102中的CAN协议控制器114。应注意,填充位还可以称为互补填充位。
TXD流中的填充位以及RXD流中的填充位不用于表示待从发送器CAN节点102传输到另一接收器CAN节点102的相关消息数据。尽管如此,接收器CAN节点102中的CAN协议控制器114可以被配置成评估RXD流中的所接收位,并且因此还评估RXD流中的填充位。如果RXD流中的填充位违反位填充的规则,那么可以基于所述违反通过接收器CAN节点102的CAN协议控制器114来检测填充错误。
仅在填充位的传输期间出现的CAN总线104上的干扰可能引起对位填充规则的违反。违反位填充规则引起先前所提到的填充错误的检测。然而,如果干扰仅在填充位的传输期间出现,那么实际上不存在相关消息数据的传输错误,而仅存在填充位的传输错误。填充位的传输错误可能不会不利地影响相关消息数据的传输。在此背景下,需要防止填充位传输错误。
本公开是基于以下发现:经由CAN总线104在接收器CAN节点102的CAN收发器处接收的错误填充位在将填充位转送到接收器CAN节点102的CAN协议控制器114之前仍可以在接收器CAN节点102内校正。相反,可以在CAN收发器102处接收到错误填充位之后校正所述错误填充位,从而使所校正填充位到达接收器CAN节点102的CAN协议控制器114。因此,防止了填充错误。应注意,所述发现以类似方式适用于CAN节点102的CAN收发器,所述CAN收发器充当经由CAN总线104的传输器节点。因此,即使以下解释可能作为例子涉及接收器CAN节点102的CAN收发器,但以下解释也类似地适用于传输器CAN节点102的CAN收发器。
基于上文所描述的基本概念,提出例如如在图5中所示出的可以集成到从CAN收发器120延伸到CAN协议控制器114的RXD路径中的CAN模块200。就此而言,CAN模块200可以与CAN收发器120分离,并且还可以与CAN协议控制器114分离。在此实施例中,RXD路径可以从CAN收发器120延伸到CAN模块200。提供从CAN模块200延伸到CAN协议控制器114的另一RXD路径来代替RXD路径。
代替CAN模块200的单独实施例,CAN模块200还可能至少部分地与CAN收发器120集成,至少部分地与CAN协议控制器114集成,或至少部分地与CAN收发器120和CAN协议控制器114两者集成。在以下论述中,为了简单起见,假设CAN模块200与CAN收发器120和CAN协议控制器114分离。然而,CAN模块200的以下解释以类似方式适用于以下布置:CAN模块200被配置成至少部分地与CAN收发器120集成,至少部分地与CAN协议控制器114集成,或至少部分地与CAN收发器120和CAN协议控制器114两者集成。
图5描绘被配置成实施CAN模块200的CAN节点102的实施例。CAN节点102包括如上文参考图1至4所描述的CAN模块200以及CAN收发器120、CAN协议控制器114和主机116。如图5中所示出,CAN模块200在RXD路径的信号方向上位于CAN协议控制器114之前,从而使在RXD路径上传达的消息能够在CAN模块200处操控,在基于RXD路径的消息的经操控消息之前,在RXD路径上传达以在CAN协议控制器114处接收。
图6中示意性地示出CAN模块200的实施例。CAN模块200可以由软件模块、硬件模块或其组合形成。此外,CAN模块可以由单独设备形成,或可以形成为CAN节点的一部分。CAN模块200包括被配置成接收来自CAN收发器120的RXD流230的RXD输入接口202,以及被配置成将经操控接收数据(MRXD)流240发送到CAN控制器114的RXD输出接口204。图7中示出RXD流230的例子的部分区段和MRXD流240的例子的部分区段。CAN模块200包括被配置成识别RXD流230中的第一位序列232的处理逻辑210,其中所述处理逻辑210被配置成识别第一位序列232中的第一填充位236的第一位置。所述处理逻辑210还被配置成操控所述第一位序列232以生成第二位序列242,所述第二位序列242包括在所述第二位序列242中对应于所述第一位序列232中的所述第一填充位236的所述第一位置的第二位置处的第二填充位246,从而使所述第二填充位246与所述第二位序列242中的所述第二填充位246的前一位互补。所述CAN模块200被配置成经由所述RXD输出接口204将所述第二位序列242发送到所述CAN控制器114。
参考前述实施例,应注意,RXD流230经由RXD路径从CAN收发器120发送到CAN模块200的RXD输入接口202。RXD流230包括一系列位,并且图7中示意性地示出RXD流230的此一系列位的部分区段。所示出的RXD流230的位包括作为一系列位的一部分的第一位序列232。因此,第一位序列232也包括一系列位。原则上,第一位序列232有可能形成例如CAN帧的识别符的部分区段,例如图4A的帧的识别符152。一般来说,位序列未必需要位序列中的位以相等持续时间分布。相反,位序列中的位可以在其持续时间上变化。
CAN模块200的处理逻辑210被配置成识别RXD流230中的第一位序列232。第一位序列232包括第一填充位236。第一填充位236在特定时间点可以是CAN模块200的RXD输入接口处接收的第一位序列232中的最后位。处理逻辑210可以通过例如第一填充位236和/或RXD流230中直接在其前面的五个相同位的序列234来识别RXD流230中的第一位序列232。在此描述中进一步解释识别的另一可能性。
在RXD流230中,依序将相关联的位从CAN收发器120传输到CAN模块200的RXD输入接口202。因为所述位在RXD路径上的此串行传输,CAN模块200的处理逻辑210有可能识别RXD流230中的第一填充位236的第一位置。术语“第一”用于区别的目的。第一位序列232为RXD流230的部分区段,并且由此处理逻辑210还被配置成识别第一位序列232中的第一填充位236的第一位置。优选地,第一位序列232中的第一填充位236的第一位置涉及RXD流230中的第一填充位236的相同第一位置。
应注意,图7另外示意性地示出示例TXD流220的一系列位的部分区段。TXD流220经由TXD路径从CAN协议控制器114发送到CAN收发器120。原则上,CAN模块200有可能集成在TXD路径中,使得CAN模块在TXD路径的信号方向上集成在CAN协议控制器114与CAN收发器120之间。然而,TXD路径还有可能分支,使得TXD流220从CAN协议控制器发送到CAN收发器120和CAN模块200两者。RXD流220包括一系列位,并且图7中示意性地示出RXD流220的此一系列位的部分区段。TXD流220的所示出的位包括一系列位的一部分的位序列222。此位序列222称为第三位序列222。因此,第三位序列222也包括一系列位。原则上,第三位序列222有可能形成例如CAN帧的识别符的部分区段,例如图4A的帧的识别符152。
在图7的例子中,TXD流220的第三位序列222包括五个连续相同位的系列224。根据位填充规则,通过CAN协议控制器114将填充位226(称为第三填充位226)插入到系列224之后的TXD流220中。CAN收发器120接收TXD流220,并且在CAN总线104上发送对应消息。同时,通过CAN收发器120在CAN总线104上接收此消息,从而使CAN收发器120基于所接收的消息在RXD路径上发送RXD流230。如果CAN总线104受到干扰,特别是如果表示第三填充位226的信号在CAN总线104上传输,那么RXD流230(实际上应与先前所解释的例子中的TXD流220相同)可能具有不对应于TXD流220的第三填充位226的第一填充位236。如可以在图7中的例子中看到,TXD流220的第三填充位226具有值“1”,而RXD流230的第一位填充位236具有值“0”。因此,第一填充位236处于错误中。错误可能已由CAN总线104上的干扰引起。
如果图7中所示出的具有相关联第一位序列232的RXD流230到达CAN协议控制器114,那么CAN协议控制器114将把第一位序列232解释为错误帧,因为第一位序列232具有含有值“0”的六个连续相同位。如果CAN协议控制器114检测到CAN协议控制器114自身似乎已传输错误帧达足够并且预定的次数,那么CAN协议控制器114初始地切换到无源模式,并且如果检测到另外次数个明显传输错误帧,那么切换到断开模式。
如果CAN协议控制器114对错误帧的检测是基于受CAN总线104上的干扰影响的位序列,那么错误帧的检测可能为误报检测。CAN模块200可以用于防止这种误报检测。
如先前所论述,CAN模块200包括RXD输入接口以接收RXD流230。CAN模块200的处理逻辑210被配置成识别第一位序列232和第一位序列232中的第一填充位236的第一位置。此外,处理逻辑210被配置成生成第二位序列242。第二位序列242是基于先前识别的第一位序列232。然而,在CAN总线104上出现干扰的情况下,第一位序列232可能包括错误的第一填充位236。为了防止错误的第一填充位236引起第二位序列242中的对应的错误填充位(称为第二填充位246),处理逻辑210被配置成通过操控第一位序列232来生成第二位序列242。对于第二位序列242,通过处理逻辑210操控第一位序列232从而使第二位序列242的第二填充位246与第二位序列242中的第二填充位246的前一位互补。第二填充位246与前一位互补的要求是足够的,因为此前一位是第二位序列242中的第二填充位246之前的(系列244的)五个相同位中的一个。
第二位序列242中的第二填充位246的第二位置对应于第一位序列232中的第一填充位236的第一位置。除了第二填充位246之外,第二位序列242可以对应于第一位序列232。由此,第二位序列242包括五个连续相同位的系列244,其中第二位序列242中的第二填充位246在所述系列244之后。CAN模块200被配置成使用RXD输出接口204将第二位序列242发送到CAN协议控制器114。因此,将第二位序列242发送到CAN协议控制器114来代替第一位序列232。鉴于此,CAN模块200可以在CAN收发器120与CAN协议控制器114之间集成到RXD路径中,从而将RXD流230从CAN收发器120发送到RXD输入接口202,并且将包括第二位序列242的MRXD流240从RXD输出接口204发送到CAN协议控制器114。
通过操控第一填充位236以生成(经校正)第二填充位246,CAN模块200可以防止CAN协议控制器114处的错误帧的误报检测。相反,(经校正)第二填充位246防止将由CAN总线104上的干扰引起的错误帧发送到CAN协议控制器114。由操控生成的第二填充位246不会促成实际消息数据的损坏,这是由于CAN协议控制器114中的填充位在基于CAN协议控制器114中接收的位流解释消息的之前被拉出或清除。
如之前所指示,术语“第一”、“第二”、“第三”等仅用于区分目的。因此,第二项可能不需要第一项或第三项。
应注意,第一填充位236、第二填充位246和第三填充位226通常不限于特定类型的填充位。通常,第一填充位236、第二填充位246和第三填充位226可以是隐性填充位或显性填充位。
CAN模块200的处理逻辑210可以由处理单元、被配置成用于处理的电路或其组合形成。
在CAN模块200的一个或多个实施例中,第一位序列232表示第一CAN帧的第一识别符。举例来说,第一位序列232可以表示图4A的CAN帧的识别符152。在另一例子中,第一位序列232可以表示图4B的CAN帧的第一识别符字段154或第二识别符字段156。
CAN帧的预定识别符可以由CAN模块200(特定来说,由处理逻辑210)优选地存储为预定义系列位。如果第一位序列232表示预定义识别符,那么RXD流230中的第一位序列232可借助于CAN模块200的处理逻辑210精确并且快速地识别。
在CAN模块200的一个或多个实施例中,处理逻辑210被配置成识别第一位序列232中的预定义数目个相同的连续位(特定来说,位的系列234)。通常,根据位填充规则,一系列的五个相同位后跟随额外位填充位。基于此基本概念,在CAN模块200的一个或多个实施例中,处理逻辑210被配置成基于对预定义数目个相同的连续位的识别来在经由RXD输入接口202接收第一填充位236之前和/或同时,预测第一位序列232中的第一填充位236的第一位置。
处理逻辑210优选地被配置成通过对第一位置的预测来识别第一位置。在一例子中,倘若当识别第一填充位236的第一位置时,第一填充位236尚未经由CAN模块200的RDX输入接口202上的RDX流230接收,那么优选地,处理逻辑210预测第一填充位236的第一位置。此预测接着可以形成对第一填充位236的第一位置的识别。此预测在逻辑上是可能的,因为预定数目的相同位的系列234已经在CAN模块200的RXD输入接口202处经由RXD流230接收。处理逻辑210优选地被配置成确定第一位序列232的位的已接收系列234中的最后一位的位置。基于此位置,还可计算作为第一填充位236的第一位置的下一位置。优选地,处理逻辑210被配置成执行此相同计算。以对应方式,还可以通过CAN模块200的处理逻辑210来执行对第一填充位236的第一位置的预测。预定义数目可涉及数目五。
在CAN模块200的一个或多个实施例中,处理逻辑210被配置成基于第一位序列232来识别经由RXD输入接口接收的第一填充位236之后的第一位序列232中的第一填充位236的第一位置。第一位序列232的位经由RDX流230依序从CAN模块200的RXD输入接口202接收。通过依序接收RDX流230的位,还通过CAN模块200确定相关联的所接收位的位置。在经由RDX流230由CAN模块200完全接收第一位序列232之后,可以立即访问第一填充位236的位置。在此情况下,对第一填充位236的第一位置的识别是特别简单的,并且通过当在CAN模块200的RXD输入接口202处经由RXD流230接收时立即确定第一填充位236的第一位置来确定。
在CAN模块200的一个或多个实施例中,所述CAN模块包括被配置成接收来自所述CAN控制器114的传输数据(TXD)输入接口206。如先前所指示,CAN控制器114还可以称为CAN协议控制器114。如图5中所示意性地示出,CAN模块200可以集成在从CAN协议控制器114延伸到CAN收发器120的TXD路径中。
在一个或多个实施例中,CAN模块200包括TXD输出接口208。CAN模块200可以被配置成将经由TXD输入接口206接收的TXD流转送到TXD输出接口208,从而使TXD流经由TXD输出接口208发送到CAN收发器120。
在CAN模块200的一个或多个实施例中,处理逻辑210被配置成识别TXD流中的表示第三CAN帧的位的第三位序列222。此外,处理逻辑210还可以被配置成识别第三位序列中的第三填充位226的第三位置。在一例子中,第三位序列222包括第三填充位226。第三填充位可以为第三位序列中的最后位。第三位序列可以包括其后直接跟随第三填充位226的五个相同位的系列224。为了识别TXD流220中的第三位序列222,以及识别第三位序列222中的第三填充位226的第三位置,参考先前的解释、优选特征和优点的类似方式,如结合对RXD流230中的第一位序列232的识别和对第一位序列232中的第一填充位236的第一位置的识别所解释。
如先前所解释,由CAN收发器120在CAN总线104上发送的消息通过CAN收发器120同步监测,从而由CAN收发器120从此所监测的消息生成相应RXD流。因此,第一位序列232是第三位序列222的结果。因此,处理逻辑210可以被配置成检测第三位序列222是否在TXD输入接口206处接收,其中处理逻辑210还可以被配置成仅在检测到第三位序列222时才操控第一位序列222以生成第二位序列242。否则,如果第一位序列232不是第三位序列222的结果,那么处理逻辑210可能检测不到第三位序列222,并且因此可能也不操控第一位序列232,而是经由TXD输出接口208转送未改变的第一位序列222。
在CAN模块200的一个或多个实施例中,CAN模块200的处理逻辑210优选地被配置成基于第三位序列222中的第三填充位226的第三位置来识别第一位序列232中的第一填充位236的第一位置。预期经由RXD输入接口202的第一位序列232的接收相对于经由TXD输入接口206的第三位序列222的接收有时间延迟。鉴于此时间延迟,在随着第一位序列232接收第一填充位236之前,可以通过处理逻辑210执行对第三填充位226的第三位置的识别。此外,在随着第一位序列232接收第一填充位236之前,可以通过处理逻辑210基于所识别的第三填充位226的第三位置来识别第一填充位236的第一位置。换句话说,在CAN模块200已接收到第一填充位236之前,第一填充位236的第一位置可能已经由处理逻辑210识别。一旦已接收到第三填充位226,就可以执行对第一位序列232的操控以生成第二位序列242。在此情况下,对第一位序列232的操控不会延迟,相反地,甚至可能通过对第一填充位236的第一位置的识别而在时间上提前。因此,可以通过处理逻辑210在无时间延迟的情况下生成第二位序列242。
在CAN模块200的一个或多个实施例中,所述处理逻辑210可以被配置成操控所述第一位序列232以生成所述第二位序列242,所述第二位序列242包括在对应于所述第三位序列中的所述第三填充位226的所述第三位置的所述第二位置处的第二填充位246,从而使所述第二填充位246与所述第三填充位226匹配。
在CAN模块200的一个或多个实施例中,处理逻辑210被配置成确定第三填充位226是显性第三填充位还是隐性第三填充位。这可以支持第二填充位246与第三填充位226的匹配。
在CAN模块200的一个或多个实施例中,处理逻辑210被配置成仅当确定第三填充位226为隐性第三填充位226时,才操控第一填充位236以用于生成第二填充位246来与其前一位互补。
再次应注意,第一位序列232是由第三位序列222引起。由CAN收发器120基于TXD流220经由CAN总线104发送的消息在小时间延迟的情况下再次由CAN收发器120接收,由此CAN收发器120基于经由CAN总线104接收的消息生成RXD流230。因此,第三位序列222中的第三填充位226的第三位置对应于第一位序列232中的第一填充位236的第一位置。此外,第三位序列222中的第三填充位226的第三位置对应于第二位序列242中的第二填充位246的第二位置。第一TXD流220将第三位序列222传输到CAN收发器120。如果第三位序列222的第三填充位226是显性填充位,那么可以假设显性填充位对于CAN总线104上的干扰具有较高概率是稳健的。这是因为显性填充位通过CAN总线线路124、126之间的非零差分电压(优选地为2V的差分电压)而表示在CAN总线104上。出于这种考虑,可以假设显性第三填充位226引起第一位序列232中的显性第一填充位236具有更高概率。在此情况下,由于显性第一填充位236对应于显性第三填充位226,因此用于生成第二填充位246的对第一填充位236的操控是不必要的。相反,假设第三填充位226是显性填充位,那么可以暂停对第一位序列232的操控以生成第二位序列242。换句话说,可以假设如果第三填充位226是显性填充位,那么可以在无操控的情况下从第一位序列232形成第二位序列242。然而,如果第三填充位226是隐性填充位,那么可以通过处理逻辑210来执行先前解释的操控以生成第二位序列242。由于处理逻辑210仅需要在隐性第三填充位226的情况下执行先前解释的操控,因此可以减少处理逻辑210的计算工作量和成本。
在CAN模块200的一个或多个实施例中,所述处理逻辑210被配置成识别所述第一位序列中的多个第一填充位,其中所述处理逻辑210被配置成操控所述第一位序列232以生成所述第二位序列242,对于每个第一填充位236,所述第二位序列242包括在对应于所述第一位序列232中的所述相应相关联的第一填充位236的所述位置的位置处的相关联第二填充位246。因此,对于通过操控第一填充位236来生成第二填充位246的先前解释以类似方式适用于第二位序列242的每个第二填充位246。
图8示意性地示出TXD流220、RXD流230和MRXD流240的部分区段的另一例子。以类似方式参考结合图7的先前解释。从图8的TXD流220可以看出,第三位序列222具有假设不为填充位的位228。此位228也称为第四非填充位228(假设为显性)。如果基于第三位序列222的消息由CAN收发器120在CAN总线104上传输,那么有可能的是(尽管在罕见的情况下),CAN总线104上表示第四非填充位228的信号可能受干扰影响。此干扰可能使得由CAN收发器120监测的消息表示第一位序列232,其中第一位序列232的第六位238是隐性位,即使所述第六位238应为对应于第四非填充位228的显性位。考虑到上文,存在借助于CAN模块200来防止先前所解释的错误的需求。
在CAN模块200的一个或多个实施例中,其中处理逻辑210被配置成识别第三位序列中的第四显性非填充位228,其中处理逻辑210被配置成操控第一位序列232以生成第二位序列242,所述第二位序列242还包括在第二序列242中对应于第三位序列222中的第四非填充位228的位置的位置处的第五非填充位248,从而使第五非填充位248与第四非填充位228匹配。
基于对作为显性位的第四非填充位228的识别,可以通过处理逻辑210执行对第一位序列232的对应位位置处(即,在第六非填充位238处)的操控以生成第二位序列242,从而使第二位序列242的第五非填充位248对应于第三位序列222的(显性)第四非填充位228。因此,可以校正由CAN总线104上的干扰引起的第一位序列232的第六非填充位238上的错误。
应注意,最后解释的操控第一位序列232以生成第二位序列242可以理解为先前解释的操控第一位序列232以生成第二位序列242的延伸。因此,通过可以由处理逻辑210执行对第一位序列232的操控以生成第二位序列242,一方面可以实现第二填充位246与第二位序列242中的前一位互补,并且另一方面,可以实现第二位序列242的第五非填充位248与第三位序列222的第四非填充位228匹配。
在CAN模块200的一个或多个实施例中,处理逻辑210还可以被配置成识别第三位序列222中的多个第四显性非填充位228,其中处理逻辑210可以被配置成操控第一位序列232以生成第二位序列242,对于每个第四非填充位228,所述第二位序列242还包括在第二位序列242中对应于第三位序列222中的相关联的第四非填充位228的位置的位置处的相关联的第五非填充位248,从而使每个第五非填充位248与相关联的第四非填充位228匹配。
在一个或多个实施例中,CAN模块200包括被配置成接收来自CAN控制器114的TXD流的传输数据(TXD)输入接口206。CAN模块200还可以包括解码器250,所述解码器250被配置成对经由TXD输入接口206接收的CAN帧的识别符152、154、156进行解码。识别符152、154、156还可以称为经解码识别符152、154、156。CAN模块200还可以包括被配置成存储至少一个有效识别符的存储器260。此外,所述CAN模块200可以包括比较逻辑270,所述比较逻辑270被配置成将所述经解码识别符152、154、156与所述至少一个有效识别符进行比较,并且如果所述比较指示所述经解码识别符152、154、156与所述至少一个有效识别符不匹配,那么输出失配信号。
车载网络越来越关注安全性。车载网络的组件中的多种组件利用可以更新的软件。为了更新软件,车载网络常常具有“后门”访问端口。如果后门访问端口受到黑客攻击,那么车载网络中的元件可能被破解。对使用CAN协议的车载网络上的一个已知攻击技术涉及攻击者使用通常不分配到此节点的CAN识别符来从被破解节点发送CAN消息。这类未经授权的CAN消息可能会通过CAN总线上的CAN节点接收并且辨识为有效消息,这是因为识别符先前已在CAN网络内使用。一旦通过CAN总线上的CAN节点接收,所述可疑消息就可以用以在CAN节点内实施恶意活动。举例来说,如果可以允许节点发送ID=101 1100 0011,但不允许发送101 1100 0000,那么出于有效原因而在ID的末端处发送错误帧可能引起误告警。因此,在仲裁阶段期间需要防止用于发送错误帧的任何有效原因。
为了检测并且防止这类CAN网络上的攻击,并且根据CAN模块200的一实施例,解码器250可以被配置成对通过CAN协议控制器114发送到CAN模块200的CAN帧的识别符进行解码。CAN模块200的比较逻辑270可以另外被配置成将进入的CAN帧的经解码识别符与所述至少一个所存储且有效的识别符进行比较,以在任何进入的CAN帧与至少一个有效识别符的任何一个不匹配时生成失配信号。由于识别符被预先分配到每个CAN节点,所以如果经解码识别符与所存储且有效的识别符的任何一个不匹配,那么可以假设CAN帧在其TXD输入引脚上的CAN模块200处接收,形成受侵入或受过黑客攻击的CAN协议控制器114。为了保护CAN网络和连接到CAN网络的CAN节点免受潜在损坏,可以基于失配信号触发动作。举例来说,响应于失配信号,CAN模块200可以被配置成经由TXD输出接口208将错误信号(例如错误标志)立即发送到收发器,所述TXD输出接口208在CAN总线上发送此错误信号,以防止恶意CAN帧形成受推断和/或受黑客攻击的CAN协议控制器144来通过CAN总线上的任何CAN节点成功地并且完全地接收,例如,使所述CAN帧失效、破坏所述CAN帧和/或终止所述CAN帧。
在一个或多个实施例中,解码器250可以被配置成在TXD输入接口206处经由TXD流接收整个CAN帧之前对CAN帧进行解码。
在一个或多个实施例中,比较逻辑270可以被配置成在TXD输入接口206处经由TXD流接收整个CAN帧之前,将经解码识别符与至少一个有效识别符进行比较。
在一个或多个实施例中,CAN模块200包括被配置成将TXD流转送到CAN收发器120的TXD输出接口208,其中CAN模块200被配置成响应于失配信号而中断所接收的TXD流的转送。举例来说,如果比较指示来自CAN帧的经解码识别符与有效且所存储识别符中的任何一个不匹配,那么由比较逻辑270生成失配信号,从而引起所接收的TXD流的转送的中断。在将整个CAN帧提供到TXD输出接口208之前,匹配信号还可以触发CAN模块200来使具备所接收CAN流的所接收CAN帧失效、破坏所述CAN帧和/或终止所述CAN帧。
在一个或多个实施例中,所述CAN模块200包括被配置成响应于所述失配信号而生成失效信号的信号生成器,其中所述CAN模块200还可以包括被配置成将所述失效信号发送到所述CAN收发器120以使TXD流的CAN帧152、154、156失效的信号输出接口。失效信号可以表示错误帧。因此,信号输出接口可以被配置成使得CAN总线上的失效信号来使CAN总线上的CAN帧152、154、156失效。
根据本公开的另一例子,图10中示意性地示出用于CAN模块200的方法,所述方法包括步骤a)至e):
a)在所述CAN模块200的RXD输入接口202处接收来自CAN收发器114的接收数据(RXD)流230,
b)在所述CAN模块200的处理逻辑210处识别所述RXD流230中的第一位序列232,
c)在所述处理逻辑210处识别所述第一位序列232中的第一填充位236的第一位置,
d)在所述处理逻辑210处操控所述第一位序列232以生成第二位序列242,所述第二位序列242包括在所述第二位序列242中对应于所述第一位序列232中的所述第一填充位236的所述第一位置的第二位置处的第二填充位246,从而使所述第二填充位246与所述第二位序列242中的所述第二位填充位246的前一位互补,以及
e)经由所述CAN模块200的RXD输出接口204将所述第二位序列242发送到CAN控制器114。
可以按示出的次序执行步骤a)至e),但还可以至少部分地并行或以另一次序执行所述步骤a)至e)。在相应实施例的另外步骤的方面,同样的情况也适用于方法的后续实施例。
在一个或多个实施例中,如图11中示意性地示出的方法可以包括另外的步骤f)至i):
f)在所述CAN模块200的传输数据(TXD)输入接口206处接收来自CAN控制器114的TXD流220,
g)在所述处理逻辑210处识别所述TXD流220中的表示第三CAN帧152、154、156的位的第三位序列222,
h)在处理逻辑220处识别所述第三位序列220中的第三填充位226的第三位置,其中所述第一位序列232是所述第三位序列222的结果,以及
i)在所述处理逻辑210处基于所述第三位序列222中的所述第三填充位226的所述第三位置来识别所述第一位序列232中的所述第一填充位236的所述第一位置。
在一个或多个实施例中,如图12中示意性地示出的方法可以包括另外的步骤j)至m):
j)经由所述CAN模块200的TXD输出接口208将所述TXD流220转送到所述CAN收发器120,
k)在所述CAN模块200的解码器250处,对正经由所述TXD输入接口接收的CAN帧152、154、156的识别符进行解码,其中所述CAN模块200包括被配置成存储至少一个有效识别符的存储器260,
l)在所述CAN模块200的比较模块270处,将所述经解码识别符152、154、156与所述至少一个有效识别符进行比较,并且如果所述比较指示所述经解码识别符152、154、156与所述至少一个有效识别符中的任一个不匹配,那么输出失配信号,以及
m)响应于所述失配信号而中断所述TXD流220的所述转送。
CAN模块200和本文所描述的方法可以至少部分地通过一个或多个计算机程序来体现,所述计算机程序可以在单一计算机系统或跨越多个计算机系统中以活动和不活动两者的多种形式存在。例如,所述计算机程序可以作为由程序指令组成的软件程序存在于源代码、目标代码、可执行码或其它格式中以用于执行一些步骤。以上格式中的任一格式可以按压缩或未压缩形式在计算机可读媒体上体现,所述计算机可读媒体可以包括存储装置和信号。
如本文所使用,术语“计算机”指代包括处理器,例如通用中央处理单元(CPU)、专用处理器或微控制器的任何电子装置。计算机能够接收数据(输入)、能够对数据执行一序列预定操作,并且由此能够产生呈信息或信号形式的结果(输出)。取决于上下文,术语“计算机”将意味着(特定来说)处理器或(更一般地)与单一壳体或外壳内容纳的相关元件的组合相关联的处理器。
术语“处理逻辑”、“处理器”或“处理单元”可以指代数据处理电路,所述数据处理电路可以是微处理器、协处理器、微控制器、微型计算机、中央处理单元、现场可编程门阵列(FPGA)、可编程逻辑电路和/或基于存储于存储器中的可操作指令控制信号(模拟信号或数字信号)的任何电路。术语“存储器”可以指一个或多个存储电路,例如只读存储器、随机存取存储器、易失性存储器、非易失性存储器、静态存储器、动态存储器、闪速存储器、高速缓冲存储器和/或存储数字信息的任何电路。
如本文所使用,“计算机可读媒体”或“存储媒体”可以是能够容纳、存储、传达、传播或传送计算机程序以供指令执行系统、设备或装置使用或结合指令执行系统、设备或装置使用的任何构件。计算机可读媒体可以是例如(但不限于)电子、磁性、光学、电磁、红外线或半导体系统、设备、装置或传播媒体。计算机可读媒体的更具体例子(非穷尽性列表)可以包括以下各项:具有一个或多个导线的电连接、便携式计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪速存储器)、光纤、便携式压缩光盘只读存储器(CDROM)、数字多功能光盘(DVD)、蓝光光盘(BD)以及存储卡。
应注意,已经参考不同的标的物描述了以上实施例。特定来说,一些实施例可能是已参考方法类的权利要求来描述的,而其它实施例可能是已参考设备类的权利要求来描述的。然而,本领域的技术人员将从上述内容了解到,除非另有说明,否则除属于一种类型主题的特征的任意组合外,与不同主题相关的特征的任意组合,特别是方法类的权利要求的特征和设备类的权利要求的特征的组合,也视为与此文档一起被公开。
此外,应注意,附图是示意性的。在不同图式中,用相同的附图标记表示类似或相同的元件。此外,应注意,为了提供说明性实施例的简洁描述,可能并未描述属于技术人员的习惯做法的实施细节。应了解,在任何此类实施方案的发展中,如在任何工程或设计项目中,必须制定大量实施方案-特定的决策以便实现研发者的特定目标,例如遵守系统相关的和商业相关的约束条件,这些约束条件在不同的实施方案之间可能不同。此外,应了解,此类发展工作可能复杂且耗时,但只是本领域的技术人员进行设计、制造和生产的例行任务而已。
最后,应注意,技术人员将能够在不脱离所附权利要求书的范围的情况下设计许多替代性实施例。在权利要求书中,置于圆括号之间的任何附图标记不应解释为限制权利要求。单词“包括(comprise(s)或(comprising))”不排除权利要求中列出的那些元件或步骤之外的元件或步骤的存在。在元件之前的单词“一(a)或(an)”不排除多个这类元件的存在。权利要求书中叙述的措施可以借助于包括若干不同元件的硬件和/或借助于适当编程的处理器来实施。在列出若干构件的装置权利要求中,可以通过硬件中的相同物件实施若干这些构件。在彼此不同的从属权利要求中叙述某些措施这一单纯事实并不指示不能使用这些措施的组合来获得优势。
Claims (10)
1.一种控制器局域网(CAN)模块(200),其特征在于,包括:
被配置成接收来自CAN收发器(120)的RXD流(230)的接收数据(RXD)输入接口(202),
被配置成将经操控接收数据(MRXD)流(240)发送到CAN控制器(114)的RXD输出接口(204),以及
被配置成识别所述RXD流中的第一位序列(232)的处理逻辑(210),
其中所述处理逻辑被配置成识别所述第一位序列中的第一填充位(236)的第一位置,
其中所述处理逻辑被配置成操控所述第一位序列以生成第二位序列(242),所述第二位序列(242)包括在所述第二位序列中对应于所述第一位序列中的所述第一填充位的所述第一位置的第二位置处的第二填充位(246),从而使所述第二填充位与所述第二位序列中的所述第二填充位的前一位互补,并且
其中所述CAN模块被配置成经由所述RXD输出接口将所述第二位序列发送到所述CAN控制器。
2.根据权利要求1所述的CAN模块,其特征在于,所述第一位序列表示第一CAN帧的第一识别符(152、154、156)。
3.根据权利要求1至2中任一项所述的CAN模块,其特征在于,所述处理逻辑被配置成识别所述第一位序列中的预定义数目个相同连续位(234),并且基于此识别,在经由所述RXD输入接口接收所述第一填充位之前和/或同时,预测所述第一位序列中的所述第一填充位的所述第一位置。
4.根据权利要求1至2中任一项所述的CAN模块,其特征在于,所述处理逻辑被配置成基于所述第一位序列,在经由所述RXD输入接口接收所述第一填充位之后,识别所述第一位序列中的所述第一填充位的所述第一位置。
5.根据权利要求1至2中任一项所述的CAN模块,其特征在于,
所述CAN模块包括被配置成接收来自所述CAN控制器的TXD流(220)的传输数据(TXD)输入接口(206),
所述处理逻辑被配置成识别所述TXD流中的表示第三CAN帧的位的第三位序列(222),
所述处理逻辑被配置成识别所述第三位序列中的第三填充位(226)的第三位置,
所述第一位序列是所述第三位序列的结果,并且
所述处理逻辑被配置成基于所述第三位序列中的所述第三填充位的所述第三位置来识别所述第一位序列中的所述第一填充位的所述第一位置。
6.根据前一权利要求所述的CAN模块,其特征在于,所述处理逻辑被配置成确定所述第三填充位是显性第三填充位还是隐性第三填充位。
7.根据前一权利要求所述的CAN模块,其特征在于,所述处理逻辑被配置成仅当确定所述第三填充位为隐性第三填充位时,才操控所述第一填充位以用于生成所述第二填充位来与其前一位互补。
8.根据权利要求1至7中任一项所述的CAN模块,其特征在于,
所述处理逻辑被配置成识别所述第一位序列中的多个第一填充位,并且
所述处理逻辑被配置成操控所述第一位序列以生成所述第二位序列,对于每个第一填充位,所述第二位序列包括在对应于所述第一位序列中的相应相关联第一填充位的所述位置的位置处的相关联第二填充位。
9.根据权利要求5至8中任一项所述的CAN模块,当附属于权利要求5时,其特征在于,
所述处理逻辑被配置成识别所述第三位序列中的第四显性非填充位(228),并且
所述处理逻辑被配置成操控所述第一位序列以生成所述第二位序列,所述第二位序列还包括在所述第二序列中对应于所述第三位序列中的所述第四非填充位的所述位置的位置处的第五非填充位(248),从而使所述第五非填充位与所述第四非填充位匹配。
10.一种用于控制器局域网(CAN)模块(200)的方法,其特征在于,所述方法包括:
a)在所述CAN模块的RXD输入接口(202)处接收来自CAN收发器(120)的接收数据(RXD)流(230),
b)在所述CAN模块的处理逻辑(210)处识别所述RXD流中的第一位序列(230),
c)在所述处理逻辑处识别所述第一位序列中的第一填充位(236)的第一位置,
d)在所述处理逻辑处操控所述第一位序列以生成第二位序列(240),所述第二位序列(240)包括在所述第二位序列中对应于所述第一位序列中的所述第一填充位的所述第一位置的第二位置处的第二填充位(246),从而使所述第二填充位与所述第二位序列中的所述第二位填充位的前一位互补,以及
e)经由所述CAN模块的RXD输出接口(204)将所述第二位序列发送到CAN控制器(114)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP22151970.5 | 2022-01-18 | ||
EP22151970.5A EP4213448A1 (en) | 2022-01-18 | 2022-01-18 | Controller area network module and method for the module |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116471139A true CN116471139A (zh) | 2023-07-21 |
Family
ID=79730464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211637372.6A Pending CN116471139A (zh) | 2022-01-18 | 2022-12-16 | 控制器局域网模块和用于所述模块的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US12028184B2 (zh) |
EP (1) | EP4213448A1 (zh) |
CN (1) | CN116471139A (zh) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4722457B2 (ja) * | 2004-11-05 | 2011-07-13 | ルネサスエレクトロニクス株式会社 | Canシステム |
WO2012132217A1 (ja) * | 2011-03-31 | 2012-10-04 | ルネサスエレクトロニクス株式会社 | Can通信システム、can送信装置、can受信装置、およびcan通信方法 |
US10326865B2 (en) * | 2015-03-24 | 2019-06-18 | Concio Holdings LLC | Filter or bridge for communications between CAN and CAN-FD protocol modules |
EP3331732B1 (en) * | 2015-08-06 | 2021-07-14 | Red Bend Ltd. | Can bus communication regulation |
US10484425B2 (en) * | 2017-09-28 | 2019-11-19 | The Mitre Corporation | Controller area network frame override |
DE102018206522A1 (de) * | 2018-04-26 | 2019-10-31 | Robert Bosch Gmbh | Vorrichtung und Verfahren zum Auswerten eines über ein Bussystem empfangbaren Empfangssignals |
DE102019208058A1 (de) * | 2019-06-03 | 2020-12-03 | Robert Bosch Gmbh | Fehlererkennung-Testeinrichtung für eine Teilnehmerstation eines seriellen Bussystems und Verfahren zum Testen von Mechanismen zur Fehlererkennung bei einer Kommunikation in einem seriellen Bussystem |
EP3809638B1 (en) * | 2019-10-17 | 2023-05-17 | Volvo Car Corporation | Detecting manipulation of data on a can bus |
DE102020213893A1 (de) * | 2020-11-04 | 2022-05-05 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zur Erkennung eines unerlaubten physischen Zugriffs auf ein Bussystem |
IT202100015488A1 (it) * | 2021-06-14 | 2022-12-14 | St Microelectronics Srl | Microcontrollore e procedimento di funzionamento corrispondente |
-
2022
- 2022-01-18 EP EP22151970.5A patent/EP4213448A1/en active Pending
- 2022-12-16 CN CN202211637372.6A patent/CN116471139A/zh active Pending
-
2023
- 2023-01-16 US US18/154,983 patent/US12028184B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP4213448A1 (en) | 2023-07-19 |
US12028184B2 (en) | 2024-07-02 |
US20230231737A1 (en) | 2023-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3206361B1 (en) | Controller area network (can) message filtering | |
US10361934B2 (en) | Controller area network (CAN) device and method for controlling CAN traffic | |
RU2712138C2 (ru) | Способ, система и электронный блок управления для предотвращения спуфинга в автомобильной сети | |
EP3772841B1 (en) | A security module for a can node | |
US11888866B2 (en) | Security module for a CAN node | |
EP3772839B1 (en) | Security module for a serial communications device | |
EP4199435B1 (en) | Apparatus for a controller area network | |
US12028184B2 (en) | Controller area network module and method for the module | |
CN112347023B (zh) | 用于can节点的安全模块 | |
EP4344150A1 (en) | Controller area network system and a method for the system | |
EP4270882A1 (en) | Detecting an error in a can system | |
US20230198807A1 (en) | Apparatus for a controller area network | |
EP4068721B1 (en) | Controller area network device | |
EP4304135A1 (en) | Controller area network (can) transceiver, can node, can system and method for the can transceiver | |
CN115643038A (zh) | 总线系统中经由接收线路的帧无效 | |
KR20230028948A (ko) | 통신 네트워크, 이에 연결된 노드를 식별하는 방법 및 장치 | |
CN116266804A (zh) | 用于控制器局域网的设备 | |
CN117997670A (zh) | Can控制器、can装置和用于can控制器的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |