汽车电子
《杰发微课堂》今天开讲第二课啦!随着首款功能安全芯片AC7840x的顺利量产,搭载杰发科技自主开发的UDS解决方案应运而生。UDS(Unified Diagnostic Services)是一种基于ISO 14229标准的汽车诊断通信协议,规定了一系列的诊断服务和数据通信格式,是汽车电子领域中非常重要的一个标准。UDS主要用于诊断和调试车辆中的电子控制单元(ECU),使诊断工具拥有更广泛的适用性和通用性,也可帮助汽车制造商和维修服务提供商更加高效地进行车辆诊断和维修。
客户端大多需要适配UDS来对控制器进行刷新和数据监控,为了客户更方便地开发AC7840x相关应用,杰发科技提供了AC7840x UDS on CAN的完整解决方案。
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刷新程序”和“内部数据监控”两大基本功能。
从功能定义上,可类比如下:
类比1
医生通过医疗仪器查看候诊者的身体状况,类似Tester通过UDS服务能查看ECU内部运行状况,如电压大小、存储内容等。
从实现方式上,可类比如下:
类比2
相当于3 种沟通语言,其中两种语言被翻译成国际通用语言后,三方就可以直接交流了。Tester通过14229发出命令,中间层15765翻译,ECU通过CAN总线识别并作出反应。
软件介绍
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
全部0条评论
快来发表一下你的评论吧 !