一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于AUTOSAR网络管理的休眠异常检测方法与流程

2022-02-22 19:25:28 来源:中国专利 TAG:

一种基于autosar网络管理的休眠异常检测方法
技术领域
1.本发明属于汽车技术领域,具体的说是一种基于autosar网络管理的休眠异常检测方法。


背景技术:

2.随着汽车智能化和信息化的发展,车内电子控制器的数量不断增多,造成汽车的整体功耗的增加。当汽车关闭发动机静置后,车内的部分电子控制器仍需要持续工作一段时间后才能休眠,汽车在静置时仅由车内蓄电池供电,如果长时间放置势必会造成蓄电池亏电,导致汽车无法发动、电子控制器故障、蓄电池寿命缩短或损坏等诸多问题。因此,为了降低整车的静置功耗,需要在整车网络中加入高效且可靠的网络管理机制。汽车车内网络一般采用can总线通信,市面上常用的网络管理机制包括osek、autosar网络管理。
3.但现有的网络管理可能存在偶发无法正常休眠的问题,原因可能是电子控制器ecu硬件故障、电子控制器ecu软件故障或电子通信线路故障等,严重时会导致整车静置后长时间无法休眠,造成蓄电池亏电。现有的解决办法有1:维修人员通过汽车诊断设备实时监控网络,并通过分析报文数据来诊断故障原因,但偶发的休眠异常题一般很难复现,很难快速定位到休眠异常的电子控制器ecu,因此需要一种网络休眠异常监测方法;2:基于osek直接网络管理的异常休眠检测方法,但是该方法的休眠异常检测仅与电子控制器ecu的网络管理报文id相关,而与实际的唤醒关系无关,不能满足实际休眠异常检测和分析的需求。


技术实现要素:

