新書推薦:
《
让孩子更有力量:赋权型家庭教育指南
》
售價:NT$
305.0
《
白夜追凶(上下)
》
售價:NT$
500.0
《
财富、战争与智慧——二战股市风云录
》
售價:NT$
602.0
《
低空经济:中国经济发展新引擎
》
售價:NT$
403.0
《
汉字学理与小学汉字教学
》
售價:NT$
408.0
《
即将到来的能源战争
》
售價:NT$
407.0
《
时刻人文·臆造南洋:马来半岛的神鬼人兽
》
售價:NT$
296.0
《
时刻人文·信用的承诺与风险:一个被遗忘的犹太金融传说与欧洲商业社会的形成
》
售價:NT$
469.0
|
編輯推薦: |
本书具有较强的专业性和针对性。作者长期从事新能源汽车整车控制、电子电气、软件开发等工作,非常熟悉UDS服务,将多年的工作经验进行了梳理和整合,形成了本书,以飨读者。全书以汽车电控系统、车载总线通信和诊断协议标准为基础,详细介绍了UDS协议栈架构、CAN驱动层、TP层、诊断应用层的实现,并围绕BootLoader、客户端通信、测试环节,介绍UDS诊断与实现。不但重视理论介绍,也与实践紧密结合,有助于提升读者的理论水平和解决实际问题的能力。
|
內容簡介: |
本书结合汽车电控系统软件中的BootLoader程序和上位机及脚本介绍UDS的使用场景,并深入讲解其功能,分为基础篇、核心篇、提升篇三部分。主要内容包括新能源汽车电控系统基础知识、基于CAN/LIN总线的通信协议、UDS协议栈架构、基于UDS的BootLoader、通过脚本实现UDS客户端通信、UDS测试等内容。
本书首先介绍新能源汽车电控系统基础、常用总线通信协议和UDS基础知识,让读者站在电控系统的角度了解UDS等协议栈的作用和诊断的相关知识,然后根据ISO 15765和ISO 14229标准的内容从使用者的角度对标准的实现进行详细的解释,最后在诊断协议的基础上以BootLoader程序和上位机及脚本的实现讲解其在客户端和服务器端的应用及其测试环境。
本书适合具有一定车载嵌入式软件开发和测试基础知识的读者,也可作为普通高等院校汽车相关专业的本科生或研究生学习汽车嵌入式软件开发的参考书,亦可供汽车电子行业软件工程师、总线网络开发工程师和总线测试工程师学习和参考。
|
關於作者: |
向满: 汽车电子软件开发专家。长期从事新能源汽车车整车控制器VCU,车身电子ECU,电子油泵等电控系统软件开发。先后就职于深圳航盛电子、德昌电机、长城汽车等汽车电子领域知名企业。
童维勇:高级工程师,“中国自动化学会2022杰出自动化工程师奖”获得者。深圳市软件行业协会和深圳自动化学会专委会专家。长期从事嵌入式软件开发和研发管理工作,曾成功主导开发了多款新能源汽车电控产品。
|
目錄:
|
前言
基础篇
第1章 汽车电控系统 2
1.1 汽车电控系统介绍 2
1.1.1 电控系统架构 2
1.1.2 工作原理 3
1.1.3 分类 5
1.1.4 发展情况 5
1.2 汽车电控系统开发 8
1.2.1 软件开发 10
1.2.2 硬件开发 10
1.3 AUTOSAR和功能安全 10
1.3.1 AUTOSAR架构介绍 10
1.3.2 功能安全概念介绍 11
第2章 车载总线通信介绍 13
2.1 CAN总线和LIN总线通信基础 13
2.1.1 CAN总线基础 14
2.1.2 LIN总线基础 18
2.2 常用车载通信协议 24
2.2.1 OSEK网络管理协议 24
2.2.2 CCP和XCP协议 26
2.2.3 J1939协议 28
2.2.4 UDS协议 29
2.3 其他总线通信技术 29
2.3.1 CANFD 29
2.3.2 车载以太网 30
第3章 诊断协议及其参考标准 32
3.1 OBD协议 32
3.1.1 OBD协议介绍 32
3.1.2 OBD协议参考标准 38
3.2 UDS协议 39
3.2.1 UDS协议介绍 39
3.2.2 UDS协议参考标准 39
3.3 UDS协议与OBD协议的区别 40
核心篇
第4章 UDS协议栈架构 42
4.1 UDS协议软件架构 42
4.1.1 CAN驱动层 44
4.1.2 TP层 45
4.1.3 诊断应用层 45
4.2 UDS数据流分析 46
4.3 如何实现UDS 48
第5章 CAN驱动层及其实现 49
5.1 S32K系列微控制器介绍 49
5.2 CAN驱动层提供的功能 51
5.3 S32K144的CAN驱动配置 51
第6章 TP层及其实现 60
6.1 TP层的作用 60
6.2 TP层协议 61
6.2.1 TP层协议概述 61
6.2.2 TP层相关术语定义 62
6.2.3 TP层总览及其服务概述 63
6.2.4 网络层协议 71
6.3 TP层协议实现 83
6.3.1 单帧 83
6.3.2 首帧 87
6.3.3 流控帧 90
6.3.4 连续帧 95
6.3.5 TP层参数 101
6.4 通信报文解析 102
6.4.1 单包报文传输 103
6.4.2 多包报文传输 103
第7章 诊断应用层及其实现 105
7.1 诊断应用层的作用 106
7.2 寻址概念 107
7.2.1 物理寻址 107
7.2.2 功能寻址 107
7.3 UDS请求与响应 108
7.3.1 UDS请求 108
7.3.2 UDS响应 110
7.4 UDS会话模式和安全访问 122
7.5 DTC信息 125
7.5.1 DTC格式 125
7.5.2 DTC相关的术语 125
7.5.3 DTC状态位定义和DTC状态掩码 126
7.5.4 DTC故障检测 133
7.5.5 DTC老化机制 135
7.5.6 DTC信息存储 136
7.6 常用诊断服务列表 139
7.6.1 BootLoader程序常用服务 140
7.6.2 应用程序常用服务 140
7.7 诊断应用层服务解析 140
7.7.1 10服务—诊断会话控制 141
7.7.2 11服务—电控单元复位 143
7.7.3 27服务—安全访问 145
7.7.4 28服务—通信控制 147
7.7.5 3E服务—测试设备在线 149
7.7.6 85服务—控制DTC设置 150
7.7.7 22服务—根据DID读数据 151
7.7.8 23服务—通过地址读内存 153
7.7.9 2E服务—通过DID写数据 155
7.7.10 3D服务—通过地址写内存 156
7.7.11 14服务—清除诊断信息 157
7.7.12 19服务—读取DTC信息 158
7.7.13 2F服务—输入输出控制 163
7.7.14 31服务—例程控制 165
7.7.15 34服务—请求下载 167
7.7.16 36服务—传输数据 169
7.7.17 37服务—请求退出传输 170
7.8 诊断应用层定时参数分析 171
7.8.1 定时参数分析 171
7.8.2 定时参数处理 172
7.9 诊断报文分析 173
提升篇
第8章 基于UDS的BootLoader 178
8.1 BootLoader介绍 178
8.2 BootLoader机制介绍 179
8.3 BootLoader的一般要求 181
8.3.1 通信要求 181
8.3.2 安全要求 181
8.4 BootLoader详细流程 182
8.4.1 Pre-Programming 阶段 182
8.4.2 Programming阶段 183
8.4.3 Post-Programming阶段 184
8.5 BootLoader软件架构与实现 185
8.5.1 最小系统和基本模块 185
8.5.2 内存分配 186
8.5.3 中断向量表的重映射 187
8.5.4 闪存驱动 187
8.5.5 程序跳转 187
8.6 电控单元OTA介绍 188
第9章 通过脚本实现UDS客户端通信 190
9.1 上位机和脚本编程语言 190
9.2 基于Python语言的UDS脚本 190
9.2.1 PeakCAN介绍 191
9.2.2 PeakCAN二次开发介绍 191
9.2.3 基于Python语言实现UDS通信 192
9.3 通过脚本实现上位机Flash BootLoader 203
第10章 UDS测试 204
10.1 Vector系统介绍 204
10.2 基于Vector工具链的测试系统介绍 204
10.3 UDS测试操作指导 205
参考文献 213
|
內容試閱:
|
为推动新能源汽车产业高质量发展,2020年10月,国务院办公厅印发《新能源汽车产业发展规划(2021—2035年)》,确定了未来新能源汽车将继续向电动化、网联化、智能化方向深入发展,新能源汽车及其配套产业将迎来新一轮爆发。
在汽车“新四化”的发展趋势下,整车电子电气架构逐渐从分散走向集中,域控制器或区域控制器成为下一代整车电控系统的核心。面对整车电子电气架构的不断升级,AUTOSAR架构已经成为具备功能安全要求的分布式电子控制单元和域控制器的主流软件架构。
随着诊断、OTA、智能驾驶、娱乐等功能需求的增长,其对整车通信带宽的要求日益增加,车载以太网成为下一代汽车的主要通信技术。由此,在汽车行业也提出了SOA(Service-Oriented Architecture)架构,即面向服务的架构。
UDS(Unified Diagnostic Service)即统一诊断服务,是一套为所有车辆提供统一诊断的应用层服务,已经成为新能源汽车电子控制单元的能力。未来,汽车将面向不同场景、不同应用和不同用户提供差异化的功能,和手机一样提供功能升级,在此背景下,UDS的作用更为凸显。目前汽车OTA技术就是以UDS为基础来实现车辆远程升级。
本书是作者多年在引导程序、基础软件及工具链开发经验的基础上应用UDS的总结。本书分为基础篇、核心篇和提升篇。基础篇包括第1章至第3章,从基础入手,便于读者了解汽车电控系统和UDS在电控系统软件中的作用。第1章介绍汽车电控系统的基础知识和目前广泛使用的软件架构及功能安全的概念;第2章介绍常用的车载总线通信技术以及基于车载总线通信技术的应用;第3章介绍OBD和UDS两种诊断协议的基础知识和参考标准。核心篇包括第4章至第7章,重点介绍UDS的核心知识。第4章介绍UDS协议栈架构,包括分层架构和数据流分析等;第5章基于恩智浦S32K144芯片介绍CAN驱动层及其实现;第6章重点解析了UDS协议栈中TP层的标准及其实现;第7章重点介绍了UDS协议栈中诊断应用层及其实现。提升篇包括第8章至第10章,介绍基于UDS的应用和测试以及PC端上位机/脚本的开发。第8章介绍了基于UDS的BootLoader的原理和实现;第9章介绍了基于Python语言的UDS的脚本开发,让读者了解PC端软件的原理和架构;第10章介绍了基于Vector工具链的UDS测试环境和测试流程。
本书由向满和童维勇编写,由童维勇先生审阅。童维勇先生是中国自动化学会会员,自动化专业副高级职称,有多年世界500强外资企业研发管理经验,并在国内新能源汽车知名企业担任研发总监等职务,持有多项授权专利并承担深圳市技术攻关项目。
本书在编写过程中力求逻辑严谨和内容正确,相关代码都经过测试,并在实际项目中使用。但是由于编者水平有限、编写时间紧张,难免有表达不清晰、逻辑不严谨和内容错误之处,敬请读者指正。
编 者
|
|