《杰发微课堂》开讲 AC7840x UDS on CAN完整解决方案

汽车电子

2307人已加入

描述

《杰发微课堂》今天开讲第二课啦!随着首款功能安全芯片AC7840x的顺利量产,搭载杰发科技自主开发的UDS解决方案应运而生。UDS(Unified Diagnostic Services)是一种基于ISO 14229标准的汽车诊断通信协议,规定了一系列的诊断服务和数据通信格式,是汽车电子领域中非常重要的一个标准。UDS主要用于诊断和调试车辆中的电子控制单元(ECU),使诊断工具拥有更广泛的适用性和通用性,也可帮助汽车制造商和维修服务提供商更加高效地进行车辆诊断和维修。

客户端大多需要适配UDS来对控制器进行刷新和数据监控,为了客户更方便地开发AC7840x相关应用,杰发科技提供了AC7840x UDS on CAN的完整解决方案。

mcu
AC7840x UDS on CAN 结构图

 
功能介绍
AC7840x UDS on CAN代码符合OSI 7层模型,其框架图如上所示,共计包含UDS 6大类服务,15个常用SID服务,同时可扩展其他SID。

序号 诊断服务名 服务Service SID
1 诊断会话服务 Diagnosis Session Control 10
2 电控单元复位 ECU Reset 11
3 安全访问 Security Access 27
4 通讯控制 Communication Control 28
5 待机握手 Tester Present 3E
6 通过ID读数据 Read Data By Identifier 22
7 通过ID写数据 Write Data By Identifier 2E
8 清除诊断信息 Clear Diagnositic Information 14
9 读取故障码信息 Read DTC Information 19
10 例行程序控制 Routine Control 31
11 请求下载 Request Download 34
12 数据传输 Transfer Data 36
13 请求退出传输 Request Transfer Exit 37
14 诊断故障码设置控制 Control DTC Setting 85
15 通过标识符控制输入输出 Input Output Control By Identifier 2F

 
原理介绍
UDS全称为Unified Diagnostic Services,即统一诊断服务,由ISO-14229系列标准定义,本质上是Tester与ECU之间通过特定的“语言”进行交互,从而达到Tester对“ECU刷新程序”和“内部数据监控”两大基本功能。

从功能定义上,可类比如下:

mcu
类比1

医生通过医疗仪器查看候诊者的身体状况,类似Tester通过UDS服务能查看ECU内部运行状况,如电压大小、存储内容等。
 

从实现方式上,可类比如下:

mcu 
类比2


相当于3 种沟通语言,其中两种语言被翻译成国际通用语言后,三方就可以直接交流了。Tester通过14229发出命令,中间层15765翻译,ECU通过CAN总线识别并作出反应。
 
软件介绍

mcu
AC7840x UDS on CAN软件架构图


AC7840x UDS on CAN由3个工程组成:Boot, App, Cali(标定),其中Boot和App协议栈协代码框架类似,功能上有所区别,共计实现常用UDS服务15个。

Boot: 主要实现刷新代码等功能。可支持掉电重刷、单Boot刷新、CAN热插拔后刷新、干扰后刷新、安全算法、CRC校验、一致性校验、自定义NRC, 读写DID等功能。

App: 主要实现数据监控等功能。Snap快照信息、19服务支持常用的1,2,4,6,A五种子功能、软件版本号等DID读写、31例程控制、诊断会话控制、ECU复位等功能。

Cali:用户自定义数据放入指定地址。

另外,Boot和App的Tp层代码可实现Bs, STmin, N_As, N_Bs, N_Cs, N_Ar, N_Br, N_Cr, P2、P2*等时间参数设置。

目前该套方案已经推广到多家客户使用测试,并验收通过,杰发科技将持续推出更适用于客户需求的多种定制化方案,以更优的服务来减轻客户的开发工作量,敬请期待。

商务咨询:请联系service@autochips.com
技术支持:请联系support@autochips.com
 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分