CN102801633B - 接收滤波器的配置方法及装置 - Google Patents

接收滤波器的配置方法及装置 Download PDF

Info

Publication number
CN102801633B
CN102801633B CN201210309481.5A CN201210309481A CN102801633B CN 102801633 B CN102801633 B CN 102801633B CN 201210309481 A CN201210309481 A CN 201210309481A CN 102801633 B CN102801633 B CN 102801633B
Authority
CN
China
Prior art keywords
value
heart
bunch
combination
module
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
Application number
CN201210309481.5A
Other languages
English (en)
Other versions
CN102801633A (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 CN201210309481.5A priority Critical patent/CN102801633B/zh
Publication of CN102801633A publication Critical patent/CN102801633A/zh
Application granted granted Critical
Publication of CN102801633B publication Critical patent/CN102801633B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请公开了一种接收滤波器的配置方法及装置,所述方法能够根据需要接收的ID的个数和当前可用接收滤波器的个数关系来确定配置接收滤波器的方法,在需要接收的ID个数大于当前可用接收滤波器的个数时,将需要接收的ID分成若干个组合,根据各个组合中的元素配置接受滤波器的掩码寄存器值和接收寄存器值;在需要接收的ID个数小于或等于当前可用接收滤波器的个数时,为每一个需要接收的ID单独配置一个接收滤波器来接收所述ID。通过本发明实施例公开的接收滤波器的配置方法及装置,可以自动高效的配置接收滤波器,且保证了配置结果的准确率。

Description

接收滤波器的配置方法及装置
技术领域
本发明涉及总线通信领域,更具体的说,是涉及一种接收滤波器的配置方法及装置。
背景技术
现场总线技术作为当今自动化领域技术发展的热点之一,为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。为了满足广大用户对自动化设备越来越复杂的功能要求和越来越高的性能要求,面对总线上数量庞大的通信数据,分布式控制系统上的各个节点必须具有良好的滤波功能。
分布式控制系统中的每一个节点都包含微控制单元、发送端和接收端。其中,微控制单元负责节点功能的所有运算;发送端负责报文的打包和发送,接收端负责报文的接收和解析。由于每一个节点都可以向总线上发送报文,且总线上的每一个节点也可以接收总线上的所有报文,因此,为了提高工作效率,接收端需要包括滤波器,以过滤掉本节点不需要的报文标识符(FrameIdentifier,简称ID)。
由于在实际应用中,总线上的报文非常多,而总线上的某个节点可能只需要总线上所有的报文中的少数几个,因此需要根据节点的需要,对标识符接收滤波器进行专门的配置。总线上的每一个节点通常会配置多个标识符接收滤波器,每一个标识符接收滤波器都包含一个掩码寄存器和一个接收寄存器。图1为ID接收过滤示意图,参见图1所示,掩码寄存器的值规定了ID中每一位的值是否需要进行比较,图1中位值1表示比较、0表示不比较;接收寄存器的值规定了可以通过的ID值;在掩码寄存器的作用下,只有当接收到的ID(如图1中接收的ID)和接收寄存器的位值相等时,节点才会接收该报文,否则丢弃。
现有技术中,对标识符接收滤波器的配置,是由软件工程师通过观察比对要接收的报文个数和ID,人工手动配置的方式来实现的。但是这种手动配置标识符接收滤波器的方法,由于是采用人工观察比对ID之间的相似性,因此效率低下,且容易因人员工作疲劳降低配置结果的准确率。
发明内容
有鉴于此,本发明提供了一种接收滤波器的配置方法及装置,以克服现有技术中由于采用人工手动配置标识符接收滤波器而造成的效率低下和准确率低的问题。
为实现上述目的,本发明提供如下技术方案:
一种接收滤波器的配置方法,包括:
接收微控制单元发送的需要接收的ID;
判断需要接收的ID的个数M是否大于当前可用接收滤波器的个数N;所述M和所述N为正整数;
如果是,从所述M个ID中选取N个ID分别作为N个ID组合的簇心,并将N个簇心之外的每一个ID划分至与其位值距离最近的簇心所在的ID组合中;计算所述N个ID组合的掩码寄存器值和接收寄存器值,并根据所述N个ID组合的掩码寄存器值和接收寄存器值配置所述N个接收滤波器;所述位值距离为不同ID之间相对应位值不同的个数;
如果否,从所述N个接收滤波器中选取M个接收滤波器分别为每一个需要接收的ID配置掩码寄存器值和接收寄存器值。
可选的,所述从所述M个ID中选取N个ID分别作为N个ID组合的簇心,包括:
计算M个需要接收的ID的平均位值距离;
查找所有满足包含且只包含N个ID,所述N个ID的两两位值距离均大于平均位值距离条件的簇心组合;
分别以每一簇心组合中的N个ID作为N个ID组合的簇心。
可选的,在所述将N个簇心之外的每一个ID划分至与其位值距离最近的簇心所在的ID组合中后,还包括:
计算N个ID组合的适应值,作为初始适应值;所述适应值为根据掩码寄存器值和接收寄存器值得到的能够通过接收滤波器的ID总个数;
执行迭代分组流程,所述迭代分组流程为:分别以每一个ID组合为对象,计算ID组合中的所有ID之间的位值距离,并将与所述ID组合中其他所有的ID的平均位值距离最小的ID作为初始簇心;在得到N个ID组合的N个初始簇心后,将N个初始簇心之外的每一个ID划分至与其位值距离最近的初始簇心所在的ID组合中;配置依据所述N个初始簇心划分得到的N个ID组合的掩码寄存器值和接收寄存器值,并计算所述N个ID组合的适应值;
判断所述适应值是否小于或等于所述初始适应值,如果是,将所述适应值作为初始适应值,并继续进行迭代分组流程;如果否,保留所述初始适应值及其对应的簇心组合得到的N个ID组合。
可选的,还包括:
比较每一个簇心组合得到的ID组合的初始适应值,并保留最小的初始适应值对应的簇心组合得到的N个ID组合。
可选的,当一个ID与多个簇心位值距离相等时,将所述ID划分至所述多个簇心所在ID组合中编号小的ID组合中。
一种接收滤波器的配置装置,包括:
ID接收模块,用于接收微控制单元发送的需要接收的ID;
数值判断模块,用于判断需要接收的ID的个数M是否大于当前可用接收滤波器的个数N;所述M和所述N为正整数;
分组配置模块,所述分组配置模块包括簇心选取模块、ID分组模块、数值计算模块和数值配置模块;所述簇心选取模块用于在所述数值判断模块的判断结果为是的情况下,从所述M个ID中选取N个ID分别作为N个ID组合的簇心;所述ID分组模块用于将N个簇心之外的每一个ID划分至与其位值距离最近的簇心所在的ID组合中;所述数值计算模块用于计算所述N个ID组合的掩码寄存器值和接收寄存器值;所述数值配置模块用于根据所述N个ID组合的掩码寄存器值和接收寄存器值配置所述N个接收滤波器;所述位值距离为不同ID之间相对应位值不同的个数;
直接配置模块,用于在所述数值判断模块的判断结果为否的情况下,从所述N个接收滤波器中选取M个接收滤波器分别为每一个需要接收的ID配置掩码寄存器值和接收寄存器值。
可选的,所述簇心选取模块包括:
距离计算模块,用于计算M个需要接收的ID的平均位值距离;
簇心组合查找模块,用于查找所有满足包含且只包含N个ID,所述N个ID的两两位值距离均大于平均位值距离条件的簇心组合;
簇心确定模块,用于分别以每一簇心组合中的N个ID作为N个ID组合的簇心。
可选的,还包括:
适应值计算模块,用于计算N个ID组合的适应值,并将所述适应值作为初始适应值;所述适应值为根据掩码寄存器值和接收寄存器值得到的能够通过接收滤波器的ID总个数;
迭代分组执行模块,用于执行迭代分组流程,所述迭代分组流程为:分别以每一个ID组合为对象,计算ID组合中的所有ID之间的位值距离,并将与所述ID组合中其他所有的ID的平均位值距离最小的ID作为初始簇心,在得到N个ID组合的N个初始簇心后,将N个初始簇心之外的每一个ID划分至与其位值距离最近的初始簇心所在的ID组合中;配置依据所述N个初始簇心划分得到的N个ID组合的掩码寄存器值和接收寄存器值;
所述适应值计算模块还用于计算执行迭代分组流程后,依据所述N个初始簇心划分得到的N个ID组合的适应值;
适应值判断模块,用于判断所述适应值是否小于或等于所述初始适应值;
则所述迭代分组执行模块还用于在所述适应值判断模块的判断结果为是的情况下,将所述适应值作为初始适应值,并继续进行迭代分组流程;
ID组合保留模块,用于在所述适应值判断模块的判断结果为否的情况下,保留所述初始适应值对应的簇心组合得到的N个ID组合。
可选的,还包括:
适应值比较模块,用于比较每一个簇心组合得到的ID组合的初始适应值,并保留最小的初始适应值对应的簇心组合得到的N个ID组合。
可选的,还包括:
ID划分模块,用于当一个ID与多个簇心位值距离相等时,将所述ID划分至所述多个簇心所在ID组合中编号小的ID组合中。
经由上述的技术方案可知,与现有技术相比,本发明实施例公开了一种接收滤波器的配置方法及装置,所述方法能够根据需要接收的ID的个数和当前可用接收滤波器的个数关系来确定配置接收滤波器的方法,在需要接收的ID个数大于当前可用接收滤波器的个数时,将需要接收的ID分成若干个组合,根据各个组合中的元素配置接受滤波器的掩码寄存器值和接收寄存器值;在需要接收的ID个数小于或等于当前可用接收滤波器的个数时,为每一个需要接收的ID单独配置一个接收滤波器来接收所述ID。通过本发明实施例公开的接收滤波器的配置方法及装置,可以自动高效的配置接收滤波器,且保证了配置结果的准确率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为ID接收过滤示意图;
图2为本发明实施例公开的接收滤波器的配置方法流程图;
图3为本发明实施例公开的另一个接收滤波器的配置方法流程图;
图4为图3所示实施例中查找簇心并分组的流程图;
图5位本发明实施例公开的接收滤波器的配置装置结构示意图;
图6为本发明实施例公开的分组配置模块的结构示意图;
图7为本发明实施例公开的簇心选取模块结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图2为本发明实施例公开的接收滤波器的配置方法流程图,参见图2所示,所述方法可以包括:
步骤201:接收微控制单元发送的需要接收的ID。
要实现自动配置接收滤波器,首先要知道接收滤波器需要接收什么样的ID,以便于配置相关参数,进而从总线上数量繁多的ID中选择出接收滤波器所在节点需要接收的ID。
步骤202:判断需要接收的ID的个数M是否大于当前可用接收滤波器的个数N;如果是,进入步骤203;如果否,进入步骤207。
其中,所述M和所述N为正整数。步骤202的目的是确定是否需要对要接收的ID进行分组。
步骤203:从所述M个ID中选取N个ID分别作为N个ID组合的簇心。
其中,所述簇心也可以理解为基准。步骤203选取簇心是为步骤204中为ID分组做准备的,换句话说,步骤204中对ID进行分组是以步骤203中选取的簇心为划分标准的。这里选取簇心可以随机选取,例如需要接收的ID有5个,分别为ID1、ID2、ID3、ID4和ID5,当前可用接收滤波器有2个,此时可以选取ID1和ID2分别作为第一组和第二组的簇心。
步骤204:将N个簇心之外的每一个ID划分至与其位值距离最近的簇心所在的ID组合中。
其中,所述位值距离为不同ID之间相对应位值不同的个数。选取好簇心后,每一个簇心代表一组,将除去簇心之后剩余的所有需要接收的ID根据与各个簇心的距离进行分组,分组的原则是每一个ID划分至其位值距离最近的簇心所在的组;所述位值距离为不同ID之间相对应位值不同的个数;例如ID1:00011100110和ID2:00110100111中有3个位值(第3位、第5位和第11位)不同,ID1和ID2的位值距离即为3;当一个ID与多个簇心位值距离相等时,可以将所述ID划分至所述多个簇心所在ID组合中编号小的ID组合中。
步骤205:计算所述N个ID组合的掩码寄存器值和接收寄存器值。
下面通过一个例子介绍一下步骤204和步骤205。
例如需要接收的ID有5个,分别为{ID1:00011100110,ID2:00110100111,ID3:00010100110,ID4:00110000111,ID5:00110001111},假设第一组和第二组的初始簇心分别为ID1和ID2,通过步骤204,计算得到的ID位值距离参见表1所示,表1为ID位值距离计算表。
表1ID位值距离计算表
 ID1   ID2   ID3   ID4   ID5
  ID1  0   3   1   4   5
  ID2   0   2   1   2
  ID3   0   3   4
  ID4   0   1
  ID5   0
表1是计算结果说明,ID3和ID1的位值距离小,ID4和ID5与ID2的位值距离小,因此将ID3划分至ID1所在组,将ID4和ID5划分至ID2所在组。
计算2个ID组合的掩码寄存器值和接收寄存器值的方法是:在同一个组合中,不同ID的对应位相同时,掩码寄存器值为比较位,接收寄存器值为对应位的值。表2为接收滤波器的配置表,掩码寄存器值和接收寄存器值的计算过程可参见表2。其中,ID值中加粗的位表示对应位不同,对应的掩码寄存器值为非比较位,接收寄存器值可以取任意值。
表2接收滤波器配置表
步骤206:根据所述N个ID组合的掩码寄存器值和接收寄存器值配置所述N个接收滤波器。
将步骤205中计算得到的掩码寄存器值和接收寄存器值作为接收滤波器的配置值。
步骤207:从所述N个接收滤波器中选取M个接收滤波器分别为每一个需要接收的ID配置掩码寄存器值和接收寄存器值。
在当前可用的接收滤波器的个数多余需要接收的ID时,为每一个ID分配一个单独的接收滤波器,例如需要接收的ID是ID1:00010101010,可以将接收滤波器的掩码寄存器配置为11111111111,将接收寄存器配置为00010101010,这样保证只有ID1可以通过所述接收滤波器。
本实施例中,所述方法能够根据需要接收的ID的个数和当前可用接收滤波器的个数关系来确定配置接收滤波器的方法,在需要接收的ID个数大于当前可用接收滤波器的个数时,将需要接收的ID分成若干各组合,根据各个组合中的元素配置接受滤波器的掩码寄存器值和接收寄存器值;在需要接收的ID个数小于或等于当前可用接收滤波器的个数时,为每一个需要接收的ID单独配置一个接收滤波器来接收所述ID。通过本发明实施例公开的接收滤波器的配置方法,不需要人工手动配置接收滤波器,能够自动高效的配置接收滤波器,且保证了配置结果的准确率。
实施例二
图3为本发明实施例公开的又一个接收滤波器的配置方法流程图,参见图3所示,所述方法可以包括:
步骤301:接收微控制单元发送的需要接收的ID。
步骤302:判断需要接收的ID的个数M是否大于当前可用接收滤波器的个数N;如果是,进入步骤303;如果否,进入步骤311。
其中,所述M和所述N为正整数;
步骤303:查找簇心组合,并以每一个簇心组合中的N个ID作为N个ID组合的簇心,将需要接收的ID中所述簇心外的ID进行分组。
其中,所述簇心组合包含N个簇心,由于簇心本身也是一个ID,因此N个簇心即N个ID,这N个ID作为N个ID组合的簇心,是需要接收的ID中除去N个簇心之外,剩余的ID分组的判断标准;所述剩余的ID中的每一个,都会被划分至与其位值距离最近的簇心所在的ID组合中。所述位值距离为不同ID之间相对应位值不同的个数。
步骤303的具体步骤可以参见图4,图4为图3所示实施例中查找簇心并分组的流程图,如图4所示,可以包括:
步骤401:计算M个需要接收的ID的平均位值距离;
其中,所述位值距离为不同ID之间相对应位值不同的个数,则计算平均位值距离首先需要计算所有需要接收的ID间的位值距离,然后求和,最后将得到的和除以参与求和的位值距离的总个数。这里可以延用实施例一中步骤205中的例子,如果要计算出需要接收的5个ID(ID1、ID2、ID3、ID4和ID5)的平均位值距离,需要将表1中所有的、5个ID中任意两个ID之间的位值距离相加,得到一个位值距离总和X;然后求取5个ID中包含多少个两两ID位值距离,即排列组合个,记为Y;则平均位值距离Z=X/Y。
步骤402:查找所有满足包含且只包含N个ID,且所述N个ID的两两位值距离均大于平均位值距离条件的簇心组合;
步骤402中的条件是为了避免随机选取簇心时,选取的簇心距离很近,导致同一个ID组合中不同的ID可能位值距离很远,即不同ID中对应位不相同的个数大大增加,从而放大过滤条件,这样为接收滤波器配置的结果虽然可以保证需要接收的ID全部通过,但是不能最大程度的过滤掉不需要的ID。
如果找不到步骤402所述条件的簇心组合,可以将平均位值距离减1,降低选取簇心组合的条件,继续查找符合条件的簇心组合,若还未找到,可依上述方法逐步降低条件,直至有符合条件的簇心组合出现为止。
步骤403:分别以每一簇心组合中的N个ID作为N个ID组合的簇心,并将N个簇心之外的每一个ID划分至与其位值距离最近的簇心所在的ID组合中。
满足步骤402中条件的簇心组合,保证了簇心组合中的各个簇心具有一定的位值距离。
步骤304:计算N个ID组合的适应值,作为初始适应值。
其中,所述适应值为根据掩码寄存器值和接收寄存器值得到的能够通过接收滤波器的ID总个数。延用实施例一中表2中掩码寄存器值和接收寄存器值,可知,第一组的掩码寄存器值不比较位是1位,理论上能够通过的ID数有21=2,第二组的掩码寄存器值不比较位是2位,理论上能够通过的ID数共有22=4,因此通过2个接收滤波器的总报文数是2+4=6个,即适应值为6。
步骤305:执行迭代分组流程。
步骤304中例子的适应值是6,但实际上需要接收的ID数为5个。因此为了进一步过滤掉不需要的报文,执行迭代分组流程,所述迭代分组流程包括:分别以每一个ID组合为对象,计算ID组合中的所有ID之间的位值距离,并将与所述ID组合中其他所有的ID的平均位值距离最小的ID作为初始簇心,在得到N个ID组合的N个初始簇心后,将N个初始簇心之外的每一个ID划分至与其位值距离最近的初始簇心所在的ID组合中;配置依据所述N个初始簇心划分得到的N个ID组合的掩码寄存器值和接收寄存器值,并计算所述N个ID组合的适应值。
步骤306:判断所述适应值是否小于所述初始适应值;如果是,进入步骤307,如果否,进入步骤308。
步骤306是为了判断适应值是否已达到最小。
步骤307:将所述适应值作为初始适应值,进入步骤305。
适应值小于所述初始适应值,说明适应值可能还有减小的空间,因此要进入步骤305继续执行迭代分组流程。
步骤308:保留所述初始适应值及其对应的簇心组合得到的N个ID组合,进入步骤309。
当适应值大于或等于所述初始适应值时,说明当前的初始适应值已达到最优,即最小值。
步骤309:比较每一个簇心组合得到的ID组合的初始适应值,并保留最小的初始适应值对应的簇心组合得到的N个ID组合。
步骤310:计算所述N个ID组合的掩码寄存器值和接收寄存器值,并根据所述N个ID组合的掩码寄存器值和接收寄存器值配置所述N个接收滤波器。
步骤303-310保证了配置的接收滤波器能够最大程度的过滤掉其所在的节点不需要的ID和报文。
步骤311:从所述N个接收滤波器中选取M个接收滤波器分别为每一个需要接收的ID配置掩码寄存器值和接收寄存器值。
本实施例中,所述方法在需要接收的ID数大于当前可用接收滤波器的情况下,保证各个簇心的位值距离大于平均位值距离,并采用迭代分组的方法,综合作用使得需要接收的ID的适应值达到最小,不仅实现了自动高效的配置接收滤波器,且保证了配置结果的准确率。
上述本发明公开的实施例中详细描述了方法,对于本发明的方法可采用多种形式的装置实现,因此本发明还公开了多种装置,下面给出具体的实施例进行详细说明。
实施例三
图5位本发明实施例公开的接收滤波器的配置装置结构示意图,参见图5所示,所述接收滤波器的配置装置50可以包括:
ID接收模块501,用于接收微控制单元发送的需要接收的ID。
数值判断模块502,用于判断需要接收的ID的个数M是否大于当前可用接收滤波器的个数N。
其中,所述M和所述N为正整数。
分组配置模块503,所述分组配置模块包括簇心选取模块、ID分组模块、数值计算模块和数值配置模块;所述簇心选取模块用于在所述数值判断模块502的判断结果为是的情况下,从所述M个ID中选取N个ID分别作为N个ID组合的簇心;所述ID分组模块用于将N个簇心之外的每一个ID划分至与其位值距离最近的簇心所在的ID组合中;所述数值计算模块用于计算所述N个ID组合的掩码寄存器值和接收寄存器值;所述数值配置模块用于根据所述N个ID组合的掩码寄存器值和接收寄存器值配置所述N个接收滤波器。
其中,所述位值距离为不同ID之间相对应位值不同的个数。
直接配置模块504,用于在所述数值判断模块502的判断结果为否的情况下,从所述N个接收滤波器中选取M个接收滤波器分别为每一个需要接收的ID配置掩码寄存器值和接收寄存器值。
本实施例中,所述装置能够根据需要接收的ID的个数和当前可用接收滤波器的个数关系来确定配置接收滤波器的方法,在需要接收的ID个数大于当前可用接收滤波器的个数时,将需要接收的ID分成若干各组合,根据各个组合中的元素配置接受滤波器的掩码寄存器值和接收寄存器值;在需要接收的ID个数小于或等于当前可用接收滤波器的个数时,为每一个需要接收的ID单独配置一个接收滤波器来接收所述ID。通过本发明实施例公开的接收滤波器的配置装置,不需要人工手动配置接收滤波器,能够自动高效的配置接收滤波器,且保证了配置结果的准确率。
实施例四
本实施例中,所述接收滤波器的配置装置可以包括:
ID接收模块,用于接收微控制单元发送的需要接收的ID。
数值判断模块,用于判断需要接收的ID的个数M是否大于当前可用接收滤波器的个数N;所述M和所述N为正整数;
分组配置模块,所述分组配置模块60的具体结构可以参见图6,图6为本发明实施例公开的分组配置模块的结构示意图,参见图6所示,所述分组配置模块包括簇心选取模块601、ID分组模块602、适应值计算模块603、迭代分组执行模块604、适应值判断模块605、ID组合保留模块606、适应值比较模块607、数值计算模块608和数值配置模块609。
所述簇心选取模块601用于在所述数值判断模块的判断结果为是的情况下,从所述M个ID中选取N个ID分别作为N个ID组合的簇心。
在一个示意性的示例中,所述簇心选取模块601的结构可以参见图7,图7为本发明实施例公开的簇心选取模块结构示意图,参见图7所示,可以包括:
距离计算模块6011,用于计算M个需要接收的ID的平均位值距离;
簇心组合查找模块6012,用于查找所有满足包含且只包含N个ID,且所述N个ID的两两位值距离均大于平均位值距离条件的簇心组合;
簇心确定模块6013,用于分别以每一簇心组合中的N个ID作为N个ID组合的簇心。
所述ID分组模块602用于将N个簇心之外的每一个ID划分至与其位值距离最近的簇心所在的ID组合中。
其中,所述位值距离为不同ID之间相对应位值不同的个数;
所述适应值计算模块603用于计算N个ID组合的适应值,并将所述适应值作为初始适应值。
其中,所述适应值为根据掩码寄存器值和接收寄存器值得到的能够通过接收滤波器的ID总个数。
所述迭代分组执行模块604用于执行迭代分组流程。
所述迭代分组流程为:分别以每一个ID组合为对象,计算ID组合中的所有ID之间的位值距离,并将与所述ID组合中其他所有的ID的平均位值距离最小的ID作为初始簇心,在得到N个ID组合的N个初始簇心后,将N个初始簇心之外的每一个ID划分至与其位值距离最近的初始簇心所在的ID组合中;配置依据所述N个初始簇心划分得到的N个ID组合的掩码寄存器值和接收寄存器值;
则所述适应值计算模块603还用于计算执行迭代分组流程后,计算N个ID组合的适应值。
所述适应值判断模块605用于判断所述适应值是否小于或等于所述初始适应值。
则所述迭代分组执行模块604还用于在所述适应值判断模块的判断结果为是的情况下,将所述适应值作为初始适应值,并继续进行迭代分组流程。
所述ID组合保留模块606用于在所述适应值判断模块的判断结果为否的情况下,保留所述初始适应值对应的簇心组合得到的N个ID组合。
所述适应值比较模块607用于比较每一个簇心组合得到的ID组合的初始适应值,并保留最小的初始适应值对应的簇心组合得到的N个ID组合。
所述数值计算模块608用于计算所述N个ID组合的掩码寄存器值和接收寄存器值。
所述数值配置模块609用于根据所述N个ID组合的掩码寄存器值和接收寄存器值配置所述N个接收滤波器。
直接配置模块,用于在所述数值判断模块的判断结果为否的情况下,从所述N个接收滤波器中选取M个接收滤波器分别为每一个需要接收的ID配置掩码寄存器值和接收寄存器值。
本实施例中,所述装置在需要接收的ID数大于当前可用接收滤波器的情况下,保证各个簇心的位值距离大于平均位值距离,并采用迭代分组的方法,综合作用使得需要接收的ID的适应值达到最小,不仅实现了自动高效的配置接收滤波器,且保证了配置结果的准确率。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (4)

1.一种接收滤波器的配置方法,其特征在于,包括:
接收微控制单元发送的需要接收的ID;
判断需要接收的ID的个数M是否大于当前可用接收滤波器的个数N;所述M和所述N为正整数;
如果是,从所述M个ID中选取N个ID分别作为N个ID组合的簇心,并将N个簇心之外的每一个ID划分至与其位值距离最近的簇心所在的ID组合中;计算所述N个ID组合的掩码寄存器值和接收寄存器值,并根据所述N个ID组合的掩码寄存器值和接收寄存器值配置所述N个接收滤波器;所述位值距离为不同ID之间相对应位值不同的个数;
如果否,从所述N个接收滤波器中选取M个接收滤波器分别为每一个需要接收的ID配置掩码寄存器值和接收寄存器值;
其中,所述从所述M个ID中选取N个ID分别作为N个ID组合的簇心,包括:
计算M个需要接收的ID的平均位值距离;
查找所有满足包含且只包含N个ID,所述N个ID的两两位值距离均大于平均位值距离条件的簇心组合;
如果找不到满足所述条件的簇心组合,将所述平均位值距离减1,降低选取簇心组合的条件,继续查找符合条件的簇心组合,若还未找到,依上述方法逐步降低条件,直至有符合条件的簇心组合出现为止;
分别以每一簇心组合中的N个ID作为N个ID组合的簇心;
在所述将N个簇心之外的每一个ID划分至与其位值距离最近的簇心所在的ID组合中后,还包括:
计算N个ID组合的适应值,作为初始适应值;所述适应值为根据掩码寄存器值和接收寄存器值得到的能够通过接收滤波器的ID总个数;
执行迭代分组流程,所述迭代分组流程为:分别以每一个ID组合为对象,计算ID组合中的所有ID之间的位值距离,并将与所述ID组合中其他所有的ID的平均位值距离最小的ID作为初始簇心;在得到N个ID组合的N个初始簇心后,将N个初始簇心之外的每一个ID划分至与其位值距离最近的初始簇心所在的ID组合中;配置依据所述N个初始簇心划分得到的N个ID组合的掩码寄存器值和接收寄存器值,并计算所述N个ID组合的适应值;
判断所述适应值是否小于或等于所述初始适应值,如果是,将所述适应值作为初始适应值,并继续进行迭代分组流程;如果否,保留所述初始适应值及其对应的簇心组合得到的N个ID组合;
比较每一个簇心组合得到的ID组合的初始适应值,并保留最小的初始适应值对应的簇心组合得到的N个ID组合。
2.根据权利要求1所述的方法,其特征在于,当一个ID与多个簇心位值距离相等时,将所述ID划分至所述多个簇心所在ID组合中编号小的ID组合中。
3.一种接收滤波器的配置装置,其特征在于,包括:
ID接收模块,用于接收微控制单元发送的需要接收的ID;
数值判断模块,用于判断需要接收的ID的个数M是否大于当前可用接收滤波器的个数N;所述M和所述N为正整数;
分组配置模块,所述分组配置模块包括簇心选取模块、ID分组模块、数值计算模块和数值配置模块;所述簇心选取模块用于在所述数值判断模块的判断结果为是的情况下,从所述M个ID中选取N个ID分别作为N个ID组合的簇心;所述ID分组模块用于将N个簇心之外的每一个ID划分至与其位值距离最近的簇心所在的ID组合中;所述数值计算模块用于计算所述N个ID组合的掩码寄存器值和接收寄存器值;所述数值配置模块用于根据所述N个ID组合的掩码寄存器值和接收寄存器值配置所述N个接收滤波器;所述位值距离为不同ID之间相对应位值不同的个数;
直接配置模块,用于在所述数值判断模块的判断结果为否的情况下,从所述N个接收滤波器中选取M个接收滤波器分别为每一个需要接收的ID配置掩码寄存器值和接收寄存器值;
所述簇心选取模块包括:
距离计算模块,用于计算M个需要接收的ID的平均位值距离;
簇心组合查找模块,用于查找所有满足包含且只包含N个ID,所述N个ID的两两位值距离均大于平均位值距离条件的簇心组合;如果找不到满足所述条件的簇心组合,将所述平均位值距离减1,降低选取簇心组合的条件,继续查找符合条件的簇心组合,若还未找到,依上述方法逐步降低条件,直至有符合条件的簇心组合出现为止;
簇心确定模块,用于分别以每一簇心组合中的N个ID作为N个ID组合的簇心;
还包括:
适应值计算模块,用于计算N个ID组合的适应值,并将所述适应值作为初始适应值;所述适应值为根据掩码寄存器值和接收寄存器值得到的能够通过接收滤波器的ID总个数;
迭代分组执行模块,用于执行迭代分组流程,所述迭代分组流程为:分别以每一个ID组合为对象,计算ID组合中的所有ID之间的位值距离,并将与所述ID组合中其他所有的ID的平均位值距离最小的ID作为初始簇心,在得到N个ID组合的N个初始簇心后,将N个初始簇心之外的每一个ID划分至与其位值距离最近的初始簇心所在的ID组合中;配置依据所述N个初始簇心划分得到的N个ID组合的掩码寄存器值和接收寄存器值;
所述适应值计算模块还用于计算执行迭代分组流程后,依据所述N个初始簇心划分得到的N个ID组合的适应值;
适应值判断模块,用于判断所述适应值是否小于或等于所述初始适应值;
则所述迭代分组执行模块还用于在所述适应值判断模块的判断结果为是的情况下,将所述适应值作为初始适应值,并继续进行迭代分组流程;
ID组合保留模块,用于在所述适应值判断模块的判断结果为否的情况下,保留所述初始适应值对应的簇心组合得到的N个ID组合;
还包括:
适应值比较模块,用于比较每一个簇心组合得到的ID组合的初始适应值,并保留最小的初始适应值对应的簇心组合得到的N个ID组合。
4.根据权利要求3所述的装置,其特征在于,还包括:
ID划分模块,用于当一个ID与多个簇心位值距离相等时,将所述ID划分至所述多个簇心所在ID组合中编号小的ID组合中。
CN201210309481.5A 2012-08-27 2012-08-27 接收滤波器的配置方法及装置 Active CN102801633B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210309481.5A CN102801633B (zh) 2012-08-27 2012-08-27 接收滤波器的配置方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210309481.5A CN102801633B (zh) 2012-08-27 2012-08-27 接收滤波器的配置方法及装置

Publications (2)

Publication Number Publication Date
CN102801633A CN102801633A (zh) 2012-11-28
CN102801633B true CN102801633B (zh) 2014-12-17

Family

ID=47200601

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210309481.5A Active CN102801633B (zh) 2012-08-27 2012-08-27 接收滤波器的配置方法及装置

Country Status (1)

Country Link
CN (1) CN102801633B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111711551A (zh) * 2020-05-29 2020-09-25 常州市凯程精密汽车部件有限公司 Can总线报文过滤器参数配置方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1589547A (zh) * 2001-09-20 2005-03-02 密克罗奇普技术公司 采用动态滤波器分配的串行通信设备
CN101931581A (zh) * 2010-07-12 2010-12-29 金龙联合汽车工业(苏州)有限公司 Can总线接收信息过滤器的数据配置方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1589547A (zh) * 2001-09-20 2005-03-02 密克罗奇普技术公司 采用动态滤波器分配的串行通信设备
CN101931581A (zh) * 2010-07-12 2010-12-29 金龙联合汽车工业(苏州)有限公司 Can总线接收信息过滤器的数据配置方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
曹军平,王长林.LPC2000系列的CAN总线验收滤波器应用.《单片机与嵌入式系统应用》.2007,(第1期),全文. *

Also Published As

Publication number Publication date
CN102801633A (zh) 2012-11-28

Similar Documents

Publication Publication Date Title
CN105528407B (zh) 一种获取l个具有最佳传播影响力用户的方法和装置
CN104408179A (zh) 数据表中数据处理方法和装置
CN103455534B (zh) 对文档进行聚类的方法和装置
CN106936739B (zh) 一种报文转发方法及装置
CN102316581A (zh) 一种预编码资源组的分配方法和设备
CN107919973B (zh) 用于配置网络设备参数的方法和装置
CN105162897A (zh) 一种虚拟机ip地址分配的系统、方法及网络虚拟机
CN103782270A (zh) 流处理系统的管理方法和相关设备及系统
CN104869064A (zh) 一种流表更新方法及装置
CN105701128B (zh) 一种查询语句的优化方法和装置
CN102801633B (zh) 接收滤波器的配置方法及装置
CN104536926B (zh) 串口设备的控制方法及装置
CN104471888B (zh) 突发数据块中的空闲块idle的处理方法、设备及系统
CN106657128B (zh) 基于通配符掩码规则的数据包过滤方法及装置
CN105517000A (zh) 一种小区分裂的方法及装置
CN107229635A (zh) 一种数据处理的方法、存储节点及协调节点
CN106778864A (zh) 初始样本选择方法及装置
CN103179285B (zh) 一种话单文件的采集方法及装置
CN104699855A (zh) 一种主动式主数据交换方法
CN106385688B (zh) 一种基带资源分配方法及系统及控制器
CN112468546B (zh) 账号位置确定方法、装置、服务器和存储介质
CN104333875B (zh) 一种频点调整方法及装置
CN110046040B (zh) 分布式任务处理方法及系统和存储介质
CN108111418B (zh) 一种通信系统、一种数据传输方法及节点
CN104298596A (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
C14 Grant of patent or utility model
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Method and device for configuring receiving filter

Effective date of registration: 20150901

Granted publication date: 20141217

Pledgee: Zhongguancun Beijing technology financing Company limited by guarantee

Pledgor: Beijing Jingwei HiRain Technologies Co.,Ltd.

Registration number: 2015990000748

PLDC Enforcement, change and cancellation of contracts on pledge of patent right or utility model
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20191023

Granted publication date: 20141217

Pledgee: Zhongguancun Beijing technology financing Company limited by guarantee

Pledgor: Beijing Jingwei HiRain Technologies Co.,Ltd.

Registration number: 2015990000748

PC01 Cancellation of the registration of the contract for pledge of patent right
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 Hirain Technologies Co.,Inc.

Address before: 100101 Beijing city Chaoyang District Anxiang Beili 11 B block 8 layer

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

CP03 Change of name, title or address