内容简介
牛跃听、周立功、穆希辉和黄敏思编著的《CAN 总线应用层协议实例解析(附光盘工程师经验手记)》 从目前几种流行的CAN总线应用层协议人手,详细介绍 了基于iCAN协议、DeviceNet协议、J1939协议、 CANopen协议的嵌入式开发实例,每一种实例都从协 议详解、开发步骤论证、硬件电路设计、软件程序设 计等方面进行了解析。同时,书中涉及的硬件电路均 制作了电路板实物,软件均在电路板上调试运行正常 。
本书旨在为从事CAN总线应用层协议的开发者提 供实例化的研发思路和软、硬件技术参考,能够使开 发者快速地由CAN总线应用层协议解析进入实战开发应 用,提高研发工程师的工作效率,缩短研发时间。
本书可供工业控制领域的研发人员、电子爱好者 使用或参考,也可作为高等院校自动控制、电气工程 、电子信息工程等专业师生的参考用书。
目录
第1章 CAN总线基础知识
1.1 CAN总线简介
1.2 CAN总线通信过程
1.3 CAN总线协议规范
1.3.1 报文
1.3.2 报文滤波
1.3.3 振荡器容差
1.3.4 位定时与同步
1.3.5 位流编码及位填充
1.3.6 CAN总线错误处理和故障界定
1.4 CAN总线的基本组成
1.4.1 CAN控制器
1.4.2 CAN收发器
1.4.3 CAN总线接口电路保护器件
1.5 CAN总线传输介质
1.5.1 双绞线
1.5.2 光纤
1.6 CAN网络与节点的总线拓扑结构
1.7 改善电磁兼容性的措施
第2章 CAN2.0A/CAN2.0B协议解析及开发实例精讲
2.1 基于CAN2.0A/CAN2.0B协议节点开发的一般步骤
2.2 编程实践——基于51系列单片机+SJA1000芯片的CAN2.0A协议通信程序
2.2.1 学习板硬件选择及电路构成
2.2.2 CAN控制器SJAl000
2.2.3 51系列单片机怎样控制SJAl000
2.2.4 SJAl000地址的确定
2.2.5 SJAl000的滤波器设置
2.2.6 CAN总线通信波特率的计算
2.2.7 程序流程图
2.2.8 程序头文件定义说明
2.2.9 SJA1000初始化流程
2.2.10 发送子函数详解
2.2.11 接收子函数详解
2.2.12 中断的处理及中断函数详解
2.2.13 完整的24路开关量采集学习板程序
2.3 编程实践——基于MSP430系列单片机+MCP2515芯片的CAN2.0B协议通信程序
2.3.1 学习板硬件选择及电路构成
2.3.2 CAN控制器MCP2515
2.3.3 晶振的选择及CAN通信波特率的计算
2.3.4 SJA1000和MCP2515在滤波器设置时的区别
2.3.5 程序流程图
2.3.6 程序头文件定义说明
2.3.7 MCP2515的SPI程序
2.3.8 完整的MSP430单片机CAN总线学习板程序
第3章 CAN总线应用层协议简介
3.1 什么是CAN总线应用层协议
3.2 CAN2.0A/CAN2.0B协议的局限性
3.3 常用的CAN总线应用层协议
3.4 实例讲述构建cAN总线应用层协议时的关键问题
3.4.1 CAN网络的实时性能
3.4.2 设备的电源连接
3.4.3 网络电缆
第4章 嵌入式开发实例——基于iCAN协议的应用设计精讲
4.1 iCAN协议
4.1.1 iCAN协议规范中专有名词解释
4.1.2 iCAN的报文格式
4.1.3 iCAN的通信过程
4.1.4 iCAN协议中的设备定义
4.1.5 iCAN报文传输协议
4.1.6 iCAN报文处理流程
4.2 基于iCAN协议智能节点开发的一般步骤
4.3 基于iCAN协议功能模块的硬件电路设计
4.4 编程实践——基于51单片机的iCAN协议的学习板程序
4.4.1 程序头文件定义说明
4.4.2 子函数详解
4.4.3 基于iCAN协议的从站通信程序流程图
4.4.4 完整的iCAN协议从站通信程序
第5章 嵌入式开发实例——基于DeviceNet协议的应用设计精讲
5.1 DeviceNet协议
5.1.1 DeviceNet协议中的专有名词解释
5.1.2 对象的编址
5.1.3 DeviceNet对象模型
5.1.4 DeviceNet的报文标识符
5.1.5 DeviceNet的报文格式
5.1.6 UCMM连接和预定义主/从连接
5.1.7 DeviceNet的通信过程
5.2 基于DeviceNet协议智能节点开发的一般步骤
5.3 基于DeviceNet协议功能模块的硬件电路设计
5.4 编程实践一基于ADuC812单片机的DeviceNet协议的学习板程序
5.4.1 程序头文件定义说明
5.4.2 子函数详解
5.4.3 基于DeviceNet协议的从站通