4.本发明是为了解决上述现有技术存在的不足之处,提出一种基于autosar网络管理的休眠异常检测方法,以期根据预期休眠时间判断休眠异常,并根据唤醒的先后顺序分布式记录休眠异常事件,从而快速定位到可能存在休眠异常的电子控制器ecu。
5.本发明为达到上述发明目的,采用如下技术方案:
6.本发明一种基于autosar网络管理的休眠异常检测方法的特点是应用于由若干个电子控制器ecu所组成的can网络中,并按如下步骤进行:
7.步骤1:在电子控制器ecu中定义两个8位整型变量,分别记录所述电子控制器ecu的唤醒链id和唤醒源id,并初始化所述唤醒链id为0,初始化所述唤醒源id为255;
8.步骤2:建立autosar网络管理报文,使其能携带源ecu的唤醒链id或唤醒源id;
9.步骤2.1:在autosar网络管理报文的结构体的1字节的控制位向量中增加休眠异常故障标志位和休眠标志位,两个标志位分别占用1bit空间;
10.步骤2.2:将正常的autosar网络管理报文的休眠异常故障标志和休眠标志都置“0”,并设置autosar网络管理报文的结构体的最多6字节的自定义用户数据的1字节空间为所述电子控制器ecu的唤醒链id;
11.步骤2.3:将休眠异常的autosar网络管理报文的休眠异常故障标志置“1”且休眠标志置“0”,并设置所述自定义用户数据的1字节空间为所述电子控制器ecu的唤醒链id;
12.步骤2.4:将休眠正常的autosar网络管理报文的休眠异常故障标志置“0”且休眠标志置“1”,并设置述自定义用户数据的1字节空间为所述电子控制器ecu的唤醒源节点id;
13.步骤3:利用建立的autosar网络管理报文实现创建唤醒链算法,使can网络中的电子控制器ecu按照唤醒的先后顺序建立稳定的监测关系;
14.步骤3.1:所述电子控制器ecu以广播方在主动唤醒后设置主动请求网络标志为“1”,然后利用autosar规范中的周期调用canif_transmit函数广播正常的autosar网络管理报文至can网络中;
15.步骤3.2:当其他电子控制器ecu的can控制器以轮询或中断方式接收到正常的autosar网络管理报文时,利用autosar规范中的回调cannm_rxindication函数进行接收;
16.步骤3.3:如果其他电子控制器ecu处于autosar规定中的网络模式,则执行步骤3.4,否则,切换其他电子控制器ecu的状态为网络模式,设置其他电子控制器ecu的唤醒源id为发送正常的autosar网络管理报文的电子控制器ecu节点id,设置其他电子控制器ecu的唤醒链id为正常的autosar网络管理报文中所携带的唤醒链id加“1”;
17.步骤3.4:如果正常的autosar网络管理报文的源节点id不等于唤醒源id,则执行步骤3.5,否则,设置其他电子控制器ecu的唤醒链id为正常的autosar网络管理报文中所携带的唤醒链id加“1”;
18.步骤3.5:如果其他电子控制器ecu的主动请求网络标志为“1”,则忽略正常的autosar网络管理报文,否则,执行步骤3.6;
19.步骤3.6:如果其他电子控制器ecu唤醒链id小于等于正常的autosar网络管理报文中所携带的唤醒链id,则设置唤醒链id为报文所携带的唤醒链id加“1”,设置唤醒源为发送报文的电子控制器ecu的源节点id,否则,忽略报文;
20.步骤4:利用休眠正常的autosar网络管理实现唤醒源准备休眠时的唤醒链调整算法;
21.步骤4.1:广播方ecu在满足休眠条件后发送休眠正常的autosar网络管理报文,且其中携带广播方ecu的唤醒源,然后设置自身主动请求网络标志为“0”,切换自身ecu的状态的为等待休眠状态,设置自身ecu的休眠超时定时器的初始值为静态配置的预期休眠时间;
22.步骤4.2:其他电子控制器ecu接收到正常的autosar网络管理报文后,判断报文的源节点id是否为自身ecu的唤醒源,若是,设置其他电子控制器ecu的唤醒源id为休眠正常的autosar网络管理报文所携带的唤醒源id,设置其他电子控制器ecu的唤醒链id减1;否则,忽略报文;
23.步骤5:记录休眠异常事件,并通过休眠异常的autosar网络管理报文通知休眠异常事件;
24.步骤5.1:当休眠超时定时器到期时,按顺序将故障码、广播方ecu的唤醒源id、唤醒链id以及自身节点id存储到自身内部flash的指定位置,并重置休眠超时定时器后,广播携带自身ecu的唤醒链id的休眠异常的autosar网络管理报文;
25.步骤5.2:其他电子控制器ecu接收到休眠异常的autosar网络管理报文后,判断报文所携带的唤醒链id是否大于自身ecu的唤醒链id,若是,则按顺序将故障码、自身ecu的唤醒源、唤醒链id以及休眠异常报文的源节点id存储到自身内部flash的指定位置;否则,忽略休眠异常报文;
26.步骤6:通过网络诊断设备从所有电子控制器ecu的内部flash中读取休眠异常记录,并根据记录中的唤醒链信息重构并分析休眠异常事件,用于判断各个电子控制器ecu是否存在休眠异常的故障。
27.与现有技术相比,本发明的有益效果在于:
28.1、本发明不同于传统检测方法,提出一种基于autosar网络管理的休眠异常检测方法,能够分布式记录偶发的异常休眠事件,并根据休眠异常记录分析休眠异常时的唤醒依赖关系,帮助专业人员快速定位休眠异常电子控制器ecu,从而降低了排查因休眠异常导致的静态功耗过大、蓄电池亏电故障等问题的难度;
29.2、本虽然是基于autosar网络管理提出,但却可以应用于所有直接网络管理,和现有方案相比具有宽泛的应用场景;
30.3、本发明提出记录电子控制器ecu唤醒先后顺序的唤醒链算法,通过在休眠异常记录中包含唤醒链信息,和现有方案相比能够为休眠异常排查提供更多的数据支持,提高了排查效率。
附图说明
31.图1为本发明autosar can网络管理报文格式图;
32.图2为本发明唤醒链构建流程图;
33.图3为本发明方法的执行流程图。
具体实施方式
34.本实施例中,一种基于autosar网络管理的休眠异常检测方法,是应用于由若干个电子控制器ecu所组成的can网络中,如图3所示,并按如下步骤进行:
35.步骤1:在电子控制器ecu中定义两个8位整型变量,分别记录电子控制器ecu的唤醒链id和唤醒源id,并初始化唤醒链id为0,初始化唤醒源id为255,255是8位整型的最大值;
36.步骤2:建立autosar网络管理报文,使其能携带源ecu的唤醒链id或唤醒源id,如图1所示,autosar网络管理报文最多携带8字节数据,其中首个字节为源电子控制器ecu的地址id,第二个字节为控制位向量,剩余6个字节允许自定义使用;
37.步骤2.1:在autosar网络管理报文的结构体的控制位向量中增加休眠异常故障标志位和休眠标志位,两个标志位分别占用1bit空间,分别用来标识休眠异常报文和休眠正常报文;
38.步骤2.2:将正常的autosar网络管理报文的休眠异常故障标志和休眠标志都置“0”,并设置autosar网络管理报文的结构体的最多6字节的自定义用户数据的1字节空间为电子控制器ecu的唤醒链id,本实施例中,是基于该报文建立电子控制器ecu之间的唤醒链;
39.步骤2.3:将休眠异常的autosar网络管理报文的休眠异常故障标志置“1”且休眠标志置“0”,并设置自定义用户数据的1字节空间为电子控制器ecu的唤醒链id,当电子控制器检测到休眠异常时通过该报文广播休眠异常事件;
40.步骤2.4:将休眠正常的autosar网络管理报文的休眠异常故障标志置“0”且休眠标志置“1”,并设置述自定义用户数据的1字节空间为电子控制器ecu的唤醒源节点id,由于
电子控制器ecu准备休眠后不再发送网络管理报文,因此需要将准备休眠的电子控制器ecu移至唤醒链的末尾,本发明是通过广播休眠正常报文触发唤醒链调整;
41.步骤3:利用建立的autosar网络管理报文实现创建唤醒链算法,如图2所示,使can网络中的电子控制器ecu按照唤醒的先后顺序建立稳定的监测关系,由于电子控制器ecu的唤醒顺序无法预测,因此唤醒链随着唤醒顺序的变化而有所不同;
42.步骤3.1:电子控制器ecu以广播方在主动唤醒后设置主动请求网络标志为“1”,表示该控制器主动参与网络管理,然后利用autosar规范中的周期调用canif_transmit函数广播正常的autosar网络管理报文至can网络中;
43.步骤3.2:当其他电子控制器ecu的can控制器以轮询或中断方式接收到正常的autosar网络管理报文时,利用autosar规范中的回调cannm_rxindication函数对网络管理报文进行接收;
44.步骤3.3:如果其他电子控制器ecu处于autosar规定中的网络模式,则执行步骤3.4,否则,切换其他电子控制器ecu的状态为网络模式,网络模式下的电子控制器处于唤醒状态,但并不都参与网络管理,只有主动请求网络标志为“1”的电子控制器ecu参与网络管理,设置其他电子控制器ecu的唤醒源id为发送正常的autosar网络管理报文的电子控制器ecu节点id,设置其他电子控制器ecu的唤醒链id为正常的autosar网络管理报文中所携带的唤醒链id加“1”;
45.步骤3.4:如果正常的autosar网络管理报文的源节点id不等于唤醒源id,则执行步骤3.5,否则,由于其他电子控制器ecu的唤醒源的唤醒链id变化,因此应该设置该控制器的唤醒链id为正常的autosar网络管理报文中所携带的唤醒链id加“1”,保证其在唤醒链上始终置于唤醒源之后;
46.步骤3.5:如果其他电子控制器ecu的主动请求网络标志为“1”,说明该电子控制器已经是唤醒链上的唤醒源,因此直接忽略正常的autosar网络管理报文,否则,执行步骤3.6;
47.步骤3.6:如果其他电子控制器ecu唤醒链id小于等于正常的autosar网络管理报文中所携带的唤醒链id,此时有新的唤醒源加入唤醒链,需要将未参与网络管理的其他电子控制器ecu,在唤醒链上置于新唤醒源之后,因此需要设置唤醒链id为报文所携带的唤醒链id加“1”,设置唤醒源为发送报文的电子控制器ecu的源节点id,否则,忽略报文;
48.步骤4:利用休眠正常的autosar网络管理实现唤醒源准备休眠时的唤醒链调整算法,根据autosar网络管理规范,当电子控制器ecu满足休眠条件时进入等待休眠模式后不再广播网络管理报文,因此需要唤醒链调整算法;
49.步骤4.1:广播方ecu在满足休眠条件后发送休眠正常的autosar网络管理报文,且其中携带广播方ecu的唤醒源,然后设置自身主动请求网络标志为“0”,切换自身ecu的状态的为等待休眠状态,设置自身ecu的休眠超时定时器的初始值为静态配置的预期休眠时间,当电子控制器ecu准备休眠后可以估算休眠时间,例如当车身控制器bcm准备休眠后的十几秒到几分钟内所有的车灯控制器、座椅控制器、车窗控制器等都应该准备休眠;
50.步骤4.2:其他电子控制器ecu接收到正常的autosar网络管理报文后,判断报文的源节点id是否为自身ecu的唤醒源,若是,设置其他电子控制器ecu的唤醒源id为休眠正常的autosar网络管理报文所携带的唤醒源id,设置其他电子控制器ecu的唤醒链id减1;否
则,忽略报文;
51.步骤5:记录所有休眠异常事件,并通过休眠异常的autosar网络管理报文通知休眠异常事件,由于唤醒链随着唤醒顺序的不同而变化,使得在不同的偶发休眠异常下负责记录的电子控制器ecu有所不同;
52.步骤5.1:当休眠超时定时器到期时,可能发生休眠异常事件,按顺序将故障码、广播方ecu的唤醒源id、唤醒链id以及自身节点id存储到自身内部flash的指定位置,并重置休眠超时定时器后,广播携带自身ecu的唤醒链id的休眠异常的autosar网络管理报文,故障码是区分故障信息的整型数值,因为电子控制器ecu的故障不只有休眠异常;
53.步骤5.2:其他电子控制器ecu接收到休眠异常的autosar网络管理报文后,判断报文所携带的唤醒链id是否大于自身ecu的唤醒链id,若是,则按顺序将故障码、自身ecu的唤醒源、唤醒链id以及休眠异常报文的源节点id存储到自身内部flash的指定位置;否则,忽略休眠异常报文;
54.步骤6:通过网络诊断设备从所有电子控制器ecu的内部flash中读取休眠异常记录,并根据记录中的唤醒链信息重构并分析休眠异常事件,用于判断各个电子控制器ecu是否存在休眠异常的故障。
55.举例证明本方法的可行性和实用性,假设有三个能主动参与网络管理的电子控制器:车身控制器bcm(控制器id为0x01)、仪表控制器icm(控制器id为0x02)和自动变速箱控制器tcu(控制器id为0x03),现由车身控制器bcm主动唤醒并通知另两个电子控制器唤醒,然后当车身控制器bcm满足休眠条件后调整唤醒链,但自动变速箱控制器tcu存在电路故障无法休眠,同时仪表控制器icm由于自动变速箱控制器tcu的影响也无法休眠。当车身控制器bcm的休眠超时定时器到期时记录并广播休眠异常事件,三个电子控制器存储的故障信息如表1所示,检测到休眠异常的故障码为0x40,通过分析休眠异常记录可知休眠异常是tcu和icm形成的唤醒链造成。
56.表1休眠异常记录
[0057][0058]
综上所述,本方法基于autosar网络管理来检测并记录汽车中电子控制器ecu偶发休眠异常故障,能快速定位到可能存在休眠异常的电子控制器ecu,从而帮助维修人员分析和检查休眠异常故障。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献