编辑推荐
深入浅出CANoe总线知识,从安装到实战,助力工程师解决技术难题。
内容简介
本书将由浅入深,首先介绍CAN总线相关知识,CANoe强大功能和应用领域。接着,介绍CANoe安装和设定,开发环境,常见功能使用,一般用户可以掌握如何使用CANoe进行一般的总线的仿真,分析。然后,重点介绍如何使用CANoe开发总线仿真,总线数据库建立,面板设计,以及CAPL语言程序开发。最后,结合广大开发工程师可能面临的技术难题,由简单到复杂介绍一些典型实例,提高读者的实战技术。
章节目录
封面页
书名页
版权页
内容简介
作者简介
前言
目录
基础篇
第1章 车载网络概述
1.1 车载网络起源
1.2 CAN总线概述
1.2.1 CAN总线简史
1.2.2 CAN总线特点
1.2.3 CAN总线主要应用
1.2.4 CAN-FD协议简介
1.3 LIN总线概述
1.3.1 LIN总线简史
1.3.2 LIN总线特点
1.3.3 LIN总线主要应用
1.4 目前典型车载网络架构
1.4.1 紧凑型
1.4.2 豪华型
1.5 主要的车载网络
1.6 车载网络发展趋势
第2章 CANoe概述
2.1 关于Vector公司
2.2 CANoe简介
2.3 CANoe在ECU项目开发中的作用
2.3.1 第一阶段:全仿真网络系统
2.3.2 第二阶段:真实节点和部分仿真节点共存
2.3.3 第三阶段:全真实节点的网络系统
2.4 CANoe不同版本的区别
2.4.1 CANoe pex版本
2.4.2 CANoe run版本
2.4.3 CANoe full版本
2.4.4 关于Demo版本CANoe
2.4.5 关于64bit版本CANoe
2.5 CANoe安装
2.5.1 系统配置要求
2.5.2 常见硬件接口卡
2.5.3 安装过程
2.6 CANoe常见的总线授权选项
2.7 CANoe的授权管理
2.8 CANoe的硬件配置
2.8.1 硬件信息查看
2.8.2 硬件配置
2.8.3 通道数量设置
第3章 CANoe开发环境
3.1 CANoe主界面
3.2 CANoe选项卡和功能区
3.2.1 File菜单
3.2.2 Home功能区
3.2.3 Analysis功能区
3.2.4 Simulation功能区
3.2.5 Test功能区
3.2.6 Diagnostics功能区
3.2.7 Environment功能区
3.2.8 Hardware功能区
3.2.9 Tools功能区
3.2.10 Layout功能区
3.3 常用仿真窗口
3.3.1 Simulation Setup窗口
3.3.2 Start Values窗口
3.4 常见诊断窗口
3.4.1 Diagnostic Console窗口
3.4.2 Diagnostic Session Control窗口
3.4.3 Fault Memory窗口
3.5 常见测试窗口
3.5.1 Test Unit窗口
3.5.2 Test Module窗口
第4章 CANoe总线测量和分析
4.1 CANoe总线测量和分析概述
4.2 Measurement Setup窗口
4.2.1 主要功能
4.2.2 插入分析窗口或数据记录模块
4.2.3 插入功能模块
4.3 常见分析窗口
4.3.1 Write窗口
4.3.2 Trace窗口
4.3.3 Graphic窗口
4.3.4 State Tracker窗口
4.3.5 Data窗口
4.3.6 Statistics窗口
4.3.7 Scope窗口
4.3.8 Video窗口
4.3.9 GPS窗口
4.4 测量数据记录设置及处理
4.4.1 Logging文件设置
4.4.2 Logging文件格式
4.4.3 Filter设置
4.4.4 Trigger设置
4.4.5 Trace导入和导出
4.4.6 Trace查看和编辑
4.4.7 Trace回放
4.5 离线分析
4.6 发生器模块
4.6.1 CAN IG模块
4.6.2 IG模块
第5章 CANoe仿真工程配置及运行
5.1 配置仿真工程
5.1.1 物理通道分配问题
5.1.2 波特率设置问题
5.1.3 授权或相关选项缺失问题
5.1.4 虚拟通道设置问题
5.1.5 硬件连接问题
5.2 不同版本工程文件之间的兼容性处理
5.3 仿真工程个性化设置
5.3.1 添加/修改的Desktop设置
5.3.2 保存不同的工程配置文件
5.4 仿真工程文件夹的命名习惯
入门篇
第6章 车载总线仿真基础
6.1 ECU硬件/软件架构介绍
6.1.1 硬件架构
6.1.2 软件架构
6.2 开发仿真工程的必要性
6.2.1 软件开发的V模型
6.2.2 仿真工程的必要性
6.3 CANoe仿真工程架构
第7章 开发第一个CANoe仿真工程
7.1 创建第一个仿真工程
7.2 添加CAN数据库
7.2.1 新建CAN数据库
7.2.2 添加报文和信号
7.2.3 添加数据库到工程中
7.3 定义系统变量
7.4 创建仿真面板
7.4.1 创建开关面板
7.4.2 创建指示灯面板
7.5 创建网络节点
7.5.1 添加网络节点
7.5.2 添加Hello World代码
7.5.3 添加Switch代码
7.5.4 添加Light代码
7.6 工程运行测试
7.7 查看Trace信息
第8章 总线数据库设计
8.1 总线数据库概述
8.2 CANdb++Editor
8.2.1 File菜单
8.2.2 工具栏
8.3 在X-Vehicle项目中创建CAN总线数据库
8.3.1 基于模板新建总线数据库
8.3.2 Networks
8.3.3 ECUs
8.3.4 Network Nodes
8.3.5 Messages
8.3.6 Signals
8.3.7 Environment Variable
8.3.8 Attribute
8.3.9 Value Table
8.3.10 Byte Order
8.4 导入数据库文件
8.5 LIN总线数据库编辑器LDF Explorer
第9章 Panel设计
9.1 Panel概述
9.2 Panel设计环境介绍
9.2.1 File菜单
9.2.2 Home功能区
9.2.3 Panel功能区
9.2.4 Properties功能区
9.2.5 Toolbox窗口
9.2.6 Symbol Explorer窗口
9.2.7 Working Area窗口
9.2.8 Properties窗口
9.2.9 Output Window
9.3 控件介绍
9.3.1 Switch/Indicator控件
9.3.2 LED Control控件
9.3.3 Input/Output Box控件
9.3.4 Hex/Text Editor控件
9.3.5 Analog Gauge控件
9.3.6 Meter控件
9.4 多帧图片简介
9.5 系统变量简介
9.6 在X-Vehicle项目中创建仿真Panel
9.6.1 添加Control面板
9.6.2 添加Display面板
9.6.3 创建一个Desktop
第10章 CAPL语言设计
10.1 CAPL概述
10.1.1 CAPL主要用途
10.1.2 CAPL的特点
10.2 CAPL开发环境——CAPL浏览器简介
10.2.1 File菜单
10.2.2 功能区
10.2.3 导航区和编辑区
10.2.4 函数浏览区
10.2.5 对象浏览区
10.2.6 输出窗口
10.3 CAPL基础——数据类型
10.3.1 变量的声明与定义
10.3.2 简单变量
10.3.3 复合类型
10.3.4 特殊类型
10.4 CAPL基础——常见运算
10.5 CAPL基础——流程控制
10.5.1 if条件语句
10.5.2 switch语句
10.5.3 while循环语句
10.5.4 for循环语句
10.5.5 break语句
10.5.6 return语句
10.6 CAPL基础——程序结构
10.6.1 头文件
10.6.2 全局变量声明
10.6.3 事件处理
10.6.4 自定义函数
10.7 CAPL基础——常用函数库简介
10.7.1 通用函数
10.7.2 计算函数
10.7.3 字符串函数
10.7.4 CAN总线函数
10.7.5 LIN总线函数
10.7.6 诊断函数
10.8 CAPL基础——总线数据库的使用
10.9 CAPL基础——变量和信号的访问
10.9.1 CAPL中访问信号
10.9.2 CAPL中访问系统变量
10.9.3 CAPL中访问环境变量
10.10 在X-Vehicle项目中添加CAPL程序
10.10.1 创建节点Engine的CAPL程序
10.10.2 创建节点Door的CAPL程序
10.10.3 创建节点Display的CAPL程序
10.11 工程运行测试
第11章 仿真工程编译和调试
11.1 CAPL程序编译
11.1.1 条件编译
11.1.2 编译CAPL程序
11.2 CAPL程序的Debug功能调试
11.2.1 设置Debug Mode
11.2.2 Debugger工具栏
11.2.3 设置调试断点
11.2.4 变量查看
11.2.5 断点查看
11.3 使用Write窗口调试CAPL程序
第12章 仿真工程开发入门——CAN仿真
12.1 总线仿真工程概述
12.2 总线仿真工程开发流程及策略
12.2.1 开发流程
12.2.2 仿真工程开发策略
12.3 工程实例简介
12.3.1 网络拓扑图
12.3.2 实现功能
12.4 工程实现
12.4.1 创建仿真工程
12.4.2 DBC文件设计与导入
12.4.3 系统变量
12.4.4 面板设计
12.4.5 CAPL代码实现
12.4.6 Automation Sequences
12.4.7 分析窗口设置
12.4.8 Trace窗口与Logging
12.4.9 Desktop布局
12.5 工程运行测试
进阶篇
第13章 仿真工程开发进阶I——CAN+LIN仿真
13.1 工程实例简介
13.1.1 网络拓扑图
13.1.2 实现功能
13.2 工程实现
13.2.1 添加LIN总线支持
13.2.2 数据库LDF文件设计与导入
13.2.3 添加环境变量
13.2.4 面板设计
13.2.5 CAPL实现
13.2.6 Trace窗口与Logging
13.2.7 设置Desktop布局
13.3 工程运行测试
13.4 扩展话题——关于网络管理
第14章 仿真工程开发进阶II——仿真+测试
14.1 基于CANoe的自动化测试系统简介
14.2 Test Feature Set功能简介
14.2.1 约束和条件设置函数
14.2.2 信号测试函数
14.2.3 等待指示函数
14.2.4 测试控制函数
14.2.5 故障注入函数
14.2.6 测试判别函数
14.2.7 测试架构函数
14.2.8 测试报告函数
14.3 Test Service Library功能简介
14.3.1 检测函数
14.3.2 状态报告函数
14.3.3 激励函数
14.3.4 检测控制函数
14.4 测试单元与测试模块简介
14.4.1 测试单元与测试模块的区别
14.4.2 测试模块架构
14.5 工程实例简介
14.6 工程实现
14.6.1 添加CAPL测试模块
14.6.2 测试方法分析
14.6.3 CAPL测试用例
14.6.4 CAPL测试模块
14.7 工程运行测试
14.7.1 测试执行
14.7.2 测试报告
14.8 扩展话题——关于vTESTstudio
第15章 仿真工程开发进阶III——仿真+诊断
15.1 汽车诊断技术概述
15.1.1 诊断术语
15.1.2 OBD诊断与增强型诊断
15.1.3 诊断协议
15.1.4 诊断接口
15.1.5 诊断周期
15.1.6 UDS诊断服务
15.1.7 Vector诊断工具简介
15.2 CANoe诊断功能简介
15.2.1 诊断描述文件
15.2.2 安全访问服务
15.2.3 诊断测试窗口
15.3 CANoe常见诊断函数
15.3.1 通信/设定功能函数
15.3.2 安全访问函数
15.3.3 对象访问函数
15.3.4 参数访问函数
15.3.5 诊断测试函数
15.4 工程实例简介
15.5 工程实现
15.5.1 CDD文件导入
15.5.2 Security DLL文件配置
15.5.3 诊断控制台
15.5.4 诊断测试面板
15.5.5 添加Tester节点
15.5.6 虚拟诊断响应
15.5.7 自动化诊断测试方法分析
15.5.8 CAPL诊断测试模块实现
15.5.9 制作GenerateKey.dll
15.6 工程运行测试
15.6.1 手动诊断测试面板
15.6.2 自动化诊断测试模块
15.7 扩展话题——VT System在测试中的应用
第16章 CANoe高级编程——COMServer技术
16.1 COM接口技术简介
16.2 CANoe COM Server简介及设置
16.3 工程实例简介
16.4 开发实现——CANoe工程
16.4.1 CANoe工程中供调用的系统变量
16.4.2 CANoe工程中供调用的总线信号
16.4.3 新建CANoe CAPL函数
16.5 开发实现——VB.NET工程
16.5.1 新建VB.NET工程
16.5.2 添加CANoe相关引用
16.5.3 界面设计
16.5.4 全局变量定义
16.5.5 CANoe应用和Measurement对象控制
16.5.6 CANoe事件处理
16.5.7 系统变量操作
16.5.8 总线信号操作
16.5.9 CAPL函数调用
16.5.10 完整代码
16.6 工程运行测试
16.7 扩展话题——Python脚本调用COM Server
第17章 CANoe高级编程——CAPLDLL技术
17.1 CAPL DLL技术概述
17.1.1 CAPL DLL函数列表
17.1.2 CAPL回调函数
17.2 工程实例简介
17.3 工程实现——VC.NET开发CAPL DLL
17.3.1 创建用户自定义函数——CRC算法函数
17.3.2 创建用户自定义函数——读取MAC地址函数
17.4 工程实现——CANoe调用CAPL DLL
17.4.1 如何添加CAPL DLL
17.4.2 DLL路径搜索顺序
17.4.3 添加系统变量
17.4.4 添加一个测试面板
17.4.5 添加CAPL代码
17.5 工程运行测试
17.6 扩展话题——CANoe仿真工程代码保护
17.6.1 编译后删除源代码
17.6.2 加密后删除源代码
17.6.3 加密保护与硬件绑定
第18章 CANoe高级编程——CLibraryAPI技术
18.1 CCL库文件概述
18.2 常用CCL接口函数介绍
18.3 工程实例简介
18.4 工程实现——VC.NET开发CCL
18.4.1 如何创建一个CCL库文件
18.4.2 CCL代码实现
18.5 工程实现——CANoe调用CCL
18.5.1 如何调用CCL API
18.5.2 添加系统变量
18.5.3 添加测试面板
18.5.4 添加IG模块
18.6 工程运行测试
第19章 CANoe高级编程——自定义菜单插件
19.1 自定义菜单插件概述
19.2 工程实例简介
19.3 开发自定义菜单插件
19.3.1 创建和配置工程
19.3.2 代码实现
19.4 在CANoe中配置自定义菜单插件
19.5 工程运行测试
19.6 扩展话题——关于C#语言
第20章 CANoe高级编程——.NET测试模块开发
20.1 .NET测试模块开发概述
20.2 .NET测试环境设定
20.2.1 配置CANoe的.NET文件编辑器
20.2.2 配置Visual C#项目开发模板
20.3 工程实例简介
20.4 工程实现——.NET测试模块
20.4.1 添加.NET测试模块
20.4.2 调用CAPL测试库中的测试用例
20.4.3 新建C#测试模块工程
20.4.4 数据库和系统变量的访问方法
20.4.5 .NET测试模块开发
20.4.6 .NET测试模块配置和编译
20.5 工程运行测试
20.6 扩展话题——XML测试模块
第21章 CANoe高级编程——TCP/IP通信编程
21.1 网络传输协议简介
21.1.1 网际层
21.1.2 传输层
21.1.3 Socket编程简介
21.2 .NET编程中TCP/IP相关类的简介
21.3 CAPL中TCP/IP相关函数的简介
21.4 工程实例简介
21.5 工程实现——C# TCP/IP服务器端开发
21.5.1 新建一个工程
21.5.2 界面设计
21.5.3 C#代码实现
21.6 工程实现——CANoe TCP/IP客户端开发
21.6.1 创建仿真工程
21.6.2 新建系统变量
21.6.3 Panel设计
21.6.4 CAPL实现
21.7 工程运行测试
21.8 扩展话题——UDP Socket通信
第22章 CANoe高级编程——FDX协议与HIL系统通信
22.1 FDX协议
22.1.1 Datagram
22.1.2 创建Data Groups和Items
22.1.3 FreeRunning模式
22.2 工程实例简介
22.3 工程实现——CANoe项目
22.3.1 创建FDX Description文件
22.3.2 配置FDX
22.4 工程实现——VC.NET项目
22.4.1 VC.NET中FDX相关类简介
22.4.2 Datagram结构体定义
22.4.3 界面设计
22.4.4 代码实现
22.5 工程运行测试
22.6 扩展话题——硬件在环
第23章 CANoe高级编程——调用LabVIEW
23.1 LabVIEW Integration系统设置要求
23.2 工程实例简介
23.3 工程实现——LabVIEW
23.3.1 创建共享变量
23.3.2 创建DemoVI
23.4 工程实现——CANoe
23.4.1 启用LabVIEW Integration设置
23.4.2 设置Signal Generators
23.4.3 CAPL调用LabVIEW共享变量
23.4.4 添加一个Desktop布局
23.5 工程运行测试
23.6 扩展话题——LabVIEW调用CANoe
附录A 英文缩写对照表
参考文献
CANoe开发从入门到精通是2019年由清华大学出版社出版,作者杨金升。
得书感谢您对《CANoe开发从入门到精通》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。