广告

什么是汽车诊断?Autosar中与诊断相关的模块有哪些?

2021-08-19 汽车电子与软件 阅读:
‍‍01汽车诊断的定义1.1在线诊断(OnboardDiagnosticSystem)通过车辆自带的在线诊断系统对ECU的软硬件及各传感器参数进行某些常见故障的实时监控与发现,当系统判断电控系统出现故

‍‍8d5ednc

 

01

汽车诊断的定义

1.1 在线诊断(Onboard Diagnostic System)
通过车辆自带的在线诊断系统对ECU的软硬件及各传感器参数进行某些常见故障的实时监控与发现,当系统判断电控系统出现故障时,会以仪表警示灯亮的形式来告知驾驶者,并在ECU的EEPROM或Flash内对相关DTC(Diagnostic Trouble Codes)进行存储,以便后续车辆被送至售后处,工程师对其进行故障检测时读取分析处理。
1.2 离线诊断(Offboard Diagnostic System)
将外部设备(如道通,元征公司生产的诊断仪)接在OBD诊断口上与整车网络各ECU进行通讯,以对各模块数据实行监控与检测分析。诊断设备通过发送满足诊断协议(如UDS)定义的诊断服务来实现诸如对已存储DTC的读取(如UDS的0x19服务)与清除(0x14服务),利用其他的整车控制指令来实现对车辆的动静态控制。

02

Autosar中和诊断相关模块

从上面离线诊断的过程描述中,我们知道需要在ECU的EEP或者Flash中读取存储的DTC,这就涉及到诊断事件的管理(DEM),需要通过CAN总线将DTC传送到诊断仪上进行解读显示,这就涉及到诊断通信管理(DCM),还有些其他的模块需要参与诊断,下面我们详细介绍。
2.1 诊断事件管理器DEM
诊断事件管理器DEM(Diagnostic Event Manager)负责直接处理与DTC相关的诊断服务,例如UDS中的0x19(读取故障码)及0x14(清除故障码)的服务,在ECU运行过程中,Monitor Function会进行持续的status检测,一旦出现疑似故障时,会直接调用DEM来进行故障check,确认后即可完成将诊断故障数据写入到EEPROM或者Flash中的过程。
2.2 诊断通信管理器DCM
诊断通信管理器DCM(Diagnostic Communication Manager)确保诊断数据流,并且管理诊断状态,特别是诊断对话期(0x10 Session Control)和安全状态(0x27 Security Access)。另外,DCM检查诊断服务请求是否被支持,以及根据诊断状态判断服务是否可以在当前对话期中执行。
DCM为所有诊断服务提供连接到AUTOSAR-RTE的接口。另外DCM也处理一些基本诊断服务。
在AUTOSAR体系结构中,诊断通信管理器(DCM)处在通信服务中(服务层)。DCM是应用和PDU路由器封装的车辆网络通信(CAN、LIN、FlexRay和MOST)之间的中间层。DCM与PDU路由器之间有一个接口。在通信过程中,DCM从PDU(Protocol Data Unit)路由器接收诊断消息。
DCM在其内部处理、检查诊断消息,并把消息传送到AUTOSAR SW组件进一步处理。根据诊断服务ID,将执行应用层中的相应调用。
DCM必须是网络无关的,所以协议和消息配置在DCM的下层。这需要连接到PDU路由器的网络无关接口。
DCM由以下功能块组成:
DSP - Diagnostic Service Processing
DSP主要包含了完整实现的诊断服务,这些服务在不同的应用之中是通用的(例如,访问故障数据),所以不需要由应用实现。
DSD-Diagnostic Service Dispatcher
DSD的目的是处理诊断数据流。这里的处理意味着:
通过网络接收新的诊断请求并发送到数据处理器。
当被应用触发时,通过网络传送诊断响应(AUTOSAR SW-Component或DSP)。
DSL-Diagnostic Session Layer
DSL保证数据流与诊断请求和响应有关。DSL也监督和确保诊断协议计时。进一步,DSL管理诊断状态。
功能禁止管理器FIM
2.3 功能禁止管理器FIM
功能禁止管理器FIM(Function Inhibition Manager)负责提供软件组件和软件组件功能的控制机制。功能由一个、多个或部分有相同权限/禁止条件的可执行实体构成。通过FIM方法,对这些功能的禁止可以配置甚至修改。所以,极大地提高了功能在新系统环境下的适应性。
FIM意义上的功能与可执行实体是不同并且独立的类型。可执行实体主要由调度需求来区分。与此相对的是,功能由禁止条件来分类。FIM服务关注SW-C的功能,但是并不局限于此。BSW的功能也能够使用FIM服务。
功能被指定了一个标识符(FID – function identifier),以及该特定标识符的禁止条件。功能在执行之前获得它们各自的权限状态。如果禁止条件应用于特定标识符,对应的功能将不再执行。
FIM与DEM密切相关,因为诊断事件和它们的状态信息作为禁止条件被提供给FIM。如果检测到了失效,并且事件报告给了DEM,那么FIM禁止FID和对应的功能。
为了处理功能和关联事件的关系,功能的标识符和禁止条件必须引入到SW-C模板中(与BSW等价),并且在配置期间构造数据结构以处理标识符对于特定事件的敏感性。这些关系在每个FIM中是唯一的。
RTE和FIM之间没有功能上的联系。在AUTOSAR中,RTE按照接口和调度需求处理SW-C。与此相对的是,FIM处理禁止条件并通过标识符(FID)为控制功能提供支持机制。因此,FIM概念和RTE概念不互相干扰。
2.4 开发错误跟踪器DET
开发错误跟踪器DET(Development Error Tracer)主要用于在开发期间跟踪和记录错误。API参数给出了追踪源和错误类型:
  • 错误所在的模块8d5ednc

  • 错误所在的功能8d5ednc

  • 错误类型8d5ednc

由软件开发者和软件集成者在特定应用和测试环境下为API功能选择最优的策略。可能包括以下功能:
  • 在错误报告API内设置调试器断点8d5ednc

  • 计算报告的错误8d5ednc

  • 在RAM缓存中记录调用和传递的参数8d5ednc

  • 通过通信接口发送报告的错误到外部日志8d5ednc

DET仅仅是对SW开发和集成的辅助,并不一定要包含在产品代码中。API已经定义,但是功能由开发者根据特定需求来选择/实现。
数据交互及接口如下:

8d5ednc

 

8d5ednc

文章来源及版权属于汽车电子与软件,EDN电子技术设计仅作转载分享,对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。如有疑问,请联系Demi.xia@aspencore.com
汽车电子与软件
汽车电子与软件
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
广告
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了