29
递递递 递递递递 http://www.embedcontrol. com 递递递递 制制 制制 制制 制制 / / 制制制制制 制制制制制 Version 1.10 制 2006 制 5 制

制定一个主 / 从通讯协议

  • Upload
    gelsey

  • View
    116

  • Download
    7

Embed Size (px)

DESCRIPTION

制定一个主 / 从通讯协议. Version 1.10 版 2006 年 5 月. 目录. 协议设计要素分析 协议组成 主 / 从通讯协议 CAN 网络编程与调试 应用实例. 协议设计要素分析. 构建一个网络,需要解决的关键技术问题有: 总线传输信息的速率、容量、优先等级、节点容量等技术问题; 高电磁干扰环境下的可靠数据传输; 确定最大传输时的延时大小; 网络的容错技术; 网络的监控和故障诊断功能. 协议设计要素分析. 在 CAN 总线协议的设计过程中,需要考虑以下主要的因素: CAN 报文的分配 数据通讯的实现 网络管理 设备建模. - PowerPoint PPT Presentation

Citation preview

Page 1: 制定一个主 / 从通讯协议

传递价值 成就你我 http://www.embedcontrol.com

致远电子

制定一个主制定一个主 // 从通讯协议从通讯协议Version 1.10版

2006年 5月

Page 2: 制定一个主 / 从通讯协议

传递价值 成就你我 http://www.embedcontrol.com

致远电子

目录目录协议设计要素分析协议组成主 / 从通讯协议CAN 网络编程与调试应用实例

Page 3: 制定一个主 / 从通讯协议

传递价值 成就你我 http://www.embedcontrol.com

致远电子

协议设计要素分析协议设计要素分析构建一个网络,需要解决的关键技术问题有:

总线传输信息的速率、容量、优先等级、节点容量等技术问题;高电磁干扰环境下的可靠数据传输;确定最大传输时的延时大小;网络的容错技术;网络的监控和故障诊断功能

Page 4: 制定一个主 / 从通讯协议

传递价值 成就你我 http://www.embedcontrol.com

致远电子

协议设计要素分析协议设计要素分析在 CAN 总线协议的设计过程中,需要考虑以下主要的因素:

CAN 报文的分配数据通讯的实现网络管理设备建模

Page 5: 制定一个主 / 从通讯协议

传递价值 成就你我 http://www.embedcontrol.com

致远电子

CANCAN 报文的分配报文的分配CAN 报文的分配

报文 ID 的分配报文标识符分配的方法被认为是基于 CAN-bus 的系统的主要结构元素 报文相关的优先权和报文的等待时间 报文滤波适用性、合理的通讯结构适用性和标识符使用的效率 标准帧: 11 位 ID扩展帧: 29 位 ID

Page 6: 制定一个主 / 从通讯协议

传递价值 成就你我 http://www.embedcontrol.com

致远电子

CANCAN 报文的分配报文的分配CAN 报文的分配

CAN 报文数据的分配CAN 报文为短帧报文,最多可以传送 8 个数据字节实际应用中往往需要传送大于 8 个字节的数据,因此对于报文数据部分的分配需要考虑对于分段传送的需要 报文数据部分的合理使用:服务数据和应用数据

Page 7: 制定一个主 / 从通讯协议

传递价值 成就你我 http://www.embedcontrol.com

致远电子

CANCAN 报文的分配报文的分配报文格式的定义

报文 ID 的定义CAN2.0A 帧: 11 位 IDCAN2.0B 帧: 29位 ID

报文数据的定义每帧报文最多最多 8bytes 数据

Page 8: 制定一个主 / 从通讯协议

传递价值 成就你我 http://www.embedcontrol.com

致远电子

CANCAN 报文格式报文格式 CAN2.0B 帧格式

ID28 ID27 ID26 ID25 ID24 ID23 ID22 ID21 ID20 ID19 ID18 SRR IDE ID17 ID16 ID15

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)

