朱景波,高天德,張博強
(西北工業(yè)大學 航海學院,西安 710072)
海洋中蘊藏著豐富的油氣、礦產(chǎn)和生物基因等資源,而且在維護國家領土安全、預防自然災害等方面有著舉足輕重的地位。隨著人類探索范圍的不斷擴大,針對海洋的科學研究越來越多。研究人員通常需要在海洋中布放各種傳感器網(wǎng)絡,對海洋中的水文信息、環(huán)境信息等進行實時監(jiān)測[1]。為了提升海洋觀測系統(tǒng)的靈活性,傳感器節(jié)點通常是獨立密封的,因此水下無線通信技術在海洋觀測系統(tǒng)中的應用越來越廣泛。
現(xiàn)有的水下無線通信系統(tǒng)通常以聲波或者藍綠激光作為傳輸媒介。這兩種信息載體在水中衰減較少,傳輸距離遠,可以實現(xiàn)遠距離通信[2]。在海洋觀測系統(tǒng)中,主機可以移動到傳感器附近進行信息收集,節(jié)點之間的通信一般發(fā)生在近場,聲學和激光通信方式的優(yōu)勢不能充分發(fā)揮。而且聲學通信系統(tǒng)一般功耗較大,且傳輸速率慢,信道復雜,實現(xiàn)算法難度大[3];激光通信系統(tǒng)具有很強的方向性,水質(zhì)和浮游生物等因素常常會影響通信效果,限制了應用范圍[4-5]。針對水下近距離無線通信的應用需求,設計了一種基于磁場耦合的半雙工無線通信模塊。信號通過準靜態(tài)磁場傳輸,不存在路徑傳輸損耗和多徑效應,能夠?qū)崿F(xiàn)穩(wěn)定、高速的無線通信[6-7]。
在海洋觀測系統(tǒng)中,傳感器節(jié)點長期布放于水中進行數(shù)據(jù)采集。當我們需要某個傳感器節(jié)點的數(shù)據(jù)時,可以下放一個遙控無人潛水器(ROV,remote operated vehicle)將數(shù)據(jù)回讀,進行實時顯示或存儲。ROV通過電纜與船上連接,由船上控制移動到傳感器節(jié)點附近,進行無線數(shù)據(jù)傳輸。ROV作為主機,通過轉(zhuǎn)發(fā)上位機指令發(fā)起通信,傳感器節(jié)點作為從機,收到指令后進行回復。
ROV和傳感器節(jié)點分別裝載磁感應無線通信模塊,兩者通過線圈在周圍空間產(chǎn)生的交變磁場進行信息的傳輸,點對點的通信模型如圖1所示。信號調(diào)制到載波頻率后,經(jīng)過驅(qū)動電路加載到線圈兩端。由于線圈上的電流是交變的,會在周圍空間產(chǎn)生交變的磁場,與此同時,接收端線圈位于交變的磁場中,會產(chǎn)生感應電流和感應電壓。接收線圈兩端的感應電壓經(jīng)過調(diào)理之后解調(diào)為基帶信號,從而完成信號的傳輸[8]。
圖1 磁感應點對點通信模型
為了保證通信效果,需要將基帶信號搬移到高頻信道進行傳輸?;镜恼{(diào)制方法有三種:幅移鍵控(ASK,amplitude shift keying)、頻移鍵控(FSK,frequency shift keying)、相移鍵控(PSK,phase shift keying)。ASK調(diào)制方式抗干擾能力較差,PSK調(diào)制方式抗干擾能力強,但是實現(xiàn)復雜,增加設計難度。FSK調(diào)制方式抗干擾能力相對較強,且實現(xiàn)方式簡單[9]。2FSK調(diào)制方式是用兩種載波頻率表示傳輸?shù)男畔ⅲ梢杂糜嫈?shù)器分頻產(chǎn)生兩種載波頻率,基帶信號電平變化時改變計數(shù)周期,從而實現(xiàn)2FSK調(diào)制。
主機和從機都包含調(diào)制發(fā)送和接收解調(diào)兩部分。不同的是主機通過轉(zhuǎn)發(fā)上位機指令發(fā)起通信,而從機大部分時間處于休眠狀態(tài),由主機喚醒并進行回復。本文主要介紹從機通信模塊的實現(xiàn)方案,通信模塊由主控、調(diào)制發(fā)送、接收解調(diào)和電源管理幾個部分構成。我們選用TI公司的低功耗系列單片機MSP430作為節(jié)點的控制中心,通過單片機內(nèi)部的定時器實現(xiàn)調(diào)制功能。接收到的信號經(jīng)過放大濾波處理,然后通過硬件解調(diào)電路轉(zhuǎn)換成串行信號,接入單片機的串口接收端。從機模塊在大部分時間處于休眠狀態(tài),由通信總線上的有效信號喚醒。調(diào)理電路是模塊的“看門電路”,遲滯比較器的作用是提高響應速度,過濾噪聲干擾。信號經(jīng)過遲滯比較器變成同頻率的方波,接入單片機的比較器輸入端,觸發(fā)單片機中斷。單片機程序中進行頻率檢測判斷信號的有效性,當通信總線上出現(xiàn)有效信號時,將從機喚醒。通信模塊整體如圖2所示。
圖2 通信模塊整體框圖
通信模塊的主控芯片選用低功耗微控制器MSP430F-5338。該芯片主時鐘可達到20 MHz,工作狀態(tài)下功耗為270 μA/MHz,休眠時功耗僅有1.1 μA。MSP430F5338內(nèi)部有4個16位定時器,配有多個捕獲寄存器和比較寄存器。定時器的輸出模塊支持7種輸出模式,改變計數(shù)周期就可以改變輸出信號的頻率,滿足信號調(diào)制的應用需求。該芯片集成兩個通用串行通信接口控制器,可以用于串行信號的發(fā)送和接收。串行信號高低電平變化時,載波頻率要隨之切換。我們可以通過外部中斷實現(xiàn)頻率控制,將串口發(fā)送信號接入外部中斷輸入引腳,當信號發(fā)生高低電平變化時,會觸發(fā)上升沿或下降沿中斷,這時我們修改定時器的計數(shù)值,改變輸出頻率。用外部中斷控制頻率變化,可以省去復雜的定時機制,同時保證調(diào)制信號的碼元寬度。單片機最小系統(tǒng)如圖3所示。
圖3 MSP430F5338最小系統(tǒng)框圖
調(diào)理電路的作用是將線圈兩端接入的微弱電壓信號放大,同時抑制帶外信號,提高信噪比。調(diào)理電路的頻率特性為帶通濾波器,通帶內(nèi)有一定的放大倍數(shù),且具有低噪聲、高輸入阻抗的特點。我們采用前置放大、高通濾波、低通濾波的電路結構實現(xiàn)信號調(diào)理。由于調(diào)理電路需要持續(xù)工作,因此對功耗有嚴格的要求。我們選用TI公司的低功耗運算放大器TLV9002,該芯片為雙通道運算放大器,每通道靜態(tài)功耗僅有60 μA。該芯片噪聲較低且價格低廉,適用于對成本敏感的設計。
前置放大電路要設置適當?shù)脑鲆?,以充分利用運放的增益帶寬積,起到抑制帶外噪聲的目的。同相放大電路具有較高的輸入阻抗,電路結構如圖4所示。
圖4 前置放大電路
信號通過交流耦合方式接入電路,調(diào)節(jié)R1、R3的阻值可以設置增益。我們在反饋電阻兩端并聯(lián)電容C1來限制電路的帶寬,抑制寬帶噪聲,截止頻率按下式計算:
(1)
其中:fc表示圖4中RC網(wǎng)絡的截止頻率。
濾波電路包括高通濾波和低通濾波兩部分。為了保證頻率響應的帶內(nèi)平坦度,我們選用巴特沃斯濾波器結構[10]。二階巴特沃斯濾波器可以實現(xiàn)每倍頻程12 dB的衰減,電路結構采用反相輸入單放大器雙二次節(jié)型(Neg SAB),通過單個運放即可實現(xiàn)二階濾波器結構,簡化電路設計。濾波器電路如圖5所示。
圖5 濾波電路
FSK解調(diào)可以通過軟件和硬件兩種方式實現(xiàn)。軟件解調(diào)方式功耗較低,但是需要生成同頻同相的本地載波,實現(xiàn)起來較為復雜。硬件解調(diào)方式一般通過鎖相環(huán)電路,實現(xiàn)方式簡單且誤碼率極低,缺點是電路功耗較大,需要單獨關斷。
我們采用硬件解調(diào)器XR2211實現(xiàn)信號解調(diào)。XR2211是一個專門為數(shù)字通信設計的單片鎖相環(huán)系統(tǒng),頻率范圍0.01 Hz~300 kHz。模擬輸入電壓的動態(tài)范圍從10 mV~3 V,解調(diào)信號開漏輸出,兼容多種電平標準。XR22111只需要設置幾個阻容就可以完成解調(diào)功能,電路原理如圖6所示。芯片采用5 V電源供電,由負載開關tps22860控制電源通斷。調(diào)制信號從2腳交流耦合輸入,芯片內(nèi)部將信號偏置到VCC/2。解調(diào)信號從7腳輸出,通過5.1 K電阻上拉到3.3 V,與單片機的IO電平兼容。調(diào)節(jié)R1和C1改變內(nèi)部振蕩器的頻率,使其等于兩個載波頻率的中心頻率,通過R4設置合理的帶寬,即可完成解調(diào)器配置。
圖6 XR2211電路原理圖
從機通信模塊應用于密封的水下系統(tǒng),只能采用電池供電,為了延長使用時間,我們需要對模塊的供電電路進行優(yōu)化設計。通信模塊的電源需求如表1所示。
表1 通信模塊電源需求
電路模塊按照工作模式分為兩種。對于間歇工作的電路模塊,供電電路要獨立分開,或串接負載開關,可以通過單片機控制,分時關斷其電源。對于持續(xù)工作的電路模塊,要選擇合適的供電方案,降低電源自身的耗散功率。常用的電源芯片分為開關穩(wěn)壓電源和線性穩(wěn)壓電源。開關電源效率很高,但是噪聲較大;線性電源噪聲低,但是自身消耗功率較大。主控和信號發(fā)送電路是數(shù)字電路,可以用開關電源供電;接收調(diào)理和解調(diào)電路是模擬電路,需要線性電源二次穩(wěn)壓以降低噪聲[11]。
對于開關穩(wěn)壓電源,我們要選用低靜態(tài)電流、高效率的芯片。由于電流需求較小,最大電流只有10 mA,我們選用ADI公司的開關電源芯片LT3990。該芯片最大可以輸出350 mA電流,輸入電壓可以達到62 V。該芯片在輕載時也可以達到較高的效率,輸出10 mA電流時,效率達到70%左右,遠高于其他電源芯片。線性穩(wěn)壓電源的效率取決于輸入和輸出的電壓差,在芯片選型時,除了要滿足噪聲要求,還要選擇低壓差的芯片。我們選用TI公司的線性穩(wěn)壓芯片TPS7A4701,該芯片在輸出1A電流時,壓降僅有307 mV,寬帶噪聲僅4.2 μVRMS,適用于低功耗模擬電路的供電。通信模塊的供電方案如圖7所示,輸入電壓12~48 V,主控和信號發(fā)送電路的電壓由兩片LT3990分別產(chǎn)生,調(diào)理電路的電源先由LT3990降壓到5.5 V,然后再用TPS7A4701穩(wěn)壓到5 V,解調(diào)電路與調(diào)理電路共用5 V電源,通過負載開關TPS22860控制通斷。
圖7 供電方案
模塊之間的通信是半雙工的,通信由主機發(fā)起,從機回復。每個從機有一個固定的序列號,主機根據(jù)序列號在通信總線上發(fā)起廣播,從機收到廣播后校驗序列號,如果與自己的序列號相同則在總線上發(fā)出回復信息。主從之間的通訊時序如圖8所示。主機下發(fā)命令都是固定長度,包含幀頭、從機序列號、詢問內(nèi)容編碼、校驗和等信息;從機收到指令后,延遲固定時間td進行回復,包含幀頭、幀長度、本機序列號、詢問內(nèi)容回應、校驗和等信息。
圖8 主從模塊通訊時序圖
主機發(fā)送的命令由上位機下發(fā),通信模塊起到信號轉(zhuǎn)發(fā)的作用。主機收到上位機的命令,將指令調(diào)制發(fā)出,收到從機回復后,將信息轉(zhuǎn)發(fā)給上位機。從機通信模塊大部分時間處于休眠狀態(tài),由通信總線上的信號喚醒。從機模塊喚醒后,打開解調(diào)電路和串口,開始接收命令。命令接收完畢后,進行指令解析和回復信息幀組裝,然后延遲固定時間將信號調(diào)制發(fā)出。為了避免從機通信模塊被錯誤觸發(fā),我們要對通信總線上的信號進行頻率判斷。軟件設計的關鍵部分在于信號調(diào)制和頻率檢測的實現(xiàn)。
為了區(qū)分主機信號和從機信號,需要將主機和從機的載波頻率區(qū)分開。主機下發(fā)的信號稱為下行信號,從機回復的信號稱為上行信號,其載波頻率如表2所示。
表2 通信載波頻率
我們使用單片機內(nèi)部的定時器TA0產(chǎn)生載波信號。TA0是一個16位定時器,帶有7個可配置的比較/捕獲寄存器TA0CCRx,且每個比較/捕獲模塊都帶有輸出單元。我們把定時器的工作模式配置為遞增,輸出模式配置為翻轉(zhuǎn),即計數(shù)器從0增加到TA0CCRx的值,并將輸出電平翻轉(zhuǎn),然后計數(shù)器清零,重復上述過程。我們選用TA0.0引腳輸出調(diào)制信號,上述配置完成后,只需改變TA0CCR0的值,即可改變輸出頻率。假設定時器輸入時鐘頻率為fTACLK,我們要輸出的頻率為fout,則比較寄存器TA0CCR0應該配置為:
(2)
以上行信號為例,定時器輸入時鐘頻率為16 MHz,發(fā)送高電平載波時,TA0CCR0設置為163;發(fā)送低電平載波時,TA0CCR0設置為155。待調(diào)制的串行信號接入外部中斷輸入引腳,在外部中斷服務函數(shù)中進行頻率切換的控制。信號調(diào)制的軟件流程如圖9所示。在調(diào)制串行信號之前,我們首先發(fā)送一段表示高電平的載波,并將外部中斷的觸發(fā)模式設置為下降沿。串口輸出端在空閑狀態(tài)下為高電平,當串行信號開始發(fā)送時,會產(chǎn)生一個下降沿中斷,我們在中斷服務函數(shù)中改變TA0CCR0的值,開始發(fā)送低電平;同時將中斷觸發(fā)條件改為上升沿,等待下一次外部中斷。
圖9 信號調(diào)制流程圖
從機通信模塊進入休眠模式后,等待通信線上的信號喚醒。通信總線在空閑狀態(tài)下為低電平,有信號出現(xiàn)時,遲滯比較器輸出高脈沖,觸發(fā)單片機產(chǎn)生比較器中斷。在理想情況下,我們可以在比較器中斷里面喚醒模塊,開始接收和回復指令。但是在實際應用時,通信總線上有很多干擾信號,導致模塊誤觸發(fā)概率增加。通信模塊被喚醒之后,需要給解調(diào)電路上電,并打開串口接收,經(jīng)過串口接收超時,重新進入休眠狀態(tài)。誤觸發(fā)不僅會導致功耗增大,還可能在超時過程中錯過真正的信號。為了避免誤觸發(fā),要選擇一個更加嚴格的喚醒條件。
主機發(fā)送信號時總是以一段高電平載波作為起始,可以通過這段標志性信號來喚醒從機通信模塊。起始信號與噪聲干擾都會觸發(fā)比較器中斷,不同之處在于起始信號的頻率是穩(wěn)定的,且信號是連續(xù)的。當起始信號出現(xiàn)時,會以固定頻率連續(xù)觸發(fā)比較器中斷,且中斷頻率與信號頻率相同。通過定時器計算比較器中斷產(chǎn)生的頻率,當比較器中斷以某個頻率連續(xù)產(chǎn)生N次時,即可認為起始信號出現(xiàn)。定時器工作在連續(xù)模式,每次進入比較器中斷時,讀取定時器的計數(shù)值tnew,與上一次的計數(shù)值told相減,得到一個時間差Δt,這個時間差即為信號的周期。我們設置一個目標頻率檢測范圍[flow,fup],則時間差應該滿足:
(3)
具體實現(xiàn)流程如圖10所示。通信模塊進入休眠模式之前打開定時器,允許比較器中斷。當接收信號超過遲滯比較器的上門限時,遲滯比較器輸出高電平,觸發(fā)單片機中斷。在比較器中斷服務函數(shù)中讀取定時器的計數(shù)值,與上一次的計數(shù)值相減,得到兩次中斷的時間差。根據(jù)目標信號的周期設置一個時間范圍,如果時間差滿足要求,則將脈沖計數(shù)值加1,否則將脈沖計數(shù)值清零。脈沖計數(shù)值增加到N時,說明滿足頻率范圍的信號連續(xù)出現(xiàn)了N次,即起始信號出現(xiàn)。此時打開解調(diào)電路和串口接收,開始接收數(shù)據(jù)。
圖10 頻率檢測流程圖
為了驗證磁感應無線通信模塊的性能,對主機和從機之間的通信進行測試。兩個通信節(jié)點的線圈放置于水中,間隔一定距離。主機節(jié)點通過RS232接口與上位機連接,通過串口調(diào)試助手發(fā)送命令;從機節(jié)點的序列號為7002,收到主機指令后進行回復。
上位機發(fā)送指令查詢序列號為7002的從機是否在線。發(fā)送指令為FC 6C 1B 5A 55,其中FC是信息幀頭,1B 5A是7002的16進制碼。從機收到后,回復FC 1B 5A 55 CA,表示本機在線,其中CA是校驗和。用示波器測量通信線上的信號,結果如圖11所示,圖中由上到下的3個通道分別表示從機解調(diào)信號、主機線圈兩端信號和主機解調(diào)信號。
圖11 示波器測量通信信號
上位機通過串口調(diào)試助手連續(xù)發(fā)送詢問命令,通信結果如圖12所示。
圖12 串口調(diào)試助手收發(fā)指令
改變線圈之間的距離,進行長時間的測試,統(tǒng)計不同距離時節(jié)點的通信成功率,結果如表3所示。
由表3結果可以看出,當線圈間距2 m時,通信成功率仍可達到100%;線圈間隔2.14 m以上時,通信效果急劇下降。由于磁場是靜態(tài)場,不具有傳播性,當線圈間距較遠時,接收端信號不能超過遲滯比較器的門限,從機通信模塊沒有被喚醒,因此無法正常通信。磁耦合無線通信模
表3 不同間距時的通信成功率
塊主要應用于水下近場通信,解決水下無纜密封系統(tǒng)的信息傳輸問題,滿足應用要求。水下磁感應通信不存在多徑效應干擾,不需要復雜的算法,實現(xiàn)起來簡單,且通信效果良好[12]。
為了解決海洋觀測系統(tǒng)中無纜信息傳輸?shù)膯栴},設計了一種基于磁場耦合的低功耗無線通信模塊。通過線圈耦合交變磁場進行信息傳遞,實現(xiàn)半雙工通信。主機通信模塊通過轉(zhuǎn)發(fā)上位機指令發(fā)起通信,從機通信模塊大部分時間處于休眠模式,由通信信號喚醒。采用超低功耗單片機MSP430F5338作為主控芯片,通過軟件方式實現(xiàn)通信總線上的載波信號頻率檢測。通過單片機內(nèi)部定時器和專用鎖相環(huán)電路實現(xiàn)2FSK調(diào)制和解調(diào),提高信號的抗干擾能力。結果表明,磁感應無線通信模塊設計簡單,成本和功耗較低。在水下間距2 m以內(nèi)時,通信成功率可以達到100%,在海洋觀測系統(tǒng)中由良好的應用前景。