逯玉宏,魏國慶
(重慶金美通信有限責(zé)任公司,重慶400030)
近年來,無線頻譜分析技術(shù)的應(yīng)用越來越廣泛,尤其在無線通信領(lǐng)域顯示出強大的優(yōu)越性,對測量儀器的需求越來越大,要求也越來越高。無線電信號的測量一般分為兩大類,一類是在時間軸上直接觀察信號的波形,用示波器觀察信號的動態(tài)變化,但是只能從中觀察信號的幅度和瞬時的變換,不能區(qū)分信號。另一類是在頻域測量信號,能夠在頻域觀察信號所在頻段上的噪聲范圍、頻率分量、功率以及信號失真等。無線頻譜分析需要依靠進口的頻譜分析設(shè)備,這種大型的用戶終端靈活性較差、成本高、啟動時間緩慢,不便于野外環(huán)境的使用。故此,提出一種基于C8051F120單片機的頻譜測試方法,增加了便利性,成本更低,靈活性更高,改變了一直以來頻譜測量需要大型儀器人工手動測試的現(xiàn)狀,同時提高了測試效率和準確性[1]。
系統(tǒng)設(shè)計以小型化、智能化為目標,采用嵌入式結(jié)構(gòu)設(shè)計。所涉及的多路電路模塊主要包括:C8501單片機主控電路,RS-232串口電路,5×5鍵盤電路,OLED顯示器電路,以及射頻模塊和天線接口模塊。系統(tǒng)設(shè)計如圖1所示。其核心是選用了C8051單片機作為主控單元,通過RS-232串口與電腦相連接,RS-232串口通信電路采用芯片實現(xiàn)計算機串口與單片機I/O口之間的轉(zhuǎn)換,可以方便完成系統(tǒng)的程序升級和參數(shù)標定,將采集到的數(shù)據(jù)通過TXT文件格式上報備份存貯,并建立一個友好的人機界面,實現(xiàn)數(shù)據(jù)的記錄和查詢。OLED顯示屏提供用戶界面,顯現(xiàn)功能選擇提示與結(jié)果反顯。用戶通過面板按鍵設(shè)定工作方式,進行功能選擇,輸入信息[2-3]。
圖1 系統(tǒng)總體框圖
系統(tǒng)主要包含以下幾項功能:頻譜掃描分析功能、時域載波分析功能、射頻干擾功能。提供擴展通道與測試模式選擇,用戶可以更換測試模塊,分析與產(chǎn)品相關(guān)的頻譜。
射頻模塊與單片機通過SPI總線連接,其射頻信號的輸入可以通過同頻段天線或者射頻電纜實現(xiàn)。該模塊負責(zé)完成不同頻點的場強值RSSI的生成及測量,它采用一塊射頻器件及單片機的模擬量采集口AIN0,射頻器件用于所支持頻段內(nèi)RSSI值的產(chǎn)生,單片機的ADC可以快速完成RSSI值的抽樣采集,采用數(shù)組的方式暫存。射頻芯片MAX2837的SDI端輸出數(shù)據(jù)的格式見表l所示[4-5]。
表1 MAX2837 SDI腳數(shù)據(jù)輸入格式
射頻芯片MAX2837從SPI串行接口輸出數(shù)據(jù)的過程如下:單片機使CS變低并提供時鐘信號給CLK,由SDI讀取數(shù)據(jù)結(jié)果。CS變低將停止任何轉(zhuǎn)換過程,CS變高將啟動一個新的轉(zhuǎn)換過程。如圖2所示SPI接口時序圖。
圖2 SPI接口時序
射頻模塊在換頻時,需要依次配置地址分別為0x13、0x12、0x11這三個寄存器,依次是分頻比的整數(shù)、小數(shù)2、小數(shù)1,寫給射頻模塊的時序是5位地址,10位參數(shù)。采用查表的方法可以快速的切換頻率,但需要很大的存貯空間。若采用公式法,則如下式所示:
其中:DIV RATIO為分頻比,fRF為收發(fā)頻率,取值范圍為 2300MHz~2700MHz,Reference_clk 為參考時鐘,頻率為20MHz。
簡化的單片機算法如下式所示:
式中:initdiv為分頻比整數(shù)部分,frac為分頻比小數(shù)部分。
通過以上頻率字配置,可得到該頻率下接收場強值RSSI,射頻信號通常是間歇性的,時強時弱,需要將采樣到的數(shù)據(jù)與上次比較判定上升沿、下降沿,取上升沿和下降沿之間的數(shù)據(jù)求和取平均計算出場強值,保存在頻譜緩存中。通過單片機的ADC.0對場強信號RSSI進行采樣,在有限的時間內(nèi)對接收的RSSI值取平均,作為RSSI的有效值,如下式所示:
其中Ui為接收場強信號,N為接收場強數(shù)目。
采用的OLED屏JTC12864YE024為水平128點、垂直64點像素。為消除閃爍現(xiàn)象及便于繪圖,采用數(shù)組disp[8][128]與顯示屏像素對應(yīng),掃描方式為下高位,從左到右。一個RSSI數(shù)據(jù)截除直流分量及倍率縮小到63以下,才可以完整顯示。在設(shè)定坐標系時,顯示64行,128列,分別對應(yīng)縱坐標的0~63,橫坐標的0~127。縱坐標值與頁碼及對應(yīng)字節(jié)數(shù)據(jù)轉(zhuǎn)換如表2所示。
表2 縱坐標值與頁碼及對應(yīng)字節(jié)數(shù)據(jù)轉(zhuǎn)換表
其中page為頁碼,Y為縱坐標值,BIT為頁字節(jié)數(shù)據(jù)所用到的位[6-7]。
屏顯公式如下式所示:
其中,disp [ index1 ][j]為顯示屏對應(yīng)的像素值,index1=7-c_d/8=0,1,… ,63,j=0,1,… ,127,authority為顯示屏電子像素值表集合,index2=7-c_d%8=0,1,…,63,為顯示屏電子像素值表中的查表下標,c_d為場強值,單位為dB。
鍵盤模塊主要用來掃描信號,由C8051F120單片機的P2口定時置位b_k,依次拉低Y1,讀入P1,b_k&=b;置高 Y1,拉低 Y2,讀入 P1,b_k&=b;置高Y2,拉低 Y3,讀入 P1,b_k&=b;置高 Y3,拉低 Y4,讀入P1,b_k&=b;置高 Y4,拉低 Y5,讀入 P1,b_k&=b;置高Y5;完成一次掃描工作,輸入口P1檢測到數(shù)據(jù)為0x1E,0x1D,0x1B,0x17,0x0F時,b_za為1判定為單鍵按下動作,同時清零b_za鎖定,只輸出一次按鍵標志b_jiana=1。鍵盤每0.1s掃描一次,不需要延遲消抖部分。以該方法實現(xiàn)鍵盤,優(yōu)點是效率高,只采用4個位變量,一個鍵值變量。依次釋放檢測標志b_k,當(dāng)前P1口全高標志b,釋放標志b_za,用于出口的鍵按下標志b_jiana,鍵值jian,再增加一個變量chang,用于長按識別,鍵釋放時清零,鍵按下時加1計數(shù),計數(shù)到30時,b_za=1,chang=28,輸出連續(xù)按鍵信息,如此可便于光標的快速移位及控制參數(shù)等變量的快速遞變。51系列單片機具有靈活的位變量運算能力,但RAM比較珍貴,如此高效的鍵盤實現(xiàn)方法也具有創(chuàng)新性。鍵盤原理圖如圖3所示。鍵盤的權(quán)位值說明見表3。
圖3 5×5鍵盤原理圖
表3 鍵值權(quán)位表
支持8051單片機的C編譯器主要有德國Keil Software公司開發(fā)的Keil C51編譯器,所產(chǎn)生的代碼運行速度極高,可內(nèi)嵌匯編實現(xiàn)混合編程,該測試系統(tǒng)所有程序的編譯均采用此款編譯器。信號處理部分由單片機C8051F120完成,該單片機具有片內(nèi)JTAG調(diào)試和邊界掃描功能,可在線調(diào)試,支持斷點、單步等,比使用仿真芯片、目標仿真頭的仿真系統(tǒng)具有更好的性能,但比起串口調(diào)試來,仍表現(xiàn)出調(diào)試速度慢的缺點。串口調(diào)試就是通過單片機內(nèi)部的空閑串口,工作于高優(yōu)先級中斷模式,通過UBOOT監(jiān)控程序配合實現(xiàn)程序更新、當(dāng)前PC位置查詢、RAM特殊功能寄存器修改等功能,必須的通訊串口都是采用PCA模擬的,同時保留串口調(diào)試方式。此設(shè)計實現(xiàn)了程序不開箱更新,調(diào)試效率非常高;主要功能是將采集到的電壓還原成實際值,經(jīng)過倍率計算、區(qū)間選擇、倒像等處理,將相應(yīng)的值存入外部靜態(tài)鏡像RAM中,驅(qū)動12864OLED屏顯[8-10]。
系統(tǒng)的主控流程主要包括了系統(tǒng)初始化、OLED驅(qū)動顯示、鍵盤控制、測量模塊等幾大部分。測試系統(tǒng)各個部分由單片機控制,協(xié)調(diào)各個模塊共同完成頻譜檢測功能。由定時器2驅(qū)動時間節(jié)拍。典型的時刻為10μs,另外提供20μs等備選項??紤]到電池供電低功耗的需要,平時操作PCON休眠,ADC采樣后將數(shù)據(jù)按照從大到小的順序暫存,多次采樣后將采樣值評估計算保存到頻譜表中,切換到下一頻點;達到頻率上限時,將頻譜表中的數(shù)據(jù)按面板設(shè)定的水平分辨率和垂直分辨力寫在屏幕的鏡像數(shù)組中。51單片機處理xram數(shù)據(jù)效率較為低下,這一部分代碼采用匯編優(yōu)化。另外,在鏡像數(shù)組中疊加垂直閃爍光標、水平觸發(fā)門限光標、頁眉參數(shù),計算出的射頻信號強度等信息后,調(diào)用匯編優(yōu)化過的顯示驅(qū)動函數(shù)還原波形。整體程序流程如圖4所示。
圖4 主控程序流程圖
頻譜掃描實現(xiàn):定頻信號,只要在一個頻點上駐留的時間與收發(fā)周期相當(dāng),或頻率的變換特別快,總會捕捉到射頻信號。頻譜測量的原理是,模塊在限定的頻率范圍內(nèi)以設(shè)定的步進量反復(fù)切換接收頻率,完成RSSI的多次采樣存儲,檢測到信號時RSSI會變大,OLED屏幕上顯示為一個或多個波峰;沒檢測到信號時RSSI值被認為是白噪聲,OLED上顯示為一條直線。在周期性掃描過程中,一次掃描完成時如果沒有采樣到理想的波峰,會自動修改接收增益,每頻點駐留時間及步進間隔,一般是掃描范圍越大,步進間隔也相應(yīng)增大。如圖5所示,在頻率為2440.9MHz時,撲捉到了信號,帶寬分別為 10MHz、1.75MHz。
圖5 頻率2440.9MHz時兩次捕捉到信號
時域上波形復(fù)現(xiàn):射頻模塊工作在定頻接收模式,以設(shè)定的時間間隔采樣RSSI值存貯,再按照設(shè)定的的倍率顯示出來,以此可觀測到波形的信號部分,以及收發(fā)占空比等信息,如圖6所示。
圖6 頻率為2440MHz的時域波形
射頻干擾實現(xiàn):利用射頻模塊的小功率發(fā)射功能,對正在通信的頻點實施干擾,檢測設(shè)備的抗干擾能力及其他綜合能力。如圖7所示,在2350MHz頻率處的信號已被干擾。
圖7 受到干擾的頻率2350MHz信號
針對大型的用戶終端靈活性較差、成本高、啟動時間緩慢、不方便在野外環(huán)境使用,設(shè)計一種以單片機為核心的頻譜測試方法,系統(tǒng)為手持設(shè)備,小而靈巧。完成頻譜掃描分析功能、時域載波分析功能、射頻干擾等功能,結(jié)果表明:硬件設(shè)備和軟件方法可完成頻譜分析等基本功能,且操作界面更加簡潔,可在工程人員的設(shè)備檢測工作中擔(dān)當(dāng)重用。