一種基于北斗的低功耗雙向非實時通信方法
【技術領域】
[0001]本發明涉及一種基于北斗的低功耗雙向非實時通信方法,屬于北斗系統通信技術領域。
【背景技術】
[0002]北斗衛星系統具備的短報文通信功能在水文、氣象、海洋、林業領域的遙測系統已經廣泛應用。但鑒于目前北斗通訊終端的功耗較大,發信頻度受限的問題,這些遙測系統在應用北斗衛星作為數據傳輸載體時,一般只實現了野外遙測站向數據采集中心站的單向傳輸功能,缺少中心站向遙測站的下行訪問功能。系統的運行管理人員無法通過中心站對野外遙測裝置進行數據查詢、修改運行參數、檢查設備工作狀態等操作,系統的可維護性低。
[0003]相比現有的單向傳輸機制,本發明提出的基于北斗的雙向非實時通信遙測方法,在設備整體功耗增加很少的前提下,實現了野外遙測站和數據采集中心站的雙向通信;并且本通信方法中包含的編碼方法,能夠最大限度利用報文空間,實現盡可能多的信息的可靠傳輸。在基于北斗通信的遙測系統中應用本方法能夠有效提高系統的數據傳輸效率和可維護性。
[0004]北斗衛星系統不僅具有授時、導航功能,同時具有傳送短報文的通信功能,這是其他衛星導航系統所沒有的獨特功能。北斗衛星短報文通信在水文、氣象、海洋、林業等自動化遙測系統中已經廣泛應用。
[0005]這些遙測系統有大量的遙測站安裝在偏遠無人地區,沒有移動通信信號覆蓋,因此在這些地方,衛星成為唯一可供選擇的可靠通信方式。而北斗相比其它衛星通信方式,具有費用低、實時性好的特點,成為近年來各領域幾乎所有遙測系統的首選衛星通信方式。
[0006]偏遠無人地區很少有交流供電條件,因此安裝在這些地區的遙測設備一般采用蓄電池和太陽能供電,由于交通條件所限及運輸成本方面的因素,設備所配備的蓄電池、太陽能電池的容量有限,為保證設備在無日照環境下工作盡可能長的時間,設備的整體運行功耗應盡可能低。但目前北斗終端的值守功耗普遍超過10W,對于遙測站電源系統是一個巨大的負擔。
[0007]為了節省功耗,目前大多數基于北斗通信的遙測站的工作流程,如圖1所示:平時遙測站處于休眠狀態,北斗通信終端的電源也處于關閉狀態。當采集數據的定時時刻到達后,遙測站從休眠狀態進入到工作狀態,發起數據采集,完成采集后,打開北斗通信終端電源,將采集的數據按照一定的格式編碼后發送給數據中心站,發送完成后關閉通信終端的電源,設備再次休眠狀態等待下一次采集時刻到達。在這種工作機制下,只有遙測站主動向數據中心站發送采集的數據,而中心站不向遙測站發送指令。這種單向通信的機制雖然可以最大限度的節省遙測站整體功耗,但是缺少了中心站向遙測站的通訊功能,無法讓系統的運行管理人員對遙測站的工作狀況與運行參數進行全面管控。
[0008]另一種基于北斗的雙向通信實現方案,簡稱時間窗口方案。在該方案中,為了實現雙向的通信功能,采用了如圖2所示的工作流程:遙測站每天在一個或幾個固定的時刻,打開北斗通信終端的電源,使終端進入值守狀態,這時系統的運行管理人員就可以通過中心站給遙測站下達指令。在設定的值守超時后,遙測站關閉北斗通信終端電源。這種機制相對單向通信的機制,雖然設備功耗上有所增加,但至少在特定的時間段內為系統的運行管理人員提供了遠程訪問遙測站的功能。
[0009]在特定時間窗口內提供中心站遠程訪問遙測站功能的方案,主要還存在以下不足:
1、當需要從中心站對遙測站下發指令時,要求運行管理人員在窗口時間內進行操作,錯過本次窗口時間,只能等待下一次窗口時間。一般來說,大部分采用蓄電池和太陽能供電的遙測站為了節省功耗,可供操作的窗口時間都比較短,如果中心站和遙測站的時間不同步,很有可能導致操作錯過窗口時間,遙測站無法接收到中心站下發的指令。
[0010]2、空閑狀態下的功耗損耗較大。在系統運行的大部分時間內,可能中心站不需要對遙測站下發操作指令,但為了滿足雙向通信功能,遙測站需要在固定的時間窗內使北斗通信終端處于值守狀態,即使在這個時間窗內無任何指令從中心站下發。一次時間窗內的值守功耗幾乎相當于遙測站一天功耗的95%左右。
[0011]3、時間窗口方案實現北斗雙向通信的遙測系統基本使用單指令報文,即每條報文只能包含I條操作指令,當中心站需要向遙測站下達多個不同的指令操作時,需要生成多條指令分別下發。而民用的北斗衛星終端的發信頻度是受限的(60s—次),因此在I個時間窗內,下發報文的次數也是有限的。如果下發的指令數超出了時間窗可容納的指令數,就需要運行管理人員在下一個時間窗內進行操作。
【發明內容】
[0012]目的:為了克服現有技術中存在的不足,本發明提供一種基于北斗的低功耗雙向非實時通信方法。
[0013]技術方案:為解決上述技術問題,本發明采用的技術方案為:
一種基于北斗的低功耗雙向非實時通信方法,包括步驟如下:
步驟一:中心站的數據采集程序中,為下轄的每一個遙測站設置一個命令緩存隊列,用來緩存系統的運行管理人員下發的針對遙測站的操作指令,數據采集程序在任何時候都能接收系統的運行管理人員下發的操作指令,但并不立即通過北斗發送出去,而是緩存在命令緩存隊列中,存放格式采用多指令組包方法;
步驟二:遙測站進行數據采集并通過自身的北斗通信終端向中心站發送數據后,并不立即關閉北斗通信終端電源,而是等待小于等于5秒時間,如果在5秒時間內沒有收到中心站下發的報文,遙測站關閉北斗通信終端電源,進入休眠狀態;否則進入下一步驟;
步驟三:中心站在接收到遙測站發送的數據后,立即檢查命令緩存隊列中是否緩存了針對遙測站的操作指令,若有則將所有緩存的操作指令按照分包組包方法進行封裝,報文封裝完畢后立即將第一包報文下發給遙測站;如果報文有多包,下一包的發送時間需要和上一包的發送時間間隔大于北斗允許的發信頻度60秒;數據采集程序將所有分包的報文發送完畢后,當前的命令緩存隊列仍然保留,不清空;
步驟四:遙測站接收到中心站下發的報文后,首先對報文的第一個字節進行解碼,根據總包數判斷是否有分包,若有則將報文后面的105字節進行緩存,同時繼續等待下一包報文;當所有報文收齊并重新組包后,遙測站對報文進行解析處理;如果遙測站在接收過程中發現當前包序號和上一個包序號不連續,說明北斗傳輸過程中產生了丟包,遙測站立即放棄接收,關閉北斗通信終端電源,進入休眠狀態;
步驟五:遙測站對報文進行解析,執行操作指令,然后將指令響應結果按照多指令組包方法緩存在命令響應隊列中,遙測站在生成命令響應隊列后并不立即發送,而是關閉北斗通信終端電源,進入休眠狀態;
步驟六:在下一次遙測站采集發信時刻到來時,遙測站需要檢查命令響應隊列中是否緩存了針對中心站操作指令的響應,若有則將緩存的數據添加到待發的采集數據的末尾,然后對整個數據包按照分包組包方法進行封裝,完成后將封裝的報文發送給中心站,然后按照步驟二所述進行;
步驟七:中心站收到遙測站發送的報文后,檢查報文中是否有指令響應,若有則檢查指令響應的序號在命令緩存隊列是否存在,如果命令緩存隊列中有相同序號的操作指令,則將該操作指令從命令緩存隊列中清除。然后按照步驟三所述進行。
[0014]所述多指令組包方法將操作指令按如下格式進行編碼:
〈指令碼I長度>〈指令碼I序號>〈指令碼內容>.....〈指令碼η長度X指令碼η序號X指令碼η內容〉;
其中指令碼長度占用I字節空間,具體數值等于指令碼序號和指令碼內容占用的總的字節數。指令碼序號占用I字節空間,每生成一條指令,指令序號累加I,序號數值從1-255循環,序號O用于遙測站采集數據指令,1-255用于中心站的下行指令,每條指令對應的指令序號唯一。
[0015]所述分包組包方法,包括步驟如下:
步驟一:每條報文包括第I個字節作為分包標志和105字節的內容,其中分包標志BitO-Bit3為分包總數,為當前包序號;使用4位二進制數表示的分包總數,最大值為15ο
[0016]步驟二:如果報文的長度超過了105字節,則由多個分包組成封裝,每個分包由第I個字節分包標志和不大于105字節的內容組成。
[0017]考慮到最大的分包總數有限制,因此命令隊列的長度也有限制,最大長度不超過1575字節。
[0018]有益效果:本發明提供的一種基于北斗的低功耗雙向非實時通信方法,有益效果如下:
1、相比現有的時間窗口技術方案,本發明提出的通信方法使遙測站僅在自報采集數據后很短時間內處于值守狀態,因此大幅降低了遙測站空閑狀態下的功耗損失。
[0019]2、相比現有的時間窗口技術方案可能因中心站和遙測站時間不同步,導致遙測站無法接收到中心站下發的指令,本發明提出的通信方法使中心站下發指令不依賴于絕對時間,而僅由收到遙測站自報數據的動作觸發,因此即使中心站和遙測站時間不同步,也能順利完成指令下發與接收。
[0020]3、相比現有的時間窗口技術方案需要運行管理人員在特定窗口時間才能對遙測站下發指令,本發明提出的指令緩存方法支持運行管理人員在任何時刻輸入對遙測站的操作指令,有效提高了系統的可維護性。
[0021]4、相比傳統的單指令編碼,本發明提出的多指令組包方法,有效提高了單條北斗報文的信息攜帶量,降低了全部信息傳輸所需的時間,從而降低了遙測站整體功耗。
[0022]5、相比傳統的基于北斗的編碼方法只能傳輸不大于106字節的報文,本發明提出的分包組包方法,實現了長報文的可靠傳輸,從而可以傳輸更多的信息。
[0023]6、相比時間窗口技術方案,在基于北斗通信的遙測系統中應用本發明提出的方法,在實現雙向通信功能的前提下,可以大幅降低遙測站設備因空閑狀態值守造成的功耗損失,提高報文的有效信息攜帶量,并且支持系統的運行管理人員在任意時間對遙測站進行指令操作,提高了系統的可維護性。
【附圖說明】
[0024]圖1為北斗單向傳輸機制的遙測站工作流程圖;
圖2為時間窗口方案的遙測站工作流程圖;
圖3為本發明遙測站工作流程圖;
圖4為本發明中心站工作流程圖;
圖5為分包標志字節位定義。
【具體實施方式】
[0025]下面結合附圖對本發明作更進一步的說明。
[0026]如圖3、4所示,一種基于北斗的低功耗雙向非實時通信方法,包括如下步驟:
步驟一