嚴 冬,董 騰,王 平,陳俊宇
(重慶郵電大學工業物聯網與網絡化控制教育部重點實驗室,重慶 400065)
在傳統的網絡中,有線傳輸鏈路性能比較穩定,一般情況下,不會造成大量丟包。而在無線鏈路的傳輸中,傳輸介質為無線電波。由于無線電波在開放的空間傳播時,會產生多路徑效應,造成信號誤差,所以存在著極大的不確定性[1]。無線網絡雖然有使用方便、覆蓋范圍廣等諸多優點,但其信號不穩定、通信質量不佳等也是亟待解決的難題。無線射頻信號的衰減程度會隨著信號發出端距離的增加而變大。接收端能否在有加性噪聲的環境中成功解碼無線信號[2],與接收端信號強度有著非常密切的關系。人們極其關注無線信號的質量、其能否正常使用網絡、傳輸數據是否會有差錯等重要問題。傳統的無線通信性能檢測工具為頻譜分析儀。其使用方式笨拙,專用指標需要手工計算。針對該現狀,本文開發了適用于410~510 MHz頻段的、基于Si4463的無線信號質量檢測儀。該裝置使用方便且專用指標檢測準確度高。
基于Si4463的無線信號質量檢測儀包括電源、主控、串口轉換及接收機4個模塊。電源模塊用于向系統整體供電;主控模塊用于控制其他3個部分的正常工作;串口轉換模塊用于將USB轉換成串口,從而將檢測到的信號傳送到上位機;接收機模塊用于接收待檢測頻段的信號。主控模塊與接收模塊采用串行外設接口(serial peripheral interface,SPI)進行通信,并通過異步收發傳輸器(universal asynchvonous receiver/transmitter,UART)進行數據傳輸。
總體方案框架如圖1所示。

圖1 總體方案框架圖Fig.1 The framework of overall scheme
整個無線信號質量檢測儀通過USB供電,利用電壓轉換芯片AMS1117-3.3獲得主控電路以及射頻電路所需的3.3 V電壓,同時利用瞬變電壓抑制二極管(transient voltage suppressor,TVS)來保護電路和固定電壓[3]。TVS的響應速度快、瞬態功率大、擊穿電壓偏差小,能夠防止微處理器由于瞬間脈沖(如開關電源的噪聲等)導致的失效。電源電路如圖2所示。

