CN103780508A - Can总线报文的软件滤波方法、系统及电子控制单元 - Google Patents

Can总线报文的软件滤波方法、系统及电子控制单元 Download PDF

Info

Publication number
CN103780508A
CN103780508A CN201410058072.1A CN201410058072A CN103780508A CN 103780508 A CN103780508 A CN 103780508A CN 201410058072 A CN201410058072 A CN 201410058072A CN 103780508 A CN103780508 A CN 103780508A
Authority
CN
China
Prior art keywords
information
bus message
packet buffer
screened
buffer device
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.)
Granted
Application number
CN201410058072.1A
Other languages
English (en)
Other versions
CN103780508B (zh
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 Jingwei Hirain Tech Co Ltd
Original Assignee
Beijing Jingwei Hirain Tech 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 Jingwei Hirain Tech Co Ltd filed Critical Beijing Jingwei Hirain Tech Co Ltd
Priority to CN201410058072.1A priority Critical patent/CN103780508B/zh
Publication of CN103780508A publication Critical patent/CN103780508A/zh
Application granted granted Critical
Publication of CN103780508B publication Critical patent/CN103780508B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种CAN总线报文的软件滤波方法及系统,根据报文缓存装置的编号确定ID信息子集,然后在确定的ID信息子集(即部分ID信息)中遍历比较,从而减少了对一个CAN总线报文进行筛选所需要的遍历比较的次数,而根据报文缓存装置的编号确定ID信息子集的过程只需要执行一条指令即可,其仍然小于所减少的遍历比较的次数所需要执行的指令条数,因此,本申请实施例提供的CAN总线报文的软件滤波方法,减少了对一个CAN总线报文进行筛选所需要的遍历比较的次数,从而提高了电子控制单元传递报文数据信息的效率。本发明还公开一种电子控制单元。

Description

CAN总线报文的软件滤波方法、系统及电子控制单元
技术领域
本申请涉及总线通信技术领域,特别是涉及一种CAN(Controller AreaNetwork,控制器局域网络)总线报文的软件滤波方法、系统及电子控制单元。
背景技术
随着汽车行业的快速发展,汽车在功能型方面的设计要求不断增加,越来越多的电子单元被应用到汽车上。汽车上的各类电子控制单元全部链接到总线上,通过总线发送和接收需要交换的信号和数据。其中,较常用的车载总线类型是CAN总线。
汽车上的各类电子控制单元通过外部CAN收发器连接到CAN总线上,电子控制单元通过内部的CAN控制器与CAN收发器协同工作,在CAN总线上进行CAN总线报文的发送和接收。CAN总线技术对CAN总线报文的数据格式进行了明确的规定,每条CAN总线报文中均包含ID信号和数据信息。电子控制单元通过CAN收发器在总线上接收到报文后,CAN控制器会对CAN总线报文的ID信息进行识别,根据当前电子控制单元所需CAN总线报文的ID信号对接收到的报文进行筛选,通过筛选后的报文会被存储至CAN控制器内相应的报文缓存装置(Message Buffer,MB)中。一个电子控制单元的CAN控制器中可能包含一个或多个MB。上述报文筛选的过程称之为报文的硬件滤波。但在CAN控制器的内部滤波设计(即硬件滤波)常常无法保证能够完全滤除所有不需要的报文,这样就需要在电子控制单元中进行进一步的软件滤波。
目前在实现软件滤波时,电子控制单元中会记录所有需要用到的报文ID信息和上层应用模块的对应关系。一旦某条CAN总线报文通过CAN控制器的硬件滤波被存储到MB中,电子控制单元将会根据这条CAN总线报文ID信息与该电子控制单元所需的所有报文ID信息进行遍历比较,直到找到一种报文的ID信息与所述CAN总线报文ID信息相同,然后寻找与这个ID信息相对应的上层应用模块,并提取该报文中的数据信息传递给该上层应用模块;如果遍历完所有ID信息都没有找到一种报文的ID信息与所述CAN总线报文ID信息相同,电子控制单元将会丢弃这条CAN总线报文。
发明人在实现本方明的过程中发现,目前的CAN总线报文的软件滤波方法,逐一遍历电子控制单元中记录的所有需要用到的报文ID信息,从而确定CAN总线报文是否是电子控制单元所需要的报文,其筛选速度较慢,使得电子控制单元传递报文数据信息的效率较低。
发明内容
为解决上述技术问题,本申请实施例提供一种CAN总线报文的软件滤波方法及系统,以提高电子控制单元传递报文数据信息的效率。
技术方案如下:
一种CAN总线报文的软件滤波方法,应用于电子控制单元,预先为所述电子控制单元中的各个报文缓存装置分配编号,并建立报文缓存装置的编号与ID信息子集的对应关系,其中,一个ID信息子集由一个报文缓存装置中所需要缓存的所有CAN总线报文中的ID信息组成;所述方法包括:
当待筛选的CAN总线报文存储至报文缓存装置后,依据所述报文缓存装置的编号,以及报文缓存装置的编号与ID信息子集的对应关系,确定ID信息子集;
将所述待筛选CAN总线报文中的ID信息逐一与所述ID信息子集中ID信息进行比较;
当在所述ID信息子集中找到与所述待筛选CAN总线报文中的ID信息相同的ID信息时,确定所述待筛选CAN总线报文为所述电子控制单元所需要的CAN总线报文。
上述方法,优选的,还包括:
当未在所述ID信息子集中找到与所述待筛选CAN总线报文中的ID信息相同的ID信息时,确定所述待筛选CAN总线报文不是所述电子控制单元所需要的CAN总线报文。
一种CAN总线报文的软件滤波系统,应用于电子控制单元,包括:
预设模块,用于预先为所述电子控制单元中的各个报文缓存装置分配编号,并建立报文缓存装置的编号与ID信息子集的对应关系,其中,一个ID信息子集由一个报文缓存装置中所需要缓存的所有CAN总线报文中的ID信息组成;
ID信息子集确定模块,用于当待筛选的CAN总线报文存储至报文缓存装置后,依据所述报文缓存装置的编号,以及报文缓存装置的编号与ID信息子集的对应关系,确定ID信息子集;
比较模块,用于将所述待筛选CAN总线报文中的ID信息逐一与所述ID信息子集中ID信息进行比较;
筛选结果确定模块,用于当在所述ID信息子集中找到与所述待筛选CAN总线报文中的ID信息相同的ID信息时,确定所述待筛选CAN总线报文为所述电子控制单元所需要的CAN总线报文。
上述系统,优选的,所述筛选结果确定模块还用于,当未在所述ID信息子集中找到与所述待筛选CAN总线报文中的ID信息相同的ID信息时,确定所述待筛选CAN总线报文不是所述电子控制单元所需要的CAN总线报文。
一种电子控制单元,包括CAN控制器,所述CAN控制器中设置有若干个报文缓存装置;还包括与所述若干个报文缓存装置相连接的CAN总线报文的软件滤波系统,所述CAN总线报文的软件滤波系统包括:
预设模块,用于预先为各个报文缓存装置分配编号,并建立报文缓存装置的编号与ID信息子集的对应关系,其中,一个ID信息子集由一个报文缓存装置中所需要缓存的所有CAN总线报文中的ID信息组成;
ID信息子集确定模块,用于当待筛选的CAN总线报文存储至报文缓存装置后,依据所述报文缓存装置的编号,以及报文缓存装置的编号与ID信息子集的对应关系,确定ID信息子集;
比较模块,用于将所述待筛选CAN总线报文中的ID信息逐一与所述ID信息子集中ID信息进行比较;
筛选结果确定模块,用于当在所述ID信息子集中找到与所述待筛选CAN总线报文中的ID信息相同的ID信息时,确定所述待筛选CAN总线报文为所述电子控制单元所需要的CAN总线报文。
上述电子控制单元,优选的,所述筛选结果确定模块还用于,当未在所述ID信息子集中找到与所述待筛选CAN总线报文中的ID信息相同的ID信息时,确定所述待筛选CAN总线报文不是所述电子控制单元所需要的CAN总线报文。
由此可知,本申请实施例提供的一种CAN总线报文的软件滤波方法,预先为各个报文缓存装置分配编号,并建立报文缓存装置中所需要缓存的所有CAN总线报文中的ID信息与所述报文缓存装置的编号的对应关系,当待筛选的CAN总线报文存储至报文缓存装置后,进行软件筛选时,依据所述报文缓存装置的编号,以及所述报文缓存装置中所需要缓存的所有CAN总线报文中的ID信息与所述报文缓存装置的编号的对应关系,确定ID信息子集,将待筛选的CAN总线报文中的ID信息逐一与所述ID信息子集中ID信息进行比较;当在所述ID信息子集中找到与所述待筛选CAN总线报文中的ID信息相同的ID信息时,确定所述待筛选CAN总线报文为所述电子控制单元所需要的CAN总线报文。
可见,本申请实施例提供的CAN总线报文的软件滤波方法,不是将待筛选CAN总线报文的ID信息在电子控制单元的所有ID信息中遍历,而是先根据报文缓存装置的编号确定ID信息子集,然后在确定的ID信息子集(即部分ID信息)中遍历比较,从而减少了对一个CAN总线报文进行筛选所需要的遍历比较的次数,而根据报文缓存装置的编号确定ID信息子集的过程只需要执行一条指令即可,其仍然小于所减少的遍历比较的次数所需要执行的指令条数,因此,本申请实施例提供的CAN总线报文的软件滤波方法,减少了对一个CAN总线报文进行筛选所需要的遍历比较的次数,从而提高了电子控制单元传递报文数据信息的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的CAN总线报文的软件滤波方法的一种实现流
程图;
图2为本申请实施例提供的CAN总线报文的软件滤波方法的另一种实现
流程图;
图3为本申请实施例提供的CAN总线报文的软件滤波系统的一种结构示
意图;
图4为本申请实施例提供的电子控制单元的一种结构示意图。
为了图示的简单和清楚,以上附图示出了结构的普通形式,并且为了避免不必要的模糊本发明,可以省略已知特征和技术的描述和细节。另外,附图中的单元不必要按照比例绘制。例如,可以相对于其他单元放大图中的一些单元的尺寸,从而帮助更好的理解本发明的实施例。不同附图中的相同标号表示相同的单元。
说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的单元或过程,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示的或否则描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,
意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可以包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案。下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请提供的CAN总线报文的软件滤波方法,应用于电子控制单元,预先为电子控制单元中(具体为电子控制单元内的CAN控制器中)的各个报文缓存装置分配一个编号,并建立报文缓存装置的编号与ID信息子集的对应关系,其中,一个ID信息子集由一个报文缓存装置中所需要缓存的所有CAN总线报文中的ID信息组成;
也就是说,将每一个报文缓存装置中的所有CAN总线报文中的ID信息作为一个ID信息子集与该报文缓存装置的编号相对应。
所述报文缓存装置的编号与ID信息子集的对应关系可以以表格的形式进行存储。在软件实现时,所述表格可以通过数组实现,其中,所述报文缓存装置的编号作为数组索引,数组中每一个元素都唯一对应一个ID信息子集。
本申请提供的CAN总线报文的软件滤波方法的一种实现流程图如图1所示,可以包括:
步骤S11:当待筛选的CAN总线报文存储至报文缓存装置后,依据所述报文缓存装置的编号,以及报文缓存装置的编号与ID信息子集的对应关系,确定ID信息子集;
待筛选的CAN总线报文是指存储至报文缓存装置中的需要进行软件筛选的CAN总线报文。
本申请实施例中,当CAN总线报文存储至报文缓存装置中后,提取报文缓存装置的编号,并根据提取的报文缓存装置的编号,以及报文缓存装置的编号与ID信息子集的对应关系,确定ID信息子集,所述ID信息子集就是对待筛选的CAN总线报文进行软件筛选所需要遍历的ID信息。
步骤S12:将所述待筛选CAN总线报文中的ID信息逐一与所述ID信息子集中ID信息进行比较;
步骤S13:当在所述ID信息子集中找到与所述待筛选CAN总线报文中的ID信息相同的ID信息时,确定所述待筛选CAN总线报文为所述电子控制单元所需要的CAN总线报文。
当在所述ID信息子集中找到与所述待筛选CAN总线报文中的ID信息相同的ID信息时,说明待筛选的CAN总线报文就是电子控制单元所需要的CAN总线报文,则停止遍历ID信息子集中未进行比较的ID信息。
可见,本申请实施例提供的CAN总线报文的软件滤波方法,不是将待筛选CAN总线报文的ID信息在电子控制单元的所有ID信息中遍历,而是先根据报文缓存装置的编号确定ID信息子集,然后在确定的ID信息子集(即部分ID信息)中遍历比较,从而减少了对一个CAN总线报文进行筛选所需要的遍历比较的次数,而根据报文缓存装置的编号确定ID信息子集的过程只需要执行一条指令即可,其仍然小于所减少的遍历比较的次数所需要执行的指令条数,因此,本申请实施例提供的CAN总线报文的软件滤波方法,减少了对一个CAN总线报文进行筛选所需要的遍历比较的次数,从而提高了电子控制单元传递报文数据信息的效率。
另外,由于本申请是将需要缓存至同一个报文缓存装置内的CAN总线报文中的ID信息作为一个ID信息子集,也就是说,本申请是将电子控制单元内所需要存储的所有CAN总线报文中的ID信息按照不同的报文缓存装置划分为不同的ID信息子集,其实现简单,易于实现。
在图1所示实施例的基础上,本申请实施例提供的CAN总线报文的软件滤波方法的另一种实现流程图如图2所示,还可以包括:
步骤S21:当未在所述ID信息子集中找到与所述待筛选CAN总线报文中的ID信息相同的ID信息时,确定所述待筛选CAN总线报文不是所述电子控制单元所需要的CAN总线报文。
将所述待筛选CAN总线报文中的ID信息逐一与所述ID信息子集中ID信息进行比较后,如果遍历完ID信息子集中的所有ID信息后,都没有查找到与所述待筛选的CAN总线中的ID信息相同的ID信息,则说明待筛选的CAN总线报文不是电子控制单元所需要的CAN总线报文,这时,电子控制单元可以丢弃这条CAN总线报文,不再执行提取该待筛选CAN总线报文中的数据信息的步骤。
与方法实施例相对应,本申请还提供一种CAN总线报文的软件滤波系统,应用于电子控制单元,本申请实施例提供的CAN总线报文的软件滤波系统的一种结构示意图如图3所示,可以包括:
预设模块31,ID信息子集确定模块32,比较模块33和筛选结果确定模块34;其中,
预设模块31用于预先为所述电子控制单元中的各个报文缓存装置分配编号,并建立报文缓存装置的编号与ID信息子集的对应关系,其中,一个ID信息子集由一个报文缓存装置中所需要缓存的所有CAN总线报文中的ID信息组成;
也就是说,将每一个报文缓存装置中的所有CAN总线报文中的ID信息作为一个ID信息子集与该报文缓存装置的编号相对应。
所述报文缓存装置的编号与ID信息子集的对应关系可以以表格的形式进行存储。在软件实现时,所述表格可以通过一个数组实现,其中,所述报文缓存装置的编号作为数组索引,数组每一个元素都唯一对应一个ID信息子集。
ID信息子集确定模块32用于当待筛选的CAN总线报文存储至报文缓存装置后,依据所述报文缓存装置的编号,以及报文缓存装置的编号与ID信息子集的对应关系,确定ID信息子集;
待筛选的CAN总线报文是指存储至报文缓存装置中的需要进行软件筛选的CAN总线报文。
本申请实施例中,当CAN总线报文存储至报文缓存装置中后,提取报文缓存装置的编号,并根据提取的报文缓存装置的编号,以及报文缓存装置的编号与ID信息子集的对应关系,确定ID信息子集,所述ID信息子集就是对待筛选的CAN总线报文进行软件筛选所需要遍历的ID信息。
比较模块33分别与所述预设模块31和所述ID信息子集确定模块31相连接,用于将所述待筛选CAN总线报文中的ID信息逐一与所述ID信息子集中ID信息进行比较;
筛选结果确定模块34与所述比较模块33相连接,用于当在所述ID信息子集中找到与所述待筛选CAN总线报文中的ID信息相同的ID信息时,确定所述待筛选CAN总线报文为所述电子控制单元所需要的CAN总线报文。
当根据所述比较模块33的比较结果在ID信息子集中找到与所述待筛选CAN总线报文中的ID信息相同的ID信息时,说明待筛选的CAN总线报文就是电子控制单元所需要的CAN总线报文,则停止遍历ID信息子集中未进行比较的ID信息。
可见,本申请实施例提供的CAN总线报文的软件滤波系统,不是将待筛选CAN总线报文的ID信息在电子控制单元的所有ID信息中遍历,而是先根据报文缓存装置的编号确定ID信息子集,然后在确定的ID信息子集(即部分ID信息)中遍历比较,从而减少了对一个CAN总线报文进行筛选所需要的遍历比较的次数,而根据报文缓存装置的编号确定ID信息子集的过程只需要执行一条指令即可,其仍然小于所减少的遍历比较的次数所需要执行的指令条数,因此,本申请实施例提供的CAN总线报文的软件滤波方法,减少了对一个CAN总线报文进行筛选所需要的遍历比较的次数,从而提高了电子控制单元传递报文数据信息的效率。
另外,由于本申请是将需要缓存至同一个报文缓存装置内的CAN总线报文中的ID信息作为一个ID信息子集,也就是说,本申请是将电子控制单元内所需要存储的所有CAN总线报文中的ID信息按照不同的报文缓存装置划分为不同的ID信息子集,其实现简单,易于实现。
上述实施例,优选的,所述筛选结果确定模块34还用于,当未在所述ID信息子集中找到与所述待筛选CAN总线报文中的ID信息相同的ID信息时,确定所述待筛选CAN总线报文不是所述电子控制单元所需要的CAN总线报文。
将所述待筛选CAN总线报文中的ID信息逐一与所述ID信息子集中ID信息进行比较后,如果遍历完ID信息子集中的所有ID信息后,都没有查找到与所述待筛选的CAN总线中的ID信息相同的ID信息,则说明待筛选的CAN总线报文不是电子控制单元所需要的CAN总线报文,这时,电子控制单元可以丢弃这条CAN总线报文,不再执行提取该待筛选CAN总线报文中的数据信息的步骤。
本申请实施例还提供一种电子控制单元,其包括如上所述的CAN总线报文的软件滤波系统。
本申请实施例提供的电子控制单元的一种结构示意图如图4所示,可以包括:CAN控制器41,所述CAN控制器中设置有若干个报文缓存装置,还包括:
与所述若干个报文缓存装置相连接的CAN总线报文的软件滤波系统42,所述CAN总线报文的软件滤波系统42包括:
预设模块421,用于预先为各个报文缓存装置分配编号,并建立报文缓存装置的编号与ID信息子集的对应关系,其中,一个ID信息子集由一个报文缓存装置中所需要缓存的所有CAN总线报文中的ID信息组成;
ID信息子集确定模块422,用于当待筛选的CAN总线报文存储至报文缓存装置后,依据所述报文缓存装置的编号,以及报文缓存装置的编号与ID信息子集的对应关系,确定ID信息子集;
比较模块423,用于将所述待筛选CAN总线报文中的ID信息逐一与所述ID信息子集中ID信息进行比较;
筛选结果确定模块424,用于当在所述ID信息子集中找到与所述待筛选CAN总线报文中的ID信息相同的ID信息时,确定所述待筛选CAN总线报文为所述电子控制单元所需要的CAN总线报文。
本申请实施例提供的电子控制单元,包括CAN总线报文软件滤波系统,该CAN总线报文软件滤波系统不是将待筛选CAN总线报文的ID信息在电子控制单元的所有ID信息中遍历,而是先根据报文缓存装置的编号确定ID信息子集,然后在确定的ID信息子集(即部分ID信息)中遍历比较,从而减少了对一个CAN总线报文进行筛选所需要的遍历比较的次数,而根据报文缓存装置的编号确定ID信息子集的过程只需要执行一条指令即可,其仍然小于所减少的遍历比较的次数所需要执行的指令条数,因此,本申请实施例提供的CAN总线报文的软件滤波方法,减少了对一个CAN总线报文进行筛选所需要的遍历比较的次数,从而提高了电子控制单元传递报文数据信息的效率。
上述实施例,优选的,筛选结果确定模块424还用于,当未在所述ID信息子集中找到与所述待筛选CAN总线报文中的ID信息相同的ID信息时,确定所述待筛选CAN总线报文不是所述电子控制单元所需要的CAN总线报文。
下面举例对本方案及现有技术进行说明,以更好的突出本发明的有益效果。
假设某个电子控制单元在工作时需要接收10种不同ID信息的CAN总线报文,那么,电子控制单元中会存在10种不同的ID信息与上层应用模块之间的对应关系。本例中,假定各个报文在CAN总线上出现的几率相等。
现有技术中,当一个CAN总线报文通过硬件筛选存储至报文缓存装置后,电子控制单元会将该CAN总线报文的ID信息与上述10个ID信息逐一进行比较,直到找到其中一种ID信息与该CAN总线报文的ID信息相同,然后,从该CAN总线报文中提取数据信息,根据ID信息与上层应用模块的对应关系,将提取的数据信息传递给相应的上层应用模块。可见,现有技术中,电子控制单元在进行报文ID遍历时,最少需要完成一次ID信息的比较,最多需要完成10次ID信息的比较,那么,现有技术中,在CAN控制器在报文缓存装置中存储一条通过硬件滤波后的CAN总线报文后,平均完成一次CAN总线报文的软件筛选,需要进行比较的次数为:
Figure BDA0000467821100000121
而遍历ID信息的过程是一个循环执行ID信息比较指令的过程,因此,现有技术中,平均完成一次CAN总线报文筛选,需要执行的指令数为5.5,其中,t为执行一次ID信息比较指令所需要的时间;
而本申请实施例中,假设CAN控制器中设置有5个报文缓存装置,各个报文缓存装置的编号,以及报文缓存装置的编号与ID信息子集的对应关系如表1所示;
表1
报文缓存装置 报文缓存装置编号 ID信息子集
第一报文缓存装置 0 第一ID信息,第二ID信息
第二报文缓存装置 1 第三ID信息,第四ID信息
第三报文缓存装置 2 第五ID信息,第六ID信息
第四报文缓存装置 3 第七ID信息,第八ID信息
第五报文缓存装置 4 第九ID信息,第十ID信息
表1所示报文缓存装置编号与ID信息子集的对应关系可以通过数组实现:为方便叙述,这里定义一数组为Array[5],其中,
Array[0]=[第一ID信息,第二ID信息];
Array[1]=[第三ID信息,第四ID信息];
Array[2]=[第五ID信息,第六ID信息];
Array[3]=[第七ID信息,第八ID信息];
Array[4]=[第九ID信息,第十ID信息];
基于本申请的方案,当某条CAN总线报文通过CAN控制器的硬件滤波被存储到某个报文缓存装置中后,本申请所提供的方案中,首先提取这个报文缓存装置的编号,并根据这个编号从表1的对应关系中,确定ID信息子集。例如,某条CAN总线报文经过硬件滤波后被存储到了编号为C的报文缓存装置中,那么,在进行ID信息遍历时,根据表1的对应关系,只需要将CAN总线报文中的ID信息与当前这个电子控制单元中可能将会用到的第五ID信息和第六ID信息逐个进行比较即可,这种情况下,针对一个CAN总线报文,在进行报文ID遍历时,最多只需要完成2次ID信息的比较。经过CAN总线报文的ID信息遍历,确定这条CAN总线报文的ID是第五ID信息或是第六ID信息,或者不是本电子控制单元所需要的ID信息,如果确定这条CAN总线报文的ID是第五ID信息或是第六ID信息,则从CAN总线报文中提取出数据信息传递给相应的上层应用模块。
由此可知,本申请实的方案中,在CAN控制器在报文缓存装置中存储一条通过硬件滤波后的CAN总线报文后,平均完成一次CAN总线报文的软件筛选,包括确定ID子集的时间,以及遍历ID子集的时间,其中,确定ID信息子集的过程实质是定位的过程,本领域人员知道,通过数组确定ID子集只需要执行一条指令即可完成,而本申请中,遍历ID子集所需要进行比较的次数为:
Figure BDA0000467821100000131
因此,本申请中,平均完成一次CAN总线报文的软件筛选所需要执行的指令数为1.5+1=2.5,小于现有技术中所需要的执行的指令数。
而且,报文缓存装置的数量越多,本申请的效率越高。例如,假设CAN控制器中设置有100个报文缓存装置,每个缓存装置可以存储两类ID信息,即共有200种不同的ID信息,那么,现有技术中,平均完成一次CAN总线报文的软件筛选所需要进行比较的次数(即需要执行的指令数)为:
Figure BDA0000467821100000132
而本方案中,所需要的执行的指令次数仍然为1.5+1=2.5次。
上述示例中,每个报文缓存装置可以缓存的ID种类数是相同的,当然,也可以不同,具体是否相同可以由开发人员根据需要设定。当每个报文缓存装置可以缓存的ID种类数不同时,平均完成一次CAN总线报文的软件筛选所需要进行比较的次数的最大值由报文缓存装置可以缓存的最大ID种类数决定。例如,还以电子控制单元在工作时需要接收10中不同ID信息的CAN总线报文为例进行说明,假设本申请中,CAN控制器中设置有5个报文缓存装置,各个报文缓存装置的编号,以及报文缓存装置的编号与ID信息子集的对应关系如表2所示;
表2
由表2可以看出,如果待筛选的CAN总线报文来自编号为0的报文缓存装置,那么,平均完成一次CAN总线报文的软件筛选所需要进行比较的次数为1次;
而如果待筛选的CAN总线报文来自编号为1的报文缓存装置,那么,平均完成一次CAN总线报文的软件筛选所需要进行比较的次数为:
而如果待筛选的CAN总线报文来自编号为2的报文缓存装置,那么,平均完成一次CAN总线报文的软件筛选所需要进行比较的次数为:
Figure BDA0000467821100000151
同理,如果待筛选的CAN总线报文来自编号为3或4的报文缓存装置,那么,平均完成一次CAN总线报文的软件筛选所需要进行比较的次数也为1.5;
所以,基于表2的对应关系,平均完成一次CAN总线报文的软件筛选所需要执行的指令数最多为2+1=3条,而现有技术中是需要执行5.5条指令的。
因此,本申请实施例提供的CAN总线报文的软件滤波方法,减少了对一个CAN总线报文进行软件筛选所需要的遍历比较的次数,从而提高了电子控制单元传递报文数据信息的效率。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (6)

1.一种CAN总线报文的软件滤波方法,应用于电子控制单元,其特征在于,预先为所述电子控制单元中的各个报文缓存装置分配编号,并建立报文缓存装置的编号与ID信息子集的对应关系,其中,一个ID信息子集由一个报文缓存装置中所需要缓存的所有CAN总线报文中的ID信息组成;所述方法包括:
当待筛选的CAN总线报文存储至报文缓存装置后,依据所述报文缓存装置的编号,以及报文缓存装置的编号与ID信息子集的对应关系,确定ID信息子集;
将所述待筛选CAN总线报文中的ID信息逐一与所述ID信息子集中ID信息进行比较;
当在所述ID信息子集中找到与所述待筛选CAN总线报文中的ID信息相同的ID信息时,确定所述待筛选CAN总线报文为所述电子控制单元所需要的CAN总线报文。
2.根据权利要求1所述的方法,其特征在于,还包括:
当未在所述ID信息子集中找到与所述待筛选CAN总线报文中的ID信息相同的ID信息时,确定所述待筛选CAN总线报文不是所述电子控制单元所需要的CAN总线报文。
3.一种CAN总线报文的软件滤波系统,应用于电子控制单元,其特征在于,包括:
预设模块,用于预先为所述电子控制单元中的各个报文缓存装置分配编号,并建立报文缓存装置的编号与ID信息子集的对应关系,其中,一个ID信息子集由一个报文缓存装置中所需要缓存的所有CAN总线报文中的ID信息组成;
ID信息子集确定模块,用于当待筛选的CAN总线报文存储至报文缓存装置后,依据所述报文缓存装置的编号,以及报文缓存装置的编号与ID信息子集的对应关系,确定ID信息子集;
比较模块,用于将所述待筛选CAN总线报文中的ID信息逐一与所述ID信息子集中ID信息进行比较;
筛选结果确定模块,用于当在所述ID信息子集中找到与所述待筛选CAN总线报文中的ID信息相同的ID信息时,确定所述待筛选CAN总线报文为所述电子控制单元所需要的CAN总线报文。
4.根据权利要求3所述的系统,其特征在于,所述筛选结果确定模块还用于,当未在所述ID信息子集中找到与所述待筛选CAN总线报文中的ID信息相同的ID信息时,确定所述待筛选CAN总线报文不是所述电子控制单元所需要的CAN总线报文。
5.一种电子控制单元,包括CAN控制器,所述CAN控制器中设置有若干个报文缓存装置,其特征在于,还包括与所述若干个报文缓存装置相连接的CAN总线报文的软件滤波系统,所述CAN总线报文的软件滤波系统包括:
预设模块,用于预先为各个报文缓存装置分配编号,并建立报文缓存装置的编号与ID信息子集的对应关系,其中,一个ID信息子集由一个报文缓存装置中所需要缓存的所有CAN总线报文中的ID信息组成;
ID信息子集确定模块,用于当待筛选的CAN总线报文存储至报文缓存装置后,依据所述报文缓存装置的编号,以及报文缓存装置的编号与ID信息子集的对应关系,确定ID信息子集;
比较模块,用于将所述待筛选CAN总线报文中的ID信息逐一与所述ID信息子集中ID信息进行比较;
筛选结果确定模块,用于当在所述ID信息子集中找到与所述待筛选CAN总线报文中的ID信息相同的ID信息时,确定所述待筛选CAN总线报文为所述电子控制单元所需要的CAN总线报文。
6.根据权利要求5所述的电子控制单元,其特征在于,所述筛选结果确定模块还用于,当未在所述ID信息子集中找到与所述待筛选CAN总线报文中的ID信息相同的ID信息时,确定所述待筛选CAN总线报文不是所述电子控制单元所需要的CAN总线报文。
CN201410058072.1A 2014-02-20 2014-02-20 Can总线报文的软件滤波方法、系统及电子控制单元 Active CN103780508B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410058072.1A CN103780508B (zh) 2014-02-20 2014-02-20 Can总线报文的软件滤波方法、系统及电子控制单元

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410058072.1A CN103780508B (zh) 2014-02-20 2014-02-20 Can总线报文的软件滤波方法、系统及电子控制单元

Publications (2)

Publication Number Publication Date
CN103780508A true CN103780508A (zh) 2014-05-07
CN103780508B CN103780508B (zh) 2018-10-16

Family

ID=50572356

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410058072.1A Active CN103780508B (zh) 2014-02-20 2014-02-20 Can总线报文的软件滤波方法、系统及电子控制单元

Country Status (1)

Country Link
CN (1) CN103780508B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105703884A (zh) * 2014-12-10 2016-06-22 现代奥特劳恩株式会社 Can帧传送方法以及装置
CN106559431A (zh) * 2016-12-02 2017-04-05 北京奇虎科技有限公司 一种用于汽车安全检测的可视化分析方法和装置
CN107402564A (zh) * 2017-07-07 2017-11-28 山东汉格威新能源汽车电控制造有限公司 一种关于飞思卡尔单片机的can滤波器设置方法
CN107579893A (zh) * 2017-09-07 2018-01-12 广西玉柴机器股份有限公司 基于saej1939can总线的发动机运行参数测量方法
CN108989167A (zh) * 2017-05-31 2018-12-11 江苏兴云新能源有限公司 控制器局域网系统
CN109861949A (zh) * 2017-11-30 2019-06-07 比亚迪股份有限公司 报文滤波方法、装置和电子设备
CN111130847A (zh) * 2019-11-28 2020-05-08 深圳市元征科技股份有限公司 一种硬件过滤器的数据配置方法、数据过滤方法及相关产品
CN111443683A (zh) * 2018-12-29 2020-07-24 北京奇虎科技有限公司 基于车辆can总线结构的电子控制单元测试方法及装置
CN111698175A (zh) * 2020-06-24 2020-09-22 北京经纬恒润科技有限公司 一种用于网关的报文收发方法及系统
CN112118125A (zh) * 2020-08-05 2020-12-22 东风电驱动系统有限公司 一种can报文高负荷率接收方法及系统
CN113110172A (zh) * 2021-04-14 2021-07-13 中国重汽集团济南动力有限公司 一种基于can网关控制器的车辆can网络监控系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1475386A (zh) * 2002-07-12 2004-02-18 ��ʿͨ��ʽ���� 控制设备和控制系统
CN101777061A (zh) * 2009-12-31 2010-07-14 北京握奇数据系统有限公司 一种java卡对象管理方法及java卡
CN102467530A (zh) * 2010-11-11 2012-05-23 上海大潮电子技术有限公司 数据挖掘系统以及数据挖掘方法
CN102542052A (zh) * 2010-12-29 2012-07-04 微软公司 优先散列索引
CN102629234A (zh) * 2012-01-18 2012-08-08 物联微电子(常熟)有限公司 一种单片机片内置Flash数据快速检索方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1475386A (zh) * 2002-07-12 2004-02-18 ��ʿͨ��ʽ���� 控制设备和控制系统
CN101777061A (zh) * 2009-12-31 2010-07-14 北京握奇数据系统有限公司 一种java卡对象管理方法及java卡
CN102467530A (zh) * 2010-11-11 2012-05-23 上海大潮电子技术有限公司 数据挖掘系统以及数据挖掘方法
CN102542052A (zh) * 2010-12-29 2012-07-04 微软公司 优先散列索引
CN102629234A (zh) * 2012-01-18 2012-08-08 物联微电子(常熟)有限公司 一种单片机片内置Flash数据快速检索方法

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105703884B (zh) * 2014-12-10 2019-03-08 现代奥特劳恩株式会社 Can帧传送方法以及装置
CN105703884A (zh) * 2014-12-10 2016-06-22 现代奥特劳恩株式会社 Can帧传送方法以及装置
CN106559431A (zh) * 2016-12-02 2017-04-05 北京奇虎科技有限公司 一种用于汽车安全检测的可视化分析方法和装置
CN108989167A (zh) * 2017-05-31 2018-12-11 江苏兴云新能源有限公司 控制器局域网系统
CN107402564A (zh) * 2017-07-07 2017-11-28 山东汉格威新能源汽车电控制造有限公司 一种关于飞思卡尔单片机的can滤波器设置方法
CN107402564B (zh) * 2017-07-07 2019-06-25 山东汉格威新能源汽车电控制造有限公司 一种关于飞思卡尔单片机的can滤波器设置方法
CN107579893A (zh) * 2017-09-07 2018-01-12 广西玉柴机器股份有限公司 基于saej1939can总线的发动机运行参数测量方法
CN109861949B (zh) * 2017-11-30 2020-08-07 比亚迪股份有限公司 报文滤波方法、装置和电子设备
CN109861949A (zh) * 2017-11-30 2019-06-07 比亚迪股份有限公司 报文滤波方法、装置和电子设备
CN111443683A (zh) * 2018-12-29 2020-07-24 北京奇虎科技有限公司 基于车辆can总线结构的电子控制单元测试方法及装置
CN111130847A (zh) * 2019-11-28 2020-05-08 深圳市元征科技股份有限公司 一种硬件过滤器的数据配置方法、数据过滤方法及相关产品
CN111130847B (zh) * 2019-11-28 2022-06-17 深圳市元征科技股份有限公司 一种硬件过滤器的数据配置方法、数据过滤方法及相关产品
CN111698175A (zh) * 2020-06-24 2020-09-22 北京经纬恒润科技有限公司 一种用于网关的报文收发方法及系统
CN111698175B (zh) * 2020-06-24 2023-09-19 北京经纬恒润科技股份有限公司 一种用于网关的报文收发方法及系统
CN112118125A (zh) * 2020-08-05 2020-12-22 东风电驱动系统有限公司 一种can报文高负荷率接收方法及系统
CN112118125B (zh) * 2020-08-05 2023-04-07 东风电驱动系统有限公司 一种can报文高负荷率接收方法及系统
CN113110172A (zh) * 2021-04-14 2021-07-13 中国重汽集团济南动力有限公司 一种基于can网关控制器的车辆can网络监控系统
CN113110172B (zh) * 2021-04-14 2022-04-01 中国重汽集团济南动力有限公司 一种基于can网关控制器的车辆can网络监控系统

Also Published As

Publication number Publication date
CN103780508B (zh) 2018-10-16

Similar Documents

Publication Publication Date Title
CN103780508A (zh) Can总线报文的软件滤波方法、系统及电子控制单元
CN109996176B (zh) 路侧感知与车辆终端车路协同融合处理方法和装置
CN103108043A (zh) 一种应用数据库文件自适应采集ecu报文的方法
CN104104584B (zh) 车辆信息提供系统
CN109861882A (zh) 车辆总线协议识别的方法、装置及车载终端
CN105119793A (zh) 一种传感器网络can总线帧格式的标识符分配方法
CN100576163C (zh) 一种数码印刷方法
CN106656705A (zh) 一种车载most/can安全网关及其入侵检测方法
CN110401509A (zh) 用于提高汽车can总线传输效率的方法、设备、介质及装置
CN109657664A (zh) 一种车牌类型的识别方法、装置及电子设备
CN105976294A (zh) 一种支持多线路混合排班的智能交通管理方法和管理系统
CN103345838A (zh) 一种车辆信息管理装置及车辆信息检索方法
CN106682042A (zh) 一种关系数据缓存及查询方法及装置
CN106686735A (zh) 物理下行共享信道资源映射方法
CN108711042A (zh) 基于车联网的车辆自动缴纳罚单方法及系统
EP3568322A1 (de) Zentrale datenablage im bordnetz
CN105357207B (zh) 一种同步书写方法、移动终端、服务器及系统
CN103414643A (zh) 一种采集终端及维护智能电网路由拓扑结构的方法
CN106648454A (zh) 一种本地信息收集系统及信息分类收集方法
CN107844520A (zh) 电子装置、车辆数据导入方法及存储介质
CN111162942A (zh) 一种集群选举方法及系统
CN109309671A (zh) 一种基于区块链的通信设备数据管理方法和装置
CN106993034A (zh) 定位数据的接收方法和上传方法、服务器及定位终端
DE102015121088B4 (de) Verfahren und Vorrichtung zur Übertragung eines CAN-Rahmens
CN103744963A (zh) 目标页面转化的处理方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 4 / F, building 1, No.14 Jiuxianqiao Road, Chaoyang District, Beijing 100020

Patentee after: Beijing Jingwei Hengrun Technology Co., Ltd

Address before: 8 / F, block B, No. 11, Anxiang Beili, Chaoyang District, Beijing 100101

Patentee before: Beijing Jingwei HiRain Technologies Co.,Ltd.

CP03 Change of name, title or address