书籍详情
CAN总线嵌入式开发:从入门到实践(第3版)
作者:牛跃听 著
出版社:北京航空航天大学出版社
出版时间:2020-08-01
ISBN:9787512432949
定价:¥79.00
购买这本书可以去
内容简介
CAN总线通信技术广泛应用于工业自动化、汽车电子、楼宇建筑、医疗器械、电梯网络、工程机械等行业,市场每年对该类控制产品需求量巨大。本书从目前几种流行的CAN通信控制电路的器件入手,结合CAN总线通信学习板,详细介绍了CAN总线嵌入式应用开发技术。 本书内容主要包括CAN控制器和单片机的接口技术、CAN总线在A/D采集控制板传输中的应用、支持片上CANOpen协议的LPC11Cxx系列微控制器的CAN应用设计及CAN总线在酒店客房智能化系统中的工程应用。每一种实例都从方案论证、硬件电路设计、软件程序设计方面进行庖丁解牛式的论述,并且书中所有硬件电路均制作出电路板,所有程序均在电路板上调试运行通过。本书是再版书,相比旧版,本书更正了一些错误,并增加了部分内容。
作者简介
暂缺《CAN总线嵌入式开发:从入门到实践(第3版)》作者简介
目录
第1章 CAN总线基础知识 1
1.1 CAN总线简介 1
1.2 CAN总线基本工作原理 3
1.3 CAN的标准格式和扩展格式 4
1.4 CAN的节点硬件构成 4
1.5 CAN控制器 5
1.6 CAN收发器 6
1.7 CAN总线接口电路保护器件 7
1.7.1 共模扼流圈 7
1.7.2 ESD防护 8
1.7.3 CAN总线网络保护 8
1.8 CAN总线通信过程 9
1.9 CAN总线控制器芯片滤波器的作用 10
1.10 CAN总线的报文格式 11
1.10.1 数据帧 11
1.10.2 远程帧 14
1.10.3 错误帧 15
1.10.4 过载帧 16
1.10.5 “帧间”空间 17
1.11 振荡器容差 18
1.12 位定时要求 18
1.13 同 步 19
1.14 位流编码及位填充 23
1.15 CAN总线错误处理 23
1.15.1 错误类型 23
1.15.2 错误标志 24
1.16 故障界定 24
1.16.1 故障界定的方法 24
1.16.2 错误计数规则 24
1.16.3 错误标记及错误中断类型 26
1.17 CAN网络与节点的总线拓扑结构 26
1.17.1 总线结构拓扑 27
1.17.2 CAN总线通信距离 27
1.17.3 CAN中继器 28
1.17.4 CAN网桥 30
1.17.5 CAN集线器 31
1.17.6 CAN网关 31
1.18 CAN总线传输介质 32
1.18.1 双绞线 32
1.18.2 光 纤 36
1.19 改善电磁兼容性的措施 37
1.19.1 增加电阻值抑制共模干扰 37
1.19.2 分开的总线终端 38
1.19.3 斜率控制 38
1.20 CAN网络的实时性能及通信波特率的设置 39
1.20.1 网络延时 39
1.20.2 CAN网络通信速率选择 40
1.20.3 CAN网络通信速率的一致性 41
1.21 CAN总线节点设备的电源 43
第2章 CAN控制器SJA1000与8051系列单片机接口设计 47
2.1 CAN控制器SJA1000 47
2.1.1 SJA1000引脚排列及其功能 47
2.1.2 BasicCAN模式下内部寄存器地址表 50
2.1.3 PeliCAN模式下内部寄存器地址表 51
2.1.4 BasicCAN和PeliCAN模式的区别 53
2.1.5 8051系列单片机控制SJA1000的方式 53
2.1.6 SJA1000的滤波器设置 54
2.1.7 CAN总线通信波特率的计算 59
2.1.8 SJA1000初始化流程 61
2.2 CAN总线驱动器 62
2.2.1 TJA1040概述 62
2.2.2 TJA1040功能 63
2.3 CAN总线DC/DC光电隔离技术 64
2.3.1 DC/DC电源隔离模块 64
2.3.2 高速光耦6N137 67
2.4 51系列单片机CAN总线学习板实物图 67
2.5 51系列单片机CAN总线学习板硬件电路设计 69
2.5.1 电路原理图 69
2.5.2 SJA1000晶振的电路设计 70
2.6 双节点CAN总线通信 76
2.6.1 程序流程框图设计 77
2.6.2 SJA1000的硬件接口地址定义 78
2.6.3 程序头文件定义说明 79
2.6.4 子函数详解 83
2.6.5 完整的CAN总线学习板发送源程序 92
2.6.6 完整的CAN总线学习板CAN转232串口源程序 98
2.6.7 STC89C52单片机串口下载程序 105
2.7 多节点CAN总线系统的程序设计 107
2.7.1 多节点CAN总线系统的连接 107
2.7.2 多节点CAN总线系统地址的定义及功能实现 108
2.7.3 多节点CAN总线系统通信数据含义 108
2.7.4 多节点CAN总线系统程序流程图 110
2.7.5 多节点CAN总线通信中的从节点源程序 111
2.8 CAN总线地址设置详解 116
2.8.1 BasicCAN的ID设置方法 116
2.8.2 PeliCAN的ID设置方法 116
2.9 如何监测CAN网络节点的工作状态 117
2.9.1 问题的引出 117
2.9.2 只有2个节点的简单CAN总线网络 118
2.9.3 大于2个节点的CAN总线网络 119
2.9.4 CAN总线应用层协议中的节点状态监测 122
第3章 CAN控制器 MCP2515与8051系列单片机接口设计 123
3.1 CAN控制器 MCP2515 123
3.1.1 MCP2515概述 123
3.1.2 MCP2515的内部寄存器 126
3.1.3 8051系列单片机怎样控制 MCP2515 127
3.2 CAN总线学习板(MCP2515)实物图 127
3.3 CAN总线学习板(MCP2515)硬件电路设计 128
3.3.1 电路原理图 128
3.3.2 晶振的选择及CAN通信波特率的计算 133
3.4 双节点通信系统的程序设计 135
3.4.1 程序头文件定义说明 135
3.4.2 子函数详解 140
3.4.3 完整的CAN总线学习板发送源程序 148
3.4.4 完整的CAN总线学习板CAN转232串口源程序 152
3.5 芯片SJA1000和 MCP2515在滤波器设置时的区别 155
第4章 基于STM32的CAN2.0A协议通信程序 157
4.1 基于STM32的CAN总线学习板硬件电路设计实例 157
4.2 学习板实现的功能 157
4.3 学习板硬件选择及电路构成 159
4.4 STM32F103RBT6的CAN接口 161
4.5 程序流程图 174
第5章 CAN总线在A/D采集控制板传输中的应用 176
5.1 ADμC812单片机简介 176
5.1.1 ADμC812单片机主要性能及引脚说明 176
5.1.2 ADμC812单片机8路12位 ADC简介 178
5.1.3 ADμC812单片机 ADC基准电压 178
5.1.4 ADμC812单片机 ADC的输入驱动 180
5.1.5 ADμC812单片机 ADC工作模式 182
5.2 带有CAN总线的A/D采集控制板实物图 184
5.3 系统硬件电路设计 K鎋y喺搌_譢'3185
5.3.1 电路原理图 185
5.3.2 采集信号的调理 190
5.4 系统程序设计 191
5.4.1 流程图 191
5.4.2 子函数详解 192
5.4.3 控制源程序 192
5.4.4 ADμC812单片机CAN总线学习板串口下载程序 200
5.5 带有Flash存储器的CAN总线采集控制电路 203
5.5.1 28F320J5存储器简介 203
5.5.2 存储器芯片与单片机CPU工作速度匹配问题 206
5.5.3 单片机与28F320J5的连接 206
5.5.4 ADμC812单片机构成的带有存储功能的振动测量控制板 206
第6章 基于LPC11Cxx系列微控制器的CAN应用设计 225
6.1 LPC11Cxx系列微控制器 225
6.1.1 简 介 225
6.1.2 器件信息 225
6.1.3 功能介绍 226
6.1.4 引脚描述 226
6.2 CAN寄存器 227
6.2.1 CAN寄存器汇总 229
6.2.2 报文接口寄存器 234
6.2.3 报文处理程序寄存器 243
6.2.4 CAN时钟分频器寄存器 246
6.3 LPC11Cxx系列微控制器的片上CAN控制器的结构 246
6.4 基于微控制器和非隔离CAN收发器的电路 247
6.4.1 器件简介 247
6.4.2 接口电路设计 248
6.5 基于微控制器和隔离CAN收发器的电路 249
6.5.1 器件简介 249
6.5.2 接口电路设计 250
6.6 无须扩展外部CAN控制器与CAN收发器的CAN接口电路 250
6.7 基于通用驱动库的CAN应用编程 251
6.7.1 通用驱动库简介 251
6.7.2 CAN应用编程流程 297
6.7.3 编程解决方案 298
6.8 应用示例———RS 232C/CAN总线转换器 320
6.8.1 示例简介 320
6.8.2 工具介绍 321
6.8.3 实现原理 328
6.8.4 演示步骤 328
6.9 程序编写 331
6.9.1 宏配置 331
6.9.2 变量定义 332
6.9.3 主程序 332
6.9.4 程序分解 335
6.10 示例运行 338
6.10.1 配置上位机软件 338
6.10.2 运行示例程序 339
第7章 CAN 总线在酒店客房智能化系统中的应用 343
7.1 功能要求及方案论证 343
7.1.1 控制说明 344
7.1.2 网络结构 346
7.1.3 硬件成本 347
7.1.4 通信协议及CAN地址分配 349
7.2 客房终端 349
7.3 客房终端硬件电路设计 350
7.3.1 电源部分电路设计 350
7.3.2 多按键中断资源设计 351
7.3.3 多继电器驱动电路设计 352
7.3.4 灯具调光电路设计 353
7.3.5 CAN总线通信电路设计 353
7.4 软件设计 355
7.4.1 程序流程图 355
7.4.2 SJA1000控制器CAN字节协议 355
7.4.3 客房终端源程序 357
7.4.4 CAN总线控制模块 372
7.4.5 CAN总线控制模块原理 373
7.4.6 CAN总线控制模块源程序 374
参考文献 383
1.1 CAN总线简介 1
1.2 CAN总线基本工作原理 3
1.3 CAN的标准格式和扩展格式 4
1.4 CAN的节点硬件构成 4
1.5 CAN控制器 5
1.6 CAN收发器 6
1.7 CAN总线接口电路保护器件 7
1.7.1 共模扼流圈 7
1.7.2 ESD防护 8
1.7.3 CAN总线网络保护 8
1.8 CAN总线通信过程 9
1.9 CAN总线控制器芯片滤波器的作用 10
1.10 CAN总线的报文格式 11
1.10.1 数据帧 11
1.10.2 远程帧 14
1.10.3 错误帧 15
1.10.4 过载帧 16
1.10.5 “帧间”空间 17
1.11 振荡器容差 18
1.12 位定时要求 18
1.13 同 步 19
1.14 位流编码及位填充 23
1.15 CAN总线错误处理 23
1.15.1 错误类型 23
1.15.2 错误标志 24
1.16 故障界定 24
1.16.1 故障界定的方法 24
1.16.2 错误计数规则 24
1.16.3 错误标记及错误中断类型 26
1.17 CAN网络与节点的总线拓扑结构 26
1.17.1 总线结构拓扑 27
1.17.2 CAN总线通信距离 27
1.17.3 CAN中继器 28
1.17.4 CAN网桥 30
1.17.5 CAN集线器 31
1.17.6 CAN网关 31
1.18 CAN总线传输介质 32
1.18.1 双绞线 32
1.18.2 光 纤 36
1.19 改善电磁兼容性的措施 37
1.19.1 增加电阻值抑制共模干扰 37
1.19.2 分开的总线终端 38
1.19.3 斜率控制 38
1.20 CAN网络的实时性能及通信波特率的设置 39
1.20.1 网络延时 39
1.20.2 CAN网络通信速率选择 40
1.20.3 CAN网络通信速率的一致性 41
1.21 CAN总线节点设备的电源 43
第2章 CAN控制器SJA1000与8051系列单片机接口设计 47
2.1 CAN控制器SJA1000 47
2.1.1 SJA1000引脚排列及其功能 47
2.1.2 BasicCAN模式下内部寄存器地址表 50
2.1.3 PeliCAN模式下内部寄存器地址表 51
2.1.4 BasicCAN和PeliCAN模式的区别 53
2.1.5 8051系列单片机控制SJA1000的方式 53
2.1.6 SJA1000的滤波器设置 54
2.1.7 CAN总线通信波特率的计算 59
2.1.8 SJA1000初始化流程 61
2.2 CAN总线驱动器 62
2.2.1 TJA1040概述 62
2.2.2 TJA1040功能 63
2.3 CAN总线DC/DC光电隔离技术 64
2.3.1 DC/DC电源隔离模块 64
2.3.2 高速光耦6N137 67
2.4 51系列单片机CAN总线学习板实物图 67
2.5 51系列单片机CAN总线学习板硬件电路设计 69
2.5.1 电路原理图 69
2.5.2 SJA1000晶振的电路设计 70
2.6 双节点CAN总线通信 76
2.6.1 程序流程框图设计 77
2.6.2 SJA1000的硬件接口地址定义 78
2.6.3 程序头文件定义说明 79
2.6.4 子函数详解 83
2.6.5 完整的CAN总线学习板发送源程序 92
2.6.6 完整的CAN总线学习板CAN转232串口源程序 98
2.6.7 STC89C52单片机串口下载程序 105
2.7 多节点CAN总线系统的程序设计 107
2.7.1 多节点CAN总线系统的连接 107
2.7.2 多节点CAN总线系统地址的定义及功能实现 108
2.7.3 多节点CAN总线系统通信数据含义 108
2.7.4 多节点CAN总线系统程序流程图 110
2.7.5 多节点CAN总线通信中的从节点源程序 111
2.8 CAN总线地址设置详解 116
2.8.1 BasicCAN的ID设置方法 116
2.8.2 PeliCAN的ID设置方法 116
2.9 如何监测CAN网络节点的工作状态 117
2.9.1 问题的引出 117
2.9.2 只有2个节点的简单CAN总线网络 118
2.9.3 大于2个节点的CAN总线网络 119
2.9.4 CAN总线应用层协议中的节点状态监测 122
第3章 CAN控制器 MCP2515与8051系列单片机接口设计 123
3.1 CAN控制器 MCP2515 123
3.1.1 MCP2515概述 123
3.1.2 MCP2515的内部寄存器 126
3.1.3 8051系列单片机怎样控制 MCP2515 127
3.2 CAN总线学习板(MCP2515)实物图 127
3.3 CAN总线学习板(MCP2515)硬件电路设计 128
3.3.1 电路原理图 128
3.3.2 晶振的选择及CAN通信波特率的计算 133
3.4 双节点通信系统的程序设计 135
3.4.1 程序头文件定义说明 135
3.4.2 子函数详解 140
3.4.3 完整的CAN总线学习板发送源程序 148
3.4.4 完整的CAN总线学习板CAN转232串口源程序 152
3.5 芯片SJA1000和 MCP2515在滤波器设置时的区别 155
第4章 基于STM32的CAN2.0A协议通信程序 157
4.1 基于STM32的CAN总线学习板硬件电路设计实例 157
4.2 学习板实现的功能 157
4.3 学习板硬件选择及电路构成 159
4.4 STM32F103RBT6的CAN接口 161
4.5 程序流程图 174
第5章 CAN总线在A/D采集控制板传输中的应用 176
5.1 ADμC812单片机简介 176
5.1.1 ADμC812单片机主要性能及引脚说明 176
5.1.2 ADμC812单片机8路12位 ADC简介 178
5.1.3 ADμC812单片机 ADC基准电压 178
5.1.4 ADμC812单片机 ADC的输入驱动 180
5.1.5 ADμC812单片机 ADC工作模式 182
5.2 带有CAN总线的A/D采集控制板实物图 184
5.3 系统硬件电路设计 K鎋y喺搌_譢'3185
5.3.1 电路原理图 185
5.3.2 采集信号的调理 190
5.4 系统程序设计 191
5.4.1 流程图 191
5.4.2 子函数详解 192
5.4.3 控制源程序 192
5.4.4 ADμC812单片机CAN总线学习板串口下载程序 200
5.5 带有Flash存储器的CAN总线采集控制电路 203
5.5.1 28F320J5存储器简介 203
5.5.2 存储器芯片与单片机CPU工作速度匹配问题 206
5.5.3 单片机与28F320J5的连接 206
5.5.4 ADμC812单片机构成的带有存储功能的振动测量控制板 206
第6章 基于LPC11Cxx系列微控制器的CAN应用设计 225
6.1 LPC11Cxx系列微控制器 225
6.1.1 简 介 225
6.1.2 器件信息 225
6.1.3 功能介绍 226
6.1.4 引脚描述 226
6.2 CAN寄存器 227
6.2.1 CAN寄存器汇总 229
6.2.2 报文接口寄存器 234
6.2.3 报文处理程序寄存器 243
6.2.4 CAN时钟分频器寄存器 246
6.3 LPC11Cxx系列微控制器的片上CAN控制器的结构 246
6.4 基于微控制器和非隔离CAN收发器的电路 247
6.4.1 器件简介 247
6.4.2 接口电路设计 248
6.5 基于微控制器和隔离CAN收发器的电路 249
6.5.1 器件简介 249
6.5.2 接口电路设计 250
6.6 无须扩展外部CAN控制器与CAN收发器的CAN接口电路 250
6.7 基于通用驱动库的CAN应用编程 251
6.7.1 通用驱动库简介 251
6.7.2 CAN应用编程流程 297
6.7.3 编程解决方案 298
6.8 应用示例———RS 232C/CAN总线转换器 320
6.8.1 示例简介 320
6.8.2 工具介绍 321
6.8.3 实现原理 328
6.8.4 演示步骤 328
6.9 程序编写 331
6.9.1 宏配置 331
6.9.2 变量定义 332
6.9.3 主程序 332
6.9.4 程序分解 335
6.10 示例运行 338
6.10.1 配置上位机软件 338
6.10.2 运行示例程序 339
第7章 CAN 总线在酒店客房智能化系统中的应用 343
7.1 功能要求及方案论证 343
7.1.1 控制说明 344
7.1.2 网络结构 346
7.1.3 硬件成本 347
7.1.4 通信协议及CAN地址分配 349
7.2 客房终端 349
7.3 客房终端硬件电路设计 350
7.3.1 电源部分电路设计 350
7.3.2 多按键中断资源设计 351
7.3.3 多继电器驱动电路设计 352
7.3.4 灯具调光电路设计 353
7.3.5 CAN总线通信电路设计 353
7.4 软件设计 355
7.4.1 程序流程图 355
7.4.2 SJA1000控制器CAN字节协议 355
7.4.3 客房终端源程序 357
7.4.4 CAN总线控制模块 372
7.4.5 CAN总线控制模块原理 373
7.4.6 CAN总线控制模块源程序 374
参考文献 383
猜您喜欢