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