CN117033855A - 滤波掩码生成方法、装置、电子设备及存储介质 - Google Patents

滤波掩码生成方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN117033855A
CN117033855A CN202311024530.5A CN202311024530A CN117033855A CN 117033855 A CN117033855 A CN 117033855A CN 202311024530 A CN202311024530 A CN 202311024530A CN 117033855 A CN117033855 A CN 117033855A
Authority
CN
China
Prior art keywords
frame
filter
group
target
ids
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
CN202311024530.5A
Other languages
English (en)
Inventor
应素云
巫冠群
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.)
Beijing Automotive Research Institute Co Ltd
Original Assignee
Beijing Automotive Research Institute Co Ltd
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 Beijing Automotive Research Institute Co Ltd filed Critical Beijing Automotive Research Institute Co Ltd
Priority to CN202311024530.5A priority Critical patent/CN117033855A/zh
Publication of CN117033855A publication Critical patent/CN117033855A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种滤波掩码生成方法、装置、电子设备及存储介质。方法包括:获取目标CAN节点对应的多个帧ID和第一目标滤波组数量;在多个帧ID类型相同的情况下,基于多个帧ID的位数据的关系,将多个帧ID划分至第一目标滤波组数量的多个滤波组中;针对每个滤波组,基于滤波组中的至少一个帧ID的位数据确定滤波组对应的滤波掩码,以作为滤波组中每个帧ID的滤波掩码。由此,通过对目标CAN节点对应的多个帧ID进行分组得到多个滤波组,并根据每个滤波组中帧ID的位数据自动地确定滤波组中每个帧ID对应的滤波掩码,且在需求发生变更时,可根据需求实时地计算更新后的帧ID对应的滤波掩码,提升了滤波掩码的计算效率和准确性。

Description