数据部分( 0 ~ 8 字节 )

Page 9: 制定一个主 / 从通讯协议

传递价值 成就你我 http://www.embedcontrol.com

致远电子

数据通讯模式数据通讯模式数据通讯的方式规定了网络中各设备之间数据交换的规则主从 / 多主命令 / 响应模式

在一般的通讯过程中常采用命令 / 响应的方式 在基于命令 / 响应模式的通讯网络中,由主控设备发送命令帧,受控设备接收到命令帧以后向主控设备发送响应帧,从而实现数据交换

Page 10: 制定一个主 / 从通讯协议

传递价值 成就你我 http://www.embedcontrol.com

致远电子

数据通讯模式数据通讯模式命令 / 响应模式

主站 从站

接收响应

执行操作返回响应发出请求

Page 11: 制定一个主 / 从通讯协议

传递价值 成就你我 http://www.embedcontrol.com

致远电子

数据通讯模式数据通讯模式数据通讯模式的确定

CAN 总线的特性:多主结构,根据优先权对总线进行访问无破坏性的基于优先权的逐位仲裁

通讯效率和总线利用率

Page 12: 制定一个主 / 从通讯协议

传递价值 成就你我 http://www.embedcontrol.com

致远电子

数据通讯模式数据通讯模式灵活的通讯模式

主站 从站

数据

数据

状态改变

循环发送

数据

Page 13: 制定一个主 / 从通讯协议

传递价值 成就你我 http://www.embedcontrol.com

致远电子

网络管理网络管理对于整个网络,一些突发的事件必须处理,例如节点的故障网络中的错误或者异常必须能够检测和显示,并且通过某种方式进行处理节点网络状态(启动、通讯异常时动作)提供简单的节点监控和有效的错误处理措施,可以在一定程度上提高系统的通讯可靠性,并利于系统的维护

Page 14: 制定一个主 / 从通讯协议

传递价值 成就你我 http://www.embedcontrol.com

致远电子

设备建模设备建模在网络中除了定义通讯以外,还要求对于网络中相似设备的功能类型进行定义,满足对于设备的互用性和可交换性的需求如何制定标准设备的规范

设备子协议 Device Profile 的原则设备必备功能设备可选功能扩展性的考虑

Page 15: 制定一个主 / 从通讯协议

传递价值 成就你我 http://www.embedcontrol.com

致远电子

协议组成协议组成协议的组成部分

报文传输协议报文格式定义设备的定义

Page 16: 制定一个主 / 从通讯协议

传递价值 成就你我 http://www.embedcontrol.com

致远电子

主主 // 从通讯协议从通讯协议主 / 从通讯协议,在一般简单网络中是一个可靠易于实现的协议模式

通讯报文数据结构通常定义 命令帧 引导字 源地址 目的

地址 命令字 辅参数 数据区长度

数据区数据 CRC 结束码

响应帧 引导字 源地址 目的地址 命令字 辅参数 数据区

长度数据区数据 CRC 结束码

Page 17: 制定一个主 / 从通讯协议

传递价值 成就你我 http://www.embedcontrol.com

致远电子

主主 // 从通讯协议:示例从通讯协议:示例 CAN 报文格式(标准帧)定义:

CAN ID 分配:

CAN 报文数据定义

ID10 ID9 ID8 ID7 ID6 ID5 ID4 ID3 ID2 ID1 ID0

源地址 功能码

DATA0 DATA1 DATA2 DATA3 DATA4 DATA5 DATA6 DATA7

分段标识

目标地址 附加参数

Page 18: 制定一个主 / 从通讯协议

传递价值 成就你我 http://www.embedcontrol.com

致远电子

ExampleExample演示一个实际的 CAN-bus 应用单元:

采用 CAN2.0B 帧, 29 位 ID码,响应命令时无返回帧。 响应的目的地址码 (ID) :

0x00 00 00 33 命令码 (CMD) :

