一种改进的数据通信协议设计与实现-_第1页
一种改进的数据通信协议设计与实现-_第2页
一种改进的数据通信协议设计与实现-_第3页
一种改进的数据通信协议设计与实现-_第4页
一种改进的数据通信协议设计与实现-_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一种一种改进的数据通信协议改进的数据通信协议改进的数据通信协议设计与实现设计与实现张永祥张永祥,张伟功张伟功,丁 瑞,周 全,王 建(首都师范大学信息工程学院,北京 100048摘 要:在主机与目标机间建立与通信端口无关的命令驱动式数据通信协议,给出数据包格式及命令功能定义。该协议采用分层和模块化设计方法,支持1553B 和RS-232 2种通信端口,通过扩展底层通信管理模块可实现对CAN 、SPI 、SPACEWIRE 等总线的支持。SPARC V8存储器加载和下载软件的运行结果验证该协议的正确性,表明其能屏蔽不同通信端口之间的差异性,实现正常的数据传输。关键词关键词:命令驱动;数据通信;上

2、行数据包;下行数据包;SPARC V8存储器Design and Implementation ofImproved Data Communication ProtocolZHANG Yong-xiang, ZHANG Wei-gong, DING Rui, ZHOU Quan, W ANG Jian(College of Information Engineering, Capital Normal University, Beijing 100048, China【Abstract 】This paper sets up a command-driven data communicatio

3、n protocol between the independent communication ports of the host and target machine and gives its data package format and as well as command function definition. The protocol uses layering and modeling, it achieves two communication interface between 1553B and RS-232, and CAN, SPI, SPACEWIRE other

4、 bus support can easily be achieved by the expansion of underlying communication management module. Operation results of SPARC V8 memory load and download software verify the correctness of the protocol, and shows that it can shield differences between the different communication port to realize the

5、 normal data transmission.【Key words 】command-driven; data communication; uplink packet; downlink packet; SPARC V8 memory计 算 机 工 程 Computer Engineering 第37卷 第18期V ol.37 No.18 2011年9月 September 2011 工程应用技术与实现工程应用技术与实现 文章编号文章编号:10003428(201118025202 文献标识码文献标识码:A 中图分类号中图分类号:TP391 概述在综合电子系统中,控制台和目标机之间可能

6、会选择多种通信接口进行通信,如何建立一种与具体通信端口无关的通信协议具有至关重要的意义1。本文介绍了一种通信端口无关式通信协议,它采用主从命令方式驱动传输2,并以PC为宿主机,通过1553B 总线或串行通信接口 (UART,对以SPARC V8处理器为CPU 的嵌入式计算机内存中的数据或程序进行上传加载和下载回传,并能控制V8 目标机中程序的启动运行。2 数据通信协议数据通信协议设计设计2.1 协议框架PC 宿主机与嵌入式SPARC V8目标机之间的命令、数据、状态应答均采用协议包3形式进行传送。在通常情况下,总是由PC 机首先向目标机发送一个命令包,目标机在正确收到命令包后,根据协议向PC

7、机回送相应的状态应答包,其简要框架如图1所示。第37卷第18期253 张永祥,张伟功,丁瑞,等:一种改进的数据通信协议设计与实现前导字符,长度,包内容,校验字节其中,前导字符为一个ASCII字符,占用一个字节;长度可为字节,也可为字,表示了包内容的字节数;包内容为命令或数据,长度可变;校验字节是前导字符、长度、包内容按字节异或的结果。在协议包传送过程中,所有内容均按字节传送,16位字先传送低字节,后传送高字节;32位双字按最低字节、次低字节、次高字节、最高字节的顺序传送。2.3 PC机的上行数据格式及命令定义缓冲命令是实际的功能命令。目标机收到后并不立即执行,而是校验正确后将命令暂存到接收缓冲

8、区,待PC机发出缓冲区切换命令后,再装入执行缓冲区,等PC机发出执行命令后才执行,包括擦除命令、上传命令、下传命令、转移命令。命令格式如下:$, Length, command, check其中,$为命令的前导字符;Length为命令长度,表示command的字节长度;command为命令内容;check为$、Length、command 3个部分内容按字节异或的校验值。数据命令用来向目标机的接收数据缓冲区注入一个数据块。目标机上应当实现一个执行数据缓冲区和一个接收数据缓冲区。执行数据缓冲区是缓冲命令($命令执行时的数据,而新收到的数据块总是放入当前的接收数据缓冲区,PC机可通过切换命令实现接

9、收数据缓冲区与执行数据缓冲区的切换。每个数据缓冲区应当包括一个状态指示器,表示数据是否已经得到应用、数据接收是否正确。命令格式如下: #, Length, data, check立即命令是PC机对目标机实现控制与状态查询的直接命令。目标机收到此类命令,只要校验正确就立即执行,并根据要求向PC机回送规定的响应包。若校验不正确,则目标机将放弃信息包,不做任何响应。若目标机在接收命令中出现丢失字符的现象,PC机可通过发送无效字节强迫目标机退出命令接收状态,也可以利用超时处理。命令格式如下: :, Length, command, check其中,:为命令的前导字符;Length为命令长度,表示command的字节长度;command为命令内容;check为$、Length、command 3个部分内容按字节异或的校验值。3 协议的软件实现协议的实现采用分层实现方法和模块化设计方法5,目前支持1553B通信接口和RS-232串行通信接口,软件的总体构成与分层框架如图2所示,PC宿主机主要完成通信接口选择、文件管理、数据打包等功能,并按照通信协议与目标机进行通信,完成数据上下传。SPARC V8目标机完成各种通信协议命令的解析、执行,在宿主机的控制下,将数据传送到目标机的指定区域,或将目标机指定区域的数据传给宿主机。从图2可

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论