程亞維
(濟源職業技術學院,河南濟源,459000)
隨著現代通信速率和頻率越來越高,通信信息越來越廣泛,有效地消除干擾成為確保通信順利進行的重要保障,也成為物聯網通信領域一個非常重要的問題[1-3]。隨著頻譜資源的利用程度逐漸提高,其呈現出越來越擁擠的態勢,其之間的相互干擾作用也表現得越來越明顯,干擾后果也越來越嚴重[4]。大約在20 世紀50 年代中期開始,擴頻通信逐漸得到發展。在發展初期其主要應用于軍事領域的通信系統中,用于抗干擾、協助制導、研發抗多徑[5-6]。隨著交流平臺的發展,其擴展程序逐漸成熟,其中微信小程序以其操作簡單、運行輕量、易于實現,以及其基于發布/訂閱的消息轉發模型等優點,成為物聯網系統中潛在的標準通信[7]。
基于此,本文提出基于微信小程序的擴頻通信物聯網系統開發研究。分別從硬件和軟件兩個方面對系統進行設計研究,并通過仿真分析驗證了所提方法的有效性。
根據硬件原理需求設計的電路實物如圖1 所示。由圖1可知,此次設計的擴頻通信物聯網系統主要由電源模塊、控制模塊、通信模塊和外圍模塊等組成,可以看出相對于傳統設備開發,只需要增加一個Wi-Fi 通信模塊即可讓該設備具有連接到Wi-Fi 網絡的能力,而借助聯網能力便于實現更多控制方式,并且目前各類成熟的Wi-Fi 模塊和其配套開發工具又使該過程變得更為高效。為此,本文主要設計Wi-Fi 模塊和微控制器。

圖1 硬件原理結構圖
本文在對系統的Wi-Fi 模塊進行設計時,主要需要考慮了數據傳輸速率、傳輸距離和發射功率三方面的因素,最終選用上海慶科推出的EMW1062 低功耗嵌入式Wi-Fi 模塊。其功能實現的主要技術是直接序列擴頻以及OFDM/CCK 技術,通過對無線通信信道進行調制,解調其由于干擾引起的通信異常問題,其應用的主要協議是2.4GHz IEEE802.11b/g/n,并具有功率放大器和電源管理單元,為了實現多元化設備的有效使用,設置有SDIO2.0/SPI 通訊接口,供電方式為3.3V 單電源供電。
在無線局域網使用方面,其完全符合IEEE802.11b/g/n 標準,在801.41b 條件下,最大數據傳輸速率可達到10Mbps;在801.41g 條件下,最大數據傳輸速率可達到49Mbps。在此基礎上,本文選擇SDIO 通信接口,通過其完成Wi-Fi 模塊與微控制器之間的連接,實現對高數據吞吐量的適配。
作為擴頻通信物聯網系統的核心硬件,微控制器是決定系統運行效率以及通信系統造成運行的關鍵。對于微控制器的選型,本文主要從芯片的存儲資源、外設資源以及處理速度三個方面進行考慮。首先,由于實現終端設備接入,以及網絡通信時的嵌入系統和TCP/IP 協議,其需要具有實現HTTP 客戶端、微信小程序客戶端以及Wi-Fi 模塊驅動能力,此過程需要500KB 左右的FLASH 存儲空間和200KB 的RAM 空間;其次,為了能夠與Wi-Fi 模塊實現聯通,微控制器需具有SDIO 接口。除此之外,作為擴頻通信物聯網系統中的一個通用設備,其需具備包括USART、USB、CAN 在內的必要外設裝置;同時,為了確保實時穩定通信的順利進行,微控制器在運算速度和處理速度上要具有較高的效率。基于上述考慮,本文采用了ST 公司的STM32F429VIT6 微控制器作為系統的微控制器設備,其運行基礎是Cortex-M4內核芯片,在通信物聯網系統中運行時,具有較高的可靠性。在引腳分布方面,其具有更少的引腳,因此在功率消耗方面始終穩定在較低水平,對于MCU 的低成本運行要求具有較高的適配性;同時,在計算能力方面,其可以實現對通信數據的高速計算,代碼效率表現優異,并具備先進的中斷響應機制;性能有效運行空間僅為8 位和16 位。STM32F429VIT6 最高工作頻率可達180MHz,浮點運算單元和DSP 指令可在其中同時運行,可以在高速通信模式下實現對系統的任務管理與調度,確保終端設備通信的實時性;其自帶的2048KB 的FLASH 程序存儲區可以為常需提供充足內存,256KB 的靜態隨機存儲區能夠滿足系統運行時產生的數據信息的緩存需求。
為實現微信小程序協議的通信服務機制,微信小程序客戶端服務程序與微控制器建立連接,根據應用程序的需求捕獲擴頻碼,當接收到STM32F429VIT6 推送的消息時,進行初步處理后再將消息發送給相應的應用程序進行處理。微信小程序客戶端服務程序還可以接收應用程序的消息發送請求,以微信小程序消息格式對應用數據封裝后將消息發送給微信小程序STM32F429VIT6,再由STM32F429VIT6 轉發至其他客戶端,其主要運行機制如圖2 所示。

