AUTOSAR之DEM(三)——operation cycle
operation cycle1. operation cycle类型包括:DEM_OPCYC_IGNITIONIgnition ON/OFF cycleDEM_OPCYC_OBD_DCYOBD Driving cycleDEM_OPCYC_WARMUPOBD War...
operation cycle
1. operation cycle类型包括:
DEM_OPCYC_IGNITION | Ignition ON/OFF cycle |
DEM_OPCYC_OBD_DCY | OBD Driving cycle |
DEM_OPCYC_WARMUP | OBD Warm up cycle |
DEM_OPCYC_POWER | Power ON/OFF cycle |
2. 在哪里用到不同的cycle
2.1 DEM_OPCYC_IGNITION
ignition cycle指KL15电on与off之间的循环。Master ECU通过总线提供ignition cycle信息。
以KL15电开关为操作循环的地方,如诊断开启,是以KL15电上电为前提,此时如果存在故障,那么该故障的testFailedThisOperationCycle位应当置一,testNotCompleteThisOperationCycle位也应当清零。
2.2 DEM_OPCYC_OBD_DCY
Master ECU通过总线提供driving cycle的信息。Primary ECU不应当内部计算driving cycle。
以OBD driving cycle为操作循环的,多涉及fault memory中的数据变化,如在一个OBD-related ECU中一个诊断事件的状态为failed,并进入fault memory的primary memory,当前故障状态中的PNDING位被置为一,如果该故障状态的confirmedDTC位变为1需要满足的条件是:①counter oferror cycle 大于等于counter of driving cycle to confirm(一般为2个)②这个diving cycle to confirm是开启的状态;同样,PEDDING位由1变为0的条件也是连续指定个(一般为2个)driving cycle诊断的结果为passed,pendingDTC由1变为0。
以上可以从ISO-14229的附录D.9图中可以看出。但是如果counter of driving cycle to confirm 为0或者1,那么故障状态在PENDING之后就应当confirmed。
对于counter of driving cycle to confirm,这个计数器也是在driving cycle to confirm这个操作循环开启的状态下,才可以增加或者清零。
另外故障healing也需要OBD driving cycle开启的条件下进行。healing概念在AutoSAR中是用于关闭警告指示灯。当诊断事件的故障状态warningIndicatorRequested已经为1后,诊断事件的report结果持续指定个operation cycles为passed(这里的operation cycle多为OBD driving cycle或者在OBD driving cycle开启的条件下,IGN operation cycle),当counters of passed operation cycles 大于等于counter of operation cycle to heal, 这时bit7状态位清零。
2.3 DEM_OPCYC_WARMUP 这个cycle主要用于已经confirmed的诊断事件老化。
warm-up cycle定义:warm-up cycle是法律上规定的循环。它是由Master ECU计算的。Master ECU通过总线提供warm-up的信息。
The warm up cycle (WUC) is a legally prescribed cycle and is computed by the Master ECU. The Master ECU will provide the warm-up cycle information (WUC) via the Busystem.
老化条件
- 诊断故障已经存在primary memory中,
- 在连续的aging cycle中,诊断故障结果都为passed
- OBD warmup cycle循环开启时,
- IGN operation cycle次数增加,aging counter累加,当aging counter大于等于DemAgingCycleCounterThreshold时,该故障会老化,从primary memory中消失。
具体详细内容还可参考fault memory章节。
Key
1 DTCAgingCounter is incremented after completing an operation cycle in which test did not fail
DTC老化计数器会在检测没有失效的并且完整的操作循环结束后累加;
2 pendingDTC is set to zero after an operation cycle in which the test completed and did not fail. In case an ECU does not support a power down sequence (i.e. is immediately shut off when the ignition is turned off) it will be unable to detect the end of the operation cycle. Therefore it is also valid to set the pendingDTC bit to zero at the beginning of the next operation cycle.
pendingDTC位在检测完成并且没有失效的操作循环结束时置零。对于不支持下电过程的ECU(如在IGN关闭后直接掉电),它们无法检测到操作循环何时结束。但是在下一个操作循环开始时,把pendingDTC置为零也是有效的。
3 DTCAgingCounter is incremented after completing an operation cycle in which test did not fail
DTC老化计数器会在检测没有失效的并且完整的操作循环结束后累加。
4 DTCAgingCounter continues to increment because test is not failing during these operation cycles
DTC老化计数器继续增加,因为在这些操作循环中测试没有失效。
5 confirmedDTC is set to zero when aging criteria is fully satisfied (e.g., DTCAgingCounter reaches a specific value)
当老化条件满足时(DTC老化计数器达到指定值),confirmedDTC位被置零。
6 DTCAgingCounter reaches a maximum value (e.g., 40) at which time the confirmedDTC bit is cleared
DTC老化计数器达到最大值(例如40)时,confirmedDTC位被清零。
7 It is the responsibility of the vehicle manufacturer to specify whether or not testFailedSinceLastClear bit is reset by aging-criteria or due to an overflow of the fault memory
汽车制造商应当制定在老化条件满足时或者故障存储区溢出时,从上次清除后测试失效(testFailedSinceLastClear)位是否被复位。
更多精彩内容,请关注公众号“激活未来”。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)