CN112436989B - 一种can数据帧的信号识别方法及装置 - Google Patents
一种can数据帧的信号识别方法及装置 Download PDFInfo
- Publication number
- CN112436989B CN112436989B CN202011257801.8A CN202011257801A CN112436989B CN 112436989 B CN112436989 B CN 112436989B CN 202011257801 A CN202011257801 A CN 202011257801A CN 112436989 B CN112436989 B CN 112436989B
- Authority
- CN
- China
- Prior art keywords
- signal
- bit
- data
- turnover rate
- section
- 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/40006—Architecture of a communication node
-
- 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/4013—Management of data rate on the bus
- H04L12/40136—Nodes adapting their rate to the physical link properties
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Communication Control (AREA)
Abstract
本申请涉及数据分析技术领域,提供一种CAN数据帧的信号识别方法及装置。该信号识别方法通过统计同一ID的多个CAN数据帧中每个比特位的翻转率,根据每个比特位的翻转率自动识别信号边界,并基于信号边界对每段信号的类型进行归类,有利于CAN信号逆向的研究。与现有技术相比,通过算法替代人工肉眼观察,比肉眼观察要更准确、更快,极大缩短了CAN信号逆向过程的时间,逆向的准确率也有很大的提升,并且,不需要用户具备CAN规范知识储备。
Description
技术领域
本发明涉及数据分析技术领域,具体而言,涉及一种CAN数据帧的信号识别方法及装置。
背景技术
随着车联网的迅速发展,车辆在为用户提供更加舒适的体验的同时也带来了安全风险,于是,一些安全厂商开始着手于对车辆网络安全方向的研究,车辆中的CAN(Controller Area Network,控制器局域网络)信号逆向作为研究的辅助方法对车辆网络安全起着重要的作用,信号逆向需要从车辆的CAN总线上监听CAN消息,并分析其中所包含的各种信号。
目前,信号逆向最直接、有效的方法是获取DBC(Database Can)文件,在DBC文件中定义了CAN消息的规范,例如,在CAN网络中包含哪些ID的CAN消息,每个ID的CAN消息中包含多长的数据和多少个信号。但是DBC文件作为汽车厂商的保密数据,很难获得。
其次,就是人工观察CAN消息中的数据变化并依靠经验来分析。这就要求用户需要具备一定的CAN规范知识储备,并且在CAN信号逆向方面有着丰富的经验,而且,一个CAN数据帧中往往包含至少一个信号,用户通常难以兼顾各个字节以及每个字节中各个比特的变化规律,耗费时间一般较长。
发明内容
本申请实施例的目的在于提供一种CAN数据帧的信号识别方法及装置,以改善上述技术问题。
为实现上述目的,本申请提供如下技术方案:
第一方面,本申请实施例提供一种CAN数据帧的信号识别方法,包括:获取对应于同一ID的连续多个CAN数据帧;根据所述多个CAN数据帧统计每一比特位的翻转率;其中,所述翻转率表示所述比特位的数据在所述多个CAN数据帧中的翻转次数与所述多个CAN数据帧的数量的比值,所述比特位的数据在相邻两个CAN数据帧中出现一次变化记为一次翻转;根据每一比特位的翻转率识别得到所述ID对应的任一CAN数据帧所包括的各种信号的分布及类型。
本申请实施例提供的CAN数据帧的信号识别方法,通过统计同一ID的多个CAN数据帧中每个比特位的翻转率,可识别出该ID对应的任一CAN数据帧所包括的各种信号的分布及类型,有利于CAN信号逆向的研究。与现有技术相比,通过算法替代人工肉眼观察,比肉眼观察要更准确、更快,极大缩短了CAN信号逆向过程的时间,逆向的准确率也有很大的提升,并且,不需要用户具备CAN规范知识储备。
在一种可选实施方式中,所述根据每一比特位的翻转率识别得到所述ID对应的任一CAN数据帧所包括的各种信号的分布及类型,包括:根据每一比特位的翻转率识别出所述ID对应的任一CAN数据帧的信号边界,所述信号边界包括所述CAN数据帧所包括的每段信号的起始比特位和结束比特位;根据所述信号边界提取每段信号所对应的各个比特位的翻转率;根据每段信号所对应的各个比特位的翻转率识别出对应的信号类型。
在一种可选实施方式中,所述根据每一比特位的翻转率识别出所述ID对应的任一CAN数据帧的信号边界,包括:根据每相邻两个比特位之间的翻转率的大小关系,识别出所述ID对应的任一CAN数据帧的信号边界。
在CAN数据帧中携带有至少一个信号,这些信号中的数据值应当符合低位变化频繁、而越到高位变化越不频繁的规律,具体表现为一段信号的低位比特位的翻转率大、高位比特位的翻转率小,所以,通过依次比较每相邻两个比特位的翻转率的大小关系可识别出信号边界。
在一种可选实施方式中,所述根据每段信号所对应的各个比特位的翻转率识别出对应的信号类型,包括:在检测到该段信号所对应的各个比特位的翻转率中,最低位比特位的翻转率为1且任意两个相邻比特位的翻转率中的较低位比特位的翻转率为较高位比特位的翻转率的两倍时,确定该段信号的信号类型为计数器信号。
若该段信号中各个比特位的翻转率符合预设的计数器信号的翻转率特征,则确定该段信号的信号类型为计数器信号。
在一种可选实施方式中,所述根据每段信号所对应的各个比特位的翻转率识别出对应的信号类型,包括:在检测到该段信号所对应的各个比特位的翻转率不全为0,且该段信号非计数器信号时,确定该段信号的信号类型为携带有属性信息的物理信号。
若某段信号中的某个比特位发生了翻转,且翻转规律不符合计数器信号对应的翻转规律,则确定该段信号的信号类型为物理信号。
在一种可选实施方式中,所述根据每段信号所对应的各个比特位的翻转率识别出对应的信号类型,包括:在检测到该段信号所对应的各个比特位的翻转率全为0,且所述多个CAN数据帧中的所述各个比特位的数据中没有1时,确定该段信号的信号类型为未定义信号。
若该段信号中各个比特位的翻转率符合预设的未定义信号的翻转率特征,则确定该段信号的信号类型为计数器信号。
在一种可选实施方式中,所述根据每段信号所对应的各个比特位的翻转率识别出对应的信号类型,包括:在检测到该段信号所对应的各个比特位的翻转率全为0,且所述多个CAN数据帧中的所述各个比特位的数据中有1时,确定该段信号的信号类型为常量信号。
若该段信号中各个比特位的翻转率符合预设的常量信号的翻转率特征,则确定该段信号的信号类型为常量信号。
第二方面,本申请实施例提供一种CAN数据帧的信号识别装置,包括:获取模块,用于获取对应于同一ID的连续多个CAN数据帧;翻转率统计模块,用于根据所述多个CAN数据帧统计每一比特位的翻转率;其中,所述翻转率表示所述比特位的数据在所述多个CAN数据帧中的翻转次数与所述多个CAN数据帧的数量的比值,所述比特位的数据在相邻两个CAN数据帧中出现一次变化记为一次翻转;信号识别模块,用于根据每一比特位的翻转率识别得到所述ID对应的任一CAN数据帧所包括的各种信号的分布及类型。
第三方面,本申请实施例提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面、第一方面中任一可选实施方式所述的方法。
第四方面,本申请实施例提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储器之间通过所述总线通信,所述机器可读指令被所述处理器执行时执行如第一方面、第一方面中任一可选实施方式所述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的一种CAN数据帧的帧结构示意图;
图2示出了本申请实施例提供的一种CAN数据帧的信号识别方法的流程图;
图3示出了步骤130的一种具体流程图;
图4示出了在步骤133中,在识别某段信号的信号类型时的一种具体实施方式的流程图;
图5示出了本申请实施例提供的一种CAN数据帧的信号识别装置的示意图;
图6示出了本申请实施例提供的一种电子设备的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
CAN总线是一种用于实时应用的串行通讯协议总线,CAN总线协议用于汽车中各种不同电子控制单元(Electronic Control Unit,ECU)之间的通信,以此取代昂贵而笨重的配电线束。车辆中的各个ECU连接在同一CAN总线上,通过CAN总线可以实现任意两个ECU间的通讯。CAN总线协议中定义了多种帧类型,比如数据帧、遥控帧、错误帧、过载帧、间隔帧,其中,数据帧主要负责ECU之间数据的传输,本申请实施例主要用于对CAN数据帧进行信号识别。
图1示出了CAN数据帧的帧结构示意图,一个CAN数据帧包括仲裁段、控制段、数据段、CRC段、ACK段等。本申请重点解析目标是CAN数据帧中的仲裁段和数据段,仲裁段主要保存CAN数据帧的CAN ID,CAN ID标识了CAN数据帧的目的地址。数据段包含0到8个字节的数据,每个字节包含8个比特的数据,在数据段中携带有至少一种信号。
以下介绍本申请实施例提供的CAN数据帧的信号识别方法。请参照图2,本实施例提供的信号识别方法的流程如下:
步骤110:获取对应于同一ID的连续多个CAN数据帧。
通过对CAN总线进行监听,获得CAN总线上传输的若干CAN数据帧,形成CAN数据文件。对获得的CAN数据文件进行解析,从CAN数据文件中筛选出对应于同一ID的连续的多个CAN数据帧,例如,从CAN数据文件中分别筛选出ID=1的连续L1个CAN数据帧、ID=2的连续L2个CAN数据帧、ID=3的连续L3个CAN数据帧……
步骤120:根据该多个CAN数据帧统计在数据帧中每一比特位的翻转率。
其中,翻转率表示对应比特位的数据在多个CAN数据帧中的翻转次数与该多个CAN数据帧的数量的比值,该比特位的数据在相邻两个CAN数据帧中出现一次变化记为一次翻转。
翻转率的计算公式为:
Mi=ni/N;
Mi为第i个比特位的翻转率;ni为第i个比特位的翻转次数;N为步骤110中获取的对应于同一ID的多个CAN数据帧的数量。若相邻两个CAN数据帧中,第i个比特位的数据由0变为1,或者由1变为0,则记为第i个比特位出现了一次翻转,通过这种方式统计第i个比特位共出现了多少次翻转,进而可得到第i个比特位的翻转率。
在本实施例中,可以仅对CAN数据帧的数据段进行解析和识别,假设该ID所对应的CAN数据帧中数据段共有64个比特的数据,每一比特位统计获得一个翻转率,共得到64个翻转率。
步骤130:根据每一比特位的翻转率识别得到该ID对应的任一CAN数据帧所包括的各种信号的分布及类型。
每一比特位的翻转率可以反映该比特位的数据的变化情况,根据每一比特位的翻转率可以识别出该ID对应的任一CAN数据帧所包括的各种信号的分布及类型。此处得到的各种信号的分布及类型是通用于此ID对应的任一CAN数据帧,而非特指某一CAN数据帧。
请参照图3,步骤130具体包括如下步骤:
步骤131:根据每一比特位的翻转率识别出该ID对应的任一CAN数据帧的信号边界,该信号边界包括CAN数据帧所包括的每段信号的起始比特位和结束比特位。
在步骤131中,根据每相邻两个比特位之间的翻转率的大小关系,识别出该ID对应的任一CAN数据帧的信号边界。该信号边界包括每段信号的起始边界和结束边界,即起始比特位和结束比特位,从起始比特位至结束比特位是一段信号。
可以理解,在CAN数据帧的数据段中携带有至少一个信号,这些信号可能表示的是计数器数值,也可能表示一些物理值,如车速、发动机转速等,这些信号中的数据值应当符合低位变化频繁、而越到高位变化越不频繁的规律,具体表现为一段信号的低位比特位的翻转率大、高位比特位的翻转率小,所以,通过比较相邻两个比特位的翻转率的大小关系可识别出信号边界。若较低位比特位的翻转率小于较高位比特位的翻转率的预设倍数,则确定该较高位比特位为上一段信号的边界,为上一段信号的结束比特位,确定该较低位比特位为下一段信号的边界,为下一段信号的起始比特位。预设倍数可以根据经验值确定。
步骤132:根据信号边界提取每段信号所对应的各个比特位的翻转率。
在划分出信号边界后,可提取出每段信号所对应的各个比特位的翻转率,然后,分别针对每段信号中各个比特位的翻转率识别该段信号对应的信号类型。
步骤133:根据每段信号所对应的各个比特位的翻转率识别出对应的信号类型。
根据步骤132提取的每段信号所对应的各个比特位的翻转率判断每段信号的信号类型。在具体的实施例中,本申请将CAN数据帧中的各个信号归类为以下四种类型:
(1)计数器信号:在CAN消息中包含计数器信号,此类型的信号随着此ID的CAN数据帧发送依次递增,接收ECU可以通过计数器信号判断所收到的CAN消息的顺序是否正确,能够有效防止重放攻击。此类信号的翻转率具有如下特征:a、最低位比特位的翻转率接近于1;b、相邻两个比特位的翻转率,较低位比特位的翻转率是较高位比特位的翻转率的两倍左右。
(2)物理信号:假若某段信号中的某个比特位发生了翻转,且翻转规律不符合计数器信号对应的翻转规律,那么该段信号可能为携带有属性信息的物理信号(比如车速信息、车门状态信息、车窗状态信息、发动机速度信息等)。
(3)未定义信号:CAN数据帧的数据段中包含一些比特位,这些比特位在DBC文件规范中没有对其进行定义,也就意味着这些比特位不传输任何信号值,所以这些比特位的数据都为0且不会发生翻转。
(4)常量信号:CAN数据帧的数据段中包含一些比特位,这些比特位虽然没有发生翻转,但是却表示的是一个常量信号值,此类型的信号与未定义信号在比特位的翻转率上都是为0,但是常量信号中某些比特位的数据为1,而未定义信号中所有比特位的数据都为0。
根据上述对各种信号的翻转率规律分析,步骤133中根据每段信号对应的翻转率识别信号类型的步骤具体包括:
(1)在检测到该段信号所对应的各个比特位的翻转率中,最低位比特位的翻转率为1且任意两个相邻比特位的翻转率中的较低位比特位的翻转率为较高位比特位的翻转率的两倍时,确定该段信号的信号类型为计数器信号。
例如,若某段信号共有四个比特位,四个比特位的翻转率依次是0.125、0.25、0.5、1,满足最低位比特位的翻转率为1且任意两个相邻比特位的翻转率中的较低位比特位的翻转率为较高位比特位的翻转率的两倍,该段信号为计数器信号。
需要说明的是,由于翻转率的值与多个CAN数据帧的数量有关,因此,计算得出的翻转率的值可能不一定是精准的0.125、0.25、0.5,如CAN数据帧的数量为奇数,那么得出的数值可能是0.1255、0.255、0.55,所以,在执行上述步骤时,若较低位比特位的翻转率是较高位比特位的翻转率的两倍左右,如任意两个相邻比特位的翻转率中的较低位比特位的翻转率与较高位比特位的翻转率的比值在[1.9-2.1]的范围内,均视为满足较低位比特位的翻转率是较高位比特位的翻转率的两倍的判定条件。
(2)在检测到该段信号所对应的各个比特位的翻转率不全为0,且该段信号非计数器信号时,确定该段信号的信号类型为携带有属性信息的物理信号。
例如,车速信号中的某些比特位会发生翻转变化,但是该种变化并不会像计数器信号一样依次递加,车速可能快速从50km/h变为20km/h。如果,某段信号内有比特位出现了翻转,且该段信号又不是计数器信号,则确定该段信号为物理信号。
(3)在检测到该段信号所对应的各个比特位的翻转率全为0,且该多个CAN数据帧中的该各个比特位的数据中没有1时,确定该段信号的信号类型为未定义信号。
例如,若某段信号共有四个比特位,四个比特位的翻转率依次是0、0、0、0,且该多个CAN数据帧中这四个比特位的数据中均没有1,则确定该段信号为未定义信号。
(4)在检测到该段信号所对应的各个比特位的翻转率全为0,且该多个CAN数据帧中的该各个比特位的数据中有1时,确定该段信号的信号类型为常量信号。
例如,若某段信号共有四个比特位,四个比特位的翻转率依次是0、0、0、0,且该多个CAN数据帧中这四个比特位的数据中有1,则确定该段信号为常量信号。
在上述提供的实施方式中,各种类型信号的识别是独立的。当然,也可以不是独立的。
在一种实施例中,请参照图4,在执行步骤133时,在识别某段信号的信号类型时,顺次执行如下的步骤:
步骤210:判断该段信号所对应的各个比特位的翻转率是否全为0;若是,跳转至步骤220,若不是,跳转至步骤250;
步骤220:判断所获取的多个CAN数据帧中的该各个比特位的数据中是否有1;若有,跳转至步骤230;若没有,跳转至步骤240;
步骤230:确定该段信号的信号类型为常量信号;
步骤240:确定该段信号的信号类型为未定义信号;
步骤250:判断该段信号所对应的各个比特位的翻转率中,最低位比特位的翻转率是否为1且任意两个相邻比特位的翻转率中的较低位比特位的翻转率是否为较高位比特位的翻转率的两倍,若是,跳转至步骤260,否则,跳转至步骤270;
步骤260:确定该段信号的信号类型为计数器信号;
步骤270:确定该段信号的信号类型为物理信号。
当然,上述步骤210-270仅是其中一种具体实施方式,实际应用场景中,还可以将各种判断步骤进行组合以识别出某段信号属于上述四种信号类型中的哪一种。
在一种具体的实施场景下,本实施例提供的信号识别方法通过如下方式实施:
首先,读取CAN数据文件。
然后,解析CAN数据文件,筛选出CAN数据文件中所包含的不同的CAN ID的CAN数据帧并以列表的方式保存。
然后,遍历上述列表,分别获取每一ID对应的连续多个CAN数据帧,并执行步骤120-130,得到在每一ID所定义的帧结构规范中,所包括的各种信号的分布及类型。
在步骤120-130中,在识别出信号边界后,可得到各段信号的分布,进一步的,根据每段信号内各个比特位的翻转率识别出每段信号的信号类型,如得到的结果为:在ID=1的帧结构规范中,第1比特至第4比特为计数器信号、第5比特至第23比特为未定义信号、第24比特至第25比特为车速信号、第26比特至第30比特为常量信号……
不同ID的帧结构规范所定义的信号边界和信号类型可能不同,所以,对于不同ID的CAN数据帧,需分别进行识别。
最后,将每一ID的帧结构规范所定义的各种信号的分布及类型进行输出。
可以理解,在输出信号识别结果之后,可由工作人员进行人工判别,判断输出的各种信号的分布及类型是否正确,其次,对于识别出的物理信号,可以通过人工干预进一步归类该物理信号属于哪种物理信号,如属于车速信号、车门状态信号、车窗状态信号……中的哪一种。
综上所述,本申请实施例提供的CAN数据帧的信号识别方法,通过统计同一ID的多个CAN数据帧中每个比特位的翻转率,根据每个比特位的翻转率自动识别信号边界,并基于信号边界对每段信号的类型进行归类,有利于CAN信号逆向的研究。与现有技术相比,通过算法替代人工肉眼观察,比肉眼观察要更准确、更快,极大缩短了CAN信号逆向过程的时间,逆向的准确率也有很大的提升,并且,不需要用户具备CAN规范知识储备。
基于同一发明构思,本申请实施例提供一种CAN数据帧的信号识别装置,请参照图5,该装置包括:
获取模块310,用于获取对应于同一ID的连续多个CAN数据帧;
翻转率统计模块320,用于根据所述多个CAN数据帧统计每一比特位的翻转率;其中,所述翻转率表示所述比特位的数据在所述多个CAN数据帧中的翻转次数与所述多个CAN数据帧的数量的比值,所述比特位的数据在相邻两个CAN数据帧中出现一次变化记为一次翻转;
信号识别模块330,用于根据每一比特位的翻转率识别得到所述ID对应的任一CAN数据帧所包括的各种信号的分布及类型。
可选的,信号识别模块330包括:
边界识别模块,用于根据每一比特位的翻转率识别出所述ID对应的任一CAN数据帧的信号边界,所述信号边界包括所述CAN数据帧所包括的每段信号的起始比特位和结束比特位;
翻转率提取模块,用于根据所述信号边界提取每段信号所对应的各个比特位的翻转率;
类型识别模块,用于根据每段信号所对应的各个比特位的翻转率识别出对应的信号类型。
可选的,边界识别模块具体用于根据每相邻两个比特位之间的翻转率的大小关系,识别出所述ID对应的任一CAN数据帧的信号边界。
可选的,类型识别模块具体用于:在检测到该段信号所对应的各个比特位的翻转率中,最低位比特位的翻转率为1且任意两个相邻比特位的翻转率中的较低位比特位的翻转率为较高位比特位的翻转率的两倍时,确定该段信号的信号类型为计数器信号。
可选的,类型识别模块具体用于:在检测到该段信号所对应的各个比特位的翻转率不全为0,且该段信号非计数器信号时,确定该段信号的信号类型为携带有属性信息的物理信号。
可选的,类型识别模块具体用于:在检测到该段信号所对应的各个比特位的翻转率全为0,且所述多个CAN数据帧中的所述各个比特位的数据中没有1时,确定该段信号的信号类型为未定义信号。
可选的,类型识别模块具体用于:在检测到该段信号所对应的各个比特位的翻转率全为0,且所述多个CAN数据帧中的所述各个比特位的数据中有1时,确定该段信号的信号类型为常量信号。
本申请实施例提供的CAN数据帧的信号识别装置,其实现原理及产生的技术效果在前述方法实施例中已经介绍,为简要描述,装置实施例部分未提及之处,可参考方法实施例中的相应内容。
图6示出了本申请实施例提供的电子设备400的一种可能的结构。参照图6,电子设备400包括:处理器410、存储器420以及通信接口430,这些组件通过通信总线440和/或其他形式的连接机构(未示出)互连并相互通讯。
其中,存储器420包括一个或多个(图中仅示出一个),其可以是,但不限于,随机存取存储器(Random AccessMemory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),电可擦除可编程只读存储器(Electric Erasable Programmable Read-Only Memory,简称EEPROM)等。处理器410以及其他可能的组件可对存储器420进行访问,读和/或写其中的数据。
处理器410包括一个或多个(图中仅示出一个),其可以是一种集成电路芯片,具有信号的处理能力。上述的处理器410可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、微控制单元(Micro Controller Unit,简称MCU)、网络处理器(NetworkProcessor,简称NP)或者其他常规处理器;还可以是专用处理器,包括图形处理器(Graphics Processing Unit,GPU)、数字信号处理器(DigitalSignalProcessor,简称DSP)、专用集成电路(Application Specific Integrated Circuits,简称ASIC)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。并且,在处理器410为多个时,其中的一部分可以是通用处理器,另一部分可以是专用处理器。
通信接口430包括一个或多个(图中仅示出一个),可以用于和其他设备进行直接或间接地通信,以便进行数据的交互,例如,获取CAN数据文件或者获取对应于同一ID的连续多个CAN数据帧。通信接口430可以包括进行有线和/或无线通信的接口。
在存储器420中可以存储一个或多个计算机程序指令,处理器410可以读取并运行这些计算机程序指令,以实现本申请实施例提供的CAN数据帧的信号识别方法以及其他期望的功能。
可以理解,图6所示的结构仅为示意,电子设备400还可以包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。图6中所示的各组件可以采用硬件、软件或其组合实现。电子设备400可能是实体设备,例如PC机、笔记本电脑、平板电脑、手机、服务器、嵌入式设备等,也可能是虚拟设备,例如虚拟机、虚拟化容器等。并且,电子设备400也不限于单台设备,也可以是多台设备的组合或者大量设备构成的集群。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被计算机的处理器读取并运行时,执行本申请实施例提供的CAN数据帧的信号识别方法。例如,计算机可读存储介质可以实现为图6中电子设备400中的存储器420。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (6)
1.一种CAN数据帧的信号识别方法,其特征在于,包括:
获取对应于同一ID的连续多个CAN数据帧;
根据所述多个CAN数据帧统计每一比特位的翻转率;其中,所述翻转率表示所述比特位的数据在所述多个CAN数据帧中的翻转次数与所述多个CAN数据帧的数量的比值,所述比特位的数据在相邻两个CAN数据帧中出现一次变化记为一次翻转;
根据每一比特位的翻转率识别得到所述ID对应的任一CAN数据帧所包括的各种信号的分布及类型;
所述根据每一比特位的翻转率识别得到所述ID对应的任一CAN数据帧所包括的各种信号的分布及类型,包括:
在检测到该段信号所对应的各个比特位的翻转率中,最低位比特位的翻转率为1且任意两个相邻比特位的翻转率中的较低位比特位的翻转率为较高位比特位的翻转率的两倍时,确定该段信号的信号类型为计数器信号;
在检测到该段信号所对应的各个比特位的翻转率不全为0,且该段信号非计数器信号时,确定该段信号的信号类型为携带有属性信息的物理信号;
在检测到该段信号所对应的各个比特位的翻转率全为0,且所述多个CAN数据帧中的所述各个比特位的数据中没有1时,确定该段信号的信号类型为未定义信号;
在检测到该段信号所对应的各个比特位的翻转率全为0,且所述多个CAN数据帧中的所述各个比特位的数据中有1时,确定该段信号的信号类型为常量信号。
2.根据权利要求1所述的方法,其特征在于,所述根据每一比特位的翻转率识别得到所述ID对应的任一CAN数据帧所包括的各种信号的分布及类型,包括:
根据每一比特位的翻转率识别出所述ID对应的任一CAN数据帧的信号边界,所述信号边界包括所述CAN数据帧所包括的每段信号的起始比特位和结束比特位;
根据所述信号边界提取每段信号所对应的各个比特位的翻转率;
根据每段信号所对应的各个比特位的翻转率识别出对应的信号类型。
3.根据权利要求2所述的方法,其特征在于,所述根据每一比特位的翻转率识别出所述ID对应的任一CAN数据帧的信号边界,包括:
根据每相邻两个比特位之间的翻转率的大小关系,识别出所述ID对应的任一CAN数据帧的信号边界。
4.一种CAN数据帧的信号识别装置,其特征在于,包括:
获取模块,用于获取对应于同一ID的连续多个CAN数据帧;
翻转率统计模块,用于根据所述多个CAN数据帧统计每一比特位的翻转率;其中,所述翻转率表示所述比特位的数据在所述多个CAN数据帧中的翻转次数与所述多个CAN数据帧的数量的比值,所述比特位的数据在相邻两个CAN数据帧中出现一次变化记为一次翻转;
信号识别模块,用于根据每一比特位的翻转率识别得到所述ID对应的任一CAN数据帧所包括的各种信号的分布及类型;
所述信号识别模块还用于:
在检测到该段信号所对应的各个比特位的翻转率中,最低位比特位的翻转率为1且任意两个相邻比特位的翻转率中的较低位比特位的翻转率为较高位比特位的翻转率的两倍时,确定该段信号的信号类型为计数器信号;
在检测到该段信号所对应的各个比特位的翻转率不全为0,且该段信号非计数器信号时,确定该段信号的信号类型为携带有属性信息的物理信号;
在检测到该段信号所对应的各个比特位的翻转率全为0,且所述多个CAN数据帧中的所述各个比特位的数据中没有1时,确定该段信号的信号类型为未定义信号;
在检测到该段信号所对应的各个比特位的翻转率全为0,且所述多个CAN数据帧中的所述各个比特位的数据中有1时,确定该段信号的信号类型为常量信号。
5.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-3任一项所述的方法。
6.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储器之间通过所述总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1-3任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011257801.8A CN112436989B (zh) | 2020-11-11 | 2020-11-11 | 一种can数据帧的信号识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011257801.8A CN112436989B (zh) | 2020-11-11 | 2020-11-11 | 一种can数据帧的信号识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112436989A CN112436989A (zh) | 2021-03-02 |
CN112436989B true CN112436989B (zh) | 2021-12-14 |
Family
ID=74699849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011257801.8A Active CN112436989B (zh) | 2020-11-11 | 2020-11-11 | 一种can数据帧的信号识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112436989B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1964250A (zh) * | 2006-11-23 | 2007-05-16 | 华为技术有限公司 | 一种数据帧类型的识别方法及装置 |
CN103229444A (zh) * | 2012-12-28 | 2013-07-31 | 华为技术有限公司 | 编码/解码方法、装置及系统 |
WO2016151353A1 (en) * | 2015-03-26 | 2016-09-29 | Continental Teves Ag & Co. Ohg | Method for transmitting messages in a data bus system, transceiver and electronic control unit for a motor vehicle |
CN111835611A (zh) * | 2020-07-08 | 2020-10-27 | 北京软安科技有限公司 | 一种车辆can总线数据解析方法及装置 |
CN111865744A (zh) * | 2020-07-08 | 2020-10-30 | 北京软安科技有限公司 | 一种车辆can总线数据分类方法及装置 |
CN111880983A (zh) * | 2020-08-04 | 2020-11-03 | 北京天融信网络安全技术有限公司 | 一种can总线异常检测方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104393966B (zh) * | 2014-10-10 | 2017-12-12 | 宁波三星智能电气有限公司 | 一种can总线通信方法 |
CN104460429B (zh) * | 2014-11-04 | 2017-07-21 | 盛瑞传动股份有限公司 | Can信号的解析方法和装置 |
CN106569047B (zh) * | 2015-10-09 | 2019-04-30 | 惠州市德赛西威汽车电子股份有限公司 | 一种车载can总线的分析装置及方法 |
US10491418B2 (en) * | 2016-12-05 | 2019-11-26 | Electronics And Telecommunications Research Institute | Can controller and data transmission method using the same |
CN110333976B (zh) * | 2019-06-26 | 2022-08-23 | 中国第一汽车股份有限公司 | 一种电子控制器测试系统及方法 |
CN110768882B (zh) * | 2019-11-07 | 2022-07-12 | 青岛合启立智能科技有限公司 | 一种数据监控方法、系统、监听设备及车辆 |
-
2020
- 2020-11-11 CN CN202011257801.8A patent/CN112436989B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1964250A (zh) * | 2006-11-23 | 2007-05-16 | 华为技术有限公司 | 一种数据帧类型的识别方法及装置 |
CN103229444A (zh) * | 2012-12-28 | 2013-07-31 | 华为技术有限公司 | 编码/解码方法、装置及系统 |
WO2016151353A1 (en) * | 2015-03-26 | 2016-09-29 | Continental Teves Ag & Co. Ohg | Method for transmitting messages in a data bus system, transceiver and electronic control unit for a motor vehicle |
CN111835611A (zh) * | 2020-07-08 | 2020-10-27 | 北京软安科技有限公司 | 一种车辆can总线数据解析方法及装置 |
CN111865744A (zh) * | 2020-07-08 | 2020-10-30 | 北京软安科技有限公司 | 一种车辆can总线数据分类方法及装置 |
CN111880983A (zh) * | 2020-08-04 | 2020-11-03 | 北京天融信网络安全技术有限公司 | 一种can总线异常检测方法及装置 |
Non-Patent Citations (2)
Title |
---|
READ: Reverse Engineering of Automotive Data Frames;Mirco Marchetti and Dario Stabili;《IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY》;20180917;1083-1097 * |
车辆CAN总线信号逆向解析方法研究;樊金娜;《2020中国汽车工程学会年会论文集》;20201027;1995-2000 * |
Also Published As
Publication number | Publication date |
---|---|
CN112436989A (zh) | 2021-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109634801B (zh) | 数据趋势分析方法、系统、计算机装置及可读存储介质 | |
US10275407B2 (en) | Apparatus and method for executing an automated analysis of data, in particular social media data, for product failure detection | |
CN111880983B (zh) | 一种can总线异常检测方法及装置 | |
CN108460346B (zh) | 指纹识别方法及装置 | |
CN112558584B (zh) | 诊断数据获取方法、装置及诊断设备 | |
CN112434260A (zh) | 一种公路的交通状态检测方法、装置、存储介质及终端 | |
CN112434238A (zh) | 网页质量检测方法、装置、电子设备及存储介质 | |
CN114662618A (zh) | 一种基于联邦学习的故障诊断方法、装置及相关设备 | |
CN112383554A (zh) | 接口流量异常检测方法、装置、终端设备及存储介质 | |
CN114172686B (zh) | 车载can总线报文入侵检测方法、相关设备及计算机存储介质 | |
CN115221218A (zh) | 车辆数据的质量评估方法、装置、计算机设备和存储介质 | |
CN112436989B (zh) | 一种can数据帧的信号识别方法及装置 | |
CN111866017B (zh) | 一种can总线帧间隔异常的检测方法及装置 | |
CN113612567A (zh) | 设备多传感器采集数据的对齐方法、装置和电子设备 | |
CN117591860A (zh) | 一种数据异常检测方法及装置 | |
CN111159009A (zh) | 一种日志服务系统的压力测试方法及装置 | |
US20220286858A1 (en) | Determination device, moving object, determination method, and computer-readable storage medium | |
CN110782114B (zh) | 驾驶行为挖掘方法、装置、电子设备及存储介质 | |
CN115278757A (zh) | 一种检测异常数据的方法、装置及电子设备 | |
CN112858725B (zh) | 一种车速一致性检测方法、终端设备及存储介质 | |
CN115220624A (zh) | 链路的高亮显示方法、装置、设备及计算机可读存储介质 | |
CN111860661A (zh) | 基于用户行为的数据分析方法、装置、电子设备及介质 | |
CN110991939A (zh) | 车辆的机油性能评价方法、装置及电子设备 | |
CN118094450B (zh) | 一种故障预警方法及相关设备 | |
CN116186019B (zh) | 应用于民机航电系统下的功能一体化智能分析方法及装置 |
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 |