新闻中心

EEPW首页 > 汽车电子 > 设计应用 > AUTOSAR CAN诊断实现

AUTOSAR CAN诊断实现

作者:时间:2010-09-20来源:网络收藏

  虽然目前不支援上述服务,但并未限制开发者对其进行扩展。

  2) 软体架构

  AUTOAR架构中和诊断相关的模组如图2所示。

  FIM模组的作用是根据DEM(Diagnostic Event Manager)报告的事件状态使能或禁止软体构件内部的功能实体。PDU Router(协议数据单元路由器)模组仅负责转发DCM(Diagnostic Communication Manager)和 TP( Transport Layer)之间的I_PDU(交互层协议数据单元),不会对数据进行任何修改。 Interface模组、CAN Driver模组和CAN Transceiver模组负责L_PDU(数据链路层协议数据单元)的传输。

  DEM、DCM和CAN TP是架构中和诊断相关的核心模组。

  3) DCM

  DCM模组遵循ISO 14229-1、ISO 15031-5、ISO 15765-4和SAE J1979标剩能直接处理0x10、0x27和0x3E服务。收到支援的OBD服务或其他UDS服务时,靠叫DEM、软体构件或者其他BSW模组提供的介面进行响应。

  AUTOSAR建议用叁个功能模组组成DCM,分别是DSL(Diagnostic Session Layer)、DSD(Diagnostic Service Dispatcher)和DSP(Diagnostic Service Processing)。其中DSL负责处理PDU Router传来的诊断请求,管理会话层和应用层定时参数,处理会话状态的切换等。DSD负责将DSL传来的诊断请求转发给DSP,同时将DSP传来的诊断响应报文传给DSL。DSP负责分析接收到的诊断请求报文,检查其报文格式以及其请求的子功能。只有在诊断请求报文的服务标识符、子功能、报文格式等条件都满足的情况下,DSP才会处理收到的请求报文,并将处理结果整理成诊断响应报文发给PDU Router。

  4) DEM

  DCM模组遵循的标视DCM相同,负责直接处理与DTC相关的服务,如UDS中的0x19服务(响应报文由DCM发送出去)。当软体构件中的Monitor Function检测到故障或BSW模组检测到故障时,将通知DEM模组处理和储存‘诊断事件’(由Event ID进行标识)。如果故障确诊,唿叫NVRAM Manager(非挥发性记忆体管理器)提供的介面将其存取到非挥发性记忆体中,同时通知应用层进行故障指示。DEM的状态图如图3所示:

  

  图3 DEM状态图

  5) CAN TP模组

  遵循ISO 15765-2标省8涸鹫锒媳ㄎ牡难爸贰⒉鸢与打包,以及网路层定时参数的管理。所以,该模组向下传输的是N_PDU(网路层协议数据单元)。

  结论

  第一、由于严格分层,除了CAN Driver和CAN Transceiver模组要依赖于硬体,AUTOSAR与诊断相关的模组几乎完全独立于硬体。按照此架构开发完成的诊断程式码能够摆脱硬体的束缚,具有最大程度的再使用性。

  第二、AUTOSAR目前不支援SAE J1939。

  第叁、暂时不能直接将AUTOSAR软体架构用于Bootloder程式的开发。

  综上所述,AUTOSAR标嗜跃纱τ诜⒄购屯晟平锥危但随着目前汽车ECU软体开发矛盾的加剧,开发难度不断增大,开发L期却不断缩短,AUTOSAR将成为必然趋势。


上一页 1 2 下一页

关键词: AUTOSAR CAN

评论


相关推荐

技术专区

关闭