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