第1章 现场总线技术概述 1
1.1工业控制系统的发展 1
1.1.1工业控制系统 1
1.1.2现场总线的发展及定义 5
1.2几种主要的现场总线标准 7
1.2.1 CAN总线 7
1.2.2 Profibus总线 8
1.2.3 LONWORKS 8
1.2.4现场总线基金会FF 9
1.2.5 HART总线 10
1.3现场总线的应用 10
1.4现场总线技术的发展趋势 11
1.4.1现场总线与计算机通信技术的关系 12
1.4.2以太网与现场总线 13
1.4.3现场总线应用工程的发展趋势 15
第2章CAN协议 16
2.1 CAN的发展过程 16
2.1.1 CAN起源 16
2.1.2标准化过程 17
2.1.3 CAN应用及前景展望 17
2.2 CAN协议的基本定义与结构模型 19
2.3帧结构 24
2.3.1数据帧 24
2.3.2远程帧 27
2.3.3错误帧 28
2.3.4过载帧 29
2.3.5帧间空间 30
2.4错误界定及处理 30
2.4.1错误类型 30
2.4.2错误帧的输出 31
2.4.3错误界定及规则 32
2.5位定时与同步 34
2.5.1基本概念 34
2.5.2 CAN总线位定时与同步机制 34
第3章SJA1000的原理与使用 39
3.1 SJA1000的结构与功能 39
3.1.1概述 39
3.1.2芯片引脚定义与说明 40
3.1.3 SJA1000的结构及内部存储器分配 42
3.2 SJA1000的主要寄存器 47
3.2.1模式(控制)寄存器配置及使用方法 47
3.2.2命令寄存器配置及使用方法 49
3.2.3状态寄存器配置及使用方法 50
3.2.4中断管理寄存器 51
3.2.5总线定时寄存器配置及使用方法 52
3.2.6输出控制寄存器 57
3.2.7时钟分频寄存器 58
3.2.8其他寄存器配置及使用方法 59
3.3通信及滤波器原理 61
3.3.1发送数据缓冲区 61
3.3.2接收缓冲区 61
3.3.3验收滤波器 62
3.4 SJA1000基本功能的应用 66
3.4.1 SJA1000典型应用接口电路 66
3.4.2 SJA1000初始化程序设计 66
3.4.3 SJA1000自检测 68
3.4.4 SJA1000收发程序设计 70
第4章 常用CAN总线收发器 72
4.1 CAN总线收发器PCA82C250 72
4.1.1概述 72
4.1.2组成结构及功能描述 72
4.1.3应用举例 75
4.2高速CAN收发器TJA1050 78
4.2.1概述 78
4.2.2组成结构及功能描述 78
4.3隔离CAN收发器CTM1050 84
4.3.1芯片概述 84
4.3.2组成结构及功能描述 84
4.3.3典型应用 86
第5章 具有CAN接口的处理器 88
5.1 C8051F040 88
5.1.1 C8051F040的引脚 89
5.1.2 C8051F040的CAN模块 92
5.1.3 CAN寄存器配置 95
5.1.4 C8051F040的CAN通信实例 96
5.2 TMS320F2812 100
5.2.1 TMS320F2812概述 100
5.2.2 CAN模块的结构 101
5.2.3 eCAN配置 104
5.2.4 eCAN中断 108
5.3 P8xC591 111
5.3.1 P8xC591概述 111
5.3.2 P8xC591引脚描述 112
5.3.3 P8xC591的CAN模块 115
5.3.4 PeliCAN寄存器和信息缓冲区描述 118
5.3.5 P8xC591典型应用 122
5.4带CAN控制器的ARM微控制器 123
5.4.1 LPC2000系列ARM微控制器 123
5.4.2 LPC29xx系列ARM微控制器 132
第6章CAN的应用层协议 139
6.1简单的自定义应用层协议 139
6.1.1标识符的分配 140
6.1.2报文帧格式 142
6.1.3通信实现方法 143
6.2 CANopen协议 143
6.2.1 CANopen概述 143
6.2.2 CANopen通信模型 146
6.3 DeviceNet 150
6.3.1 DeviceNet概述 150
6.3.2 DeviceNet报文组 151
6.3.3对象模型 153
6.3.4预定义主/从连接 155
第7章 基于CAN总线的监控系统设计 157
7.1系统设计概述 157
7.2系统网络拓扑结构及参数配置 158
7.2.1系统网络拓扑结构 158
7.2.2系统网络参数配置 159
7.2.3系统通信协议 159
7.3系统硬件设计 161
7.3.1报警节点设计 161
7.3.2转换模块设计 163
7.3.3中继器模块设计 166
7.3.4 GSM电路设计 166
7.4系统软件设计 168
7.4.1初始化模块设计 168
7.4.2报警节点软件设计 170
7.4.3 CAN/RS485模块软件设计 171
7.4.4中继器模块软件设计 173
7.4.5上位机软件设计 174
7.5系统抗干扰措施 176
第8章 实验指导 179
8.1实验开发平台 179
8.1.1软件开发平台 179
8.1.2硬件开发平台 186
8.2课内实验 191
实验一SJA1000初始化实验 191
实验二SJA1000局部自检测实验 198
实验三P8xC591双节点通信实验 201
实验四CAN转RS232网桥模块的设计 204
实验五CAN中继器设计 207
附录A参考程序 209
实验一SJA1000初始化实验参考程序 209
实验二SJA1000局部自检测实验参考程序 211
实验三P8xC591双节点通信实验参考程序 214
实验四CAN转RS232网桥模块设计参考程序 217
实验五CAN中继器设计参考程序 222
附录B CANopen对象字典的详细结构 228
附录C常见调试错误分析 230
参考文献 231