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