- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
RCC串口通信协议.doc
RCC串口通讯协议
1.介绍 3
2.本文目标 3
3.读者要求 3
4.系统构造图 3
5.RCC串口通讯协议概要说明 4
6.RCC串口通讯协议详细说明 5
6.1.帧格式 5
6.1.1.数据帧格式 5
6.1.2.应答帧、检测帧、检测应答帧、ABORT帧、系统错误帧格式 5
6.2.处理流程 6
6.2.1.数据分帧及数据重组 6
6.2.2.数据发送流程 7
6.2.3.数据接收流程 7
6.3.RCC状态 7
6.4.RCC帧类别 8
7.RCC内部结构图 9
7.1.重要数据结构、宏定义、消息及函数 10
7.2.数据处理模块 12
7.3.初始化/设置模块 12
7.4.状态查询模块 12
7.5.消息处理模块 12
7.6.内部处理函数 13
8.RCC串口读写线程及发送接收函数算法描述 13
8.1.串口读线程 13
8.2.串口写线程 14
8.2.发送函数 14
8.3.接收函数 15
9.RCC可靠性分析 17
9.1 对等通讯可靠性 18
9.2 异常对方通讯可靠性 18
10.RCC速度分析及可扩充性 19
10.1.RCC速度分析 19
10.2.RCC可扩充性 19
10.2.1.协议集扩充 19
10.2.2.参数协商 20
10.2.3.压缩数据方式: 20
10.2.4.异步传输方式: 20
11.附录(Appendix) 20
10.1参考(Reference) 20
1.介绍
串口通讯在客户端/服务器类型的应用程序设计中经常要使用到,目前串口通讯采用的一般是专用软件包或者标准串口通讯协议(如XMODEM、ZMODEM等),这样完整详细且免费的软件包比较少,所以在SPCOMM的基础之上建立了本文所描述的串口通讯协议,称之为RCC(表示为Reliable Comm Communication),其主要目标是在用串口进行通讯的客户端/服务器双方建立一条可靠的通讯链路,就象TCP(RFC793)一样。该协议的目前的开发是采用VC++,应用平台为WIN95/NT,但作为RCC协议的本身不受具体编程语言及操作系统所限制,
2.本文目标
本文的目标在于描述RCC串口通讯协议设计思路以及其详细设计说明,还有相关的串口通讯技术(WIN95/NT)。
3.读者要求
熟悉串口通讯方式
熟悉WIN95/NT线程机制及异步文件调用方式
对VC++有一定的了解
一般协议的描述方式
4.系统构造图
系统构架如下方式:
5.RCC串口通讯协议概要说明
RCC串口通讯协议设计思想是基于帧传输方式,即在向MODEM(RS232)发送数据时是一帧一帧地发送,对于应用程序来讲,应用程序所发送的和所接收的都是流式数据,即如果应用程序需要进行上层的协议解释的话,它将面对这些流数据的重新拼装。为保证可靠的传输,在RCC进行数据传输时,采用发送/应答/握手/失败方式,即发送一帧数据,一个应答,若应答没收到,重新进行协商握手,握手失败则向应用程序报告错误。
在利用RCC进行实际的应用程序设计时,首先第一步通过RCC进行串口初始化操作,在串口初始化成功时,RCC通过异步消息RCC_CONNECT向应用程序报告,此时一条通讯链路建立完毕。应用程序开始发送数据,这是通过Send调用实现的,RCC根据内部缓冲区的大小决定真正可发送的数据量返回给应用程序,数据将被存储在内部缓冲区内(此缓冲区大小可由应用程序调节),RCC将内部缓冲区的数据分割成一帧一帧,每一帧将调用内部线程通过WIN95/NT向MODEM/RS232发送数据,当数据全部发送完毕(即内部缓冲区为空),则向应用程序发送RCC_WRITE消息表示数据全部发送完毕,应用程序将可继续发送余下的数据,在接收方,如果数据到达了,由WIN95/NT通知RCC,由RCC接收到达的数据,当到达一帧时,对到达的数据进行解包,若发生错误则通过指定方式进行重发或协商ABORT,当通讯能继续则不向应用程序发送任何消息,继续保持链路,若通讯不能继续,则ABORT此链路,并且向应用程序发送RCC_ERROR的消息,应用程序将重新RESET此链路或进行其它相应的处理。当数据被解包到内部缓冲区时,将发送RCC_READ消息到应用程序,表示数据可用了,应用程序将调用Receive接收相应的数据(注意此时的数据并不是发送时的数据,而是被割成一帧一帧的),也可通过相应的调用查询所接收到的数据量。另外当有任何一方断开链接,应用程序将接收到RCC_CLOSE消息,表示此链路已经断开(MODEM挂机)。
6.RCC串口通讯协议详细说明
6.1.帧格式
帧格式包括帧头和数据区,其中对于任何帧而言,帧头固定为八个字节,若该帧类型需要数据才有数据区,否则只有帧头。
6.1.1.数据帧格式
帧头标志 版本号 类别 帧头校验和
您可能关注的文档
- MySQL先排序再分组的问题.pdf
- N800实验平台上的人脸检测与识别.pdf
- nat解决方案.pdf
- Navigator操作简单流程.doc
- NBU系统备份方案.doc
- NetBEUI协议的特点分析.pdf
- Netfilter_Iptables框架下基于TCP滑动窗口的串行流量控制算法.pdf
- NET平台下基于RBAC模型的用户权限控制.pdf
- NFS报文分析.doc
- NGN培训教材AX001205计费数据配置ISSUE2.0.pdf
- RDA实现SQLCE与SQLServer间数据存取.doc
- RS232串口通信协议.doc
- RS485多机通讯的组网方式.doc
- RS485通信协议_塞拉门_抽板_长客.doc
- RTSP协议分析.doc
- s3900操作手册Release1510(V1.00)27WebCache重定向操作.pdf
- s3900新特性手册RELEASE0019(V1.00)26SNMP新特性手册.pdf
- s5600操作手册Release1510(V1.00)10端口汇聚操作.pdf
- s5600操作手册Release1510(V1.00)34SSH终端服务操作.pdf
- s5600操作手册Release1510(V1.00)37信息中心操作.pdf
最近下载
- 2024年凯度O2O白皮书.pdf VIP
- 外教社新编英语语法教程(第6版)PPT课件(试用版)Unit 15.pptx VIP
- 2025年江西司法警官职业学院单招职业技能测试题库及完整答案1套.docx
- 《化工企业生产过程异常工况安全处置准则》专题培训.pptx VIP
- 4.1 我们需要呼吸(说课稿)-四年级上册科学大象版.docx VIP
- 财务工作移交清单模板.docx VIP
- 最新部编版小学一年级语文上册第三单元测试卷(附答案) .pdf VIP
- (人教版2024)九年级化学 跨学科实践活动《微型空气质量“检测站”的组装与使用》课件.pptx
- 小儿急腹症的诊断和治疗.ppt VIP
- 2025年军工产品标准化大纲.pptx VIP
文档评论(0)