新書推薦:
《
天生坏种:罪犯与犯罪心理分析
》
售價:HK$
97.9
《
新能源材料
》
售價:HK$
63.8
《
人工智能与大数据:采煤机智能制造
》
售價:HK$
96.8
《
新民说·逝去的盛景:宋朝商业文明的兴盛与落幕(上下册)
》
售價:HK$
173.8
《
我从何来:自我的心理学探问
》
售價:HK$
119.9
《
失败:1891—1900 清王朝的变革、战争与排外
》
售價:HK$
85.8
《
万千心理·我的精神分析之道:复杂的俄狄浦斯及其他议题
》
售價:HK$
104.5
《
荷马:伊利亚特(英文)-西方人文经典影印21
》
售價:HK$
107.8
|
編輯推薦: |
《CANoe开发从入门到精通》旨在帮助广大汽车工业领域的研发工程师快速掌握CANoe的基础应用、仿真开发、诊断及自动化测试实现等实战技能,提高工作效率,缩短研发周期。
|
內容簡介: |
本书遵循由浅入深的原则,将内容分为三篇。基础篇首先介绍车载网络的相关知识,接着介绍CANoe开发环境和常见功能的使用,以便初学者掌握使用CANoe进行一般的总线仿真、测试和分析的方法;入门篇首先介绍CANoe开发总线仿真的基础知识,接着结合实例重点介绍总线数据库创建、面板设计,以及CAPL语言设计;进阶篇结合广大开发工程师可能面临的技术难题,由简单到复杂地介绍一些典型实例,以提高读者的实战技术。
|
目錄:
|
基 础 篇
第1章 车载网络概述 3
1.1 车载网络起源 3
1.2 CAN总线概述 4
1.2.1 CAN总线简史 4
1.2.2 CAN总线特点 4
1.2.3 CAN总线主要应用 5
1.2.4 CAN-FD协议简介 6
1.3 LIN总线概述 6
1.3.1 LIN总线简史 6
1.3.2 LIN总线特点 7
1.3.3 LIN总线主要应用 7
1.4 目前典型车载网络架构 7
1.4.1 紧凑型 8
1.4.2 豪华型 8
1.5 主要的车载网络 9
1.6 车载网络发展趋势 11
第2章 CANoe概述 12
2.1 关于Vector公司 12
2.2 CANoe简介 13
2.3 CANoe在ECU项目开发中的作用 13
2.3.1 第一阶段:全仿真网络系统 13
2.3.2 第二阶段:真实节点和部分仿真节点共存 14
2.3.3 第三阶段:全真实节点的网络系统 14
2.4 CANoe不同版本的区别 15
2.4.1 CANoe pex版本 15
2.4.2 CANoe run版本 15
2.4.3 CANoe full版本 16
2.4.4 关于Demo版本CANoe 16
2.4.5 关于64bit版本CANoe 17
2.5 CANoe安装 17
2.5.1 系统配置要求 17
2.5.2 常见硬件接口卡 18
2.5.3 安装过程 18
2.6 CANoe常见的总线授权选项 23
2.7 CANoe的授权管理 24
2.8 CANoe的硬件配置 25
2.8.1 硬件信息查看 25
2.8.2 硬件配置 27
2.8.3 通道数量设置 28
第3章 CANoe开发环境 29
3.1 CANoe主界面 29
3.2 CANoe选项卡和功能区 30
3.2.1 File菜单 30
3.2.2 Home功能区 31
3.2.3 Analysis功能区 32
3.2.4 Simulation功能区 33
3.2.5 Test功能区 34
3.2.6 Diagnostics功能区 35
3.2.7 Environment功能区 36
3.2.8 Hardware功能区 37
3.2.9 Tools功能区 38
3.2.10 Layout功能区 39
3.3 常用仿真窗口 40
3.3.1 Simulation Setup窗口 40
3.3.2 Start Values窗口 40
3.4 常见诊断窗口 41
3.4.1 Diagnostic Console窗口 41
3.4.2 Diagnostic Session Control窗口 42
3.4.3 Fault Memory窗口 42
3.5 常见测试窗口 43
3.5.1 Test Unit窗口 43
3.5.2 Test Module窗口 45
第4章 CANoe总线测量和分析 46
4.1 CANoe总线测量和分析概述 46
4.2 Measurement Setup窗口 47
4.2.1 主要功能 48
4.2.2 插入分析窗口或数据记录模块 48
4.2.3 插入功能模块 49
4.3 常见分析窗口 49
4.3.1 Write窗口 49
4.3.2 Trace窗口 51
4.3.3 Graphic窗口 52
4.3.4 State Tracker窗口 52
4.3.5 Data窗口 53
4.3.6 Statistics窗口 53
4.3.7 Scope窗口 54
4.3.8 Video窗口 55
4.3.9 GPS窗口 55
4.4 测量数据记录设置及处理 56
4.4.1 Logging文件设置 56
4.4.2 Logging文件格式 57
4.4.3 Filter设置 57
4.4.4 Trigger设置 58
4.4.5 Trace导入和导出 60
4.4.6 Trace查看和编辑 63
4.4.7 Trace回放 64
4.5 离线分析 67
4.6 发生器模块 68
4.6.1 CAN IG模块 68
4.6.2 IG模块 69
第5章 CANoe仿真工程配置及运行 71
5.1 配置仿真工程 71
5.1.1 物理通道分配问题 71
5.1.2 波特率设置问题 71
5.1.3 授权或相关选项缺失问题 74
5.1.4 虚拟通道设置问题 75
5.1.5 硬件连接问题 76
5.2 不同版本工程文件之间的兼容性处理 76
5.3 仿真工程个性化设置 78
5.3.1 添加修改的Desktop设置 78
5.3.2 保存不同的工程配置文件 78
5.4 仿真工程文件夹的命名习惯 79
入 门 篇
第6章 车载总线仿真基础 83
6.1 ECU硬件软件架构介绍 83
6.1.1 硬件架构 83
6.1.2 软件架构 84
6.2 开发仿真工程的必要性 85
6.2.1 软件开发的V模型 86
6.2.2 仿真工程的必要性 86
6.3 CANoe仿真工程架构 87
第7章 开发第一个CANoe仿真工程 88
7.1 创建第一个仿真工程 88
7.2 添加CAN数据库 89
7.2.1 新建CAN数据库 89
7.2.2 添加报文和信号 89
7.2.3 添加数据库到工程中 91
7.3 定义系统变量 91
7.4 创建仿真面板 92
7.4.1 创建开关面板 92
7.4.2 创建指示灯面板 93
7.5 创建网络节点 93
7.5.1 添加网络节点 93
7.5.2 添加Hello World代码 95
7.5.3 添加Switch代码 95
7.5.4 添加Light代码 96
7.6 工程运行测试 96
7.7 查看Trace信息 97
第8章 总线数据库设计 98
8.1 总线数据库概述 98
8.2 CANdb Editor 98
8.2.1 File菜单 99
8.2.2 工具栏 100
8.3 在X-Vehicle项目中创建CAN总线数据库 100
8.3.1 基于模板新建总线数据库 100
8.3.2 Networks 101
8.3.3 ECUs 102
8.3.4 Network Nodes 102
8.3.5 Messages 103
8.3.6 Signals 105
8.3.7 Environment Variable 109
8.3.8 Attribute 110
8.3.9 Value Table 113
8.3.10 Byte Order 114
8.4 导入数据库文件 116
8.5 LIN总线数据库编辑器LDF Explorer 117
第9章 Panel设计 118
9.1 Panel概述 118
9.2 Panel设计环境介绍 119
9.2.1 File菜单 119
9.2.2 Home功能区 120
9.2.3 Panel功能区 121
9.2.4 Properties功能区 122
9.2.5 Toolbox窗口 122
9.2.6 Symbol Explorer窗口 122
9.2.7 Working Area窗口 123
9.2.8 Properties窗口 124
9.2.9 Output Window 124
9.3 控件介绍 125
9.3.1 SwitchIndicator控件 126
9.3.2 LED Control控件 127
9.3.3 InputOutput Box控件 128
9.3.4 HexText Editor控件 130
9.3.5 Analog Gauge控件 131
9.3.6 Meter控件 132
9.4 多帧图片简介 133
9.5 系统变量简介 134
9.6 在X-Vehicle项目中创建仿真Panel 136
9.6.1 添加Control面板 136
9.6.2 添加Display面板 140
9.6.3 创建一个Desktop 143
第10章 CAPL语言设计 145
10.1 CAPL概述 145
10.1.1 CAPL主要用途 145
10.1.2 CAPL的特点 146
10.2 CAPL开发环境 CAPL浏览器简介 146
10.2.1 File菜单 147
10.2.2 功能区 147
10.2.3 导航区和编辑区 150
10.2.4 函数浏览区 150
10.2.5 对象浏览区 150
10.2.6 输出窗口 151
10.3 CAPL基础数据类型 151
10.3.1 变量的声明与定义 152
10.3.2 简单变量 153
10.3.3 复合类型 154
10.3.4 特殊类型 155
10.4 CAPL基础常见运算 157
10.5 CAPL基础流程控制 158
10.5.1 if条件语句 158
10.5.2 switch语句 158
10.5.3 while循环语句 159
10.5.4 for循环语句 160
10.5.5 break语句 160
10.5.6 return语句 161
10.6 CAPL基础程序结构 161
10.6.1 头文件 161
10.6.2 全局变量声明 162
10.6.3 事件处理 162
10.6.4 自定义函数 169
10.7 CAPL基础常用函数库简介 170
10.7.1 通用函数 170
10.7.2 计算函数 172
10.7.3 字符串函数 172
10.7.4 CAN总线函数 173
10.7.5 LIN总线函数 174
10.7.6 诊断函数 174
10.8 CAPL基础总线数据库的使用 175
10.9 CAPL基础变量和信号的访问 175
10.9.1 CAPL中访问信号 175
10.9.2 CAPL中访问系统变量 176
10.9.3 CAPL中访问环境变量 176
10.10 在X-Vehicle项目中添加CAPL程序 177
10.10.1 创建节点Engine的CAPL程序 178
10.10.2 创建节点Door的CAPL程序 178
10.10.3 创建节点Display的CAPL程序 180
10.11 工程运行测试 181
第11章 仿真工程编译和调试 182
11.1 CAPL程序编译 182
11.1.1 条件编译 182
11.1.2 编译CAPL程序 183
11.2 CAPL程序的Debug功能调试 184
11.2.1 设置Debug Mode 184
11.2.2 Debugger工具栏 185
11.2.3 设置调试断点 185
11.2.4 变量查看 186
11.2.5 断点查看 187
11.3 使用Write窗口调试CAPL程序 187
第12章 仿真工程开发入门 CAN仿真 190
12.1 总线仿真工程概述 190
12.2 总线仿真工程开发流程及策略 190
12.2.1 开发流程 190
12.2.2 仿真工程开发策略 191
12.3 工程实例简介 192
12.3.1 网络拓扑图 192
12.3.2 实现功能 193
12.4 工程实现 193
12.4.1 创建仿真工程 194
12.4.2 DBC文件设计与导入 194
12.4.3 系统变量 197
12.4.4 面板设计 198
12.4.5 CAPL代码实现 207
12.4.6 Automation Sequences 217
12.4.7 分析窗口设置 218
12.4.8 Trace窗口与Logging 220
12.4.9 Desktop布局 221
12.5 工程运行测试 223
进 阶 篇
第13章 仿真工程开发进阶I CAN LIN仿真 227
13.1 工程实例简介 227
13.1.1 网络拓扑图 227
13.1.2 实现功能 228
13.2 工程实现 229
13.2.1 添加LIN总线支持 229
13.2.2 数据库LDF文件设计与导入 230
13.2.3 添加环境变量 236
13.2.4 面板设计 237
13.2.5 CAPL实现 248
13.2.6 Trace窗口与Logging 256
13.2.7 设置Desktop布局 257
13.3 工程运行测试 257
13.4 扩展话题关于网络管理 258
第14章 仿真工程开发进阶II仿真 测试 260
14.1 基于CANoe的自动化测试系统简介 260
14.2 Test Feature Set功能简介 261
14.2.1 约束和条件设置函数 261
14.2.2 信号测试函数 261
14.2.3 等待指示函数 262
14.2.4 测试控制函数 263
14.2.5 故障注入函数 263
14.2.6 测试判别函数 264
14.2.7 测试架构函数 264
14.2.8 测试报告函数 265
14.3 Test Service Library功能简介 265
14.3.1 检测函数 266
14.3.2 状态报告函数 268
14.3.3 激励函数 269
14.3.4 检测控制函数 270
14.4 测试单元与测试模块简介 270
14.4.1 测试单元与测试模块的区别 271
14.4.2 测试模块架构 271
14.5 工程实例简介 272
14.6 工程实现 272
14.6.1 添加CAPL测试模块 272
14.6.2 测试方法分析 274
14.6.3 CAPL测试用例 276
14.6.4 CAPL测试模块 282
14.7 工程运行测试 283
14.7.1 测试执行 283
14.7.2 测试报告 285
14.8 扩展话题关于vTESTstudio 286
第15章 仿真工程开发进阶III 仿真 诊断 288
15.1 汽车诊断技术概述 288
15.1.1 诊断术语 289
15.1.2 OBD诊断与增强型诊断 289
15.1.3 诊断协议 289
15.1.4 诊断接口 290
15.1.5 诊断周期 291
15.1.6 UDS诊断服务 291
15.1.7 Vector诊断工具简介 292
15.2 CANoe诊断功能简介 293
15.2.1 诊断描述文件 294
15.2.2 安全访问服务 294
15.2.3 诊断测试窗口 295
15.3 CANoe常见诊断函数 295
15.3.1 通信设定功能函数 295
15.3.2 安全访问函数 296
15.3.3 对象访问函数 296
15.3.4 参数访问函数 297
15.3.5 诊断测试函数 298
15.4 工程实例简介 299
15.5 工程实现 299
15.5.1 CDD文件导入 299
15.5.2 Security DLL文件配置 301
15.5.3 诊断控制台 301
15.5.4 诊断测试面板 302
15.5.5 添加Tester节点 314
15.5.6 虚拟诊断响应 317
15.5.7 自动化诊断测试方法分析 318
15.5.8 CAPL诊断测试模块实现 319
15.5.9 制作GenerateKey.dll 332
15.6 工程运行测试 332
15.6.1 手动诊断测试面板 332
15.6.2 自动化诊断测试模块 333
15.7 扩展话题VT System在测试中的应用 335
第16章 CANoe高级编程 COM Server技术 336
16.1 COM接口技术简介 336
16.2 CANoe COM Server简介及设置 336
16.3 工程实例简介 337
16.4 开发实现 CANoe工程 338
16.4.1 CANoe工程中供调用的系统变量 338
16.4.2 CANoe工程中供调用的总线信号 339
16.4.3 新建CANoe CAPL函数 340
16.5 开发实现VB.NET工程 342
16.5.1 新建VB.NET工程 342
16.5.2 添加CANoe相关引用 342
16.5.3 界面设计 344
16.5.4 全局变量定义 348
16.5.5 CANoe应用和Measurement对象控制 348
16.5.6 CANoe事件处理 349
16.5.7 系统变量操作 349
16.5.8 总线信号操作 350
16.5.9 CAPL函数调用 350
16.5.10 完整代码 351
16.6 工程运行测试 362
16.7 扩展话题 Python脚本调用COM Server 362
第17章 CANoe高级编程 CAPL DLL技术 363
17.1 CAPL DLL技术概述 363
17.1.1 CAPL DLL函数列表 364
17.1.2 CAPL回调函数 365
17.2 工程实例简介 366
17.3 工程实现 VC.NET开发CAPL DLL 366
17.3.1 创建用户自定义函数 CRC算法函数 366
17.3.2 创建用户自定义函数 读取MAC地址函数 369
17.4 工程实现 CANoe调用CAPL DLL 371
17.4.1 如何添加CAPL DLL 371
17.4.2 DLL路径搜索顺序 372
17.4.3 添加系统变量 372
17.4.4 添加一个测试面板 372
17.4.5 添加CAPL代码 375
17.5 工程运行测试 378
17.6 扩展话题 CANoe仿真工程代码保护 379
17.6.1 编译后删除源代码 379
17.6.2 加密后删除源代码 380
17.6.3 加密保护与硬件绑定 380
第18章 CANoe高级编程 C Library API技术 381
18.1 CCL库文件概述 381
18.2 常用CCL接口函数介绍 381
18.3 工程实例简介 383
18.4 工程实现 VC.NET开发CCL 384
18.4.1 如何创建一个CCL库文件 384
18.4.2 CCL代码实现 386
18.5 工程实现 CANoe调用CCL 389
18.5.1 如何调用CCL API 389
18.5.2 添加系统变量 390
18.5.3 添加测试面板 390
18.5.4 添加IG模块 392
18.6 工程运行测试 392
第19章 CANoe高级编程 自定义菜单插件 394
19.1 自定义菜单插件概述 394
19.2 工程实例简介 394
19.3 开发自定义菜单插件 394
19.3.1 创建和配置工程 395
19.3.2 代码实现 396
19.4 在CANoe中配置自定义菜单插件 401
19.5 工程运行测试 401
19.6 扩展话题 关于C#语言 402
第20章 CANoe高级编程 .NET测试模块开发 403
20.1 .NET测试模块开发概述 403
20.2 .NET测试环境设定 404
20.2.1 配置CANoe的.NET文件编辑器 404
20.2.2 配置Visual C#项目开发模板 405
20.3 工程实例简介 406
20.4 工程实现 .NET测试模块 406
20.4.1 添加.NET测试模块 406
20.4.2 调用CAPL测试库中的测试用例 407
20.4.3 新建C#测试模块工程 409
20.4.4 数据库和系统变量的访问方法 409
20.4.5 .NET测试模块开发 410
20.4.6 .NET测试模块配置和编译 414
20.5 工程运行测试 415
20.6 扩展话题 XML测试模块 416
第21章 CANoe高级编程 TCPIP通信编程 419
21.1 网络传输协议简介 419
21.1.1 网际层 420
21.1.2 传输层 420
21.1.3 Socket编程简介 421
21.2 .NET编程中TCPIP相关类的简介 421
21.3 CAPL中TCPIP相关函数的简介 424
21.4 工程实例简介 426
21.5 工程实现 C# TCPIP服务器端开发 427
21.5.1 新建一个工程 427
21.5.2 界面设计 427
21.5.3 C#代码实现 429
21.6 工程实现 CANoe TCPIP客户端开发 434
21.6.1 创建仿真工程 434
21.6.2 新建系统变量 434
21.6.3 Panel设计 435
21.6.4 CAPL实现 438
21.7 工程运行测试 446
21.8 扩展话题 UDP Socket通信 447
第22章 CANoe高级编程 FDX协议与HIL系统通信 449
22.1 FDX协议 449
22.1.1 Datagram 450
22.1.2 创建Data Groups和Items 454
22.1.3 FreeRunning模式 455
22.2 工程实例简介 455
22.3 工程实现 CANoe项目 456
22.3.1 创建FDX Description文件 456
22.3.2 配置FDX 457
22.4 工程实现 VC.NET项目 458
22.4.1 VC.NET中FDX相关类简介 458
22.4.2 Datagram结构体定义 459
22.4.3 界面设计 461
22.4.4 代码实现 463
22.5 工程运行测试 480
22.6 扩展话题 硬件在环 481
第23章 CANoe高级编程 调用LabVIEW 482
23.1 LabVIEW Integration系统设置要求 482
23.2 工程实例简介 482
23.3 工程实现 LabVIEW 483
23.3.1 创建共享变量 483
23.3.2 创建DemoVI 484
23.4 工程实现 CANoe 485
23.4.1 启用LabVIEW Integration设置 485
23.4.2 设置Signal Generators 486
23.4.3 CAPL调用LabVIEW共享变量 487
23.4.4 添加一个Desktop布局 488
23.5 工程运行测试 488
23.6 扩展话题 LabVIEW调用CANoe 490
附录A 英文缩写对照表 491
参考文献 494
|
內容試閱:
|
中国的汽车工业正在经历轰轰烈烈的变革和创新,其发展比以往任何时代都迅速,自2009年以来,中国已经连续9年成为世界最大的汽车生产国和第一大汽车市场,稳居世界第一汽车大国地位。中国汽车的自主品牌正受到越来越多购车者的关注和认可,市场份额持续攀升,2017年的市场份额达到43%。中国品牌的强势崛起将进一步压缩海外品牌在中国的生存空间。2017年年销售量超过百万辆的就有几家自主品牌整车厂。再经几年奋起直追,继电视机、手机之后,汽车也有望成为中国制造的杰出代表。
在中国汽车工业的崛起过程中,我们的自主品牌也面临众多的挑战,其中比较关键的是来自技术层面的挑战。特别是很多自主品牌在积极进军和抢占高端消费市场的过程中举步艰难。我们无法摆脱对国外技术的依赖,在研发新的平台和车型时,过多地依赖国外的设计中心或供应商。
高端车型的技术门槛,其中重要的一点就体现在车载总线的创新性和复杂性上。如果想在技术上摆脱对国外设计中心或供应商的依赖,必须不断提高技术水平,充分利用现有的开发工具。CANoe作为全球汽车电子设计、开发和验证的利器,在汽车行业可谓家喻户晓。
本书结构
本书遵循由浅入深的原则,将内容分为三篇。基础篇首先介绍车载网络的相关知识,接着介绍CANoe的开发环境和常见功能的使用,以便初学者掌握使用CANoe进行一般的总线仿真、测试和分析的方法;入门篇首先介绍CANoe开发总线仿真的基础知识,接着结合实例重点介绍总线数据库创建、面板设计,以及CAPL语言设计;进阶篇结合广大开发工程师可能面临的技术难题,由简单到复杂地介绍一些典型实例,以提高读者的实战 技术。
本书的具体编写分工如下:第1、2、7、16~23章由杨金升编写;第5、6、8、9、11~13章由张可晨编写;第10、14、15章由唐新宇编写初稿,张可晨整理;第3、4章由李秀娟编写;李秀娟通读了本书的全部内容,并对所有代码做了测试和验证。全书由杨金升负责策划、统稿和审阅。
关于本书中的代码
读者可以在清华大学出版社网站http:www.tup.tsinghua.edu.cn下载相关源代码。每个章节的实例都给出不同版本CANoe的工程文件,以满足不同读者的需求。所有代码已经在以下版本中测试并验证通过。
* CANoe Full 11.0(options:CAN LIN)
* CANoe Demo 11.0(options:CAN LIN)
* CANoe Full 10.0(options:CAN LIN)
* CANoe Demo 10.0(options:CAN LIN)
* CANoe Full 9.0(options:CAN LIN)
* CANoe Demo 9.0(options:CAN LIN)
* Visual Studio 2013(VB.NET、VC.NET、C#等代码)
* LabVIEW 2014
本书附带的资源压缩包中包含相关的源代码及附送的其他资料文件,各章的文件夹架构说明如下。
Chapter_xxSource 本章工程源代码(含11.0代码及10.09.0
代码压缩包)
Chapter_xxAdditional 本章相关资源
Chapter_xxAdditionalMaterial 本章实例需要使用的资源(如图片、模板等)
Chapter_xxAdditionalDocument 本章相关参考文档
Chapter_xxAdditionalExample 本章相关参考例程
本书目标读者
(1)汽车行业的软硬件研发人员;
(2)汽车行业的测试验证人员;
(3)汽车电子相关专业的高校师生;
(4)想从事汽车电子开发和测试的工程师。
如何使用本书
(1)建议初学者由前往后阅读,尽量不要跳跃。
(2)对于有一定CANoe使用经验的读者,可以跳过基础篇,直接学习后面两篇。
(3)对于已经拥有CANoe正式版授权的读者,书中的实例可以上机动手实践,学习效果将更好。
(4)对于目前没有正式版CANoe的读者,可以安装CANoe的Demo版,本书绝大部分的实例都可以在Demo版上直接实践。
本书的约定
由于CANoe软件目前没有中文版,所以本书在使用一些相关名称时,部分以英文为主。英文名称第一次出现时会附上相关翻译供读者参考,例如Option(选项)。为了避免混乱,本书需要将CANoe中常见的术语做如下约定。
Configuration 仿真工程或工程
Measurement 测量
License 授权
License Option 授权选项
Message 报文
Signal 信号
致谢
在本书的创作过程中,得到了来自家人、朋友、同事以及清华大学出版社的鼓励和支持,在此表示衷心的感谢。特别感谢上海交通大学刘功申教授的鼓励和支持,德国同事Thomas Mehring和中国同事黄友新等在技术上不吝指教,使本书得以顺利完成。同时,感谢Vector(中国)的技术支持团队,在以往的技术交流中给予我们的支持和帮助。
仅以此书献给正在崛起的中国汽车工业!
作 者
2018年11月
|
|