圖2 電源電路圖Fig.2 Circuit of the power supply
基于Si4463的無線信號質量檢測儀采用了32位Coetex-M3內核的STM32F103RBT6處理器,工作電壓為2.3~3.6 V,主頻達72 MHz,有停機、待機和睡眠3種低功耗模式[4],全部通用輸入/輸出(general purpose input output,GPIO)管腳都具備大電流通過的能力。
整個主控模塊的核心電路包括晶振電路、復位電路、外圍接口和下載調試電路。
①晶振電路。
晶振電路采用2個外部晶振為系統提供穩定的時鐘源:一個為32.768 kHz的外部低速時鐘源(low-speed external clock,LSE);另一個為8 MHz的外部高速時鐘源(high-speed external clock,HSE)。HSE可為系統提供準確的主時鐘(外接22 pF的負載電容,其作用是為了穩定振蕩頻率);LSE則可在低功耗的模式下提供精準的時鐘源(同樣外接10 pF負載電容)。
②復位電路。
STM32F103RBT6的啟動方式為上電復位。該芯片通過設置BOOT0和BOOT1引腳來選擇具體的啟動方式。當BOOT1=X、BOOT0=0時,系統以用戶閃存存儲器作為啟動區域;當BOOT1=0、BOOT0=1時,系統以系統存儲器作為啟動區域;當BOOT1=1、BOOT0=1時,系統從內置SRAM啟動,但一般不采用這種啟動方式。本設計采用的是第一種啟動方式。
③外圍接口。
PA9和PA10的引腳外接串口,可實現外部系統與模塊之間的串口通信。主控電路模塊之間通過SPI來進行通信,主要是由PA4、PA5、PA6、PA7這4個引腳實現STM32F103RBT6與Si4463之間的通信。
④下載調試電路。
STM32F103RBT6使用的是Cortex-M3內核。該款內核集成了2個調試端口,分別為聯合測試行動小組 (joint test action group,JTAG)JTAG-DP提供基于JTAG協議的5線標準接口,為串行線調試(serial wire debug,SWD)SWD-DP提供基于SWD協議的2線標準接口。為了節約印刷電路板(prinstol ciruit board,PCB)布局空間、使得模塊盡量小型化,該信號質量檢測儀采用SWD的下載調試方式。該下載調制方式只需4個引腳(時鐘、數據、電源、地),便可對主控芯片進行代碼燒錄或在線調試。
STM32F103RBT6需要外加1個看門狗X5045。其目的是避免系統微處理器在電壓不足或振蕩器不穩定的情況下工作。X5045與主控芯片的7引腳相連。特別需要注意的是,X5045的復位引腳7是開漏型的輸出引腳,所以在使用時必須加上拉電阻。
該接收機模塊的核心器件是Silicon Labs公司推出的Si4463芯片。Si4463是高性能、低電流的無線收發器,可覆蓋119~1 050 MHz頻段,支持多種先進調制技術,包括高斯頻移鍵控(gauss frequency shift keying,GFSK)、頻移鍵控(frequency shift keying,FSK)、高斯最小頻移鍵控(gauss minimum shift keying,GMSK)以及二進制啟閉鍵控(on-off keying,OOK)。Si4463以其極低的接收靈敏度(-126 dB)和高達+20 dB的輸出功率,保證了較大的傳輸范圍和較高的鏈路性能。Si4463內部集成了射頻收發電路:從內部的低噪聲放大器(low noise amplifier,LNA)引出的2個引腳為差分信號連接射頻網絡的接收路徑;從功率放大器(power amplifier,PA)引出的引腳連接射頻網絡的發射路徑。
該檢測儀接收機電路主要包括接收(receive X,RX)路徑匹配網絡(巴倫電路)和時鐘電路2大部分。
①RX路徑匹配網絡(巴倫電路)。
接收機接收端有2個差分引腳RXN和RXP。該差分引腳連接射頻芯片內部的低噪聲放大器,以實現單端到差分端的轉換。巴倫電路將天線接收到的單端信號轉化為差分信號,并能提供理論上完美的相位平衡。此時,輸入引腳RXN和RXP的幅值相等且相位差為180°,從而優化了低噪聲放大器的轉換增益和接收靈敏度。
②時鐘電路。
Si4463采用30 MHz晶體振蕩器作為時鐘源。該芯片要求晶體振蕩器的誤差不超過9.4 kHz,否則射頻信號輸出時會產生嚴重的頻率偏移,影響無線模塊的通信質量。
Si4463與微控制器單元(microcontroller unit,MCU)通過1個標準的4線串行外設接口(SPI)進行通信,分別為:時鐘信號(serial clock,SOLK)、串行數據輸入(serial data in,SDI)、串行數據輸出(serial dasa out,SDO)和使能信號(chip select,CS)。主機主控芯片在SDI引腳寫數據,并且可以從器件SDO輸出引腳讀取數據。同時,MCU中的數字地(ground,GND)與接收機中的模擬地(analog ground,RGND)應盡量使用4個1 nH的電感隔開,避免引起電磁干擾,影響檢測結果[5]。
基于Si4463的無線信號質量檢測儀通過TUSB3410串口轉換芯片,將USB轉換成串口與上位機進行通信,無需額外的串口硬件。TUSB3410在1個USB端口和1個增強型UART串行端口之間搭建橋梁。在串口轉換芯片TUSB3410上采用USB端口瞬態抑制器SN75240對USB進行瞬態保護。因為USB端口具有非常有限的靜電保護效果,所以SN75240可以顯著增加端口的靜電保護水平、降低USB端口電路損壞的風險。

