- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
可靠UART通讯协议20
可靠UART通讯协议
V2.0
2014-8-15
修订历史
版本 日期 提要 V0 2010-8-12 初始版本,7章+1节附录 V1.0 2010-10-10 1、网络静默5s后所有设备自动恢复到基准通讯速率
2、定义了《附录1 设备参数表》 V1.1 2010-10-21 1、修订《通讯命令集》(设置密码、设置亮度、读设备参数)
2、增补了《附录1 设备参数表》的5条注意事项 V1.2 2010-11-4 1、增加附录1《设备参数表》参数2项 V2.0 2014-8-15 基准通讯速率从9600bps改变为可设定
取消拆分帧结构,只保留独立帧,长度=8200且10
直接引用信息帧的有效内容为信息包
目 录
1 目的
2 分层
3 物理层
4 网络层
5 传输层
6 应用层
7 范例
附录1 设备参数表
1 目的
本协议的目的是要建立一套可靠的异步串行通讯规范,应用范围可以涵盖有线和无线通讯方式。
本协议主要应用于常规网络之外的局部联网通讯领域,常见情形包括单片机联网工作以及计算机与单片机构成的关系较为复杂的上下位机模式网络。
本协议支持点对点通讯和点对多点的组播、广播,但不支持信息包转发等路由服务。
本协议工作于总线结构和星形结构的局部网络环境。
本协议工作于半双工模式。
2 分层
本协议是一个四层协议系统,每一层负责不同的功能:
层次 功能 应用层 运行用户交互程序,编辑组织信息
设备列表管理
设备ID扫描
设备分组
网络运转可靠保障 传输层 传输控制、信息包交换
通讯模式协商
信息打包,信息包恢复
信息包可靠保障 网络层 帧通讯
帧结构定义
帧可靠保障 物理层 提供网络的物理连接
数据格式定义
设备驱动
通讯模式定义
物理接口定义
3 物理层
3.1 物理接口
本协议支持以下物理接口:
RS232
RS485
基于RS232的无线数传模块
基于RS232的GPRS、CDMA数据通讯模块
3.2 通讯模式
本协议通讯模式为半双工异步串行通讯
3.3 数据格式
本协议的数据格式为:
1个起始位,8个数据位,1个停止位,无奇偶校验
3.4 通讯速率
本协议的基准通讯速率可设定,通常为9600bps/38400bps/115200bps,系统启动后首先将通讯速率设置为基准速率,在系统运转中具体的通讯速率以传输层的通讯模式协商结果为准。
网络静默5s后所有设备自动恢复到基准通讯速率。
4 网络层
4.1 网络层以帧(frame)为传输单元,最大传输单元MTU=8200B
4.2 网络层的帧结构:独立帧结构。
F0H F0H 长度 F3H 目的ID 源ID 信息 CRC F0H 2B/5B 2B 1B 4B 4B nB 1B 1B 引导字符 独立帧号 结束字符
4.3 帧结构中的“长度”(高字节在前)字节为从帧号开始到CRC的字节总数(含帧号和CRC码),长度=8200且10
如果在“引导字符”结束后(即连续的F0H序列)收到的2个字节组成的数据=8200且10则将其作为帧长度使用,否则复位接收状态,并且反馈“帧长度错误”;
如果在“长度”字节后收到的字节数量等于长度值后,接收的下一个字节不是“结束字符”,则复位接收状态,并且反馈“未及时接收结束字符”;
如果在“长度”字节后,收到“结束字符”时,接收到的字节数量小于长度值,则复位接收状态,并且反馈“提前收到结束字符”;
如果接收缓冲区耗尽而通讯帧未结束,则复位接收状态,并且反馈“接收缓冲区溢出”;
相应的错误反馈编码见4.9节。
4.4 CRC是以0为初始值,从帧号开始到信息的最末字节为止,逐字节异或的结果
在发送端,以0为初始值,从帧号开始到信息的最末字节为止,逐字节异或的结果存储在CRC位置;
在接收端,以0为初始值,从帧号开始到信息的最末字节为止,逐字节异或的结果与CRC字节再进行异或,如果结果为0,则CRC校验正确,否则CRC校验错误。
4.5 有线通讯时引导字符取2B,无线通讯时引导字符取5B
4.6 转义字符:FCH
在发送端,当帧号之后结束字符之前的字节中出现F0H或FCH时,将该字节取反并且前边插入一个FCH;
当接收端收到转义字符FCH后,丢弃本字节并且将其后续的一个字节取反后作为接收字节使用。
转义字符不纳入长度和CRC的计算范围。
4.7 帧通讯的可靠性保障
接收端接收到正确帧则将其提交给传输层,由传输层决定反馈内容;
接收端接收到错误帧则反馈错误码:
1——CRC校验错误
2——未及时接收结束字符
3——帧长度错误
4——提前收到结束字符
6——接收缓冲区溢出
延时复位:在接收端,非完整帧通讯中断超过20ms则复位接收状态,向传输层提交报告,并且反馈“接收端通讯中断”:
7——接收端通讯中断
发送端接收到正
文档评论(0)