CAN总线嵌入式开发·从入门到实践查看源代码讨论查看历史
《CAN总线嵌入式开发·从入门到实践》,作 者:牛跃听 等 编,定 价:79,出 版 社:新星出版社,出版日期:2020年08月01日,页 数:396,装 帧:平装,ISBN:9787512432949。
新星出版社(New Star Press)由中国外文出版发行事业局主管主办。成立于1989年,在此背景下,新星出版社拥有大批专业翻译队伍资源和广泛从事国际文化[1]交流与合作的机会。新星出版社成立以来,以中、英、德、法、俄、阿拉伯、世界语等语言向海外出版发行数千种介绍中国基本情况的外宣图书和政府白皮书,在海外拥有广泛影响[2]。
内容简介
CAN总线通信技术广泛应用于工业自动化、汽车电子、楼宇建筑、医疗器械、电梯网络、工程机械等行业,市场每年对该类控制产品需求量巨大。本书从目前几种流行的CAN通信控制电路的器件入手,结合CAN总线通信学习板,详细介绍了CAN总线嵌入式应用开发技术。本书内容主要包括CAN控制器和单片机的接口技术、CAN总线在A/D采集控制板传输中的应用、支持片上CANOpen协议的LPC11Cxx系列微控制器的CAN应用设计及CAN总线在酒店客房智能化系统中的工程应用。每一种实例都从方案论证、硬件电路设计、软件程序设计方面进行庖丁解牛式的论述,并且书中所有硬件电路均制作出电路板,所有程序均在电路板上调试运行通过。本书是再版书,相比旧版,本书更正了一些错误,并增加了部分内容。本书旨在为广大嵌入式CAN总线通信技术的研发者提供实战化的软、硬件技术参考,书中的电路图和源程序可以直接拿来参考运用,大大提高了工程师的工等
目录
第1章CAN总线基础知识1
1.1CAN总线简介1
1.2CAN总线基本工作原理3
1.3CAN的标准格式和扩展格式4
1.4CAN的节点硬件构成4
1.5CAN控制器5
1.6CAN收发器6
1.7CAN总线接口电路保护器件7
1.7.1共模扼流圈7
1.7.2ESD防护8
1.7.3CAN总线网络保护8
1.8CAN总线通信过程9
1.9CAN总线控制器芯片滤波器的作用10
1.10CAN总线的报文格式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.15CAN总线错误处理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.17CAN网络与节点的总线拓扑结构26
1.17.1总线结构拓扑27
1.17.2CAN总线通信距离27
1.17.3CAN中继器28
1.17.4CAN网桥30
1.17.5CAN集线器31
1.17.6CAN网关31
1.18CAN总线传输介质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.20CAN网络的实时性能及通信波特率的设置39
1.20.1网络延时39
1.20.2CAN网络通信速率选择40
1.20.3CAN网络通信速率的一致性41
1.21CAN总线节点设备的电源43
第2章CAN控制器SJA1000与8051系列单片机接口设计47
2.1CAN控制器SJA100047
2.1.1SJA1000引脚排列及其功能47
2.1.2BasicCAN模式下内部寄存器地址表50
2.1.3PeliCAN模式下内部寄存器地址表51
2.1.4BasicCAN和PeliCAN模式的区别53
2.1.58051系列单片机控制SJA1000的方式53
2.1.6SJA1000的滤波器设置54
2.1.7CAN总线通信波特率的计算59
2.1.8SJA1000初始化流程61
2.2CAN总线驱动器62
2.2.1TJA1040概述62
2.2.2TJA1040功能63
2.3CAN总线DC/DC光电隔离技术64
2.3.1DC/DC电源隔离模块64
2.3.2高速光耦6N13767
2.451系列单片机CAN总线学习板实物图67
2.551系列单片机CAN总线学习板硬件电路设计69
2.5.1电路原理图69
2.5.2SJA1000晶振的电路设计70
2.6双节点CAN总线通信76
2.6.1程序流程框图设计77
2.6.2SJA1000的硬件接口地址定义78
2.6.3程序头文件定义说明79
2.6.4子函数详解83
2.6.5完整的CAN总线学习板发送源程序92
2.6.6完整的CAN总线学习板CAN转RS-232串口源程序98
2.6.7STC89C52单片机串口下载程序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.8CAN总线地址设置详解116
2.8.1BasicCAN的ID设置方法116
2.8.2PeliCAN的ID设置方法116
2.9如何监测CAN网络节点的工作状态117
2.9.1问题的引出117
2.9.2只有2个节点的简单CAN总线网络118
2.9.3大于2个节点的CAN总线网络119
2.9.4CAN总线应用层协议中的节点状态监测122
第3章CAN控制器MCP2515与8051系列单片机接口设计123
3.1CAN控制器MCP2515123
3.1.1MCP2515概述123
3.1.2MCP2515的内部寄存器126
3.1.38051系列单片机怎样控制MCP2515127
3.2CAN总线学习板(MCP2515)实物图127
3.3CAN总线学习板(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转RS-232串口源程序152
3.5芯片SJA1000和MCP2515在滤波器设置时的区别155
第4章基于STM32的CAN2.0A协议通信程序157
4.1基于STM32的CAN总线学习板硬件电路设计实例157
4.2学习板实现的功能157
4.3学习板硬件选择及电路构成159
4.4STM32F103RBT6的CAN接口161
4.5程序流程图174
第5章CAN总线在A/D采集控制板传输中的应用176
5.1ADμC812单片机简介176
5.1.1ADμC812单片机主要性能及引脚说明176
5.1.2ADμC812单片机8路12位ADC简介178
5.1.3ADμC812单片机ADC基准电压178
5.1.4ADμC812单片机ADC的输入驱动180
5.1.5ADμ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.4ADμC812单片机CAN总线学习板串口下载程序200
5.5带有Flash存储器的CAN总线采集控制电路203
5.5.128F320J5存储器简介203
5.5.2存储器芯片与单片机CPU工作速度匹配问题206
5.5.3单片机与28F320J5的连接206
5.5.4ADμC812单片机构成的带有存储功能的振动测量控制板206
第6章基于LPC11Cxx系列微控制器的CAN应用设计225
6.1LPC11Cxx系列微控制器225
6.1.1简介225
6.1.2器件信息225
6.1.3功能介绍226
6.1.4引脚描述226
6.2CAN寄存器227
6.2.1CAN寄存器汇总229
6.2.2报文接口寄存器234
6.2.3报文处理程序寄存器243
6.2.4CAN时钟分频器寄存器246
6.3LPC11Cxx系列微控制器的片上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.2CAN应用编程流程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.5CAN总线通信电路设计353
7.4软件设计355
7.4.1程序流程图355
7.4.2SJA1000控制器CAN字节协议355
7.4.3客房终端源程序357
7.4.4CAN总线控制模块372
7.4.5CAN总线控制模块原理373
7.4.6CAN总线控制模块源程序374
参考文献383