预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛 一种基于串口通讯的大文件传输方法 姚占东游大海 (华中科技大学电气与电子工程学院) AMETHODOFBIGFILETRANSMISSIONBASEONSERIALINTERFACE COMMUNICATION YaoZhandong,YouDahai TheCollegeofElectricalEngineeringHuazhongUniversityofScienceandTechnology ABSTRACT Thethesisintroducesamethodofbigfiletransmissionbaseonserialinterface communication.Themethodcouldbeusedtofiletransmissionbetweenthecomputerandthe othercomputer. KEYWORDS: serialinterfacecommunication,filetransmission,protocol 摘要目前计算机之间串行通讯非常普遍,针对串口通讯的通讯协议有很多,但针对串口 通讯传输较大文件的协议目前并没有一种较好的标准.本文针对这方面的不足,介绍一种基 于串口通讯的大文件传输方法。 关键词串口通讯,文件传送,通讯协议 中图分类号:TP89文献标识码:A 1.问题提出 电力系统中有许多装置,要求产生文件报告。如故障录波装置产生故障录波报告,电力 微机保护装置产生动作报告和录波报告等。这些装置产生的报告一般不象事件顺序记录(SOE) 那样只几个或几十个字节,而是几百个到几万个字节组成的大文件,这些文件记录故障或动 作时的全过程,而非单个模拟量数值或遥信量变位时间。将这些文件传送到中心站或分析站 进行统一数据分析处理,将对故障分析有很大帮助。本文介绍一种基于串口的大文件传输方 法,可自动将发送方产生的报告文件自动传送到远程的接收方。 2、通讯方式 串口通讯方式大部分为点对点RS232方式通讯,根据距离的远近和采用的传输数据线不 同可分如下三种方式: (1)直连:两串口用RS232直接对接(如图一a):这种方式适合于传距离很近在同 一房间内长度一般小于15米。 http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛 -2- (2)专用通道:两串口通过RS232与电力MODEM,电力MODEM通过音频电缆,再通 过载波,微波或光纤与远方通讯(如图一b):这种方式适合于传距离很远,异 地。但具有载波,微波或光纤等专用通道,再通过转换设备通过音频电缆输出 到MODEM。 (3)用电话线:两串口通过RS232[2]与电话拔号MODEM连到电话线,再通过电话拔号 与远方的电话MODEM相连与远方通讯(如图一c). 接收方接收方接收方 电力MODEM拔号MODEMPSDN 电力MODEM拔号MODEM 电话网 发送方发送方发送方 (a)直连(b)专用通道(c)用电话线 图一串口点对点连接方式 a和b两种方式经过串口初始化后可直接通讯,c方式通讯之前必须经过拔号连通 等预处理,然后才能通讯。 3.基本思想 串口的通讯速度比较慢,一般传输当中均会有误码产生。传输的误码率与传输线路质 量和采用的屏蔽措施有很大关系。串口传输当中误码是不可避免的,如何识别误码,并重传 这些误码是解决此类问题的关键。如果出现一个错误就放弃整个文件,可能会造成永远传不 成功,如果对错误不理,则会造成传输的文件与原文件内容不同,造成文件错误。针对这种 问题我们研究出一种文件分成多个包,分包传送,如果某一包传输错误只重传出错的包的方 法,使用效果非常好。 4.具体方法 (一)将文件数据分成多个包,分包传送。 根据所使用线路的误码率设置包的大小,一般误码率越高包越小,误码率越低包越大但 不能超过包的最大长度。一般将文件数据分成每包256个bytes文件数据。文件名占用一个 包。每个包采用仿CDT方式,同步头为:EB90EB90EB90 控制字和信息字用8位CRC校验[1]。 (a)发送方主动向接收方发文件名:(上行)将文件名作为一包向对方传输。目的是通 知对方,以后将发送此文件名的文件内容。 由同步字,控制字,和4个信息字组成:[1] 同步字EB90EB90EB90 控制字71A84SOCRC 信息字1EcNoLNoHNuLNuHCRC 信息字2EaF1F2F3F4CRC 信息字3EaF5F6F7F8CRC 2 http://www.elecfans.com电子发烧友http://bb