欢迎来到天天文库
浏览记录
ID:45755898
大小:265.76 KB
页数:21页
时间:2019-11-17
《FILENAMERCC串口通讯协议V10》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、RCC串口通讯协议1•介绍32•本文目标33•读者要求34•系统构造图35.RCC串口通讯协议概要说明46.RCC串口通讯协议详细说明56.1.帧格式56.L1.数据帧格式.56.L2.应答帧、检测帧、检测应答帧、ABORTM系统借谋帧格式562处理流程66.2.1.数据分帧及数据重组6622.数据发送流程.76.2.3.数据接收流程.76.3.RCC状态76.4.RCC帧类别87.RCC内部结构图97.1.重要数据结构、宏定义、消息及函数1072数据处理模块127.3.初始化/设置模块127.4.状态查询模块127.5.消息
2、处理模块127.6.内部处理函数138.RCC串口读写线程及发送接收函数算法描述138.1.串口读线程138.2.串口写线程1482发送函数148.3.接收函数159.RCC可靠性分析179」对等通讯可靠性189.2异常对方通讯可靠性1810.RCC速度分析及可扩充性1910.1.RCC速度分析195.1.RCC可扩充性19102丄协议集扩充.195.1.2.参数协商.20102.3■压缩数据方式:2010.24.异步传输方式:2011•附录(APPENDIX)2010.1参考(Reference)201•介绍串口通讯在客户端
3、/服务器类型的应用程序设计屮经常要使用到,目前串口通讯采用的—•般是专用软件包或者标准串口通讯协议(如XMODEM、ZMODEM等),这样完整详细且免费的软件包比鮫少,所以在SPCOMM的基础Z上建立了本文所描述的串口通讯协议,称之为RCC(表示为ReliableCommCommunication),其主要目标是在用串口i!t行通讯的客八端/服务器双方建立一条可靠的通讯链路,就象TCP(RFC793)一样。该协议的目前的开发是采用VC++,应用平台为WIN95/NT,但作为RCC协议的本身不受具体编程语言及操作系统所限制,2•
4、本文目标本文的目标在于描述RCC串口通讯协议设计思路以及其详细设计说明,还冇相关的串口通讯技术(WIN95/NT)O3•读者要求•熟悉串口通讯方式•熟悉WIN95/NT线程机制及界步文件调用方式•对VC++有一定的了解•一般协议的描述方式4•系统构造图系统构架如下方式:客八端应用程序服务器端应用程序应用程序之间数据交互RCC串口通讯协议RCC串口通讯协议5.RCC串口通讯协议概要说明RCC串口通讯协议设计思想是基于帧传输方式,即在向MODEM(RS232)发送数据时是一帧一帧地发送,对于应用程序来讲,应用程序所发送的和所接收的
5、都是流式数据,即如果应用程序需要进行上层的协议解释的话,它将而对这些流数据的更新拼装。为保证可靠的传输,在RCC进行数据传输时,采用发送/应答/握手/失败方式,即发送一帧数据,一个应答,若应答没收到,重新进行协商握手,握手失败则向应用程序报告错误。在利用RCC进行实际的应用程序设计时,首先笫一步通过RCC进行串口初始化操作,在串口初始化成功时,RCC通过界步消息RCC_CONNECT向应用程序报告,此吋一条通讯链路建立完毕。应用程序开始发送数据,这是通过Send调用实现的,RCC根据内部缓冲区的人小决定真正可发送的数据最返回给
6、应用程序,数据将被存储在内部缓冲区内(此缓冲区人小可由应川程序调节),RCC将内部缓冲区的数据分割成一帧一帧,每一帧将调川内部线程通过WIN95/NT向MODEM/RS232发送数据,当数据金部发送完毕(即内部缓冲区为空),则向应用程序发送RCC_WRITE消息表示数据全部发送完毕,应用程序将可继续发送余下的数据,在接收方,如果数据到达了,由WIN95/NT通知RCC,由RCC接收到达的数据,当到达一帧时,对到达的数据进行解包,若发生错谋则通过指定方式进行重发或协商ABORT,当通讯能继续则不向应用程序发送任何消息,继续保持链
7、路,若通讯不能继续,则ABORT此链路,并口向应用程序发送RCC_ERROR的消息,应用程序将重新RESET此链路或进行其它相应的处理。当数据被解包到内部缓冲区吋,将发送RCC_READ消息到应用程序,表示数据可用了,应用程序将调用Receive接收相应的数据(注意此时的数据并不是发送时的数据,而是被割成一帧一帧的),也可通过相应的调用查询所接收到的数据最。另外当有任何一方断开链接,应川程序将接收到RCC_CLOSE消息,表示此链路己经断开(MODEM挂机)。6.RCC串口通讯协议详细说明6工帧格式帧格式包插帧头和数据区,其中
8、对于任何帧而言,帧头固定为八个字节,若该帧类型需要数据才有数据区,否则只有帧头。6.1.1•数据帧格式帧头标志版本号类別帧头校验和帧号数据总长度保留数据CRC校验数据区数据区帧头标志(1Byte),表示此数据包是属于RCC串口通讯协议,为字母0x12。版本号(4Bit)为RC
此文档下载收益归作者所有