滤波掩码生成方法、装置、电子设备及存储介质
技术领域
本发明涉及汽车通信技术领域,尤其涉及一种滤波掩码生成方法、装置、电子设备及存储介质。
背景技术
随着汽车电动化与智能化趋势的不断发展,CAN总线也逐渐成为汽车上使用范围广且技术成熟的一种总线。CAN总线的帧数据在总线上传送时,其它的总线控制器通过接收滤波来决定总线上的帧数据的ID是否和本节点相吻合,并在吻合的情况下将传送的帧数据存入总线控制器的相应寄存器内,否则就抛弃传送的帧数据,以减轻总线控制器的工作量。
相关技术中,底层开发人员在收到CAN通信矩阵时,将根据该CAN通信矩阵中的帧ID人工计算滤波掩码,从而耗费巨大的工作量,且容易出错。
需要说明的是,本背景技术部分中公开的信息仅用于理解本申请构思的背景技术,并且因此,它可以包含不构成现有技术的信息。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的目的在于提出一种滤波掩码生成方法、装置、电子设备及存储介质,通过对目标CAN节点对应的多个帧ID进行分组得到多个滤波组,并根据每个滤波组中帧ID的位数据自动地确定滤波组中每个帧ID对应的滤波掩码,且在需求发生变更时,可根据需求实时地计算更新后的帧ID对应的滤波掩码,提升了滤波掩码的计算效率和准确性。
为达上述目的,本发明第一方面实施例提出一种滤波掩码生成方法,方法包括:获取目标CAN节点对应的多个帧ID和第一目标滤波组数量;在多个帧ID类型相同的情况下,基于多个帧ID的位数据的关系,将多个帧ID划分至第一目标滤波组数量的多个滤波组中;针对每个滤波组,基于滤波组中的至少一个帧ID的位数据确定滤波组对应的滤波掩码,以作为滤波组中每个帧ID的滤波掩码。
根据本发明实施例的滤波掩码生成方法,通过对目标CAN节点对应的多个帧ID进行分组得到多个滤波组,并根据每个滤波组中帧ID的位数据自动地确定滤波组中每个帧ID对应的滤波掩码,且在需求发生变更时,可根据需求实时地计算更新后的帧ID对应的滤波掩码,提升了滤波掩码的计算效率和准确性。
在本发明的一些实施例中,滤波掩码生成方法还包括:在多个帧ID类型不同的情况下,将多个帧ID进行分组得到第一帧ID组和第二帧ID组,其中,两个帧ID组中的一个为标准帧ID组,另一个为扩展帧ID组;基于第一目标滤波组数量、第一帧ID组的帧ID数量和第二帧ID组的帧ID数量,确定每个帧ID组对应的第二目标滤波组数量;针对每个帧ID组,基于帧ID组中的多个帧ID的位数据的关系,将帧ID组中的多个帧ID划分至对应的第二目标滤波组数量的多个滤波组中。
在本发明的一些实施例中,基于第一目标滤波组数量、第一帧ID组的帧ID数量和第二帧ID组的帧ID数量,确定每个帧ID组对应的第二目标滤波组数量,包括:获取第一帧ID组的帧ID数量与第二帧ID组的帧ID数量的比例关系;基于比例关系和第一目标滤波组数量,确定每个帧ID组对应的第二目标滤波组数量。
在本发明的一些实施例中,基于多个帧ID的位数据的关系,将多个帧ID划分至第一目标滤波组数量的多个滤波组中,包括:按照数据位从低位至高位的顺序,先将最低位对应的位数据相同的帧ID划分至同一滤波组,并在同一滤波组内,将下一位对应的位数据相同的帧ID划分至同一滤波组,如此循环,直至划分的滤波组数量达到第一目标滤波组数量。
在本发明的一些实施例中,滤波掩码生成方法还包括:依次为每个滤波组分配滤波组号,以作为滤波组中每个帧ID的滤波组号。
在本发明的一些实施例中,基于滤波组中的至少一个帧ID的位数据确定滤波组对应的滤波掩码,包括:对至少一个帧ID进行异或取反计算,得到滤波组对应的滤波掩码。
在本发明的一些实施例中,滤波掩码生成方法还包括:获取预设文件,预设文件包括CAN节点和CAN节点对应的帧ID;从预设文件中获取目标CAN节点对应的多个帧ID;将滤波组中每个帧ID的滤波掩码和滤波组号存储至预设文件。
在本发明的一些实施例中,当预设文件的格式为excel时,将滤波组中每个帧ID的滤波掩码和滤波组号存储至预设文件,包括:基于每个帧ID在excel格式的预设文件中的行号以及滤波掩码和滤波组号在excel格式的预设文件中的列号,将每个帧ID的滤波掩码和滤波组号存储至excel格式的预设文件;其中,行号和列号是在从预设文件中获取目标CAN节点对应的多个帧ID时获取得到。
在本发明的一些实施例中,当预设文件的格式为Arxml时,将滤波组中每个帧ID的滤波掩码和滤波组号存储至预设文件,包括:基于帧ID以及滤波掩码和滤波组号的元素位置,将每个帧ID的滤波掩码和滤波组号存储至Arxml格式的预设文件。
为达上述目的,本发明第二方面实施例提出了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述任一实施例的滤波掩码生成方法。
根据本发明实施例的计算机可读存储介质,基于前述的滤波掩码生成方法,通过对目标CAN节点对应的多个帧ID进行分组得到多个滤波组,并根据每个滤波组中帧ID的位数据自动地确定滤波组中每个帧ID对应的滤波掩码,且在需求发生变更时,可根据需求实时地计算更新后的帧ID对应的滤波掩码,提升了滤波掩码的计算效率和准确性。
为达上述目的,本发明第三方面实施例提出了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时,实现上述任一实施例的滤波掩码生成方法。
根据本发明实施例的电子设备,基于前述的滤波掩码生成方法,通过对目标CAN节点对应的多个帧ID进行分组得到多个滤波组,并根据每个滤波组中帧ID的位数据自动地确定滤波组中每个帧ID对应的滤波掩码,且在需求发生变更时,可根据需求实时地计算更新后的帧ID对应的滤波掩码,提升了滤波掩码的计算效率和准确性。
为达上述目的,本发明第四方面实施例提出了一种滤波掩码生成装置,该装置包括:获取模块,用于获取目标CAN节点对应的多个帧ID和第一目标滤波组数量;分组模块,用于在多个帧ID类型相同的情况下,基于多个帧ID的位数据的关系,将多个帧ID划分至第一目标滤波组数量的多个滤波组中;计算模块,用于针对每个滤波组,基于滤波组中的至少一个帧ID的位数据确定滤波组对应的滤波掩码,以作为滤波组中每个帧ID的滤波掩码。
根据本发明实施例的滤波掩码生成装置,通过分组模块对目标CAN节点对应的多个帧ID进行分组得到多个滤波组,并通过计算模块根据每个滤波组中帧ID的位数据自动地确定滤波组中每个帧ID对应的滤波掩码,且在需求发生变更时,可根据需求实时地计算更新后的帧ID对应的滤波掩码,提升了滤波掩码的计算效率和准确性。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本申请的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明一个实施例的滤波掩码生成方法的流程示意图。
图2是根据本发明另一个实施例的滤波掩码生成方法的流程示意图。
图3是根据本发明又一个实施例的滤波掩码生成方法的流程示意图。
图4是根据本发明再一个实施例的滤波掩码生成方法的流程示意图。
图5是根据本发明一个实施例的电子设备的结构框图。
图6是根据本发明一个实施例的滤波掩码生成装置的结构框图。
具体实施方式
下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
需要说明的是,CAN通信矩阵通常由整车厂完成定义,车辆网络中的各个节点需要遵循该通信矩阵才能完成信息的交互和共享。CAN通信矩阵包含CAN节点的帧ID,并以文本文件(如excel、word)和Arxml(一种XML格式文件)文件的形式释放给底层驱动开发人员和基础软件模块配置开发人员。
一方面,底层驱动开发人员收到CAN通信矩阵后,需要根据通信矩阵中的帧ID人工计算滤波掩码,并在调试CAN通信时,将计算得到的滤波掩码写入至对应的寄存器。但是,人工计算滤波掩码将耗费巨大的工作量,且容易出错。
另一方面,基础软件模块配置开发人员在配置基础软件模块时,需要获取CAN节点的帧ID、滤波掩码和滤波组号等信息,用于配置CAN模块和Canlf(一种支持Canlf协议的硬件或软件模块)模块的参数。若因需求发生变更而修改帧ID,则需要手动修改CAN模块和Canlf模块中的帧ID、滤波掩码和滤波组号等信息,需要耗费巨大的工作量。
也就是说,通过人工计算滤波掩码和人工修改CAN模块和Canlf模块中的帧ID、滤波掩码和滤波组号等信息需要耗费巨大的工作量且容易出错。
基于此,本发明实施例提供了一种滤波掩码生成方法、装置、电子设备及存储介质,通过对目标CAN节点对应的多个帧ID进行分组得到多个滤波组,并根据每个滤波组中帧ID的位数据自动地确定滤波组中每个帧ID对应的滤波掩码,且在需求发生变更时,可根据需求实时地计算更新后的帧ID对应的滤波掩码,提升了滤波掩码的计算效率和准确性。
下面结合附图详细描述本发明实施例的滤波掩码生成方法、装置、电子设备及存储介质。
图1是根据本发明一个实施例的滤波掩码生成方法的流程示意图。
如图1所示,滤波掩码生成方法可包括:
S11:获取目标CAN节点对应的多个帧ID和第一目标滤波组数量。
具体来说,由于CAN通信矩阵包含多个CAN节点的报文信息,因此需要根据需求部署的电子控制单元选择CAN模块支持的目标CAN节点,目标CAN节点为CAN总线通信中,接收信息的特定节点或设备。
在CAN总线通信中,一个目标CAN节点通常需要接收多个CAN消息,不同的CAN消息对应不同的帧ID,因此一个目标CAN节点对应有多个帧ID,并且需要使用多个滤波组来过滤这些帧ID。第一目标滤波组数量是预先分配的,具体数量根据需求进行调整。
CAN通信矩阵包含CAN节点和对应的多个帧ID,通过对CAN通信矩阵进行解析得到目标CAN节点和与其对应的多个帧ID。例如,通过Eclipse软件(一款开源的集成开发环境)的XSSFWorkbook接口获取CAN通信矩阵所在的文件,并通过FileInputStream数据流接口解析CAN通信矩阵,所采用的计算机语言为JAVA语言。
S12:在多个帧ID类型相同的情况下,基于多个帧ID的位数据的关系,将多个帧ID划分至第一目标滤波组数量的多个滤波组中。
具体来说,帧ID作为CAN帧的标识符,帧ID类型包括标准帧ID和扩展帧ID,其中,标准帧ID由11位二进制数组成,用于标识数据长度小于等于8字节的数据帧,扩展帧ID由29位二进制数组成,用于标识数据长度大于8字节的数据帧。在CAN总线通信中,目标CAN节点可以发送和接收多个不同的CAN帧,每个CAN帧对应唯一的帧ID,目标CAN节点通过识别其中的帧ID以区分不同的CAN帧,从而实现数据的交互和通信。
示例性的,获取的目标CAN节点对应的多个帧ID有125个,获取的第一目标滤波组数量为32组,根据帧ID类型确定该125个帧ID均为标准帧ID,其中,每个标准帧ID的位数据有bit0、bit1、bit2、bit3、bit4、bit5、bit6、bit7、bit8、bit9和bit10,每个数据位的位数据为0或1,通过比较每个标准帧ID中的11个数据位的位数据,对该125个标准帧ID进行分组,将其划分至第一目标滤波组数量的多个滤波组中。
S13:针对每个滤波组,基于滤波组中的至少一个帧ID的位数据确定滤波组对应的滤波掩码,以作为滤波组中每个帧ID的滤波掩码。
具体来说,滤波掩码是一个二进制数字,用于将CAN总线上的CAN消息与电子控制器单元的滤波器进行比较,以决定是否将该CAN消息传递至该电子控制器单元。在滤波组中的一个或多个帧ID的相同数据位的位数据相同时,表示需要对该位数据进行滤波,此时滤波掩码会将帧ID中该数据位的位数据置0;在滤波组中的一个或多个帧ID的相同数据位的位数据不完全相同时,表示需要忽略该位数据,此时滤波掩码会将帧ID中该数据位的位数据置1,因此可基于滤波组中的至少一个帧ID的位数据确定该滤波组对应的滤波掩码,并在调试CAN通信时将该滤波掩码写入对应的寄存器。
示例性的,根据具体芯片的性能选择CAN模块支持的目标CAN节点,如:目标CAN节点为BodyCan节点,并获取该BodyCan节点对应的多个帧ID和第一目标滤波组数量,其中,第一目标滤波组数量配置为32,在多个帧ID均为标准帧时,基于标准帧ID的数据位的位数据将该多个帧ID进行滤波分组,得到32个滤波组,进而基于每个滤波组的至少一个帧ID的位数据确定该滤波组对应的滤波掩码,从而将该滤波掩码作为对应的滤波组中每个帧ID的滤波掩码,并在调试CAN通信时将该滤波掩码写入对应的寄存器。
上述实施例中,通过对目标CAN节点对应的多个帧ID进行分组得到多个滤波组,并根据每个滤波组中帧ID的位数据自动地确定滤波组中每个帧ID对应的滤波掩码,且在需求发生变更时,可根据需求实时地计算更新后的帧ID对应的滤波掩码,提升了滤波掩码的计算效率和准确性。
在一些实施例中,参照图2,滤波掩码生成方法还包括:
S21:在多个帧ID类型不同的情况下,将多个帧ID进行分组得到第一帧ID组和第二帧ID组,其中,两个帧ID组中的一个为标准帧ID组,另一个为扩展帧ID组。
示例性的,帧ID类型包括标准帧ID和扩展帧ID,通过对所获取的目标CAN节点对应的161个帧ID进行识别,根据该161个帧ID所属的类型,将其中的125个帧ID确定为第一帧ID组,如:标准帧ID组;将其中的36个帧ID确定为第二帧ID组扩展帧ID组,如:扩展帧ID组。
S22:基于第一目标滤波组数量、第一帧ID组的帧ID数量和第二帧ID组的帧ID数量,确定每个帧ID组对应的第二目标滤波组数量。
在一些实施例中,可获取第一帧ID组的帧ID数量与第二帧ID组的帧ID数量的比例关系,并基于该比例关系和第一目标滤波组数量,确定每个帧ID组对应的第二目标滤波组数量。其中,比例关系为第一帧ID组的帧ID数量与多个帧ID数量之间的比值,或第二帧ID组的帧ID数量与多个帧ID数量之间的比值。
示例性的,在第一目标滤波组数量为32、多个帧ID数量为161(125+36)、第一帧ID组的帧ID数量为125且第二帧ID组的帧ID数量为36时,根据比例关系:第一帧ID组的帧ID数量与多个帧ID数量之间的比值(125/161),结合第一目标滤波组数量,确定第一帧ID组对应的第二目标滤波组数量为32*(125/161),即第一帧ID组对应的第二目标滤波组数量为25;根据比例关系:第二帧ID组的帧ID数量与多个帧ID数量之间的比值(36/161),结合第一目标滤波组数量,确定第二帧ID组对应的第二目标滤波组数量为32*(36/161),即第二帧ID组对应的第二目标滤波组数量为7。
S23:针对每个帧ID组,基于帧ID组中的多个帧ID的位数据的关系,将帧ID组中的多个帧ID划分至对应的第二目标滤波组数量的多个滤波组中。
针对第一帧ID组,在第一帧ID组为标准帧ID时,每个标准帧ID包括11个数据位,数据位由bit0开始直至bit10,其数据位的位数据为0或1,基于多个帧ID的数据位的位数据是否相同,将多个帧ID划分至对应的第二目标滤波组数量的多个滤波组中。
针对第二帧ID组,在第二帧ID组为扩展帧ID时,每个扩展帧ID包括29个位数据,数据位由bit0开始直至bit28,其数据位的位数据为0或1,基于多个帧ID的数据位的位数据是否相同,将多个帧ID划分至对应的第二目标滤波组数量的多个滤波组中。
需要说明的是,在第一目标滤波组数量为1时,无需对帧ID进行滤波分组。
如此,根据帧ID的类型进行帧ID的分组,并根据帧ID的位数据将帧ID分别划分至相应的滤波组中,以便后续计算所划分的滤波组的滤波掩码。
在一些实施例中,基于多个帧ID的位数据的关系,将多个帧ID划分至第一目标滤波组数量的多个滤波组中,包括:按照数据位从低位至高位的顺序,先将最低位对应的位数据相同的帧ID划分至同一滤波组,并在同一滤波组内,将下一位对应的位数据相同的帧ID划分至同一滤波组,如此循环,直至划分的滤波组数量达到第一目标滤波组数量。
具体来说,标准帧ID的11个数据位从低位至高位的顺序依次排列为bit0、bit1、bit2、bit3、bit4、bit5、bit6、bit7、bit8、bit9和bit10,扩展帧ID有29个数据位,与标准帧采取相同的数据位排列方式。
以125个标准帧ID,第一目标滤波组数量32为例,每个标准帧ID的数据位为0或1,先确定每个标准帧ID最低位bit0对应的位数据,将bit0为0的标准帧ID划分为同一组A,将bit0为1的标准帧ID划分为同一组B;然后在组A中,确定每个标准帧ID的下一位bit1对应的位数据,将bit1为0的标准帧ID划分至同一组C,将bit1为1的标准帧ID划分至同一组D,并在组B中,确定每个标准帧ID的下一位bit1对应的位数据,将bit1为0的标准帧ID划分至同一组E,将bit1为1的标准帧ID划分至同一组F,此时获得了4个滤波组C、D、E、F,然后继续以此类推,直至划分的滤波组数量达到第一目标滤波组数量,即循环至划分的滤波组数量达到32,并对所划分的每个滤波组分配滤波组号,如:1、2、3和4等小于等于32的数值,以作为滤波组中每个帧ID的滤波组号。
同理,扩展帧ID的29个数据位也是按照数据位从低位至高位的顺序,先将最低位对应的位数据相同的帧ID划分至同一滤波组,并在同一滤波组内,将下一位对应的位数据相同的帧ID划分至同一滤波组,具体分类方式与上述标准帧ID的划分方式相同,在此不作赘述。
需要说明的是,在根据帧ID类型进行分组时,若标准帧ID和扩展帧ID同时存在,则采用与上述标准帧ID或扩展帧ID相同的方式进行划分,但循环过程中,以划分的滤波组数量达到每个帧ID组对应的第二目标滤波组数量为准,如:标准帧ID对应的第二目标滤波组数量为25,扩展帧ID对应的第二目标滤波组数量为7,在进行帧ID的划分时,标准帧ID划分的滤波组数量达到25,循环即可结束,此时,滤波组号为1~25,扩展帧ID划分的滤波组数量达到7,循环即可结束,此时,滤波组号为1~7。
如此,根据帧ID的位数据对帧ID进行滤波分组,保证了后续确定的滤波组对应的滤波掩码的代表性和准确性。
在一些实施例中,基于滤波组中的至少一个帧ID的位数据确定滤波组对应的滤波掩码,包括:对至少一个帧ID进行异或取反计算,得到滤波组对应的滤波掩码。
也就是说,在利用滤波掩码将帧ID的位数据置0或置1实现对帧ID的滤波时,通过对每个滤波组中的一个或多个帧ID的所有位数据进行异或取反计算,以得到滤波组对应的滤波掩码,在数据通信、存储和传输领域,通过异或取反操作,能够提供简单有效的错误检测和校验功能。
示例性的,有5个标准帧ID分别为0x2、0x102、0x62、0xA和0x2A,第一目标滤波组数量为2,首先将该5个标准帧ID进行滤波分组,具体操作为:将该5个标准帧ID转换为二进制形式,0x2的二进制表示为00000000010,0x102的二进制表示为00100000010,0x62的二进制表示为00001100010,0xA的二进制表示为00000001010,0x2A的二进制表示为00000101010,依次按照数据位从低位至高位的排列顺序进行滤波组的划分,上述5个标准帧ID的最低位对应的位数据bit0均为0,因此将其划分至同一滤波组,并在同一滤波组内继续划分,且上述5个标准帧ID的bit1和bit2均为10,因此该5个标准帧ID仍为同一滤波组,接着由于0xA和0x2A的bit3为1,0x2、0x102和0x62的bit3为0,因此将该5个标准帧划分为不同的2组,此时划分的滤波组数量达到第一目标滤波组,对该2组滤波组分配组号,第1滤波组为0x2、0x102和0x62,第2滤波组为0xA和0x2A。
进一步地,将第1滤波组中的3个标准帧ID 0x2、0x102和0x62的位数据进行异或,得到异或后的结果为00101100000,对该异或结果进行取反,得到取反后的结果为11010011111,其中,bit0为1、bit1为1、bit2为1、bit3为1、bit4为1、bit5为0、bit6为0、bit7为1、bit8为0、bit9为1、bit10为1,进一步将该2进制数转换为16进制数,即得到第1滤波组对应的滤波掩码为0x69F。
同理,将第2滤波组中的2个标准帧ID 0xA和0x2A的位数据进行异或,得到异或后的结果为00000100000,对该异或结果进行取反,得到取反后的结果为11111011111,其中,bit0为1、bit1为1、bit2为1、bit3为1、bit4为1、bit5为0、bit6为1、bit7为1、bit8为1、bit9为1、bit10为1,进一步将该2进制数转换为16进制数,即得到第2滤波组对应的滤波掩码为07DF。
如此,通过对帧ID的位数据进行异或取反计算,能够准确地计算得到滤波组对应的滤波掩码。
在一些实施例中,参照图3,滤波掩码生成方法还包括:
S31:获取预设文件,预设文件包括CAN节点和CAN节点对应的帧ID。
具体来说,预设文件为CAN通信矩阵文件,CAN通信矩阵文件包含了CAN节点、帧ID、滤波掩码和滤波组号等信息,CAN通信矩阵文件可为excel文件、word文件或Arxml文件等,不同的文件格式内部部署不同,处理方式也有所不同。
S32:从预设文件中获取目标CAN节点对应的多个帧ID。
预设文件中可能包含多个CAN节点的报文信息,按照需求部署的电子控制单元选择目标CAN节点,并从预设文件中获取与目标CAN节点对应的多个帧ID。
S33:将滤波组中每个帧ID的滤波掩码和滤波组号存储至预设文件。
在确定出滤波组的滤波掩码后,将该滤波掩码作为滤波组中每个帧ID的滤波掩码,将其存储至预设文件,并将该滤波组对应的滤波组号存储至预设文件中,以对预设文件进行更新。
如此,通过对预设文件进行解析得到目标CAN节点和与其对应的多个帧ID,并对多个帧ID进行滤波分组计算帧ID的滤波掩码和滤波组号,自动地将滤波掩码和滤波组号信息更新到预设文件中,提升了信息更新的效率,且避免了信息不同步的问题。
在一些实施例中,当预设文件的格式为excel时,将滤波组中每个帧ID的滤波掩码和滤波组号存储至预设文件,包括:基于每个帧ID在excel格式的预设文件中的行号以及滤波掩码和滤波组号在excel格式的预设文件中的列号,将每个帧ID的滤波掩码和滤波组号存储至excel格式的预设文件;其中,行号和列号是在从预设文件中获取目标CAN节点对应的多个帧ID时获取得到。
示例性的,图4是滤波掩码生成方法的流程示意图,如图4所示,若预设文件的格式是excel文件,则由Can节点、帧ID、滤波掩码和滤波组号组成的主题通常设置于第一行的单元格中。获取需要导入的excel文件路径,并通过Eclipse软件的XSSFWorkbook接口获取excel文件,通过FileInputStream数据流接口对该Excel文件的结构层逐层读取,以得到目标CAN节点、帧ID、滤波掩码和滤波组号等信息所在单元格的行号和列号,以合适的解析方法逐行解析excel文件,依次获取每行对应的目标CAN节点、帧ID、滤波掩码和滤波组号并进行记录,将每个帧ID对应的信息打包为一个结构体数据。
进一步地,提取结构体数据中的帧ID,并对多个帧ID进行滤波分组以计算帧ID的滤波掩码和滤波组号,基于每个帧ID在excel格式的预设文件中的行号以及滤波掩码和滤波组号在excel格式的预设文件中的列号,通过write WorkBook指令将计算得到的每个帧ID的滤波掩码和滤波组号存储至excel格式的预设文件中并导出。
如此,根据需求的变更重新选择目标CAN节点,并重新计算和存储相应的滤波掩码和滤波组号,以对预设文件进行实时更新。
在一些实施例中,当预设文件的格式为Arxml时,将滤波组中每个帧ID的滤波掩码和滤波组号存储至预设文件,包括:基于帧ID以及滤波掩码和滤波组号的元素位置,将每个帧ID的滤波掩码和滤波组号存储至Arxml格式的预设文件。
具体来说,Arxml是一个汽车电子中通用的配置文件或数据库文件,整车厂和供应商或供应商和供应商之间通过Arxml文件进行数据交互,在配置基础软件模块时直接导入Arxml文件,可以实时更新CAN、CanIf模块配置,无需手动修改CAN、CanIf模块中的相关参数值。
若预设文件的格式为Arxml文件,则将目标CAN节点、帧ID、滤波掩码和滤波组号组成的主题创建为标签,并设置标签值。其中,目标CAN节点、帧ID、滤波掩码和滤波组号的获取方法与前述示例中预设文件的格式为excel文件的方法相同,在此不作赘述。
在提取结构体数据中的帧ID,并计算得到帧ID的滤波掩码和滤波组号后,按照逐层标签查找Arxml文件中帧ID、滤波掩码和滤波组号的元素位置,在确定出各元素的位置后,通过XMLWriter指令将每个帧ID的滤波掩码和滤波组号存储至Arxml格式的预设文件并导出。
如此,根据需求的变更重新选择目标CAN节点,并重新计算和存储相应的滤波掩码和滤波组号,以对预设文件进行实时更新。
需要说明的是,上述实施例仅为示例性说明,其应用场景不限于此。
上述实施例中,通过获取预设文件中的目标CAN节点和与其对应的多个帧ID和第一目标滤波组数量,根据帧ID类型和帧ID的位数据关系对帧ID进行滤波分组,以得到多个滤波组,并自动地计算每个滤波组的滤波掩码,将该滤波掩码作为滤波组中每个帧ID的滤波掩码,在需求发生变更时,可根据需求实时地计算更新后的帧ID对应的滤波掩码,提升了滤波掩码的计算效率和准确性,且将所计算的滤波掩码和滤波组号存储在预设文件中,对预设文件进行实时更新,以避免信息不同步的问题。
需要指出的是,上述所提到的具体数值只为了作为例子详细说明本发明的实施,而不应理解为对本发明的限制。在其它例子或实施方式或实施例中,可根据本发明来选择其它数值,在此不作具体限定。
对应上述实施例,本发明的实施例还提出了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述任一实施例的滤波掩码生成方法。
根据本发明实施例的计算机可读存储介质,基于前述的滤波掩码生成方法,通过对目标CAN节点对应的多个帧ID进行分组得到多个滤波组,并根据每个滤波组中帧ID的位数据自动地确定滤波组中每个帧ID对应的滤波掩码,且在需求发生变更时,可根据需求实时地计算更新后的帧ID对应的滤波掩码,提升了滤波掩码的计算效率和准确性。
需要指出的是,上述对滤波掩码生成方法的实施例和有益效果的解释说明,也适应本发明实施例的计算机可读存储介质,为避免冗余,在此不作详细展开。
对应上述实施例,本发明的实施例还提出了一种电子设备。
图5是根据本发明一个实施例的电子设备的结构框图,如图5所示,该电子设备100包括:存储器102、处理器104及存储在存储器102上并可在处理器104上运行的程序106,处理器104执行程序106时,实现上述任一实施例的滤波掩码生成方法。
根据本发明实施例的电子设备,基于前述的滤波掩码生成方法,通过对目标CAN节点对应的多个帧ID进行分组得到多个滤波组,并根据每个滤波组中帧ID的位数据自动地确定滤波组中每个帧ID对应的滤波掩码,且在需求发生变更时,可根据需求实时地计算更新后的帧ID对应的滤波掩码,提升了滤波掩码的计算效率和准确性。
需要指出的是,上述对滤波掩码生成方法的实施例和有益效果的解释说明,也适应本发明实施例的电子设备100,为避免冗余,在此不作详细展开。
对应上述实施例,本发明的实施例还提出了一种滤波掩码生成装置。
图6是根据本发明一个实施例的滤波掩码生成装置的结构框图,如图6所示,该滤波掩码生成装置300包括:获取模块302,用于获取目标CAN节点对应的多个帧ID和第一目标滤波组数量;分组模块303,用于在多个帧ID类型相同的情况下,基于多个帧ID的位数据的关系,将多个帧ID划分至第一目标滤波组数量的多个滤波组中;计算模块304,用于针对每个滤波组,基于滤波组中的至少一个帧ID的位数据确定滤波组对应的滤波掩码,以作为滤波组中每个帧ID的滤波掩码。
根据本发明实施例的滤波掩码生成装置,通过分组模块对目标CAN节点对应的多个帧ID进行分组得到多个滤波组,并通过计算模块根据每个滤波组中帧ID的位数据自动地确定滤波组中每个帧ID对应的滤波掩码,且在需求发生变更时,可根据需求实时地计算更新后的帧ID对应的滤波掩码,提升了滤波掩码的计算效率和准确性。
在本发明的一些实施例中,分组模块303还用于:在多个帧ID类型不同的情况下,将多个帧ID进行分组得到第一帧ID组和第二帧ID组,其中,两个帧ID组中的一个为标准帧ID组,另一个为扩展帧ID组;确定模块(图中未示出)用于:基于第一目标滤波组数量、第一帧ID组的帧ID数量和第二帧ID组的帧ID数量,确定每个帧ID组对应的第二目标滤波组数量;分组模块303还用于:针对每个帧ID组,基于帧ID组中的多个帧ID的位数据的关系,将帧ID组中的多个帧ID划分至对应的第二目标滤波组数量的多个滤波组中。
在本发明的一些实施例中,确定模块具体用于:获取第一帧ID组的帧ID数量与第二帧ID组的帧ID数量的比例关系;基于比例关系和第一目标滤波组数量,确定每个帧ID组对应的第二目标滤波组数量。
在本发明的一些实施例中,计算模块304具体用于:按照数据位从低位至高位的顺序,先将最低位对应的位数据相同的帧ID划分至同一滤波组,并在同一滤波组内,将下一位对应的位数据相同的帧ID划分至同一滤波组,如此循环,直至划分的滤波组数量达到第一目标滤波组数量。
在本发明的一些实施例中,分配模块(图中未示出)用于:依次为每个滤波组分配滤波组号,以作为滤波组中每个帧ID的滤波组号。
在本发明的一些实施例中,计算模块304具体用于:对至少一个帧ID进行异或取反计算,得到滤波组对应的滤波掩码。
在本发明的一些实施例中,获取模块具体用于:获取预设文件,预设文件包括CAN节点和CAN节点对应的帧ID;从预设文件中获取目标CAN节点对应的多个帧ID;存储模块(图中未示出)用于:将滤波组中每个帧ID的滤波掩码和滤波组号存储至预设文件。
在本发明的一些实施例中,当预设文件的格式为excel时,存储模块具体用于:基于每个帧ID在excel格式的预设文件中的行号以及滤波掩码和滤波组号在excel格式的预设文件中的列号,将每个帧ID的滤波掩码和滤波组号存储至excel格式的预设文件;其中,行号和列号是在从预设文件中获取目标CAN节点对应的多个帧ID时获取得到。
在本发明的一些实施例中,当预设文件的格式为Arxml时,存储模块具体用于:基于帧ID以及滤波掩码和滤波组号的元素位置,将每个帧ID的滤波掩码和滤波组号存储至Arxml格式的预设文件。
需要指出的是,上述对滤波掩码生成方法的实施例和有益效果的解释说明,也适应本发明实施例的滤波掩码生成装置300,为避免冗余,在此不作详细展开。
需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,本发明实施例中所使用的“第一”、“第二”等术语,仅用于描述目的,而不可以理解为指示或者暗示相对重要性,或者隐含指明本实施例中所指示的技术特征数量。由此,本发明实施例中限定有“第一”、“第二”等术语的特征,可以明确或者隐含地表示该实施例中包括至少一个该特征。在本发明的描述中,词语“多个”的含义是至少两个或者两个及以上,例如两个、三个、四个等,除非实施例中另有明确具体的限定。第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备以及计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (12)

