DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 719|回复: 0
打印 上一主题 下一主题

[接口电路] 解析AUTOSAR CAN诊断实现

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 17:27:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

                    ???? AUTOSAR是由全球汽车OEM和供货商共同推出的一种汽车电子嵌入式软件分层架构。该分层架构由微控制器抽象层、ECU抽象层、服务层、执行时环境(Rte)和应用层组成,前三层被统称为基础软件(BSW)。
  AUTOSAR各层软件的通信通过三类接口实现,分别是标准接口、AUTOSAR接口和标准AUTOSAR接口。其中,标准接口用于BSW各个模块之间的通信,已用C语言定义,如void Adc_Init(cONST Adc_ConfigType* ConfigPtr)。AUTOSAR接口用于软件构件(SW-C)之间的通信或者软件构件和ECU固件(IO硬件抽象、复杂设备驱动)之间的通信,这类接口命名以“Rte_”为前缀。标准AUTOSAR接口用于软件构件存取AUTOSAR服务。依赖这种分层架构和接口定义,AUTOSR显著提高了汽车电子嵌入式软件的可重用性——层级越高者,可重用性越强。值得注意的是:
  * 微控制器抽象层层级最低,随微控制器的更换而更换;
  * RTE虽然层级仅低于应用层,但由于它负责着应用层和BSW之间的桥梁作用,和硬件的耦合性最高,不具有可重用性;
  * 应用层(除传感器、执行器相关的软件构件外)完全独立于硬件,具有绝对的可重用性。




  AUTOSAR CAN诊断实现
  1) 诊断服务
  目前,AUTOSAR V3.1诊断部分支持9个OBD服务(如表2所示),14个UDS服务(如表3所示)。




  依据表2和表3可知,AUTOSAR不支持OBD中的0x05服务(请求氧传感器监测结果),原因在于基于CAN线的0x05服务在0x06中实现。不支持UDS中的0x28(通信控制)、0x34(程序下载)、0x35(程序上传)、0x36(数据传输)和0x37(请求传输退出)服务,且0x10服务不支持编程会话和扩展会话这两种子功能。这些服务主要用于ECU重新编程,因此AUTOSAR不支持BootlOAder。




图3:DEM状态图。
  5) CAN TP模块
  遵循ISO 15765-2标准。负责诊断报文的寻址、拆包与打包,以及网络层定时参数的管理。所以,该模块向下传输的是N_PDU(网络层协议数据单元)。
  本文小结
  第一、由于严格分层,除了CAN Driver和CAN Transceiver模块要依赖于硬件,AUTOSAR与诊断相关的模块几乎完全独立于硬件。按照此架构开发完成的诊断程序码能够摆脱硬件的束缚,具有最大程度的可重用性。
  第二、AUTOSAR目前不支持SAE J1939。
  第三、暂时不能直接将AUTOSAR软件架构用于Bootloder程序的开发。
  综上所述,AUTOSAR标准仍旧处于发展和完善阶段,但随着目前汽车ECU软件开发矛盾的加剧,开发难度不断增大,开发周期却不断缩短,AUTOSAR将成为必然趋势。
            
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-4-28 09:41 , 耗时 0.088223 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表