圖3 軟件流程圖Fig.3 Software flowchart
系統初始化包括MCU初始化以及射頻(radio frequency,RF)初始化。
3.2.1MCU初始化
MCU外圍設備初始化基本步驟如下。
①關閉所有中斷功能,配置系統時鐘為72 MHz。
②延時函數初始化。
③設置內嵌向量中斷控制器(nested vectored interrupt controller,NVIC)中斷,并將中斷位分為2組:一組2位搶占優先級,另一組2位響應優先級。
④串口初始化為115200。
⑤LED端口初始化。
出門去洗水果,有位阿姨跟了出來,說:“孩子,你真大度。”我說:“也不是大度,我婆婆實際對我挺好的,不過喜歡激將我而已。我以前的做法不像家人,是我不對。既然是一家人,就得說家人該說的話,做家人該做的事嘛。”
⑥系統Tick初始化。
⑦SPI通信口初始化。
⑧RF GPIO初始化。
⑨外部中斷初始化。
當配置系統時鐘為72 MHz時:首先,重置RCC;其次,使能外部高速晶振,等待高速晶振穩定,高速晶振穩定后設置高速總線AHB時鐘為系統時鐘;然后,設置APB2時鐘為高速總線時鐘,APB2時鐘最大值為72 MHz;最后,設置APB1時鐘為高速時鐘的二分頻,APB1時鐘最大值為36 MHz[7]。設置ADC外設時鐘等于低速總線2時鐘的六分頻,ADC外設時鐘最大值為14 MHz;再利用鎖相環將外部晶振8 MHz晶振9倍頻到72 MHz,啟動鎖相環(phase locked loop,PLL),等待PLL輸出穩定;最后,將PLL輸出設置為系統時鐘。此時,產生系統時鐘[8]并等待校驗成功。
3.2.2RF初始化
MCU外圍設備初始化完成后,進行射頻初始化。射頻初始化過程中,通過Silicon Labs公司提供的WDS3配置工具對射頻芯片進行配置。首先,開啟WDS3軟件。然后,通過界面配置芯片需要操作的頻段、發射功率、RF參數、數據包格式、中斷、GPIO引腳、快速響應寄存器。若無需調整射頻參數,就直接導出WDS配置文件并加載到相應的工程中。若需要調整射頻參數設置,則在調整參數后確認射頻工作是否正常。如果不正常工作,就返回第一步重新操作;如果正常工作,就結束整個流程。
完成了WDS3的整個操作流程后,即可生成名為radio_config_SI4463.h的頭文件。將此頭文件加載到工程中,編譯成功后燒錄到主控芯片。MCU通過SPI對射頻芯片相關的寄存器進行寫操作,以完成操作頻段、額定功率以及數據傳輸率等相關參數的配置[9]。
無線信號的強度主要可以由RSSI來反映。通過從物理層讀取快速響應寄存器的值獲取RSSI值,并對當前的無線信號質量作基本判斷[10]。RSSI值在反向通道基帶接收濾波之后產生。在104 μs內進行基帶I/Q支路功率積分,可以得到RSSI的瞬時值,并在1 s內對瞬時值求平均,可以得到RSSI的平均值。查看RSSI的平均值是判斷干擾的重要手段??蛰d下,RSSI值一般在-110 dB;加載數據之后,RSSI平均值一般不會超過-95 dB。如果發現RSSI值有明顯的升高,則肯定存在反向鏈路干擾[11]。
將基于Si4463的無線信號質量檢測儀連接到羅德與施瓦茨公司的SMB100A信號發生器。對信號發生器進行設置,使之產生一個中心頻率為470 MHz、功率為-60 dB的信號,并通過Si4463無線信號質量檢測儀進行信號檢測。將檢測結果通過串口顯示到上位機。檢測結果顯示,中心頻率470 MHz處的功率為-50 dB。同理,對信號發生器進行設置,使之產生一個中心頻率為433 MHz、功率為-60 dB的信號。檢測結果顯示,在中心頻率433 MHz處的功率為-50 dB。其中,10 dB的信號衰減是由信號發生器與該檢測儀連接卡扣配合型邊接器(bayonet nut connector,BNC)連接線的自身損耗造成的。為了更準確地闡明檢測結果的準確性,使用該無線信號檢測儀記錄信號發生器SMB100A在470 MHz和433 MHz這2個頻段、不同信號強度下的測試結果。在不同信號強度下,Si4463信號質量檢測儀在470 MHz和433 MHz這2個頻段下的測試結果如表1所示。

表1 不同信號強度測試結果Tab.1 Test results of different signal strength dB
由表1可知,基于Si4463的無線信號質量檢測儀可以較為準確地檢測出信號強度。
本文根據目前普遍關注的無線網絡中無線信號存在的電磁干擾現象,設計了一款檢測無線信號質量的裝置。全文從該裝置的總體方案、硬件設計、軟件設計、信號強度測試4個部分進行了詳細的描述,并通過
羅德與施瓦茨公司的SMB100A信號發生器驗證了該無線信號檢測儀的準確性。該信號質量檢測儀解決了傳統的無線通信檢測裝置(如頻譜分析儀)使用方式笨拙、攜帶不方便的缺點,可以在較為復雜的現場環境中方便、準確地檢測出固定頻率段的無線性能指標,具有較高的應用價值。
參考文獻:
[1] 謝希仁.計算機網絡[M].北京:電子工業出版社,1999.
[2] 方原柏.工業無線網絡的設備類型[J].自動化儀表,2015,36(8):26-30.
[3] 徐林.一種工業無線檢測系統的設計與實現[D].上海:華東理工大學,2016.
[4] 黎冠,劉永濤,卜祥麗,等.基于ZigBee的超低功耗凍結井壁無線測溫系統[J].自動化儀表,2016,37(5):44-47.
[5] 劉君華.電磁兼容現場測試中的干擾源辨識技術研究[D].西安:西安電子科技大學,2009.
[6] 李文軍,高建陽,劉潔,等.一種無線自組網天然氣抄表系統[J].自動化儀表,2015,36(6):39-43.
[7] 徐潔,丁國強,熊明.低功耗無線傳感終端網絡系統設計與實現[J].自動化儀表,2015,36(1):59-62.
[8] 黃大榮,趙棟,吳華東,等.基于無線協同通信技術的物聯網溫度控制系統[J].自動化儀表,2016,37(8):50-53.
[9] 許東,高杰.基于無線傳感器網絡的智能生態保障系統[J].自動化儀表,2016,37(2):41-44.
[10]曹群,趙衛軍,梁庭,等.無線無源諧振式傳感器讀取單元的設計與研究[J].自動化儀表,2015,36(7):68-71.
[11]臧峰,王江偉,趙剛,等.基于GPRS的無線采集終端開發[J].自動化儀表,2015,36(6):55-58.