《CAN总线应用层协议实例解析》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:牛跃听,周立功,穆希辉编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2014
  • ISBN:9787512415652
  • 页数:355 页
图书介绍:目前,已经出版的有关can总线应用层协议的书籍和互联网上的资料,80%都是泛泛的简介,少有涉及到结合具体实例的硬件电路设计、详细源程序解析等内容。针对此现状,本书从目前几种流行的can总线应用层协议入手,详细剖析基于J1939协议、DeviceNet协议、CANopen协议、iCAN协议的嵌入式开发实例,每一种实例都从协议详解、开发步骤论证、硬件电路设计、软件程序设计方面进行深入解析,并且书中所涉及的硬件电路均制作了电路板实物,所有软件均在电路板上调试运行。本书旨在为从事can总线应用层协议的开发者提供实例化的研发思路和技术参考,能够使开发者快速地由can总线应用层协议解析进入实战开发应用阶段,提高研发工程师的工作效率,缩短研发时间。

第1章CAN总线基础知识 1

1.1 CAN总线简介 1

1.2 CAN总线通信过程 2

1.3 CAN总线协议规范 3

1.3.1报文 4

1.3.2报文滤波 11

1.3.3振荡器容差 12

1.3.4位定时与同步 12

1.3.5位流编码及位填充 14

1.3.6 CAN总线错误处理和故障界定 15

1.4 CAN总线的基本组成 18

1.4.1 CAN控制器 19

1.4.2 CAN收发器 20

1.4.3 CAN总线接口电路保护器件 20

1.5 CAN总线传输介质 22

1.5.1双绞线 22

1.5.2光纤 24

1.6 CAN网络与节点的总线拓扑结构 25

1.7改善电磁兼容性的措施 31

第2章CAN2.OA/CAN2.OB协议解析及开发实例精讲 33

2.1基于CAN2.OA/CAN2.OB协议节点开发的一般步骤 33

2.2编程实践——基于51系列单片机+SJA1000芯片的CAN2.OA协议通信程序 33

2.2.1学习板硬件选择及电路构成 33

2.2.2 CAN控制器SJ A 1000 36

2.2.3 51系列单片机怎样控制SJA1000 42

2.2.4 SJA1000地址的确定 43

2.2.5 SJA1000的滤波器设置 44

2.2.6 CAN总线通信波特率的计算 49

2.2.7程序流程图 51

2.2.8程序头文件定义说明 52

2.2.9 SJA1000初始化流程 55

2.2.10发送子函数详解 62

2.2.11接收子函数详解 64

2.2.12中断的处理及中断函数详解 64

2.2.13完整的24路开关量采集学习板程序 69

2.3编程实践——基于MSP430系列单片机+MCP2515芯片的CAN2.0B协议通信程序 75

2.3.1学习板硬件选择及电路构成 75

2.3.2 CAN控制器MCP2515 78

2.3.3晶振的选择及CAN通信波特率的计算 82

2.3.4 SJA1000和MCP2515在滤波器设置时的区别 84

2.3.5程序流程图 85

2.3.6程序头文件定义说明 86

2.3.7 MCP2515的SPI程序 86

2.3.8完整的MSP430单片机CAN总线学习板程序 87

第3章CAN总线应用层协议简介 94

3.1什么是CAN总线应用层协议 94

3.2 CAN2.OA/CAN2.OB协议的局限性 94

3.3常用的CAN总线应用层协议 95

3.4实例讲述构建CAN总线应用层协议时的关键问题 98

3.4.1 CAN网络的实时性能 98

3.4.2设备的电源连接 100

3.4.3网络电缆 103

第4章 嵌入式开发实例——基于iCAN协议的应用设计精讲 106

4.1 iCAN协议 106

4.1.1 iCAN协议规范中专有名词解释 106

4.1.2 iCAN的报文格式 107

4.1.3 iCAN的通信过程 110

4.1.4 iCAN协议中的设备定义 116

4.1.5 iCAN报文传输协议 122

4.1.6 iCAN报文处理流程 131

4.2基于iCAN协议智能节点开发的一般步骤 131

4.3基于iCAN协议功能模块的硬件电路设计 132

4.4编程实践——基于51单片机的iCAN协议的学习板程序 134

4.4.1程序头文件定义说明 134

4.4.2子函数详解 137

4.4.3基于iCAN协议的从站通信程序流程图 149

4.4.4完整的iCAN协议从站通信程序 150

第5章 嵌入式开发实例——基于DeviceNet协议的应用设计精讲 152

5.1 DeviceNet协议 152

5.1.1 DeviceNet协议中的专有名词解释 152

5.1.2对象的编址 153

5.1.3 DeviceNet对象模型 154

5.1.4 DeviceNet的报文标识符 166

5.1.5 DeviceNet的报文格式 171

5.1.6 UCMM连接和预定义主/从连接 172

5.1.7 DeviceNet的通信过程 173

5.2基于DeviceNet协议智能节点开发的一般步骤 185

5.3基于DeviceNet协议功能模块的硬件电路设计 185

5.4编程实践一基于ADμC812单片机的DeviceNet协议的学习板程序 188

5.4.1程序头文件定义说明 188

5.4.2子函数详解 192

5.4.3基于DeviceNet协议的从站通信程序流程图 197

5.4.4滤波器设置 197

5.4.5完整的DeviceNet协议从站通信程序 199

第6章 嵌入式开发实例——基于J1939协议的应用设计精讲 206

6.1 J1939协议 206

6.1.1 J1939协议规范中专有名词解释 206

6.1.2 J1939的报文格式 207

6.1.3 J1939地址和参数组编号的分配 209

6.1.4 J1939的通信过程 216

6.2基于J1939协议电控系统开发的一般步骤 221

6.3发动机转速测量节点的硬件电路设计 222

6.4发动机转速测量节点的软件编程 225

6.4.1软件设计流程图 225

6.4.2程序头文件定义说明 226

6.4.3 CAN芯片的初始化程序 227

6.4.4子函数详解 227

6.4.5中断的处理 230

6.4.6完整的J1939协议发动机转速测量节点程序 231

第7章CANopen协议与应用 241

7.1 CANopen协议 241

7.1.1 CANopen协议的历史发展 241

7.1.2 CANopen协议中的几个概念 242

7.1.3 CANopen开发遵循的几个注意点 260

7.2基于CANopen协议从节点开发的一般步骤 260

7.3 CANopen从站开发 261

7.3.1 CANopen从站硬件设计 262

7.3.2 CANopen从站相关硬件与驱动代码设计 264

7.3.3编程实践——基于C8051FO40的CANopen协议学习板程序 268

7.4 CANopen主站原理 281

7.4.1 CANopen主站的特点 281

7.4.2 CANopen主站特有的对象 282

7.4.3 CANopen主站的启动 287

7.4.4 CANopen主站的两种实现方式比较 290

附录A CAN总线故障诊断与解决 291

A.1测试设备简介 291

A.2测试前的准备工作 298

A.3排查步骤1——排查位定时异常节点 300

A.4排查步骤2——总线工作状态“体检” 301

A.5排查步骤3——排查总线传输堵塞故障 304

A.6排查步骤4——排查干扰导致的通信异常 307

A.7排查步骤5——排查长距离或非规范线缆导致的异常 312

A.8排查步骤6——排查总线延迟导致的通信异常 316

A.9排查步骤7——通过带宽测量排查导线是否匹配 318

A.10排查步骤8——利用软件眼图追踪故障节点 320

A.11排查步骤9——评估总线阻抗、感抗、容抗对信号质量的影响 325