APP下载

一种使用短波电台的大文件传输方式

2020-08-13赵大伟

数码世界 2020年6期

赵大伟

摘要:短波电台适用于对带宽要求不高的语音通信,一般不会用于进行数据量较大的文件传输。本文提出了一种基于短波电台的可靠的文件传输方式,可以通过短波电台进行较大文件的传输,扩展了短波电台的应用范围。

关键词:短波电台 短波通信 文件传输

1.短波电台通信简述

短波电台包括发信机,天线调谐器和电源,以单工方式通信,同时只能发送或者只能接收,且由于带宽的限制,发送时有明显的时延。为避免发信机过热,需要设置最大持续发送时长。短波电台默认情况下只能接收数据,如果要发送数据,需要通过串口向电台发激活发送的指令,成功后才能发送数据。

PC上的短波控制模块(Shortwave Control Module, SCM)通过串口来与电台交互,它控制电台操作,讓电台发送数据,接收来自电台的数据。SCM设计了软件机制,以允许通过电台来发送较大量的文件数据。

2.短波控制模块工作机制

2.1分片规则

SCM发送大文件时,根据带宽进行分片,形成发送队列,其中分片的大小要求电台能够一次发送完成。每个分片中内容为{发送方ID,接收方ID, 当前分片号,总的分片数,响应指示,分片数据,CRC校验值}。

其中ID用于标识身份;分片号用于接收方实现组包还原功能。

响应指示为1,说明需要接收方的响应,此时接收方应向发送方发送响应消息,其中携带了它对应的分片号,以前接收分片失败的失败列表;发送方收到响应后,如果检测到其中包含失败列表,则应重发其中的分片。最后一个分片一定是携带响应指示的。

分片的数据是业务数据。CRC支持纠错机制,接收方检测CRC错误就认为接收失败。

2.2 SCM操作描述

需要配置的工作参数:带宽、最大持续发送分片数MaxNum、串口波特率。

当电台收到了数据后,直接发送到SCM,后者进行协议处理。

当PC的应用层需要发送文件时,首先通过内部接口将文件内容发送到SCM。SCM对文件分片得到分片队列,并使能电台的发送功能,成功后将一个分片发送到短波电台,并设置定时器(TmrSnd)等待发送完成。TmrSnd超时后继续发送下个分片并重设TmrSnd。若干次后,如果连续发送分片数达到了MaxNum,让电台进入接收状态,可以接收数据了。

2.3 状态机描述

默认开始状态是电台可接收状态。

2.4 发送流程

下图描述了一个完整的发送方的流程。

1.上层应用向SCM发送文件数据。

2.SCM根据配置参数,对数据分片形成发送队列。

3.SCM向短波电台发送使能发送命令。

4.SCM通过定时器TmrEnb不断检测电台。某个时刻检测到电台发送状态就绪。

5.SCM向上层应用发送消息,告知开始发送。

6.SCM从发送队列中读取分片1,发送到电台。设置定时器TmrSnd 等待发送完成。

7.SCM将发送进度告知应用。

8.TmrSnd超时,SCM从发送队列中取出下个分片2进行发送。

9.SCM将发送进度告知上层应用。

10.重复上述步骤,某个时刻应发送分片号为N,若当前电台的持续发送分片数达到了阈值,应需要响应。设置该分片的响应标志,发送分片。设置TmrSnd等待发送完成。

11.TmrSnd超时后,认为第N个分片发送完成了,应等待响应。此时给电台发送关闭发送命令,让电台进入到接收状态。

12.电台进入到接收状态后,接收到了响应报文,发送到SCM。

13.SCM检测接收方ID,如果是自己,根据该响应更新发送队列内容;否则抛弃。

14.控制模块检测到发送队列非空,需要继续发送。

下面步骤15同步骤3,步骤16同步骤4,步骤17同6, 步骤18同7.

19.当发送最后一个分片时,必须设置响应标志。将它交付到电台进行发送。设置TmrSnd,等待发送完成。

20.TmrSnd超时,SCM发送关闭命令给电台,要求进入接收状态。

21.电台进入接收状态后,从空口接收到了接收方的响应报文,发送到SCM。

22.SCM检测报文。如果是正确的响应报文,则更新发送队列内容。如果发送队列为空,认为数据全部发送完成,通知上层应用发送完成。

3数据接收方的流程

短波电台从空口接收报文,并经串口发送到SCM。SCM判断数据的有效性,无效将直接丢弃。

步骤1:SCM从电台接收到分片后,此时检测多个分片的接收情况。如果检测到接收到了所有的分片,则将分片组织为一个完整的数据包,发送到上层应用。

步骤2:检测分片中的响应指示,如果为0,则暂时存储,流程结束。如果为1,表示需要响应,此时SCM要求电台进入发送状态。并设置定时器TmrEnb,周期检测电台是否发送就绪。

步骤3:当检测到短波电台发送就绪后,SCM构造响应报文,如果发现有分片的CRC校验失败或者序号丢失,则构建响应报文中的失败列表以包含该分片序号,然后将该响应报文经电台发送。设置TmrSnd等待发送结束。TmrSnd超时后,SCM控制短波电台进入接收状态。

4 总结

短波电台的特点是不利于较大文件数据传输的,本文介绍了一种技术方案,可以通过短波电台发送较大的文件数据,在一定程度上拓展了其应用范围。

参考文献

[1]《关于短波通信技术发展》,杨恒煜,《防护工程》2018年第16期。

[2]《浅谈短波在通信领域的发展以及应用》,岳慧平等,《科技创新导报》2012年第10期。