1.一种滤波掩码生成方法,其特征在于,所述方法包括:
获取目标CAN节点对应的多个帧ID和第一目标滤波组数量;
在所述多个帧ID类型相同的情况下,基于所述多个帧ID的位数据的关系,将所述多个帧ID划分至所述第一目标滤波组数量的多个滤波组中;
针对每个所述滤波组,基于所述滤波组中的至少一个帧ID的位数据确定所述滤波组对应的滤波掩码,以作为所述滤波组中每个帧ID的滤波掩码。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述多个帧ID类型不同的情况下,将所述多个帧ID进行分组得到第一帧ID组和第二帧ID组,其中,两个帧ID组中的一个为标准帧ID组,另一个为扩展帧ID组;
基于所述第一目标滤波组数量、所述第一帧ID组的帧ID数量和所述第二帧ID组的帧ID数量,确定每个所述帧ID组对应的第二目标滤波组数量;
针对每个所述帧ID组,基于所述帧ID组中的多个帧ID的位数据的关系,将所述帧ID组中的多个帧ID划分至对应的第二目标滤波组数量的多个滤波组中。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一目标滤波组数量、所述第一帧ID组的帧ID数量和所述第二帧ID组的帧ID数量,确定每个所述帧ID组对应的第二目标滤波组数量,包括:
获取所述第一帧ID组的帧ID数量与所述第二帧ID组的帧ID数量的比例关系;
基于所述比例关系和所述第一目标滤波组数量,确定每个所述帧ID组对应的第二目标滤波组数量。
4.根据权利要求1所述的方法,其特征在于,所述基于所述多个帧ID的位数据的关系,将所述多个帧ID划分至所述第一目标滤波组数量的多个滤波组中,包括:
按照数据位从低位至高位的顺序,先将最低位对应的位数据相同的帧ID划分至同一滤波组,并在所述同一滤波组内,将下一位对应的位数据相同的帧ID划分至同一滤波组,如此循环,直至划分的滤波组数量达到所述第一目标滤波组数量;或者,
按照数据位从高位至低位的顺序,先将最高位对应的位数据相同的帧ID划分至同一滤波组,并在所述同一滤波组内,将下一位对应的位数据相同的帧ID划分至同一滤波组,如此循环,直至划分的滤波组数量达到所述第一目标滤波组数量。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
依次为每个所述滤波组分配滤波组号,以作为所述滤波组中每个帧ID的滤波组号。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述基于所述滤波组中的至少一个帧ID的位数据确定所述滤波组对应的滤波掩码,包括:
对至少一个帧ID进行异或取反计算,得到所述滤波组对应的滤波掩码。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
获取预设文件,所述预设文件包括CAN节点和所述CAN节点对应的帧ID;
从所述预设文件中获取所述目标CAN节点对应的多个帧ID;
将所述滤波组中每个帧ID的滤波掩码和滤波组号存储至所述预设文件。
8.根据权利要求7所述的方法,其特征在于,当所述预设文件的格式为excel时,所述将所述滤波组中每个帧ID的滤波掩码和滤波组号存储至所述预设文件,包括:
基于每个所述帧ID在excel格式的预设文件中的行号以及所述滤波掩码和所述滤波组号在excel格式的预设文件中的列号,将每个所述帧ID的滤波掩码和滤波组号存储至所述excel格式的预设文件;其中,所述行号和所述列号是在从所述预设文件中获取所述目标CAN节点对应的多个帧ID时获取得到。
9.根据权利要求7所述的方法,其特征在于,当所述预设文件的格式为Arxml时,所述将所述滤波组中每个帧ID的滤波掩码和滤波组号存储至所述预设文件,包括:
基于所述帧ID以及所述滤波掩码和所述滤波组号的元素位置,将每个所述帧ID的滤波掩码和滤波组号存储至Arxml格式的预设文件。
10.一种计算机可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时实现根据权利要求1-9任一项所述的滤波掩码生成方法。
11.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序,所述处理器执行所述程序时,实现根据权利要求1-9任一项所述的滤波掩码生成方法。
12.一种滤波掩码生成装置,其特征在于,所述装置包括:
获取模块,用于获取目标CAN节点对应的多个帧ID和第一目标滤波组数量;
分组模块,用于在所述多个帧ID类型相同的情况下,基于所述多个帧ID的位数据的关系,将所述多个帧ID划分至所述第一目标滤波组数量的多个滤波组中;
计算模块,用于针对每个所述滤波组,基于所述滤波组中的至少一个帧ID的位数据确定所述滤波组对应的滤波掩码,以作为所述滤波组中每个帧ID的滤波掩码。
CN202311024530.5A 2023-08-14 2023-08-14 滤波掩码生成方法、装置、电子设备及存储介质 Pending CN117033855A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311024530.5A CN117033855A (zh) 2023-08-14 2023-08-14 滤波掩码生成方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311024530.5A CN117033855A (zh) 2023-08-14 2023-08-14 滤波掩码生成方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN117033855A true CN117033855A (zh) 2023-11-10

