当前位置:
文档之家› CAN总线 制定主从通讯协议 课件 免费
CAN总线 制定主从通讯协议 课件 免费
数据部分( 0~8字节 )
致远电子
传递价值 成就你我
http://www.embedcontrol.com
数据通讯模式
数据通讯的方式规定了网络中各设备之间 数据交换的规则 主从/多主 命令/响应模式
在一般的通讯过程中常采用命令/响应的方式 在基于命令/响应模式的通讯网络中,由主控设 备发送命令帧,受控设备接收到命令帧以后向 主控设备发送响应帧,从而实现数据交换
通讯效率和总线利用率
致远电子
传递价值 成就你我
http://www.embedcontrol.com
数据通讯模式
灵活的通讯模式
致远电子
传递价值 成就你我
http://www.embedcontrol.com
网络管理
对于整个网络,一些突发的事件必须处 理,例如节点的故障 网络中的错误或者异常必须能够检测和显 示,并且通过某种方式进行处理 节点网络状态(启动、通讯异常时动作) 提供简单的节点监控和有效的错误处理措 施,可以在一定程度上提高系统的通讯可 靠性,并利于系统的维护
致远电子
传递价值 成就你我
http://www.embedcontrol.com
Modbus协议
当在一Modbus网络上通信时,此协议决定了每个 控制器需要知道它们的设备地址,识别按地址发 来的消息,决定要产生何种行动。如果需要回 应,控制器将生成反馈信息并用Modbus协议发出。 在其它网络上,包含了Modbus协议的消息转换为 在此网络上使用的帧或包结构。这种转换也扩展 了根据具体的网络解决节地址、路由路径及错误 检测的方法。 Modbus协议支持主/从通讯方式, 同时也支持使用对等技术通讯
传递价值 成就你我
http://www.embedcontrol.com
CAN网络编程与调试
网络通讯的调试
网络环境的测试 严苛环境下的测试(高总线负载、强干扰环境、 故障的设定) CANalyst分析仪的应用或者其他工具的应用
致远电子
传递价值 成就你我
http://www.embedcontrol.com
通讯报文数据结构通常定义
致远电子
传递价值 成就你我
http://www.embedcontrol.com
主/从通讯协议:示例
CAN报文格式(标准帧)定义:
CAN ID分配:
ID10 ID9 ID8 ID7 ID6 ID5 ID4 ID3 ID2 ID1 ID0
源地址
功能码
CAN 报文数据定义
DATA0 DATA1 DATA2 DATA3 DATA4 DATA5 DATA6 DATA7
致远电子
传递价值 成就你我
http://www.embedcontrol.com
设备建模
在网络中除了定义通讯以外,还要求对于 网络中相似设备的功能类型进行定义,满 足对于设备的互用性和可交换性的需求 如何制定标准设备的规范
设备子协议Device Profile 的原则 设备必备功能 设备可选功能 扩展性的考虑
谢谢!
致远电子
CAN网络编程与调试
网络故障
硬件故障
设计原因 其他因素
软件故障
设计原因 其他因素
网络拓扑
总线拓扑 线缆的选择
致远电子
传递价值 成就你我
http://www.embedcontrol.com
通讯协议的选择
通讯协议的选择
根据需要选择合适的通讯协议
标准的协议:DeviceNet CANopen 自定义协议
致远电子
传递价值 成就你我
http://www.embedcontrol.com
Notes
需要仔细考虑ID部分的合理分配; 兼容多种通讯方式(点对点、广播); 超过8字节数据的传输使用分帧方式; 应用层协议会影响验收滤波器设置; 总线的通讯效率与应用层有关。
致远电子
传递价值 成就你我
http://www.embedcontrol.com
致远电子
传递价值 成就你我
http://www.embedcontrol.com
协议组成
协议的组成部分
报文传输协议 报文格式定义 设备的定义
致远电子
传递价值 成就你我
http://www.embedcontrol.com
主/从通讯协议
主/从通讯协议,在一般简单网络中是一个可靠易 于实现的协议模式
报文ID的分配
报文标识符分配的方法被认为是基于CAN-bus 的系 统的主要结构元素 报文相关的优先权和报文的等待时间 报文滤波适用性、合理的通讯结构适用性和标识符 使用的效率 标准帧:11位ID 扩展帧:29位ID
致远电子
传递价值 成就你我
http://www.embedcontrol.com
CAN报文的分配
CAN报文的分配
CAN报文数据的分配
CAN报文为短帧报文,最多可以传送8个数据字节 实际应用中往往需要传送大于8个字节的数据,因此 对于报文数据部分的分配需要考虑对于分段传送的 需要 报文数据部分的合理使用:服务数据和应用数据
致远电子
传递价值 成就你我
http://www.embedcontrol.com
传递价值 成就你我
http://www.embedcontrol.com
协议设计要素分析
在CAN总线协议的设计过程中,需要考虑 以下主要的因素:
CAN报文的分配 数据通讯的实现 网络管理 设备建模
பைடு நூலகம்
致远电子
传递价值 成就你我
http://www.embedcontrol.com
CAN报文的分配
CAN报文的分配
CAN网络编程与调试
CAN网络编程
主控节点
PLC 工控PC
受控节点
节点的硬件设计 节点的软件设计
致远电子
传递价值 成就你我
http://www.embedcontrol.com
CAN网络编程与调试
CAN网络调试
单个节点的调试
软硬件的调试 CAN通讯的调试 硬件设备的应用(示波器、逻辑分析仪)
致远电子
致远电子
传递价值 成就你我
http://www.embedcontrol.com
数据通讯模式
命令/响应模式
致远电子
传递价值 成就你我
http://www.embedcontrol.com
数据通讯模式
数据通讯模式的确定
CAN总线的特性:
多主结构,根据优先权对总线进行访问 无破坏性的基于优先权的逐位仲裁
传递价值 成就你我
http://www.embedcontrol.com
制定一个主/从通讯协议
Version 1.10版 2006年5月
致远电子
传递价值 成就你我
http://www.embedcontrol.com
目录
协议设计要素分析 协议组成 主/从通讯协议 CAN网络编程与调试 应用实例
致远电子
传递价值 成就你我
http://www.embedcontrol.com
协议设计要素分析
构建一个网络,需要解决的关键技术问题 有:
总线传输信息的速率、容量、优先等级、节点 容量等技术问题; 高电磁干扰环境下的可靠数据传输; 确定最大传输时的延时大小; 网络的容错技术; 网络的监控和故障诊断功能
致远电子
CAN报文的分配
报文格式的定义
报文ID的定义
CAN2.0A 帧:11位ID CAN2.0B 帧:29位ID
报文数据的定义
每帧报文最多最多8bytes数据
致远电子
传递价值 成就你我
http://www.embedcontrol.com
CAN报文格式
CAN2.0B 帧格式
ID28 ID27 ID26 ID25 ID24 ID23 ID22 ID21 ID20 ID19 ID18 SRR rev ID14 ID13 ID12 ID11 ID10 ID9 ID8 ID7 ID6 ID5 ID4 ID3 ID2 ID1 ID0 RTR 0/1 DLC3 ~ DLC0 Data Length Code (0 ~ 8) IDE ID17 ID16 ID15
自定义协议实例
协议帧格式
ID10 ID9 ID8 ID7 Fend ID6 ID5 Fcnt ID4 ID3 ID2 ID1 ID0
目的地址
DLC3 ~ DLC0
Function code
Data Length Code (0 ~ 8)
数据部分( 0~8字节 )
致远电子
传递价值 成就你我
http://www.embedcontrol.com
分段 标识
目标 地址
附加参数
致远电子
传 价 成就你我 递值
http://www.embedcontrol.com
Example
演示一个实际的CAN-bus应用单元:
采用CAN2.0B帧,29位ID码,响应命令时无返回帧。 响应的目的地址码(ID):
0x00 00 00 33
命令码(CMD):
00 启动设备,有显示(声或光),返回帧无; 01 停止设备,关显示(声或光),返回帧无; 02 读取参数,返回帧有,此命令帧保留未用。
致远电子
传递价值 成就你我
http://www.embedcontrol.com
Modbus协议
Modbus协议帧结构
地址码 功能码 数据部分 校验
8 bits
8 bits
N×8bits
16 bits
问题:如何将Modbus协议应用到CAN总线 中?
致远电子
传递价值 成就你我
http://www.embedcontrol.com
标准协议的优点
开发工具及资料丰富,市场认知度高 开发周期较长,开发难度较高
自定义协议
与实际系统应用密切相关,易于实现 局限性:厂家自定义,不宜推广
致远电子
传递价值 成就你我
http://www.embedcontrol.com
Modbus协议
Modbus协议介绍
Modbus就是工业控制的网络协议中的一种 Modbus协议定义了一个控制器能认识使用的 消息结构,而不管它们是经过何种网络进行通 信的。它描述了一控制器请求访问其它设备的 过程,如何回应来自其它设备的请求,以及怎 样侦测错误并记录。它制定了消息域格局和内 容的公共格式