程亞維
(濟源職業(yè)技術(shù)學(xué)院,河南濟源,459000)
隨著現(xiàn)代通信速率和頻率越來越高,通信信息越來越廣泛,有效地消除干擾成為確保通信順利進行的重要保障,也成為物聯(lián)網(wǎng)通信領(lǐng)域一個非常重要的問題[1-3]。隨著頻譜資源的利用程度逐漸提高,其呈現(xiàn)出越來越擁擠的態(tài)勢,其之間的相互干擾作用也表現(xiàn)得越來越明顯,干擾后果也越來越嚴(yán)重[4]。大約在20 世紀(jì)50 年代中期開始,擴頻通信逐漸得到發(fā)展。在發(fā)展初期其主要應(yīng)用于軍事領(lǐng)域的通信系統(tǒng)中,用于抗干擾、協(xié)助制導(dǎo)、研發(fā)抗多徑[5-6]。隨著交流平臺的發(fā)展,其擴展程序逐漸成熟,其中微信小程序以其操作簡單、運行輕量、易于實現(xiàn),以及其基于發(fā)布/訂閱的消息轉(zhuǎn)發(fā)模型等優(yōu)點,成為物聯(lián)網(wǎng)系統(tǒng)中潛在的標(biāo)準(zhǔn)通信[7]。
基于此,本文提出基于微信小程序的擴頻通信物聯(lián)網(wǎng)系統(tǒng)開發(fā)研究。分別從硬件和軟件兩個方面對系統(tǒng)進行設(shè)計研究,并通過仿真分析驗證了所提方法的有效性。
根據(jù)硬件原理需求設(shè)計的電路實物如圖1 所示。由圖1可知,此次設(shè)計的擴頻通信物聯(lián)網(wǎng)系統(tǒng)主要由電源模塊、控制模塊、通信模塊和外圍模塊等組成,可以看出相對于傳統(tǒng)設(shè)備開發(fā),只需要增加一個Wi-Fi 通信模塊即可讓該設(shè)備具有連接到Wi-Fi 網(wǎng)絡(luò)的能力,而借助聯(lián)網(wǎng)能力便于實現(xiàn)更多控制方式,并且目前各類成熟的Wi-Fi 模塊和其配套開發(fā)工具又使該過程變得更為高效。為此,本文主要設(shè)計Wi-Fi 模塊和微控制器。
圖1 硬件原理結(jié)構(gòu)圖
本文在對系統(tǒng)的Wi-Fi 模塊進行設(shè)計時,主要需要考慮了數(shù)據(jù)傳輸速率、傳輸距離和發(fā)射功率三方面的因素,最終選用上海慶科推出的EMW1062 低功耗嵌入式Wi-Fi 模塊。其功能實現(xiàn)的主要技術(shù)是直接序列擴頻以及OFDM/CCK 技術(shù),通過對無線通信信道進行調(diào)制,解調(diào)其由于干擾引起的通信異常問題,其應(yīng)用的主要協(xié)議是2.4GHz IEEE802.11b/g/n,并具有功率放大器和電源管理單元,為了實現(xiàn)多元化設(shè)備的有效使用,設(shè)置有SDIO2.0/SPI 通訊接口,供電方式為3.3V 單電源供電。
在無線局域網(wǎng)使用方面,其完全符合IEEE802.11b/g/n 標(biāo)準(zhǔn),在801.41b 條件下,最大數(shù)據(jù)傳輸速率可達(dá)到10Mbps;在801.41g 條件下,最大數(shù)據(jù)傳輸速率可達(dá)到49Mbps。在此基礎(chǔ)上,本文選擇SDIO 通信接口,通過其完成Wi-Fi 模塊與微控制器之間的連接,實現(xiàn)對高數(shù)據(jù)吞吐量的適配。
作為擴頻通信物聯(lián)網(wǎng)系統(tǒng)的核心硬件,微控制器是決定系統(tǒng)運行效率以及通信系統(tǒng)造成運行的關(guān)鍵。對于微控制器的選型,本文主要從芯片的存儲資源、外設(shè)資源以及處理速度三個方面進行考慮。首先,由于實現(xiàn)終端設(shè)備接入,以及網(wǎng)絡(luò)通信時的嵌入系統(tǒng)和TCP/IP 協(xié)議,其需要具有實現(xiàn)HTTP 客戶端、微信小程序客戶端以及Wi-Fi 模塊驅(qū)動能力,此過程需要500KB 左右的FLASH 存儲空間和200KB 的RAM 空間;其次,為了能夠與Wi-Fi 模塊實現(xiàn)聯(lián)通,微控制器需具有SDIO 接口。除此之外,作為擴頻通信物聯(lián)網(wǎng)系統(tǒng)中的一個通用設(shè)備,其需具備包括USART、USB、CAN 在內(nèi)的必要外設(shè)裝置;同時,為了確保實時穩(wěn)定通信的順利進行,微控制器在運算速度和處理速度上要具有較高的效率?;谏鲜隹紤],本文采用了ST 公司的STM32F429VIT6 微控制器作為系統(tǒng)的微控制器設(shè)備,其運行基礎(chǔ)是Cortex-M4內(nèi)核芯片,在通信物聯(lián)網(wǎng)系統(tǒng)中運行時,具有較高的可靠性。在引腳分布方面,其具有更少的引腳,因此在功率消耗方面始終穩(wěn)定在較低水平,對于MCU 的低成本運行要求具有較高的適配性;同時,在計算能力方面,其可以實現(xiàn)對通信數(shù)據(jù)的高速計算,代碼效率表現(xiàn)優(yōu)異,并具備先進的中斷響應(yīng)機制;性能有效運行空間僅為8 位和16 位。STM32F429VIT6 最高工作頻率可達(dá)180MHz,浮點運算單元和DSP 指令可在其中同時運行,可以在高速通信模式下實現(xiàn)對系統(tǒng)的任務(wù)管理與調(diào)度,確保終端設(shè)備通信的實時性;其自帶的2048KB 的FLASH 程序存儲區(qū)可以為常需提供充足內(nèi)存,256KB 的靜態(tài)隨機存儲區(qū)能夠滿足系統(tǒng)運行時產(chǎn)生的數(shù)據(jù)信息的緩存需求。
為實現(xiàn)微信小程序協(xié)議的通信服務(wù)機制,微信小程序客戶端服務(wù)程序與微控制器建立連接,根據(jù)應(yīng)用程序的需求捕獲擴頻碼,當(dāng)接收到STM32F429VIT6 推送的消息時,進行初步處理后再將消息發(fā)送給相應(yīng)的應(yīng)用程序進行處理。微信小程序客戶端服務(wù)程序還可以接收應(yīng)用程序的消息發(fā)送請求,以微信小程序消息格式對應(yīng)用數(shù)據(jù)封裝后將消息發(fā)送給微信小程序STM32F429VIT6,再由STM32F429VIT6 轉(zhuǎn)發(fā)至其他客戶端,其主要運行機制如圖2 所示。
圖2 運行機制示意圖
微控制器接收到請求后,在實現(xiàn)擴頻通信前,首先要對擴頻信道進行采集。針對此,本文采用串行搜索捕獲技術(shù),對擴頻信道進行捕獲。通過對信道在一個擴頻碼周期內(nèi)進行自相關(guān)運算,判斷其是否滿足通信系統(tǒng)擴頻傳輸需求。
在一個擴頻碼周期內(nèi),將接收的擴頻信號與本地產(chǎn)生的擴頻碼序列進行自相關(guān)運算。若積分器的輸出信號幅度很小,說明本地擴頻碼序列與接收的擴頻碼序列尚未同步,則通過控制本地擴頻碼發(fā)生器將其相位移動1/2 個碼片;若積分器出現(xiàn)峰值并大于預(yù)設(shè)的閾值,捕獲成功。設(shè)擴頻碼序列長度為N,碼元寬度為T,則擴頻碼序列的周期為Tc。若本地擴頻碼相位一開始就與接收的擴頻碼序列相同,只經(jīng)過一次自相關(guān)運算就能完成捕獲,而不需要擴頻碼產(chǎn)生器再改變本地擴頻碼的相位。那么串行搜索捕獲法所需的最小同步時間為式(1)。
當(dāng)捕獲的擴頻碼出現(xiàn)各種相位狀態(tài)的幾率相同,串行搜索捕獲法所需的平均捕獲時間。在啟動捕獲后,系統(tǒng)首先獲取微信小程序微控制器的連接信息,嘗試與微信小程序代理微控制器建立連接,處理連接請求的交互數(shù)據(jù),對信道捕獲時間進行處理響應(yīng)。當(dāng)捕獲時間突然中斷時,則認(rèn)為該區(qū)域內(nèi)的捕獲不具有實際意義。若每隔一段時間捕獲周期出現(xiàn)了大幅度上升,則認(rèn)為在該區(qū)域的捕獲嘗試的次數(shù)到達(dá)設(shè)定的閾值,不再進行信道捕獲行為,其可以表示為式(2)。
式中,Δf、Δδ分別為捕獲信道的頻偏和相偏,ΔfTc為歸一化頻偏,A為高斯白噪聲。根據(jù)式(2)的計算結(jié)果捕獲擴頻信道。
對于捕獲的通信信道,會存在部分波載頻率不統(tǒng)一的情況,因此不可直接作為通信系統(tǒng)的擴頻信道利用,基于此本文對捕獲信道進行同步處理,以此提高信道的可利用率,改善通信信息的同步效果。
當(dāng)捕獲的擴頻碼序列載波頻率的不一致,將序列位置第k 個符號間隔內(nèi)異常信道進行同步處理,如式(3):
式中,n 為高斯白噪聲過程參數(shù)。
若序列滿足Tc=minT,則有。式中,表示為高斯白噪聲過程最佳參數(shù)。
通過上述方式提高捕獲信道的可利用率,通過增加可用傳輸信道數(shù)量,提高系統(tǒng)通信的同步效果。
在完成對擴頻信道的歸一化處理后,即可將其作為系統(tǒng)的通信信道進行信息傳輸。根據(jù)信號發(fā)出端提供的PUBLISH 消息,對其進行進一步的處理。確認(rèn)接收通信任務(wù)有效后,通過微信小程序通信服務(wù)建立通信連接,微控制器接收發(fā)送請求主動發(fā)送數(shù)據(jù)到客戶端。其實現(xiàn)流程包括以下主要步驟:
步驟1:根據(jù)設(shè)備驗證過程獲取的微信小程序的IP 地址和端口號與代理微控制器建立TCP 連接;
步驟2:根據(jù)設(shè)備驗證過程獲取的Username、Password和設(shè)備的ClientID、?;顣r間等向微信小程序代理微控制器發(fā)送一個通信消息流,與其建立一個協(xié)議級別的會話;
步驟3:當(dāng)微信小程序連接成功后,每個客戶端根據(jù)設(shè)備驗證過程中的信號向STM32F429VIT6 發(fā)出請求,以完成后續(xù)的通信;
步驟4:客戶端和微控制器連接成功并且擴頻碼捕捉完成后,每個客戶端就可以根據(jù)波載同步結(jié)果,實現(xiàn)和其它客戶端的通信;
步驟5:客戶端和STM32F429VIT6 連接成功后,接收應(yīng)用程序的消息發(fā)送請求,以微信小程序格式打包用戶數(shù)據(jù)發(fā)送給代理微控制器,微控制器根據(jù)內(nèi)容將消息推送給其他相應(yīng)的客戶端。
為了測試本文設(shè)計系統(tǒng)的性能進行了仿真測試。
仿真平臺為simulink,具體的仿真參數(shù)如表1 所示。
表1 系統(tǒng)仿真參數(shù)
在發(fā)送端向接收端發(fā)送具有突發(fā)幀信源數(shù)據(jù),以256bit 的數(shù)據(jù)為一個基本單位,在其中添加10 個訓(xùn)練序列并進行封裝,以此作為新源數(shù)據(jù)中的突發(fā)幀并將其進行映射處理。本文采用BPSK 方法獲得映射結(jié)果后,運用長度為489 的擴頻碼進行擴頻處理,用30MHz 的載波對擴頻后的信源數(shù)據(jù)進行調(diào)制,在此基礎(chǔ)上進行5 倍上采樣,經(jīng)過成形濾波器后,在帶寬范圍為45MHz 內(nèi)信道上進行傳輸。
接收端接收到信號后,先對其進行載波解調(diào),通過低通濾波器濾除掉高頻信號。載波解調(diào)完成后,數(shù)據(jù)在進入接收端的過程中需要進行擴頻傳輸,以此實現(xiàn)通信的高度同步。此時,系統(tǒng)進行擴頻碼捕獲、信道同步。其中擴頻碼捕獲以每246 個連續(xù)的輸入數(shù)據(jù)為一個基本單位,進行一次自相關(guān)運算,其結(jié)果輸出如圖3 所示。
圖3 擴頻碼捕獲模塊相關(guān)值
由圖可知,每當(dāng)擴頻信號與本地濾波器的系數(shù)相位對齊時,自相關(guān)值會產(chǎn)生一個峰值,即每246 個自相關(guān)值累加會出現(xiàn)一個峰值,但由于白噪聲干擾較大,其旁瓣值也較高,嚴(yán)重影響了同步性能,因此將自相關(guān)值進行同步處理。當(dāng)序列數(shù)據(jù)自相關(guān)值與本地產(chǎn)生的訓(xùn)練序列數(shù)據(jù)對齊時,擴頻碼捕獲和幀同步同時完成。該峰值明顯遠(yuǎn)高于其他旁瓣,提高了同步性能。
面對著通信需求的大幅提高,建立有效的擴頻通信物聯(lián)網(wǎng)系統(tǒng)是實現(xiàn)即時通信的重要手段。在互聯(lián)網(wǎng)快速發(fā)展的時代下,如何合理地運用時代產(chǎn)物,為通信物聯(lián)網(wǎng)系統(tǒng)的構(gòu)建提供更好的環(huán)境,是一種切實可行的方式。本文提出基于微信小程序的擴頻通信物聯(lián)網(wǎng)系統(tǒng)開發(fā)研究,實現(xiàn)了對通信過程中噪聲干擾的有效過濾,具有較高的通信性能。通過該研究,以期為通信物聯(lián)網(wǎng)的設(shè)計提供有價值的參考,為通信領(lǐng)域的良好發(fā)展提供幫助。