《现场总线CAN原理与应用技术》(第2版)着眼于帮助读者弄清概念、尽快入门,重在实践。因此,在《现场总线CAN原理与应用技术》(第2版)作者的科研实践基础上,涉及具体设计的内容中尽可能详细地列举了各基本功能模块,可供初学者直接参考使用。《现场总线CAN原理与应用技术》(第2版)可作为大专院校电子信息工程、电气工程、自动控制等专业的师生以及相关技术人员在学习和开发应用CAN技术过程中的参考资料。
目录
第1章 计算机网络与现场总线
1.1 计算机网络体系的结构1
1.1.1 物理层2
1.1.2 数据链路层5
1.1.3 介质访问控制子层MAC和逻辑链路控制子层LLC7
1.1.4 网络层8
1.1.5 传输层9
1.1.6 会话层10
1.1.7 表示层10
1.1.8 应用层10
1.2 现场总线11
1.2.1 什么是现场总线11
1.2.2 工业控制系统的发展11
1.2.3 现场总线技术12
1.2.4 现场总线的发展12
1.3 CAN总线14
1.3.1 CAN总线的发展历程14
1.3.2 CAN总线的特点17
1.3.3 CAN总线的位数值表示与通信距离18
第2章 CAN技术规范的介绍
2.1 简介20
2.2 基本概念21
2.3 报文传输24
2.3.1 帧格式24
2.3.2 帧类型24
2.3.3 关于帧格式的一致性31
2.3.4 发送器和接收器的定义32
2.4 报文滤波32
2.5 报文校验32
2.6 编码32
2.7 错误处理33
2.7.1 错误检测33
2.7.2 出错时发出的信号33
2.8 故障界定33
2.9 振荡器容差35
2.10 位定时要求35
第3章 独立CAN控制器
3.1 芯片SJA1000的概述38
3.2 SJA1000的内部结构及SJA1000引脚定义39
3.3 SJA1000在系统中的位置41
3.4 SJA1000的几个控制模块42
3.5 SJA1000的详细介绍42
3.5.1 与PCA82C200的兼容性43
3.5.2 比PCA82C200增加的功能43
3.5.3 BasicCAN模式中的寄存器及其功能描述44
3.5.4 PeliCAN 模式中的寄存器及其功能描述53
3.5.5 公共寄存器73
3.6 SJA1000主要参数限额78
3.7 SJA1000位周期参数的确定78
3.7.1 传播的延时79
3.7.2 同步80
3.7.3 位定时条件的说明81
3.7.4 计算规则81
3.7.5 计算规则的图解表示方式82
3.7.6 位定时参数的计算84
3.8 SJA1000与单片机的典型接口电路及其在PeliCAN模式中的地址分配示意图91
3.9 带有SPI接口的独立CAN 控制器MCP251593
3.10 MCP2515功能介绍94
3.10.1 概述94
3.10.2 发送/接收缓冲器96
3.10.3 CAN 协议引擎97
3.11 MCP2515报文发送98
3.11.1 发送缓冲器98
3.11.2 发送优先级99
3.11.3 启动发送99
3.11.4 单触发模式99
3.11.5 TXnRTS 引脚100
3.11.6 中止发送100
3.11.7 报文发送流程100
3.11.8 与报文发送相关的寄存器100
3.12 MCP2515报文接收103
3.12.1 报文接收缓冲器、接收标志与中断103
3.12.2 接收优先级、滚存以及RXM位104
3.12.3 RX0BF和RX1BF引脚105
3.12.4 报文验收滤波器及屏蔽寄存器109
3.13 MCP2515位定时112
3.13.1 CAN位时间与同步112
3.13.2 对时间段编程112
3.13.3 位定时配置寄存器112
3.14 错误检测与处理114
3.15 MCP2515的中断115
3.15.1 中断代码位117
3.15.2 发送中断117
3.15.3 接收中断117
3.15.4 报文错误中断117
3.15.5 总线活动唤醒中断118
3.15.6 错误中断118
3.15.7 中断确认118
3.16 时钟振荡器118
3.16.1 时钟振荡器启动定时器119
3.16.2 CLKOUT引脚119
3.17 复位120
3.18 工作模式120
3.18.1 配置模式121
3.18.2 休眠模式122
3.18.3 只听模式122
3.18.4 回环模式122
3.18.5 正常模式123
3.19 寄存器映射表123
3.20 SPI 接口124
3.20.1 概述124
3.20.2 复位指令125
3.20.3 读指令125
3.20.4 读RX缓冲器指令126
3.20.5 写指令126
3.20.6 装载TX缓冲器指令126
3.20.7 请求发送指令127
3.20.8 读状态指令127
3.20.9 RX状态指令128
3.20.10 位修改指令128
第4章 带CAN控制器的单片机
4.1 P8xC591在80C51基础上增加的特点和功能130
4.2 P8xC591概述131
4.3 P8xC591引脚描述131
4.4 P8xC591存储器结构135
4.4.1 P8xC591扩展的数据RAM 寻址136
4.4.2 P8xC591双DPTR138
4.4.3 P8xC591 AUXR1页寄存器138
4.5 P8xC591 I/O功能139
4.6 P8xC591复位139
4.7 P8xC591 CAN控制器局域网络139
4.7.1 P8xC591的PeliCAN特性(比SJA1000增加的部分)139
4.7.2 P8xC591的PeliCAN结构140
4.7.3 P8xC591的PeliCAN控制器与CPU之间的通信140
4.7.4 P8xC591的PeliCAN内部寄存器和报文缓冲区描述143
4.8 CAN报文的发送165
4.8.1 查询控制的发送165
4.8.2 中断控制的发送165
4.8.3 中止发送166
4.9 CAN报文的接收168
4.9.1 查询控制的接收168
4.9.2 中断控制的接收169
4.9.3 数据溢出处理171
4.9.4 接收中断级或高优先级171
4.10 自动位速率检测173
4.11 CAN 控制器自检测176
4.11.1 全局自检测176
4.11.2 局部自检测177
4.12 P8xC591的节电功能(对原51系列节电功能的扩展)178
4.13 AT89C51CC0x178
4.13.1 AT89C51CC03主要特征178
4.13.2 AT89C51CC03结构180
4.13.3 芯片引脚和特殊功能寄存器总汇181
4.14 AT89C51CC0x中断系统183
4.15 AT89C51CC03时钟185
4.16 AT89C51CC03存储器系统187
4.16.1 AT89C51CC03 EEPROM数据存储器188
4.16.2 AT89C51CC03程序/代码存储器190
4.16.3 AT89C51CC03 Flash的结构191
4.17 看门狗定时器195
4.18 AT89C51CC03的CAN控制器197
4.18.1 AT89C51CC03的CAN控制器描述197
4.18.2 AT89C51CC0x的CAN控制器管理201
4.18.3 AT89C51CC0x的CAN中断管理202
4.18.4 AT89C51CC0x位定时和波特率203
4.18.5 AT89C51CC0x接收滤波205
4.19 AT89C51CC0x时间触发通信(TTC)和报文时戳205
4.20 AT89C51CC0x CAN的自动波特率和收听模式206
4.21 AT89C51CC0x中CAN寄存器的详细描述207
4.22 AT89C51CC0x程序举例218
4.23 其他几类带CAN控制器的单片机简介220
第5章 CAN总线收发器
5.1 CAN总线收发器82C250224
5.1.1 概述224
5.1.2 82C250功能框图224
5.1.3 82C250功能描述225
5.2 CAN总线收发器TJA1050226
5.2.1 概述226
5.2.2 TJA1050功能框图227
5.2.3 TJA1050功能描述228
5.3 PCA82C250/251与TJA1040、TJA1050的比较和升级229
5.3.1 简介229
5.3.2 C250/251与TJA1050、TJA1040之间的区别229
5.3.3 引脚230
5.3.4 工作模式230
5.3.5 互用性232
5.3.6 硬件问题233
5.4 单线CAN收发器MC33897235
5.4.1 概述235
5.4.2 MC33897功能框图与功能描述235
5.4.3 典型应用236
5.5 总线长度及节点数的确定237
5.6 总线终端及网络拓扑结构239
5.6.1 分离终端239
5.6.2 多终端239
5.6.3 单终端240
5.6.4 非匹配终端240
5.6.5 非终端支线电缆长度240
第6章 CAN控制器与单片机的接口技术
6.1 CAN总线系统智能节点设计242
6.1.1 CAN总线系统智能节点硬件电路设计242
6.1.2 CAN总线系统智能节点软件设计243
6.2 CAN网控器设计248
6.2.1 CAN网控器硬件电路设计249
6.2.2 CAN网控器软件设计250
6.3 CAN总线与其他串行总线的转换装置255
6.3.1 CAN总线与RS485(RS232)的转换255
6.3.2 CAN总线与USB的转换257
6.3.3 CAN总线与以太网的转换268
第7章 CAN控制器与计算机的接口技术
7.1 ISA总线非智能型CAN适配卡设计291
7.1.1 ISA总线简介291
7.1.2 硬件电路设计292
7.1.3 软件设计294
7.2 PCI总线非智能型CAN适配卡312
7.2.1 PCI总线信号定义313
7.2.2 PCI总线控制器PCI9052314
7.2.3 PCI总线非智能型CAN适配卡的硬件电路分析318
7.2.4 适配卡硬件的内存映射319
7.2.5 PCI总线非智能型CAN适配卡工作原理320
7.2.6 非智能CAN适配卡的WDM驱动程序设计323
7.2.7 非智能CAN适配卡驱动程序的实现324
7.3 PCI总线智能型CAN适配卡331
7.3.1 适配卡的硬件电路结构331
7.3.2 双口SRAM——IDT7008332
7.3.3 适配卡的硬件电路分析333
7.3.4 CAN智能适配卡的程序设计334
7.4 SJA1000与计算机并行端口的接口335
7.4.1 PC机并行端口简介335
7.4.2 SJA1000与并行端口的接口电路设计340
7.4.3 SJA1000与并行端口接口的软件设计342
第8章 CAN总线应用与实验系统设计
8.1 CAN总线在校园消费信息系统中的应用346
8.1.1 校园消费信息系统基本网络结构346
8.1.2 校园消费信息系统网络拓扑结构348
8.1.3 系统网络参数配置349
8.1.4 校园消费信息系统应用层通信协议350
8.1.5 校园消费信息系统软件设计353
8.2 CAN总线在一个分布式控制实验系统中的应用357
8.3 CAN总线在GaAs光电阴极多信息量测控系统中的应用358
8.3.1 多信息量测控系统组成358
8.3.2 多信息量测控系统硬件设计358
8.3.3 多信息量测控系统通信协议360
8.3.4 多信息量测控系统软件设计361
8.4 CAN总线技术在多个领域的应用综述361
8.4.1 大型仪器设备362
8.4.2 在传感器技术及数据采集系统中的应用362
8.4.3 在工业控制中的应用362
8.4.4 在机器人网络互联中的应用363
8.4.5 在智能家庭和生活小区管理中的应用364
8.5 一个CAN实验系统的设计365
8.5.1 CAN实验系统硬件电路设计365
8.5.2 CAN实验装置实验内容及软件设计365
第9章 基于CAN网络的高层协议和TTCAN
9.1 基于CAN总线的网络高层协议概述377
9.2 CANopen378
9.2.1 概述378
9.2.2 结构模式379
9.2.3 通信对象类型380
9.2.4 对象字典383
9.2.5 标识符的地址分配384
9.2.6 应用层和通信子层384
9.3 DeviceNet404
9.3.1 概述 404
9.3.2 物理层406
9.3.3 数据链路层407
9.3.4 高层与CIP407
9.3.5 DevieceNet的连接和报文组410
9.3.6 DeviceNet的报文413
9.3.7 非连接报文管理器UCMM服务416
9.3.8 I/O数据触发方式416
9.3.9 对象模型418
9.3.10 设备文档419
9.3.11 预定义主/从连接424
9.3.12 一致性测试426
9.3.13 DeviceNet组网427
9.4 时间触发CAN 427
9.4.1 问题的提出与对策427
9.4.2 时间触发操作与基于CAN的时间触发操作概述429
9.4.3 TTCAN的几个基本要素430
9.4.4 与TTCAN有关的控制器437
参考文献438