01.
简介
-
功能安全概念 -
系统层面的技术要点 -
ECU层面的技术要点 -
AUTOSAR基础软件层面的功能安全
02.
系统架构
03.
功能介绍
-
车前灯管理模块应当判断点火钥匙位置 -
车前灯管理模块应当读取车灯开关位置状态
-
车前灯管理模块应当判断车灯开关位置状态 -
只有当车灯开关位置从OFF置为ON时,车前灯管理模块才应当创建一个事件(ON) -
当车灯开关位置从ON置为OFF时,车前灯管理模块应当创建一个事件(OFF)
-
车前灯管理模块应当在点火开关位置为ON时,检测到车灯开关事件ON的情况下,点亮近光灯 -
车前灯管理模块应当在点火开关位置为OFF,或者检测到车灯开关事件OFF时,关闭近光灯
-
车前灯管理模块应当监管近光灯 -
车前灯管理模块应当能够在电流错误或者灯泡失效等的情况下提示近光灯发生错误
-
车前灯管理模块应当在近光灯发生错误时,点亮日间行车灯
04.
初步架构
-
车前灯管理模块—FLM -
车灯开关(位置)—LS -
点火开关(位置)—CL15
-
FLM的实现都在一个ECU上 -
车灯开关提供一个数字I/O输出(实际的车辆中会更复杂,这里作简化) -
应急灯功能由硬件提供,这里不做考虑 -
所有内存,无论是否非易失性,都有ECC提供保护机制 -
硬件提供内存分区功能(例如MPU) -
FLM软件集成在没有ASIL等级的基础软件上 -
ECU失效模式的分析已完成,安全衡量方式也已被定义并实现,分析基于供应商的数据,例如功能安全手册和ISO2626需求
-
ECU处在唤醒状态,也可以正确执行并进入睡眠状态。模式管理,状态管理等均不在本示例讨论范围内。 -
网络通信可用,并且正确启动并运行。通信管理也不再本示例讨论范围之内。 -
必要的BSW模块也根据需求正确执行/触发
整车级功能安全
-
只有在能见度低的条件下(例如夜间,大雾等),近光灯工作才被视作为风险 -
在弯曲,无路灯的乡村道路上发生近光灯不工作时,视作为最危险的情况 -
仅一侧近光灯不工作不会被视为能直接导致危险的情况,然而,它仍被当作潜在故障,包含在概念建议当中
相关的故障模式
-
MF01: 无法检测灯光开启/关闭的条件 -
MF02: 无法评估和实现用来开启车灯的请求 -
MF03: 已点亮车灯的故障
05.
功能安全概念
车辆级安全需求
(整车级)技术安全需求
-
SysSafReq01: 车身控制ECU使用CAN总线将点火钥匙CL15状态通过CAN消息CL15_01发送(CAN消息:CL15_01,CAN信号:CL15ON,布尔值,1代表CL15为ON状态)(ASIL B) -
SysSafReq02: 车灯开关利用数字硬件总线HW_LB_OFF发送开关状态信号(0=0V代表开启请求,1=5V代表关闭请求)(ASIL B) -
SysSafReq03: 车灯开关故障时,HW_LB_OFF为0(ASIL B) -
SysSafReq04: FLM ECU检测到点亮灯泡的条件满足时,应当保证电压或PWM等达到稳定条件并点亮近光灯灯泡(ASIL B) -
SysSafReq05: 当CL15ON==1时,FLM ECU只有在HW_LB_OFF==1并保持20ms的情况下才会关闭车灯(ASIL B) -
SysSafReq06: FLM ECU应当检测电路故障(灯泡,保险丝,线束等),并使用CAN信号(CAN消息: LightStatus_01, CAN信号: LBFailure (2 bit, 01 代表左近光失效, 10 代表右近光失效, 11 代表双侧失效))(ASIL B) -
SysSafReq07: FLM ECU应当在双侧近光失效状态超过200ms的情况下打开双侧日间行车灯(ASIL B) -
SysSafReq08: FLM ECU应当使用独立电路来点亮双侧灯泡,以免单一故障就使得双侧失效(ASIL B) -
SysSafReq09: HMI应当根据LBFailure信号显示灯泡故障信息(ASIL A) -
SysSafReq10: CAN信号CL15ON传输需要得到保证(ASIL B) -
SysSafReq11: CAN信号LBFailure传输需要得到保证(ASIL B) -
SysSafReq12: FLM ECU应当在CL15_01消息通信故障连续发生200ms时点亮近光灯 -
SysSafReq13: FLM ECU应当在LightStatus_01消息通信故障连续发生200ms时打开双侧日间行车灯;还要为驾驶员提供例如“车灯系统故障”的文本信息
分配(功能)系统安全需求
FLM ECU级的技术安全概念
ECU级的假设和限制
-
根据AUTOSAR方法论,BSW周期执行 -
周期读取硬件信号,可以通过C/S方式从IO硬件抽象模块的RAM中读取 -
收到CAN消息时会产生中断 -
ECU正确地唤醒,运行和睡眠(本文不考虑模式管理或状态管理) -
通信网络可用,以正确方式启动并运行 -
BSW根据需求被触发 -
RTE作为中间层进行数据和消息的传输,但不做任何Transformation -
日间行车灯和车前灯有同样的连接方式,只是使用的SPI通道不同
Safety Goal
相关的系统安全需求
06.
ECU级概念概述
-
启动时自我诊断会检测SPI连接鼓掌并反馈给驱动 -
回读通道read_current_R和read_current_L 提供反馈,灯光请求是否成功传递 -
如果回读通道指示和请求不同,需要执行相应的安全动作,独立于set_pwm命令。(例如,车灯开关ON时,应当打开日间行车灯) -
所以,SPI通道可以以QM等级实现 -
再者,车灯激活通道控制车灯的开启与关闭,反馈通道(ASIL B)会在任何危险(夜间)情况前通知成功状态。单一set_pwm鼓掌只会影响一侧车前灯。
ECU级的需求
ECU功能
-
物理输入:HW_LB_OFF -
逻辑输入:LB_OFF -
相关软件模块:DIO Driver/Handler, RTE, SwitchEvent(Sensor-SWC)
-
物理输入: CAN BUS CAN_CL15 -
逻辑输入: CL15_01 (ASIL B) -
相关软件模块: CAN, CanIf, PduR, COM, RTE, Light Request(Application SWC)
-
物理输出: : PWM_headlight left, PWM_headlight right (QM) -
逻辑输出: Set_pwm -
相关软件模块: HeadLight(Actuator-SWC控制通道), RTE, SPI Driver/Handler
-
物理输出: 日间行车灯 -
逻辑输出: (不在本示例讨论范围之内) -
相关软件模块: (不在本示例讨论范围之内)
-
物理输入: HW_current left, HW_current right (ASIL A(B)) -
逻辑输入: Read_current_L, read_current_R -
相关软件模块: HeadLight (Actuator-SWC 回读通道), RTE, ADC Driver/Handler
-
物理输出: CAN总线(ASIL A) -
逻辑输出: LBFailure -
相关软件模块: CAN, CanIf, PduR, COM, RTE, FLM(Application SWC)
-
物理输入: 无 -
物理输出: 无 -
相关软件模块: Switch-Event(Sensor-SWC),LightRequest(Application SWC),FLM(Application-SWC), Headlight(Actuator-SWC),RTE
软件架构和软件安全需求
软件架构
FLM集成在了一个现有的AUTOSAR工程当中,主要包含四个SWC:
-
Sensor SWC(SwitchEvent) -
Application SWC(LightRequest) -
Application SWC(FLM) -
Actuator SWC(Headlight)
SwitchEvent在收到LightRequest请求时被触发调用,读取车灯开关状态。
-
COM Manager -
AUTOSAR COM -
CAN State Manager -
PDU Router -
CAN Interface -
CAN Driver -
CAN Transceiver Driver -
SPI Driver /Handler -
DIO and Port Driver /Handler -
ADC-Driver /Handler -
ECU State Manager -
BSW Manager -
AUTOSAR OS
失效模式
-
随机硬件故障,在整个生命周期当中可能以不同概率随机出现 -
系统故障,会以特定的原因导致特定故障,需要在生产过程,操作流程,文档或其他方式,亦或是更改设计的方式消除故障
数据完整性
数据交换
时间和控制流
数据处理
软件以及潜在故障模式
07.
后记
就V字模型来说,可以很明显的看出来,OEM和Tier1确实需要花很多功夫去做功能安全分析以及功能分解等待,最后在过安全认证的时候也要掉很多头发(手动狗头)。
阅读原文,关注作者知乎
原文始发于微信公众号(汽车ECU开发):基于功能安全的示例AUTOSAR软件系统