CN112947151A - 基于车辆双can总线的高效滤波方法及装置 - Google Patents
基于车辆双can总线的高效滤波方法及装置 Download PDFInfo
- Publication number
- CN112947151A CN112947151A CN202110119947.4A CN202110119947A CN112947151A CN 112947151 A CN112947151 A CN 112947151A CN 202110119947 A CN202110119947 A CN 202110119947A CN 112947151 A CN112947151 A CN 112947151A
- Authority
- CN
- China
- Prior art keywords
- message
- network
- messages
- sending
- feature
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25257—Microcontroller
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明涉及一种基于车辆双CAN总线的高效滤波方法及装置,方法包括以下步骤:每个报文发送节点通过双CAN总线的主网和从网分别向网络中的报文目标节点发送报文;通过主网和从网同时发送的报文中携带的用户数据相同,包含与报文发送节点对应的CAN ID,分别填充有与主网和从网相对应的特征编号;报文目标节点分别通过主网和从网接收报文,独立进行硬件滤波后,将以所述报文目标节点为目标的、主网和从网发送的报文均放入缓存队列数组中;依据报文中的CAN ID和特征编号对缓存队列数组中的报文进行滤波,滤除掉用户数据重复的报文。本发明简化了双CAN冗余架构模型下的数据处理方式,避免了报文重复、丢失的问题,以达到冗余网络***的高可靠性目的。
Description
技术领域
本发明涉及总线通讯技术领域,尤其一种基于车辆双CAN总线的高效滤波方法及装置。
背景技术
在一些特种车辆的CAN总线网络架构中,为了实现设备控制和状态信息传输的冗余通信功能,提升通信效率,保障通信安全性、可靠性,多采用双CAN冗余设计。目前典型架构有热备份和全备份两种形式,热备份通常是通过判断总线错误帧数量,决定总线健康状态,再决定使用哪一条总线数据,存在故障发生切换总线时的报文丢包情况。全备份则是两条总线上实时传输相同报文数据,即两条总线同时工作,每个网络节点接收到的报文数据量为单总线模式下的二倍,每条报文数据将重复一遍,冗余数据量大、数据滤波工作负荷重,故障发生瞬间依然存在少量的报文重复或丢失现象。因此在全备份网络架构下,如何开发高效的滤除冗余报文、确保在典型总线故障状态下的每个网络节点报文不重复不丢失的方法,亟待解决。
发明内容
鉴于上述的分析,本发明旨在提供一种基于车辆双CAN总线的高效滤波方法及装置,在保证双CAN网络报文冗余的同时,又保证了对重复报文导致的指令重复或数据重复的处理。
本发明提供的技术方案是:
本发明公开了一种基于车辆双CAN总线的高效滤波方法,包括以下步骤:
报文发送步骤:每个报文发送节点通过双CAN总线的主网和从网分别向网络中的报文目标节点发送报文;通过主网和从网同时发送的报文中携带的用户数据相同,包含与报文发送节点对应的CAN ID,分别填充有与主网和从网相对应的特征编号;
报文接收步骤:报文目标节点分别通过主网和从网接收报文,独立进行硬件滤波后,将以所述报文目标节点为目标的、主网和从网发送的报文均放入缓存队列数组中;依据报文中的CAN ID和特征编号对缓存队列数组中的报文进行滤波,滤除掉用户数据重复的报文。
进一步地,分别填充有与主网和从网相对应的特征编号,包括:双CAN总线上的每个网络节点发送报文前,向主网报文中的指定区域填充第一特征编号m,向从网报文中的指定区域填充第二特征编号n;第一特征编号m和第二特征编号n相等,并且按照报文的发送顺序,在0-K的范围内,呈相同的单调递增或单调递减循环变化;
将报文同时向主网、从网的发送队列或发送邮箱填充发送,携带用户数据相同的报文保持同步发送。
进一步地,报文接收步骤具体包括:
每个报文目标节点对接收报文进行硬件滤波后,接收到以其为目标的主网和从网发送的报文后,放入同一个缓存队列中;
选取报文数据冗余处理时间阈值T;
对报文数据冗余处理时间阈值T内的缓存队列中依次新增的报文数据进行滤波;
在缓存队列中依次进行字符串比较,判断报文中的CAN ID是否重复;是,则查找特征编号相同的两个报文,保留其中一个报文作为滤波结果,去除特征编号,提取用户数据;否,则对CAN ID不重复的报文分别去除特征编号,提取用户数据。
进一步地,分别填充有与主网和从网相对应的特征编号,包括:双CAN总线上的每个网络节点发送报文前,向主网报文中的指定区域填充第一特征编号m,向从网报文中的指定区域填充第二特征编号n;按照报文的发送顺序,第一特征编号m和第二特征编号n随发送的报文呈计数变化;其中,第一特征编号m和第二特征编号n的计数变化的间隔相等、趋势相反,且携带用户数据相同的第一特征编号m和第二特征编号n的和为固定值K;即m+n=K;
将报文同时向主网、从网的发送队列或发送邮箱填充发送,携带用户数据相同的报文保持同步发送。
进一步地,报文接收步骤具体包括:
每个网络节点对接收报文进行硬件滤波后,接收到以其为目标的主网和从网发送的报文后,放入同一个缓存队列中;
选取报文数据冗余处理时间阈值T;
对报文数据冗余处理时间阈值T内的缓存队列中依次新增的报文数据进行报文滤波;
依次字符串比较判断报文中的CAN ID是否重复;
对于CAN ID重复的报文,查找特征编号相加为固定值K的两个报文,保留其中一个报文作为滤波结果,去除特征编号,提取用户数据;对于查找不到特征编号与其他特征编号相加为固定值K的报文,通过与其相邻的CAN ID重复的报文中特征编号的变化趋势是与主网或从网接收的报文的特征编号变化趋势同相,确定当前处于健康状态的网络为主网或从网,上报处于故障状态的网络;同时通过处于健康状态的网络接收报文,去除特征编号,提取用户数据;
对CAN ID不重复的报文,分别去除特征编号,提取用户数据。
进一步地,分别填充有与主网和从网相对应的特征编号,包括:双CAN总线上的每个网络节点发送报文前,向主网报文中的指定区域填充第一特征编号m,向从网报文中的指定区域填充第二特征编号n;按照报文的发送顺序,第一特征编号m和第二特征编号n随发送的报文呈计数变化;其中,第一特征编号m为奇数递减或奇数递增变化,对应的携带用户数据相同报文的第二特征编号n为与第一特征编号m的和为固定值K的偶数递增或偶数递减变化;即m+n=K;m为奇数,n为偶数。
将报文同时向主网、从网的发送队列或发送邮箱填充发送,携带用户数据相同的报文保持同步发送。
进一步地,报文接收步骤具体包括:
每个网络节点对接收报文进行硬件滤波后,接收到以其为目标的主网和从网发送的报文后,放入同一个缓存队列中;
选取报文数据冗余处理时间阈值T;
对报文数据冗余处理时间阈值T内的缓存队列中依次新增的报文数据进行报文滤波;
判断特征编号为奇数或偶数,如果为奇数则为通过主网接收到的报文,缓存到队列数组DATA1中;如果为偶数则为通过从网接收到的报文,缓存到队列数组DATA2中;
依次字符串判断队列数组DATA1和队列数组DATA2中,是否存在CAN ID重复,且特征编号m+n=K的两个报文,如果存在保留其中一个报文作为滤波结果,去除特征编号,提取用户数据;并将两个报文从队列数组DATA1和队列数组DATA2中删除;
对于队列数组DATA1剩余的数据,根据CAN ID和特征编号,判断在特征编号对应的时刻,与CAN ID对应的节点的从网数据传输出现故障,上报处于故障状态的网络;对主网接收的报文去除特征编号,提取用户数据;
对于队列数组DATA2剩余的数据,根据CAN ID和特征编号,判断在特征编号对应的时刻,与CAN ID对应的节点的主网数据传输出现故障,上报处于故障状态的网络,对从网接收的报文去除特征编号,提取用户数据。
进一步地,预设时间阈值T的取值范围为Tmin<T<Tmax;Tmin为总线中最低优先级报文传输时间;Tmax为最高优先级报文连续传输K遍的时间。
进一步地,在硬件滤波器中CAN控制器过滤器组的数量P小于要进行通信的网络中节点的CAN ID数量Q时,硬件滤波器设置方法包括以下步骤:
对过滤器组的第一个过滤器,从Q个CAN ID中选取1个CAN ID分配给该过滤器,并以该CAN ID为第一基准,对剩余的Q-1个节点的CAN ID与第一基准CAN ID的数字距离进行排序,选取与第一基准CAN ID数字距离最长的R1-1个CAN ID作为该过滤器处理的节点;
对过滤器组的第二个过滤器,从去除第一个过滤器已经选取的CAN ID中选取1个CAN ID分配给该过滤器,并以该CAN ID为第二基准,对剩余的Q-R1-1个节点的CAN ID与第二基准CAN ID的数字距离进行排序,选取与第二基准CAN ID数字距离最长的R2-1个CAN ID作为该过滤器处理的节点;
依次进行节点分配,确定过滤器组与要处理的节点的对应关系。
本发明还公开了一种基于根据上述的高效滤波方法的滤波装置,包括报文发送模块和报文接收模块;
所述报文发送模块,在每个报文发送节点中,用于通过双CAN总线的主网和从网分别向网络中的报文目标节点发送报文;通过主网和从网同时发送的报文中携带的用户数据相同,包含与报文发送节点对应的CAN ID,填充有分别与主网和从网相对应的特征编号;
所述报文接收模块:在每个报文目标节点中,用于通过主网和从网分别接收报文,独立进行硬件滤波后,将以其为目标的、包括主网和从网发送的报文放入缓存队列数组,依据报文中的CAN ID和特征编号对缓存队列数组中报文进行滤波,滤除掉用户数据重复的报文。
本发明至少可实现以下有益效果之一:
本发明简化了双CAN冗余架构模型下的数据处理方式,先通过对报文进行唯一性处理,再通过冗余报文剔除,完全避免了报文重复、丢失的问题,以达到冗余网络***的高可靠性目的。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为本实施例的高效滤波方法流程图;
图2为本实施例的高效滤波装置组成连接示意图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理。
本实施例公开了一种基于车辆双CAN总线的高效滤波方法,如图1所示,包括以下步骤:
步骤S1、报文发送步骤:每个报文发送节点通过双CAN总线的主网和从网分别向网络中的报文目标节点发送报文;通过主网和从网同时发送的报文中携带的用户数据相同,包含与报文发送节点对应的CAN ID,分别填充有与主网和从网相对应的特征编号;
步骤S2、报文接收步骤:报文目标节点分别通过主网和从网接收报文,独立进行硬件滤波后,将以所述报文目标节点为目标的、主网和从网发送的报文均放入缓存队列数组中;依据报文中的CAN ID和特征编号对缓存队列数组中的报文进行滤波,滤除掉用户数据重复的报文。
本实施例的一种具体方案:
1)双CAN总线上的每个网络节点发送报文前,向主网报文中的指定区域填充第一特征编号m,向从网报文中的指定区域填充第二特征编号n;第一特征编号m和第二特征编号n相等,并且按照报文的发送顺序,在0-K的范围内,呈相同的单调递增或单调递减循环变化;递增或递减的间隔可预先设定;
更具体的,指定区域包含报文的信息部分或数据部分;K取255,特征编号在0-255的范围内,以间隔为1随报文的发送单调增大;
优选的,填充特征编号指定区域为数据部分的第一个字节。
2)将报文同时向主网、从网的发送队列或发送邮箱填充发送,携带用户数据相同的报文保持同步发送;
3)每个网络节点对接收报文进行硬件滤波后,接收到以其为目标的主网和从网发送的报文后,放入同一个缓存队列中;
4)选取报文数据冗余处理时间阈值T;
5)对报文数据冗余处理时间阈值T内的缓存队列中依次新增的报文数据进行滤波;
在缓存队列中依次进行字符串比较,判断报文中的CAN ID是否重复;是,则查找特征编号相同的两个报文,保留其中一个报文作为滤波结果,去除特征编号,提取用户数据;否,则对CAN ID不重复的报文分别去除特征编号,提取用户数据。
本方案的一个具体实例中,
用户的CAN总线协议为CAN2.0B,扩展帧模式,具有29位CAN ID和8个字节的负载传输数据;每个总线节点主控为STM32F429,具有两个CAN控制器,通过两个独立的CAN通道接入CAN主网和CAN从网。
每个CAN节点根据所需要接收的设备报文,对两个CAN控制器进行硬件滤波设置,并且两个通道设置保持一致。
当网络上的节点A需要发送报文X1给节点B,将保持相等的第一特征编号m和第二特征编号n均加1假设当前值为0x04,然后放入报文的数据区的第一个字节,然后将报文同时向主网和从网的个CAN通道发送,分别为X11、X12。
节点B的CAN主网通道、从网通道将分别收到报文X11、X12,以及网络中的其他网络节点的报文,通过硬件滤波后,节点B将报文X11、X12和其他报文放入缓存队列数组DATA[NUM]中。
通过计时器,节点B以T周期性地处理缓存队列数组DATA[NUM]中的数据。
通过依次字符串比较DATA[NUM]中每个报文的特征编号变量(即数据区的第一个字节),在时间T内存在相同特征编号变量的报文X11、X12,则剔除冗余报文X12,最终保持了时间T内的报文X1唯一性。
去数据区的第一个字节,即后7个字节的数据为用户既定的有效报文数据。
在本具体方案中,简化了双CAN冗余架构模型下的数据处理方式,先通过对报文进行唯一性处理,再通过冗余报文剔除,完全避免了报文重复、丢失的问题,以达到冗余网络***的高可靠性目的。
本实施例的另一种具体方案:
1)双CAN总线上的每个网络节点发送报文前,向主网报文中的指定区域填充第一特征编号m,向从网报文中的指定区域填充第二特征编号n;按照报文的发送顺序,第一特征编号m和第二特征编号n随发送的报文呈计数变化;其中,第一特征编号m和第二特征编号n的计数变化的间隔相等、趋势相反,且携带用户数据相同的第一特征编号m和第二特征编号n的和为固定值K;即m+n=K。
更具体的,指定区域包含报文的信息部分或数据部分;K取255,第一特征编号m在0-255的范围内,以间隔为1随报文的发送单调增大;第二特征编号m在0-255的范围内,以间隔为1随报文的发送单调减小;m+n=255。
2)将报文同时向主网、从网的发送队列或发送邮箱填充发送,携带用户数据相同的报文保持同步发送;
3)每个网络节点对接收报文进行硬件滤波后,接收到以其为目标的主网和从网发送的报文后,放入同一个缓存队列中;
4)选取报文数据冗余处理时间阈值T;
5)对报文数据冗余处理时间阈值T内的缓存队列中依次新增的报文数据进行报文滤波;
首先依次字符串比较判断报文中的CAN ID是否重复;
对于CAN ID重复的报文,查找特征编号相加为固定值K的两个报文,保留其中一个报文作为滤波结果,去除特征编号,提取用户数据;对于查找不到特征编号与其他特征编号相加为固定值K的报文,通过与其相邻的CAN ID重复的报文中特征编号的变化趋势是与主网或从网接收的报文的特征编号变化趋势同相,确定当前处于健康状态的网络为主网或从网,上报处于故障状态的网络;同时通过处于健康状态的网络接收报文,去除特征编号,提取用户数据;
对CAN ID不重复的报文,分别去除特征编号,提取用户数据。
在本具体方案中,简化了双CAN冗余架构模型下的数据处理方式,先通过对报文进行唯一性处理,再通过冗余报文剔除,完全避免了报文重复、丢失的问题,并可上报处于故障状态的网络,以达到冗余网络***的高可靠性目的。
本实施例的另一种具体方案:
1)双CAN总线上的每个网络节点发送报文前,向主网报文中的指定区域填充第一特征编号m,向从网报文中的指定区域填充第二特征编号n;按照报文的发送顺序,第一特征编号m和第二特征编号n随发送的报文呈计数变化;其中,第一特征编号m为奇数递减或奇数递增变化,对应的携带用户数据相同报文的第二特征编号n为与第一特征编号m的和为固定值K的偶数递增或偶数递减变化;即m+n=K;m为奇数,n为偶数。
2)将报文同时向主网、从网的发送队列或发送邮箱填充发送,携带用户数据相同的报文保持同步发送;
3)每个网络节点对接收报文进行硬件滤波后,接收到以其为目标的主网和从网发送的报文后,放入同一个缓存队列中;
4)选取报文数据冗余处理时间阈值T;
5)对报文数据冗余处理时间阈值T内的缓存队列中依次新增的报文数据进行报文滤波;
(1)判断特征编号为奇数或偶数,如果为奇数则为通过主网接收到的报文,缓存到队列数组DATA1中;如果为偶数则为通过从网接收到的报文,缓存到队列数组DATA2中;
(2)依次字符串判断队列数组DATA1和队列数组DATA2中,是否存在CAN ID重复,且特征编号m+n=K的两个报文,如果存在保留其中一个报文作为滤波结果,去除特征编号,提取用户数据;并将两个报文从队列数组DATA1和队列数组DATA2中删除;
(3)对于队列数组DATA1剩余的数据,根据CAN ID和特征编号,判断在特征编号对应的时刻,与CAN ID对应的节点的从网数据传输出现故障,上报处于故障状态的网络;对主网接收的报文去除特征编号,提取用户数据;
(4)对于队列数组DATA2剩余的数据,根据CAN ID和特征编号,判断在特征编号对应的时刻,与CAN ID对应的节点的主网数据传输出现故障,上报处于故障状态的网络,对从网接收的报文去除特征编号,提取用户数据。
在本具体方案中,简化了双CAN冗余架构模型下的数据处理方式,先通过对报文进行唯一性处理,再通过冗余报文剔除,完全避免了报文重复、丢失的问题,并可上报处于故障状态的网络,以达到冗余网络***的高可靠性目的。
进一步地,在上述方案中,预设时间阈值T的取值范围为Tmin<T<Tmax;Tmin为总线中最低优先级报文传输时间;Tmax为最高优先级报文连续传输K遍的时间。
优选的,总线中最低优先级报文传输时间Tmin为通过CAN分析仪或者CAN调试软件监测获得。
具体的,同一网络节点的主网、从网CAN控制器具备相同的硬件滤波器设置。
更具体的,在硬件滤波器中CAN控制器过滤器组的数量P小于要进行通信的网络中节点的CAN ID数量Q时的硬件滤波器设置方法包括以下步骤:
对过滤器组的第一个过滤器,从Q个CAN ID中选取1个CAN ID分配给该过滤器,并以该CAN ID为基准,对剩余的Q-1个节点的CAN ID与基准CAN ID的数字距离进行排序,选取与该CAN ID数字距离最长的R1-1个CAN ID作为该过滤器处理的节点;
对过滤器组的第二个过滤器,从去除第一个过滤器已经选取的CAN ID中选取1个CAN ID分配给该过滤器,并以该CAN ID为基准,对剩余的Q-R1-1个节点的CAN ID与基准CANID的数字距离进行排序,选取与该CAN ID数字距离最长的R2-1个CAN ID作为该过滤器处理的节点;
依次进行节点分配,确定过滤器组与要处理的节点的对应关系。
具体的,所述数字距离为两个CAN ID按位比较,数据不同的个数。
本实施例还公开了一种基于车辆双CAN总线的高效滤波装置,如图2所示,包括,报文发送模块和报文接收模块;
所述报文发送模块,在每个报文发送节点中,用于通过双CAN总线的主网和从网分别向网络中的报文目标节点发送报文;通过主网和从网同时发送的报文中携带的用户数据相同,包含与报文发送节点对应的CAN ID,填充有分别与主网和从网相对应的特征编号;
所述报文接收模块:在每个报文目标节点中,用于通过主网和从网分别接收报文,独立进行硬件滤波后,将以其为目标的、包括主网和从网发送的报文放入缓存队列数组,依据报文中的CAN ID和特征编号对缓存队列数组中报文进行滤波,滤除掉用户数据重复的报文。
本实施例中的具体技术细节和有益效果与上述的其他实施例中相同,在此就不一一赘述了。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种基于车辆双CAN总线的高效滤波方法,其特征在于,包括以下步骤:
报文发送步骤:每个报文发送节点通过双CAN总线的主网和从网分别向网络中的报文目标节点发送报文;通过主网和从网同时发送的报文中携带的用户数据相同,包含与报文发送节点对应的CAN ID,分别填充有与主网和从网相对应的特征编号;
报文接收步骤:报文目标节点分别通过主网和从网接收报文,独立进行硬件滤波后,将以所述报文目标节点为目标的、主网和从网发送的报文均放入缓存队列数组中;依据报文中的CAN ID和特征编号对缓存队列数组中的报文进行滤波,滤除掉用户数据重复的报文。
2.根据权利要求1所述的高效滤波方法,其特征在于,分别填充有与主网和从网相对应的特征编号,包括:双CAN总线上的每个网络节点发送报文前,向主网报文中的指定区域填充第一特征编号m,向从网报文中的指定区域填充第二特征编号n;第一特征编号m和第二特征编号n相等,并且按照报文的发送顺序,在0-K的范围内,呈相同的单调递增或单调递减循环变化;
将报文同时向主网、从网的发送队列或发送邮箱填充发送,携带用户数据相同的报文保持同步发送。
3.根据权利要求2所述的高效滤波方法,其特征在于,报文接收步骤具体包括:
每个报文目标节点对接收报文进行硬件滤波后,接收到以其为目标的主网和从网发送的报文后,放入同一个缓存队列中;
选取报文数据冗余处理时间阈值T;
对报文数据冗余处理时间阈值T内的缓存队列中依次新增的报文数据进行滤波;
在缓存队列中依次进行字符串比较,判断报文中的CAN ID是否重复;是,则查找特征编号相同的两个报文,保留其中一个报文作为滤波结果,去除特征编号,提取用户数据;否,则对CAN ID不重复的报文分别去除特征编号,提取用户数据。
4.根据权利要求1所述的高效滤波方法,其特征在于,分别填充有与主网和从网相对应的特征编号,包括:双CAN总线上的每个网络节点发送报文前,向主网报文中的指定区域填充第一特征编号m,向从网报文中的指定区域填充第二特征编号n;按照报文的发送顺序,第一特征编号m和第二特征编号n随发送的报文呈计数变化;其中,第一特征编号m和第二特征编号n的计数变化的间隔相等、趋势相反,且携带用户数据相同的第一特征编号m和第二特征编号n的和为固定值K;即m+n=K;
将报文同时向主网、从网的发送队列或发送邮箱填充发送,携带用户数据相同的报文保持同步发送。
5.根据权利要求4所述的高效滤波方法,其特征在于,报文接收步骤具体包括:
每个网络节点对接收报文进行硬件滤波后,接收到以其为目标的主网和从网发送的报文后,放入同一个缓存队列中;
选取报文数据冗余处理时间阈值T;
对报文数据冗余处理时间阈值T内的缓存队列中依次新增的报文数据进行报文滤波;
依次字符串比较判断报文中的CAN ID是否重复;
对于CAN ID重复的报文,查找特征编号相加为固定值K的两个报文,保留其中一个报文作为滤波结果,去除特征编号,提取用户数据;对于查找不到特征编号与其他特征编号相加为固定值K的报文,通过与其相邻的CAN ID重复的报文中特征编号的变化趋势是与主网或从网接收的报文的特征编号变化趋势同相,确定当前处于健康状态的网络为主网或从网,上报处于故障状态的网络;同时通过处于健康状态的网络接收报文,去除特征编号,提取用户数据;
对CAN ID不重复的报文,分别去除特征编号,提取用户数据。
6.根据权利要求1所述的高效滤波方法,其特征在于,分别填充有与主网和从网相对应的特征编号,包括:双CAN总线上的每个网络节点发送报文前,向主网报文中的指定区域填充第一特征编号m,向从网报文中的指定区域填充第二特征编号n;按照报文的发送顺序,第一特征编号m和第二特征编号n随发送的报文呈计数变化;其中,第一特征编号m为奇数递减或奇数递增变化,对应的携带用户数据相同报文的第二特征编号n为与第一特征编号m的和为固定值K的偶数递增或偶数递减变化;即m+n=K;m为奇数,n为偶数。
将报文同时向主网、从网的发送队列或发送邮箱填充发送,携带用户数据相同的报文保持同步发送。
7.根据权利要求6所述的高效滤波方法,其特征在于,报文接收步骤具体包括:
每个网络节点对接收报文进行硬件滤波后,接收到以其为目标的主网和从网发送的报文后,放入同一个缓存队列中;
选取报文数据冗余处理时间阈值T;
对报文数据冗余处理时间阈值T内的缓存队列中依次新增的报文数据进行报文滤波;
判断特征编号为奇数或偶数,如果为奇数则为通过主网接收到的报文,缓存到队列数组DATA1中;如果为偶数则为通过从网接收到的报文,缓存到队列数组DATA2中;
依次字符串判断队列数组DATA1和队列数组DATA2中,是否存在CAN ID重复,且特征编号m+n=K的两个报文,如果存在保留其中一个报文作为滤波结果,去除特征编号,提取用户数据;并将两个报文从队列数组DATA1和队列数组DATA2中删除;
对于队列数组DATA1剩余的数据,根据CAN ID和特征编号,判断在特征编号对应的时刻,与CAN ID对应的节点的从网数据传输出现故障,上报处于故障状态的网络;对主网接收的报文去除特征编号,提取用户数据;
对于队列数组DATA2剩余的数据,根据CAN ID和特征编号,判断在特征编号对应的时刻,与CAN ID对应的节点的主网数据传输出现故障,上报处于故障状态的网络,对从网接收的报文去除特征编号,提取用户数据。
8.根据权利要求3、5或7所述的高效滤波方法,其特征在于,
预设时间阈值T的取值范围为Tmin<T<Tmax;Tmin为总线中最低优先级报文传输时间;Tmax为最高优先级报文连续传输K遍的时间。
9.根据权利要求1-7任一项所述的高效滤波方法,其特征在于,
在硬件滤波器中CAN控制器过滤器组的数量P小于要进行通信的网络中节点的CAN ID数量Q时,硬件滤波器设置方法包括以下步骤:
对过滤器组的第一个过滤器,从Q个CAN ID中选取1个CAN ID分配给该过滤器,并以该CAN ID为第一基准,对剩余的Q-1个节点的CAN ID与第一基准CAN ID的数字距离进行排序,选取与第一基准CAN ID数字距离最长的R1-1个CAN ID作为该过滤器处理的节点;
对过滤器组的第二个过滤器,从去除第一个过滤器已经选取的CAN ID中选取1个CANID分配给该过滤器,并以该CAN ID为第二基准,对剩余的Q-R1-1个节点的CAN ID与第二基准CAN ID的数字距离进行排序,选取与第二基准CAN ID数字距离最长的R2-1个CAN ID作为该过滤器处理的节点;
依次进行节点分配,确定过滤器组与要处理的节点的对应关系。
10.一种基于根据权利要求1-9任一项所述的高效滤波方法的滤波装置,其特征在于,包括报文发送模块和报文接收模块;
所述报文发送模块,在每个报文发送节点中,用于通过双CAN总线的主网和从网分别向网络中的报文目标节点发送报文;通过主网和从网同时发送的报文中携带的用户数据相同,包含与报文发送节点对应的CAN ID,填充有分别与主网和从网相对应的特征编号;
所述报文接收模块:在每个报文目标节点中,用于通过主网和从网分别接收报文,独立进行硬件滤波后,将以其为目标的、包括主网和从网发送的报文放入缓存队列数组,依据报文中的CAN ID和特征编号对缓存队列数组中报文进行滤波,滤除掉用户数据重复的报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110119947.4A CN112947151B (zh) | 2021-01-28 | 2021-01-28 | 基于车辆双can总线的高效滤波方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110119947.4A CN112947151B (zh) | 2021-01-28 | 2021-01-28 | 基于车辆双can总线的高效滤波方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112947151A true CN112947151A (zh) | 2021-06-11 |
CN112947151B CN112947151B (zh) | 2023-05-12 |
Family
ID=76238830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110119947.4A Active CN112947151B (zh) | 2021-01-28 | 2021-01-28 | 基于车辆双can总线的高效滤波方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112947151B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111711551A (zh) * | 2020-05-29 | 2020-09-25 | 常州市凯程精密汽车部件有限公司 | Can总线报文过滤器参数配置方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101944986A (zh) * | 2009-07-09 | 2011-01-12 | 南京南瑞继保电气有限公司 | 一种双网热备用方法 |
CN103490966A (zh) * | 2013-10-10 | 2014-01-01 | 北京航天发射技术研究所 | 一种双冗余can总线数据接收处理方法 |
CN105743755A (zh) * | 2016-04-19 | 2016-07-06 | 上海君协光电科技发展有限公司 | 一种双冗余can总线通信*** |
US20170054574A1 (en) * | 2015-08-17 | 2017-02-23 | Marvell World Trade Ltd. | Virtual Controller Area Network |
CN210225442U (zh) * | 2019-05-16 | 2020-03-31 | 江苏和正特种装备有限公司 | 基于全备份的双can冗余*** |
-
2021
- 2021-01-28 CN CN202110119947.4A patent/CN112947151B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101944986A (zh) * | 2009-07-09 | 2011-01-12 | 南京南瑞继保电气有限公司 | 一种双网热备用方法 |
CN103490966A (zh) * | 2013-10-10 | 2014-01-01 | 北京航天发射技术研究所 | 一种双冗余can总线数据接收处理方法 |
US20170054574A1 (en) * | 2015-08-17 | 2017-02-23 | Marvell World Trade Ltd. | Virtual Controller Area Network |
CN105743755A (zh) * | 2016-04-19 | 2016-07-06 | 上海君协光电科技发展有限公司 | 一种双冗余can总线通信*** |
CN210225442U (zh) * | 2019-05-16 | 2020-03-31 | 江苏和正特种装备有限公司 | 基于全备份的双can冗余*** |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111711551A (zh) * | 2020-05-29 | 2020-09-25 | 常州市凯程精密汽车部件有限公司 | Can总线报文过滤器参数配置方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112947151B (zh) | 2023-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106850188A (zh) | 一种基于多路异构单向传输通道的数据传输*** | |
CN105450489A (zh) | 输出优先实现最短报文的HEBus高效现场总线***及通信方法 | |
CN112118174B (zh) | 软件定义数据网关 | |
JPH0216628B2 (zh) | ||
CN111835579B (zh) | 一种网络流量调度仿真有效性的测试方法及*** | |
CN113242273A (zh) | 列车网络、通信方法、列车、电子设备及存储介质 | |
KR20160096526A (ko) | 네트워크의 진단 방법 및 장치 | |
EP3101844A1 (en) | Packet loss detection method, apparatus, and system | |
CN112019440B (zh) | 基于标识符复用的can总线组播方法 | |
CN112947151A (zh) | 基于车辆双can总线的高效滤波方法及装置 | |
CN106773862A (zh) | 一种整流器并机***及其控制方法 | |
CN115022084A (zh) | 一种网络隔离网闸数据交换方法及其应用 | |
CN114268927A (zh) | 一种车载通信方法、装置、设备及存储介质 | |
CN112346329A (zh) | 一种rs422双总线***冗余管理方法 | |
CN108259130A (zh) | 一种波特率奇偶校验位自适应的Modbus传输***及方法 | |
CN109194512A (zh) | 环网智能通信装置及其配置方法 | |
US8320262B2 (en) | Bus system and method and device for transmitting communications on a bus system | |
CN109379207A (zh) | 一种业务复用方法、业务解复用方法以及相关设备 | |
CN114301563B (zh) | 集群间多余度同步电路、总线***及集群间同步的方法 | |
CN115396752A (zh) | 一种基于Redis的双平面采集数据方法及*** | |
CN112503717B (zh) | 空调通用控制器的控制方法、装置及空调通用控制器 | |
CN108848193B (zh) | 一种基于动态加权的工业传感器节点更新率优化方法 | |
CN106681954A (zh) | 基于总线的参数设置方法、用于机器人的控制器 | |
CN107920021B (zh) | 基于蜂窝链路聚合的链路优选方法 | |
CN109495162B (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 |