趙大偉


摘要:短波電臺適用于對帶寬要求不高的語音通信,一般不會用于進行數據量較大的文件傳輸。本文提出了一種基于短波電臺的可靠的文件傳輸方式,可以通過短波電臺進行較大文件的傳輸,擴展了短波電臺的應用范圍。
關鍵詞:短波電臺 短波通信 文件傳輸
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期。