国六OBDII诊断软件开发札记

由于国六新标准即将实施,混动汽车的部分ECU需要增加OBD诊断的支持,从2014年以来UDS诊断在新能源汽车行业中得到快速普及,由于通用性比较高,在研发阶段,整车下线阶段,售后服务阶段都发挥着巨大的价值。UDS诊断是OBD诊断的加强版,目前新能源汽车OBD诊断都是基于CAN总线。

OBD诊断软件开发需要遵循的规范,应用层遵循ISO 15031-5,传输层遵循ISO 15765-4,DTC遵循ISO 15031-6,SAE1979-DA

相同点:

OBD诊断的传输层和UDS的传输层同样遵循ISO 15765-2,因为UDS的开发大家比较熟悉,直接将工作重心转移到应用层开发。

不同点:

DTC码OBD与UDS稍有区别,UDS的DTC为高中低三个字节,OBD为高低两个字节,OBD的DTC为UDS DTC的高中两个字节,第三个字节的含义为故障属性。

OBD应用程序根据ISO 15031-5开发,UDS应用程序根据ISO 14229-1开发。

开发的关键功能梳理:

1、SID 服务ID          PID 参数ID        TID  测试ID

2、诊断的服务,01  请求当前的动力数据,具体数据通过PID实现,类似UDS的22

                           02  请求冻结帧数据,可以读取冻结诊断的PID,类似UDS的19 04

                           03   请求确定故障,通常为当前故障和历史故障,类似UDS的19 02

                           04    清除故障,通常为清除所有故障,类似UDS的14

                           05   物理层为CAN总线不支持此服务,在06上实现

                           06    请求监控和测试的结果,类似UDS的31

                           07    请求未决的故障码

                           08     请求控制和测试,类似UDS 31

                           09     请求车辆信息,通常为VIN和标定ID等

 3、对于01 02 06 08 09都需要支持$00 ,PID00代表的意义将4个字节的位来表示PID01-PID20的支持情况。

根据以上规范就可以开发OBD诊断的代码了,作者在一周内完成了OBD诊断的初版开发。

  • 2
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值