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