基于嵌入式的智能射頻光傳輸模塊的設(shè)計
引言
在移動通信迅速發(fā)展的今天,存在這樣的情況,即無論何種無線通信的覆蓋區(qū)域都將產(chǎn)生弱信號區(qū)和盲區(qū),而對一些偏遠地區(qū)和用戶數(shù)不多的盲區(qū),要架設(shè)模擬或數(shù)字基站成本太高,基礎(chǔ)設(shè)施也較復(fù)雜,在這種情況下,提供一種成本低、架設(shè)簡單,卻具有小型基站功能的設(shè)備——直放站是很有必要的。因此,移動通信服務(wù)商們開始在基地之外的建筑物內(nèi)部及地下等電波盲區(qū)設(shè)置直放站,以最大限度滿足用戶對于通話服務(wù)的要求。
光纖直放站主要由光近端機、光纖、光遠端機幾個部分組成。光近端機和光遠端機都包括射頻單元和光單元。信號的傳輸分下行鏈路和上行鏈路。在下行鏈路中,光近端機接收來自基站的無線信號,通過電/光轉(zhuǎn)換,電信號轉(zhuǎn)變?yōu)楣庑盘枺瑥墓饨藱C輸入至光纖并傳輸?shù)焦膺h端機,光信號再轉(zhuǎn)為電信號,進入射頻單元進行放大。信號經(jīng)過放大后送入遠端天線發(fā)送出去,覆蓋目標(biāo)區(qū)域。上行鏈路的工作原理與下行鏈路類似,手機發(fā)射的信號通過遠端天線至光遠端機,再到近端機,回到基站。光纖直放站近端機的定向天線收到基站的下行信號(以GSM信號為例,頻段為935MHz-960MHz)送至近端主機,放大后送到光端機進行電/光轉(zhuǎn)換,產(chǎn)生波長為1550nm的光信號。因為光纖中傳輸有波長為1310nm的上行光信號,所以下行的1550nm的光信號要通過光波分復(fù)用器耦合到光纖中,最后經(jīng)光纖傳到遠端機;遠端光波分復(fù)用器將1550nm和1310nm波長的光信號分開后,讓1550nm波長的光信號輸入光端機進行光/電轉(zhuǎn)換,還原成下行射頻信號,再經(jīng)遠端主機內(nèi)部功放放大,由全向天線發(fā)射出去送給移動臺,移動臺的上行信號(頻段為890MHz-915MHz)逆向送到基站,這樣就完成了基站與移動臺的信號聯(lián)系,建立通話。其原理如圖1所示。
圖1 光纖直放站的原理圖
光纖直放站系統(tǒng)因其使用特點,導(dǎo)致安裝調(diào)試工作較復(fù)雜,維護工作開銷巨大。為了增加系統(tǒng)的可靠性并降低系統(tǒng)安裝調(diào)試的復(fù)雜性,越來越多的直放站生產(chǎn)商都要求光模塊具有智能性,以實現(xiàn)對直放站的實時監(jiān)控,從而方便工作人員進行調(diào)試、維護和管理。本文討論了在傳統(tǒng)光模塊基礎(chǔ)上增加嵌入式單元的方法,以實現(xiàn)光模塊的智能化。
系統(tǒng)硬件設(shè)計
監(jiān)控電路設(shè)計
監(jiān)控電路是光模塊實現(xiàn)智能化的核心部分,圖2是本設(shè)計中光模塊的監(jiān)控系統(tǒng)框圖。該部分完成各監(jiān)控量的采集、控制等工作。本設(shè)計采用C8051F023型單片機實現(xiàn)對光模塊的嵌入式控制,它內(nèi)部集成了一個8位8輸入的ADC、一個10位8輸入的ADC和兩個12位DAC,非常方便對參數(shù)的采集和對壓控器件的控制。
圖2 光模塊的監(jiān)控框圖
在射頻信號的輸入和輸出端,功率檢測電路將耦合的射頻能量進行放大,并實現(xiàn)功率/電壓轉(zhuǎn)換,再對產(chǎn)生的電壓信號進行A/D轉(zhuǎn)換,在程序中采用查找表的方法,即可得到輸入/輸出的功率值。C8051F023根據(jù)檢測到的功率值,調(diào)整鏈路中的衰減值。在射頻信號輸入端,單片機通過D/A轉(zhuǎn)換控制壓控衰減器,而在輸出端,則通過程控衰減器控制信號增益。偏置電路為激光器(LD)的工作提供合適的驅(qū)動電流。單片機通過A/D轉(zhuǎn)換采集到激光器的偏置電壓,在程序中光功率與電壓同樣采用查找表的方法直接轉(zhuǎn)換,而偏置電流則通過電壓與電流的線性關(guān)系轉(zhuǎn)換得到。當(dāng)某些因素導(dǎo)致激光器驅(qū)動電流過大或過小時,單片機通過改變D/A輸出電壓來調(diào)整偏置電路的輸出電流,使激光器的發(fā)光功率維持在正常水平。另外,需加一個熱敏電阻監(jiān)測模塊的實時溫度,根據(jù)電壓與溫度值的關(guān)系曲線圖,可通過熱敏電阻的電壓值變化而采集出溫度值的變化情況。
數(shù)據(jù)傳送電路設(shè)計
本設(shè)計采用射頻收發(fā)芯片CC1000作為數(shù)傳芯片。CC1000是根據(jù)Chipcon公司的SmartRF技術(shù)制造出的可編程高頻單片收發(fā)芯片,主要用于工作頻帶在315MHz、868MHz及915MHz的ISM(工業(yè)、科學(xué)及醫(yī)療)方面和SDR(短距離通訊)方面,可在300-1000MHz范圍內(nèi)通過編程工作,其主要工作參數(shù)能通過串行總線接口編程改變。CC1000芯片含有三條串行數(shù)據(jù)線接口,PDATA、PCLK、PALE用于配置內(nèi)部寄存器實現(xiàn)收發(fā)等功能控制,能夠與多種單片機(MSC51、ARM、AVR、PIC等)直接兼容連接。
CC1000與C8051F023的連接圖如圖3所示。單片機使用三個輸出管腳用于連接CC1000的三串行配置口(PDATA、PCLK、PALE),以配置CC1000的工作模式。其中PDATA必須是雙向管腳,用于程序數(shù)據(jù)的輸入輸出。信號接口由DIO和DCLK組成,在本設(shè)計中它們分別與單片機的TXD1和RXD1連接,實現(xiàn)數(shù)據(jù)的半雙工式收發(fā)。管腳CHP_OUT用于監(jiān)視頻率鎖定狀態(tài),當(dāng)CC1000內(nèi)部的PLL鎖定時,該引腳輸出高電平。另外單片機可通過A/D轉(zhuǎn)換檢測RSSI信號的強度。
近端模塊與遠端模塊之間采用FSK通信,在圖3中,引腳RF_OUT和RF_IN分別用于發(fā)送FSK_OUT信號和接收FSK_IN信號。通信數(shù)據(jù)FSK_OUT由近端模塊中的CC1000發(fā)出,結(jié)合圖2可知,F(xiàn)SK_OUT信號通過耦合器耦合到射頻信號中,經(jīng)光/電轉(zhuǎn)換進入光纖傳輸至遠端模塊;在遠端,光信號被還原為射頻信號,通過低通濾波得到FSK信號,此時稱FSK_IN信號,該信號被遠端模塊的CC1000接收。遠端模塊發(fā)送給近端模塊的數(shù)據(jù)依據(jù)同樣的原理傳輸。模塊之間的FSK通信大大提高了對光模塊的監(jiān)測和控制能力。
圖3 單片機與CC1000接口示意圖
C8051F023有兩個UART接口,在本設(shè)計中UART0與上位機通信,UART1則用于與CC1000的數(shù)據(jù)傳輸。
系統(tǒng)軟件設(shè)計
系統(tǒng)軟件總體設(shè)計
軟件總體功能主要分為四個部分:參數(shù)監(jiān)測、數(shù)據(jù)存儲、數(shù)據(jù)收發(fā)和性能控制。在主程序中采用兩個中斷:定時器中斷和串口中斷。定時器中斷實時采集參數(shù)數(shù)據(jù),實現(xiàn)模塊的實時監(jiān)測;串口中斷實時收發(fā)上位機和FSK數(shù)據(jù),實現(xiàn)命令的處理和監(jiān)控數(shù)據(jù)的傳輸。
主程序的結(jié)構(gòu)如圖4所示,程序?qū)ι衔粰C命令進行鑒權(quán)處理之后,根據(jù)通信協(xié)議解析處理命令,并執(zhí)行相應(yīng)的操作。
圖4 系統(tǒng)軟件結(jié)構(gòu)圖
CC1000參數(shù)編程
CCl000作為數(shù)傳芯片,需要進行參數(shù)配置以決定其工作性能,因而CC1000參數(shù)編程是一個重要的過程。通過可編程配置寄存器能改變以下主要參數(shù):接收/發(fā)送模式、射頻輸出功率、射頻輸出頻率、FSK分頻、晶振參考頻率、傳輸速率和數(shù)據(jù)格式等。在本設(shè)計中,CC1000采用曼徹斯特編碼方式進行數(shù)據(jù)譯碼和同步工作,這通過設(shè)置CC1000的MODEM1寄存器的參數(shù)完成。在同步編碼方式中,曼徹斯特編碼不需要鎖定平均值濾波器,傳輸效率高。設(shè)計要求CC1000采用11.0592MHz晶振,接收本振頻率為433.766MHz,發(fā)射中心頻率為433.916MHz(連發(fā)“1”)、433.948MHz(連發(fā)“0”),調(diào)制頻偏為32kHz,載頻穩(wěn)定度為10kHz。根據(jù)以上參數(shù),可通過Chipcon公司提供的CC1000配置軟件SmartRF Studio來產(chǎn)生配置信息,這些配置信息將被輸入到單片機中。另外該軟件還可以提供輸入/輸出匹配電路和VCO電感所需的元件參數(shù)值。
完成配置信息后,要對CC1000進行初始化,主要完成內(nèi)部寄存器的設(shè)置,初始化時需復(fù)位CC1000內(nèi)部寄存器。當(dāng)完成寄存器的設(shè)置后,為了避免芯片運行過程中頻率產(chǎn)生的漂移,應(yīng)當(dāng)校正CC1000內(nèi)部VCO和PLL寄存器中的值。之后對MAIN寄存器進行設(shè)置,將CC1000輸出功率初始值設(shè)為0,功耗模式設(shè)置為低電平模式,以降低功耗。初始化流程如圖5所示。
圖5 CC1000初始化流程圖
數(shù)據(jù)收發(fā)程序設(shè)計
數(shù)據(jù)的收發(fā)包括:單片機接收上位機數(shù)據(jù),單片機向上位機發(fā)送數(shù)據(jù),單片機接收CC1000數(shù)據(jù)和單片機向CC1000發(fā)送數(shù)據(jù)。這里僅討論單片機通過串口1接收中斷接收CC1000數(shù)據(jù)的過程,這是整個數(shù)據(jù)收發(fā)程序設(shè)計中的難點。 本設(shè)計中,單片機與CC1000之間采用曼徹斯特同步模式進行數(shù)據(jù)的接收和發(fā)送。在發(fā)射模式下(單片機向CC1000發(fā)送數(shù)據(jù)),PCLK提供發(fā)送數(shù)據(jù)時鐘信號,DIO用于數(shù)據(jù)輸入,CC1000自動完成對數(shù)據(jù)的譯碼。在接收模式下,PCLK提供接收數(shù)據(jù)時鐘信號,在DIO提供數(shù)據(jù),CC1000自動完成數(shù)據(jù)編碼和同步工作。
(1)數(shù)據(jù)幀結(jié)構(gòu)
在曼徹斯特同步模式下,數(shù)據(jù)幀由訓(xùn)練碼、同步碼、前導(dǎo)碼和有效數(shù)據(jù)構(gòu)成。在本設(shè)計中,訓(xùn)練碼為連續(xù)交替出現(xiàn)的0和1,共40個;同步碼為連續(xù)出現(xiàn)的8個0;前導(dǎo)碼為連續(xù)的8個1。當(dāng)數(shù)據(jù)中出現(xiàn)符合前面所有格式的數(shù)據(jù)時,接下來的數(shù)據(jù)就是要接收的有效數(shù)據(jù)。當(dāng)數(shù)據(jù)符合幀格式時,單片機才認(rèn)為該數(shù)據(jù)合格,從而進行接收,這樣可以保證接收數(shù)據(jù)的準(zhǔn)確性,降低傳輸誤碼率。
?。?)串口1接收中斷服務(wù)程序
在通信過程中,CC1000具有三種狀態(tài):IDLE(空閑)、RX(接收數(shù)據(jù))、TX(發(fā)送數(shù)據(jù))。由于CC1000與單片機之間是半雙工模式通信,因而RX與TX兩個狀態(tài)會互斥。數(shù)據(jù)的接收由串口中斷完成:UART0接收中斷接收來自上位機的數(shù)據(jù),UART1接收中斷則接收來自CC1000的數(shù)據(jù)。UART1中斷服務(wù)程序數(shù)據(jù)傳輸流程如圖6所示。在接收過程中,為了避免數(shù)據(jù)幀長度過長的問題,當(dāng)接收的有效數(shù)據(jù)超過緩沖區(qū)空間時,單片機判定此幀無效。
圖6 UART1中斷服務(wù)程序
參數(shù)監(jiān)測與控制
單片機通過A/D轉(zhuǎn)換完成對參數(shù)的采集和數(shù)字化,這一過程由定時器中斷完成。監(jiān)測數(shù)據(jù)被存儲,并通過PC機顯示出來。增益控制和偏置電壓則通過單片機的D/A轉(zhuǎn)換來控制。有關(guān)這方面的軟件設(shè)計,因篇幅有限不再贅述。
總結(jié)
嵌入式智能光模塊可以實現(xiàn)直放站近端機和遠端機的遠程光纖通信,在此基礎(chǔ)上,PC機只需通過RS232/485總線與近端機通信,便可完成對近端機和遠端機的實時監(jiān)控,方便了工作人員對直放站的調(diào)試和維護。經(jīng)測試,CC1000之間的FSK通信在20dB光衰條件下的誤幀率優(yōu)于0.1%,保證了監(jiān)控的可靠性。
評論