Family

ID=88601904

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311024530.5A Pending CN117033855A (zh) 2023-08-14 2023-08-14 滤波掩码生成方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN117033855A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118233387A (zh) * 2024-05-27 2024-06-21 成都赛力斯科技有限公司 报文传输方法、车载网关及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118233387A (zh) * 2024-05-27 2024-06-21 成都赛力斯科技有限公司 报文传输方法、车载网关及存储介质

Similar Documents

Publication Publication Date Title
US6550052B1 (en) Software development framework for constructing embedded vehicle controller software
CN108228166A (zh) 一种基于模板的后端代码生成方法及系统
CN117033855A (zh) 滤波掩码生成方法、装置、电子设备及存储介质
CN107193560B (zh) 配置更新方法及装置
US20110145799A1 (en) Path-sensitive dataflow analysis including path refinement
CN113190220A (zh) Json文件差异化对比方法及装置
CN104850570A (zh) A2l文件自动生成方法及系统
CN105446722A (zh) 序列化方法和装置、以及反序列化方法和装置
CN115657521A (zh) 解析can报文数据的方法、装置、车辆及存储介质
CN108304330B (zh) 内容提取方法、装置和计算机设备
CN113741411B (zh) 一种分散控制系统全局变量点产物文件生成方法和系统
CN113065315B (zh) 一种用于描述寄存器的文件的转换控制方法
CN103092752B (zh) 一种仪器属性的错误识别方法
CN107861725B (zh) 一种iOS数据反向自动解析策略
CN110085284A (zh) 一种面向ssd的基因对比方法及系统
CN116094531B (zh) Sent信号接收系统、芯片
CN118394282B (zh) 一种数据存储方法、装置、存储介质及电子设备
CN111582347B (zh) 一种故障诊断方法及装置
CN112104766B (zh) 诊断协议重构方法、装置、终端设备及存储介质
US12124720B2 (en) Memory configuration within a data processing system
CN112905181B (zh) 一种模型编译、运行方法及装置
CN113190497B (zh) 一种可重构处理器的任务处理方法及可重构处理器
US20230305725A1 (en) Memory configuration within a data processing system
CN117955828A (zh) 一种控制器局域网络通信方法、装置、控制器及存储介质
CN116521198A (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