圖2 運行機制示意圖
微控制器接收到請求后,在實現擴頻通信前,首先要對擴頻信道進行采集。針對此,本文采用串行搜索捕獲技術,對擴頻信道進行捕獲。通過對信道在一個擴頻碼周期內進行自相關運算,判斷其是否滿足通信系統擴頻傳輸需求。
在一個擴頻碼周期內,將接收的擴頻信號與本地產生的擴頻碼序列進行自相關運算。若積分器的輸出信號幅度很小,說明本地擴頻碼序列與接收的擴頻碼序列尚未同步,則通過控制本地擴頻碼發生器將其相位移動1/2 個碼片;若積分器出現峰值并大于預設的閾值,捕獲成功。設擴頻碼序列長度為N,碼元寬度為T,則擴頻碼序列的周期為Tc。若本地擴頻碼相位一開始就與接收的擴頻碼序列相同,只經過一次自相關運算就能完成捕獲,而不需要擴頻碼產生器再改變本地擴頻碼的相位。那么串行搜索捕獲法所需的最小同步時間為式(1)。

當捕獲的擴頻碼出現各種相位狀態的幾率相同,串行搜索捕獲法所需的平均捕獲時間。在啟動捕獲后,系統首先獲取微信小程序微控制器的連接信息,嘗試與微信小程序代理微控制器建立連接,處理連接請求的交互數據,對信道捕獲時間進行處理響應。當捕獲時間突然中斷時,則認為該區域內的捕獲不具有實際意義。若每隔一段時間捕獲周期出現了大幅度上升,則認為在該區域的捕獲嘗試的次數到達設定的閾值,不再進行信道捕獲行為,其可以表示為式(2)。

式中,Δf、Δδ分別為捕獲信道的頻偏和相偏,ΔfTc為歸一化頻偏,A為高斯白噪聲。根據式(2)的計算結果捕獲擴頻信道。
對于捕獲的通信信道,會存在部分波載頻率不統一的情況,因此不可直接作為通信系統的擴頻信道利用,基于此本文對捕獲信道進行同步處理,以此提高信道的可利用率,改善通信信息的同步效果。
當捕獲的擴頻碼序列載波頻率的不一致,將序列位置第k 個符號間隔內異常信道進行同步處理,如式(3):

式中,n 為高斯白噪聲過程參數。
若序列滿足Tc=minT,則有。式中,表示為高斯白噪聲過程最佳參數。
通過上述方式提高捕獲信道的可利用率,通過增加可用傳輸信道數量,提高系統通信的同步效果。
在完成對擴頻信道的歸一化處理后,即可將其作為系統的通信信道進行信息傳輸。根據信號發出端提供的PUBLISH 消息,對其進行進一步的處理。確認接收通信任務有效后,通過微信小程序通信服務建立通信連接,微控制器接收發送請求主動發送數據到客戶端。其實現流程包括以下主要步驟:
步驟1:根據設備驗證過程獲取的微信小程序的IP 地址和端口號與代理微控制器建立TCP 連接;
步驟2:根據設備驗證過程獲取的Username、Password和設備的ClientID、保活時間等向微信小程序代理微控制器發送一個通信消息流,與其建立一個協議級別的會話;
步驟3:當微信小程序連接成功后,每個客戶端根據設備驗證過程中的信號向STM32F429VIT6 發出請求,以完成后續的通信;
步驟4:客戶端和微控制器連接成功并且擴頻碼捕捉完成后,每個客戶端就可以根據波載同步結果,實現和其它客戶端的通信;
步驟5:客戶端和STM32F429VIT6 連接成功后,接收應用程序的消息發送請求,以微信小程序格式打包用戶數據發送給代理微控制器,微控制器根據內容將消息推送給其他相應的客戶端。
為了測試本文設計系統的性能進行了仿真測試。
仿真平臺為simulink,具體的仿真參數如表1 所示。

表1 系統仿真參數
在發送端向接收端發送具有突發幀信源數據,以256bit 的數據為一個基本單位,在其中添加10 個訓練序列并進行封裝,以此作為新源數據中的突發幀并將其進行映射處理。本文采用BPSK 方法獲得映射結果后,運用長度為489 的擴頻碼進行擴頻處理,用30MHz 的載波對擴頻后的信源數據進行調制,在此基礎上進行5 倍上采樣,經過成形濾波器后,在帶寬范圍為45MHz 內信道上進行傳輸。
接收端接收到信號后,先對其進行載波解調,通過低通濾波器濾除掉高頻信號。載波解調完成后,數據在進入接收端的過程中需要進行擴頻傳輸,以此實現通信的高度同步。此時,系統進行擴頻碼捕獲、信道同步。其中擴頻碼捕獲以每246 個連續的輸入數據為一個基本單位,進行一次自相關運算,其結果輸出如圖3 所示。

圖3 擴頻碼捕獲模塊相關值
由圖可知,每當擴頻信號與本地濾波器的系數相位對齊時,自相關值會產生一個峰值,即每246 個自相關值累加會出現一個峰值,但由于白噪聲干擾較大,其旁瓣值也較高,嚴重影響了同步性能,因此將自相關值進行同步處理。當序列數據自相關值與本地產生的訓練序列數據對齊時,擴頻碼捕獲和幀同步同時完成。該峰值明顯遠高于其他旁瓣,提高了同步性能。
面對著通信需求的大幅提高,建立有效的擴頻通信物聯網系統是實現即時通信的重要手段。在互聯網快速發展的時代下,如何合理地運用時代產物,為通信物聯網系統的構建提供更好的環境,是一種切實可行的方式。本文提出基于微信小程序的擴頻通信物聯網系統開發研究,實現了對通信過程中噪聲干擾的有效過濾,具有較高的通信性能。通過該研究,以期為通信物聯網的設計提供有價值的參考,為通信領域的良好發展提供幫助。