00 启动设备,有显示 (声或光 ) ,返回帧无; 01 停止设备,关显示 (声或光 ) ,返回帧无; 02 读取参数,返回帧有,此命令帧保留未用。

Page 19: 制定一个主 / 从通讯协议

传递价值 成就你我 http://www.embedcontrol.com

致远电子

NotesNotes需要仔细考虑 ID 部分的合理分配;兼容多种通讯方式(点对点、广播);超过 8 字节数据的传输使用分帧方式;应用层协议会影响验收滤波器设置;总线的通讯效率与应用层有关。

Page 20: 制定一个主 / 从通讯协议

传递价值 成就你我 http://www.embedcontrol.com

致远电子

CANCAN 网络编程与调试网络编程与调试CAN 网络编程

主控节点PLC工控 PC

受控节点节点的硬件设计节点的软件设计

Page 21: 制定一个主 / 从通讯协议

传递价值 成就你我 http://www.embedcontrol.com

致远电子

CANCAN 网络编程与调试网络编程与调试CAN 网络调试

单个节点的调试软硬件的调试CAN 通讯的调试硬件设备的应用(示波器、逻辑分析仪)

Page 22: 制定一个主 / 从通讯协议

传递价值 成就你我 http://www.embedcontrol.com

致远电子

CANCAN 网络编程与调试网络编程与调试网络通讯的调试

网络环境的测试严苛环境下的测试(高总线负载、强干扰环境、故障的设定) CANalyst 分析仪的应用或者其他工具的应用

Page 23: 制定一个主 / 从通讯协议

传递价值 成就你我 http://www.embedcontrol.com

致远电子

CANCAN 网络编程与调试网络编程与调试网络故障

硬件故障设计原因其他因素

软件故障设计原因其他因素

网络拓扑总线拓扑线缆的选择

Page 24: 制定一个主 / 从通讯协议

传递价值 成就你我 http://www.embedcontrol.com

致远电子

通讯协议的选择通讯协议的选择通讯协议的选择

根据需要选择合适的通讯协议标准的协议: DeviceNet CANopen自定义协议

标准协议的优点 开发工具及资料丰富,市场认知度高 开发周期较长,开发难度较高

自定义协议 与实际系统应用密切相关,易于实现 局限性:厂家自定义,不宜推广

Page 25: 制定一个主 / 从通讯协议

传递价值 成就你我 http://www.embedcontrol.com

致远电子

ModbusModbus 协议协议Modbus 协议介绍

Modbus就是工业控制的网络协议中的一种 Modbus 协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式

Page 26: 制定一个主 / 从通讯协议

传递价值 成就你我 http://www.embedcontrol.com

致远电子

ModbusModbus 协议协议当在一 Modbus 网络上通信时,此协议决定了每个控制器需要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用 Modbus 协议发出。在其它网络上,包含了 Modbus 协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。 Modbus 协议支持主 / 从通讯方式,同时也支持使用对等技术通讯

Page 27: 制定一个主 / 从通讯协议

传递价值 成就你我 http://www.embedcontrol.com

致远电子

ModbusModbus 协议协议Modbus 协议帧结构

问题:如何将Modbus 协议应用到 CAN 总线中?

地址码 功能码 数据部分 校验8 bits 8 bits N×8bits 16 bits

Page 28: 制定一个主 / 从通讯协议

传递价值 成就你我 http://www.embedcontrol.com

致远电子

自定义协议实例自定义协议实例协议帧格式

ID10 ID9 ID8 ID7 ID6 ID5 ID4 ID3 ID2 ID1 ID0

目的地址 Fend Fcnt Function code

DLC3 ~ DLC0

Data Length Code (0 ~ 8)

数据部分( 0 ~ 8 字节 )

Page 29: 制定一个主 / 从通讯协议

传递价值 成就你我 http://www.embedcontrol.com

致远电子

谢谢!谢谢!