李 娜 徐思武 吳嘉歡
(同方電子科技有限公司,江西 九江 332000)
FPGA(Field-Programmable Gate Array),即現(xiàn)場(chǎng)可編程門(mén)陣列,其集成度高、可靠性強(qiáng)且便于設(shè)計(jì),是數(shù)字信號(hào)處理和數(shù)字電路設(shè)計(jì)的第一選擇。FPGA作為數(shù)字中頻系統(tǒng)的連接橋梁,依靠DSP管理系統(tǒng)實(shí)現(xiàn)統(tǒng)一管理,由于它的可編程性,可以通過(guò)加載不同的軟件來(lái)實(shí)現(xiàn)不同的功能,因此在進(jìn)行中頻信號(hào)的數(shù)字化處理時(shí),可以降低對(duì)射頻前端濾波器及放大器的性能要求,使數(shù)字信號(hào)處理變得更簡(jiǎn)單、快速。然而該處理方式卻對(duì)ADC、DAC和時(shí)鐘性能有更高要求[1]。該文中處理系統(tǒng)的高精度載波信號(hào)通過(guò)DAC芯片來(lái)發(fā)送,采用ADC直接采樣來(lái)接收信號(hào),同時(shí)使用雙核ARM來(lái)處理和控制數(shù)據(jù)流,以此保證系統(tǒng)的高度集成和運(yùn)行可靠,相關(guān)研究陳述如下。
該處理平臺(tái)在設(shè)計(jì)方向上要求能夠支持高效率、高質(zhì)量的數(shù)字變頻、數(shù)字采樣以及數(shù)據(jù)信號(hào)、接口處理等功能。系統(tǒng)電路的主要構(gòu)成部分包括電源和音頻電路、中頻發(fā)射和信號(hào)采樣電路、時(shí)鐘綜合電路以及數(shù)字處理電路。其中,中頻發(fā)射電路使用的是數(shù)字基帶上變頻方式,440 MHz載波信號(hào)通過(guò)DAC芯片進(jìn)行發(fā)射,以ADC直接采樣實(shí)現(xiàn)信號(hào)接收。數(shù)字處理電路主要包括PPC、SOC和DSP1及DSP2共4種。這些電路中的雙核ARM主要功能是控制、搬運(yùn)及處理數(shù)據(jù)流,F(xiàn)PGA主要負(fù)責(zé)對(duì)中頻數(shù)字信號(hào)進(jìn)行處理,其總體設(shè)計(jì)框架如圖1所示。
圖1 總體設(shè)計(jì)框架
本該系統(tǒng)的核心功能為FIR濾波器、中頻信號(hào)發(fā)射、采用和數(shù)據(jù)處理,相關(guān)電路設(shè)計(jì)具體如下。
利用MATLAB,通過(guò)輸入fdatool來(lái)打開(kāi)濾波器設(shè)計(jì)工具,然后按實(shí)際需要合理設(shè)置濾波器的類(lèi)型、采樣頻率和截止頻率等關(guān)鍵參數(shù)。濾波器的實(shí)現(xiàn)過(guò)程其實(shí)就是卷積的實(shí)現(xiàn)過(guò)程,如果以x(n)表示待濾波信號(hào),h(n)表示濾波器系數(shù),那么卷積過(guò)程可以用下面的關(guān)系式來(lái)表示,即。基于FPGA技術(shù)的FIR濾波器實(shí)現(xiàn)一般需要經(jīng)過(guò)三級(jí)流水線,在第一級(jí)中對(duì)輸入信號(hào)進(jìn)行延時(shí)處理,以此保證信號(hào)和濾波器系數(shù)相乘;在第二級(jí)中將濾波系數(shù)與輸入信號(hào)進(jìn)行相乘;在第三級(jí)中則將前面得到的乘積進(jìn)行累加,最后得到結(jié)果。
中頻發(fā)射電路框架如圖2所示。該系統(tǒng)的中頻信號(hào)發(fā)射電路中包括射頻變壓器、抗混疊濾波器和PI型衰減器、高速DAC等核心部件,其中射頻變壓器具有阻抗匹配、直流隔離、共態(tài)抑制等功能;看混疊濾波器主要對(duì)無(wú)用的信號(hào)進(jìn)行衰減和濾除,消除混疊對(duì)數(shù)據(jù)采集的影響;PI型衰減器利用電壓來(lái)調(diào)整控制負(fù)載功率,抑制信號(hào)反射;高速DAC即直接電纜,它采用線對(duì)屏蔽及總屏蔽的方式實(shí)現(xiàn)信號(hào)的高速傳輸[2]。該設(shè)計(jì)中DAC使用AD9142,16 bit,采樣率為1 280 MHz,工作模式為正交上變頻。FPGA工作中,160 Msps信號(hào)中內(nèi)插了原采樣率為40 Msps的基帶信號(hào)并且傳送給AD9142。在8倍插值下,AD9142將基帶信號(hào)轉(zhuǎn)化為1 280 Msps,然后再與440 MHz頻率的NCO進(jìn)行先乘后加,最后搬移至440 MHz載波中。
圖2 中頻發(fā)射電路框圖
該設(shè)計(jì)的中頻采樣電路中主要包括ADI高速模數(shù)轉(zhuǎn)換器、單端轉(zhuǎn)差分射頻變壓器以及與這些部件相匹配的前端電路。實(shí)際工作期間,前端匹配電路主要負(fù)責(zé)信號(hào)的交流耦合和匹配,以此確保輸入電壓的駐波比性能[3]。高速ADC設(shè)計(jì)為雙通道14 bit,采樣率為160 Msps,對(duì)載波信號(hào)采樣后生成強(qiáng)度為40 MHz的信號(hào),通過(guò)FPGA下變頻到基帶,同時(shí)濾除帶外信號(hào)(約5 MHz),最后按4倍方式進(jìn)行抽取并生成采樣率為40 Msps的基帶信號(hào)。數(shù)字中頻信號(hào)的接收采樣電路設(shè)計(jì)框架如圖3所示。
圖3 數(shù)字中頻信號(hào)接收采樣電路框架示意圖
該中頻信號(hào)處理平臺(tái)的數(shù)字處理電路中使用了集成電路芯片SOC,它同時(shí)內(nèi)置FPGA以及ARM雙核處理器。雙核ARM與DSP1之間存在替代關(guān)系,其中一個(gè)ARM核心以裸跑形式替換DSP1,而另一個(gè)ARM核心獨(dú)立支持VxWorks操作系統(tǒng)的正常運(yùn)行,以此替代PPC[4]。該設(shè)計(jì)的數(shù)字處理電路用到了P1010芯片,含P1010芯片的處理器的頻率可以達(dá)到800 MHz,而其運(yùn)行功率僅1.1 W,具有極大的經(jīng)濟(jì)性,同時(shí)電路中還包括DDR2、DDR3、DSP1、DSP2及FPGA。DSP1使用TI公司的新型高性能單核定點(diǎn)DSP-TMS320C6455,它通過(guò)并行總線EMIF與FPGA實(shí)現(xiàn)實(shí)時(shí)通信。以SOC芯片為主的數(shù)字中頻信號(hào)處理電路在實(shí)際使用時(shí)應(yīng)按照?qǐng)D4所示的流程來(lái)進(jìn)行。
圖4 SOC芯片的數(shù)字中頻信號(hào)處理電路流程圖
從圖4可以看出,該SOC數(shù)字處理電路中使用了ARM雙核處理器對(duì)P1010和C6455進(jìn)行了替代。ARM中包括容量為512 MB、位寬為32 bit的DDR3,ARM由SPI FLASH開(kāi)始啟動(dòng),同時(shí)加載FPGA與DPS2。在SOC數(shù)字處理電路中,F(xiàn)PGA和ARM經(jīng)SOC內(nèi)置的雙口RAM以及硬件中斷實(shí)現(xiàn)數(shù)據(jù)通信。ARM的2個(gè)核心ARM1和ARM2共同享有DDR3的外置存儲(chǔ)器,它們之間的通信也通過(guò)雙口RAM來(lái)進(jìn)行[5]。
該設(shè)計(jì)平臺(tái)的PPC軟件運(yùn)行在P1010中。SOC中的其中一個(gè)ARM核心支持運(yùn)行VxWorks6.9操作系統(tǒng)。DSP1與DPS2都屬于裸跑狀態(tài),無(wú)須操作系統(tǒng)支持[6]。中頻信號(hào)處理系統(tǒng)主要包括啟動(dòng)模塊、加載模塊、驅(qū)動(dòng)模塊和應(yīng)用模塊。
其中啟動(dòng)模塊中的bootrom啟動(dòng)信息使用Flash來(lái)讀取,以此導(dǎo)引VxWorks6.9系統(tǒng);系統(tǒng)加載模塊通過(guò)讀取到的相關(guān)啟動(dòng)數(shù)據(jù)信息推進(jìn)系統(tǒng)運(yùn)行;驅(qū)動(dòng)模塊以操作系統(tǒng)內(nèi)核中的處理模塊為基礎(chǔ),經(jīng)以太網(wǎng)將串口與外部進(jìn)行連接,實(shí)現(xiàn)對(duì)外部數(shù)據(jù)信息的順利加載和收發(fā);應(yīng)用模塊由各類(lèi)不同功能的軟件構(gòu)成,可按需配置軟件。
系統(tǒng)模塊主要功能包括模塊初始化、上電自檢和軟件升級(jí),具體內(nèi)容如下。1)模塊初始化功能:PPC啟動(dòng)之后,DSP1、DSP2和FPGA等相關(guān)程序相繼加載,此時(shí)開(kāi)始對(duì)時(shí)鐘芯片AD9517進(jìn)行初始化,時(shí)鐘芯片鎖定之后,PPC繼續(xù)對(duì)ADC和DAC芯片進(jìn)行初始化處理[7]。2)上電自檢功能:指的是PPC在通電運(yùn)行過(guò)程中可以對(duì)自身的外置存儲(chǔ)器運(yùn)行狀態(tài)、性能等進(jìn)行自我檢查和測(cè)試。PPC通過(guò)讀取并核對(duì)時(shí)鐘芯片寄存器的值數(shù)和鎖相環(huán)狀態(tài),進(jìn)而準(zhǔn)確判斷時(shí)鐘有無(wú)失鎖問(wèn)題;通過(guò)對(duì)ADC、DAC芯片寄存器值進(jìn)行讀取并核對(duì),如果發(fā)現(xiàn)不匹配則自動(dòng)進(jìn)行重新配置,同時(shí)做好相關(guān)信息記錄,如果多次匹配無(wú)效則做出預(yù)警反饋。系統(tǒng)運(yùn)行中ADC芯片可以實(shí)現(xiàn)自行檢測(cè),F(xiàn)PGA在讀取到PN碼序列測(cè)試碼后進(jìn)行校驗(yàn),以判斷FPGA和ADC芯片之間的接口有無(wú)故障存在[8-9]。PPC可以數(shù)據(jù)文件的形式將所有判定后的告警信息上傳記錄到系統(tǒng)中的FLASH芯片中,有助于今后的隨時(shí)讀取和分析。3)軟件升級(jí)功能:軟件需要定期升級(jí)、更新,以保證最佳的使用性能,這個(gè)功能主要通過(guò)PPC小系統(tǒng)來(lái)實(shí)現(xiàn),常見(jiàn)的處理方法為以測(cè)試接口為程序?qū)懭刖W(wǎng)口,將FPGA、DSP等主要軟件存放在容量較大的FLASH芯片中,當(dāng)PC與PPC通過(guò)網(wǎng)口進(jìn)行連接后,檢測(cè)軟件是否有升級(jí)版本,按需進(jìn)行升級(jí)。軟件升級(jí)完成后,利用PC內(nèi)置的FTP協(xié)議將軟件文件由PPC直接寫(xiě)入FLASH中,然后再下發(fā)復(fù)位命令,重啟后相關(guān)應(yīng)用功能得到更新。
為驗(yàn)證該系統(tǒng)平臺(tái)各模塊的實(shí)際性能,該文在模塊測(cè)試前專(zhuān)門(mén)設(shè)計(jì)了測(cè)試適配器,同時(shí)滿足對(duì)相關(guān)對(duì)外接口的適配性測(cè)試。模塊內(nèi)部各種芯片利用自身的自檢測(cè)功能進(jìn)行測(cè)試。芯片的外部接口功能測(cè)試可使用測(cè)試工裝和頻譜分析儀配合信號(hào)源進(jìn)行檢測(cè)[10-11]。系統(tǒng)測(cè)試的流程圖如圖5所示,所有的測(cè)試項(xiàng)目及采用的具體測(cè)試方法見(jiàn)表1。測(cè)試結(jié)果證實(shí)了該設(shè)計(jì)能夠有效適用于對(duì)數(shù)字中頻信號(hào)的處理。
表1 測(cè)試系統(tǒng)
圖5 模塊測(cè)試框圖
綜上所述,該文所設(shè)計(jì)的數(shù)字中頻信號(hào)處理平臺(tái)以高性能FPGA為關(guān)鍵支持,它具有嵌入式SOC的主要功能和高速率、高質(zhì)量的數(shù)字信號(hào)處理能力,并可支持系統(tǒng)的穩(wěn)定運(yùn)行,還可以通過(guò)加載各種軟件實(shí)現(xiàn)功能擴(kuò)展。通過(guò)實(shí)際的運(yùn)行測(cè)試,可見(jiàn)該設(shè)計(jì)結(jié)構(gòu)合理、各模塊功能可靠,不僅可以滿足在線升級(jí)需要,還能夠準(zhǔn)確、快速地進(jìn)行故障檢測(cè)和定位,適用于各類(lèi)數(shù)字通信工程的實(shí)際需要。