??? 摘 要: 設(shè)計(jì)了一個(gè)應(yīng)用于多天線" title="多天線">多天線軟件無線電" title="軟件無線電">軟件無線電平臺(tái)的陣列數(shù)據(jù)采集" title="數(shù)據(jù)采集">數(shù)據(jù)采集系統(tǒng),重點(diǎn)設(shè)計(jì)了ADC轉(zhuǎn)換和DSP之間通過EMIF總線進(jìn)行數(shù)據(jù)傳輸?shù)?a class="cblue" href="http://m.xxav2194.com/search/?q=接口電路" title="接口電路">接口電路。提出了一種類似數(shù)字復(fù)用技術(shù)的共享總線,采用同步轉(zhuǎn)換、分時(shí)讀取的多路AD信號(hào)與FIFO存儲(chǔ)接口機(jī)制,取得良好的數(shù)據(jù)傳輸效率。
??? 關(guān)鍵詞: 軟件無線電? A/D" title="A/D">A/D轉(zhuǎn)換器? FPGA? DSP? EMIF
?
??? 軟件無線電的中心思想是構(gòu)造一個(gè)具有開放性、標(biāo)準(zhǔn)化、模塊化的通用硬件平臺(tái),用軟件完成各種功能,從而研制出具有高度靈活性、開放性的新一代無線通信系統(tǒng)[1]。本文基于軟件無線電的思想,提出并實(shí)現(xiàn)了一種多天線軟件無線電接收機(jī)[2]。基本思想如下:4路天線同時(shí)進(jìn)行分集接收,接收信號(hào)零中頻變換后得到4路基帶I/Q信號(hào),基帶I/Q信號(hào)同時(shí)送入4片雙通道A/D轉(zhuǎn)換器進(jìn)行模數(shù)轉(zhuǎn)換,模數(shù)轉(zhuǎn)換后數(shù)據(jù)送入DSP中進(jìn)行處理。本文重點(diǎn)研究了多天線系統(tǒng)中對(duì)多片ADC的控制及其與DSP之間接口電路的設(shè)計(jì)和實(shí)現(xiàn)。
??? 應(yīng)用FPGA的可重復(fù)編程性,可以靈活地設(shè)計(jì)各種控制和接口電路。采用FPGA直接控制A/D轉(zhuǎn)換的方式可以達(dá)到高速數(shù)據(jù)采集的目的。但對(duì)于此多天線、多通道的多片并行A/D系統(tǒng),如不優(yōu)化設(shè)計(jì),則接入到FPGA的管腳數(shù)太多,這樣會(huì)造成FPGA系統(tǒng)的資源浪費(fèi)和成本增加。本設(shè)計(jì)給出一種類似于多路數(shù)字復(fù)接的共享總線,采用同步采集、分時(shí)讀取的方法,達(dá)到了對(duì)A/D進(jìn)行有效控制和數(shù)據(jù)高速傳輸?shù)哪康模瑫r(shí)合理地應(yīng)用了FPGA的資源,降低了硬件成本。
1 控制與接口電路的基本原理和設(shè)計(jì)
??? A/D數(shù)據(jù)采集與DSP接口電路的系統(tǒng)結(jié)構(gòu)如圖1所示。由圖可知,系統(tǒng)主要包括A/D數(shù)據(jù)采集和控制、FIFO數(shù)據(jù)存儲(chǔ)、EMIF總線接口等部分。4路射頻信號(hào)經(jīng)過前期的處理得到4組共8路I、Q信號(hào)。將8路I、Q信號(hào)分別送入四片雙通道A/D轉(zhuǎn)換器同時(shí)進(jìn)行模數(shù)轉(zhuǎn)換,轉(zhuǎn)換數(shù)據(jù)經(jīng)A/D控制單元分時(shí),輪轉(zhuǎn)存入FPGA中的FIFO單元,由EMIF接口模塊送入DSP進(jìn)行處理。
?
1.1 基本原理
??? 共享總線、同步轉(zhuǎn)換、分時(shí)讀取方法借鑒了分時(shí)操作的數(shù)字復(fù)用思想,按照時(shí)間片來對(duì)A/D轉(zhuǎn)換結(jié)果進(jìn)行輪換讀取。如圖1所示:在硬件設(shè)計(jì)上,4片8路A/D轉(zhuǎn)換器的時(shí)鐘信號(hào)由DSP外部時(shí)鐘經(jīng)過分頻電路提供,所有的A/D共用同一時(shí)鐘,共享數(shù)據(jù)總線,共享時(shí)鐘保證了4片A/D轉(zhuǎn)換芯片的同步,共享數(shù)據(jù)總線節(jié)約了FPGA的管腳,合理地利用了FPGA的資源。通過分別使能OE1~OE4信號(hào),在A/D轉(zhuǎn)換完成后的數(shù)據(jù)有效時(shí)間內(nèi),分時(shí)讀取轉(zhuǎn)換結(jié)果并存入FIFO緩沖單元。當(dāng)FIFO內(nèi)部存儲(chǔ)的數(shù)據(jù)達(dá)到設(shè)定的數(shù)量時(shí),就觸發(fā)DSP中斷,調(diào)用中斷服務(wù)程序從EMIF總線通過EDMA控制器將數(shù)據(jù)讀入DSP中。
1.2 模數(shù)轉(zhuǎn)換器AD9238簡(jiǎn)介
??? 本文采用ADI公司的AD9238作為A/D轉(zhuǎn)換芯片。AD9238為雙通道,每個(gè)通道具有獨(dú)立的時(shí)鐘,可以靈活設(shè)置進(jìn)行隔離模數(shù)變換的12位高速A/D變換芯片[4]。AD9238有20MSPS、40MSPS和65MSPS三種速度級(jí)別可供選擇。本設(shè)計(jì)最高采樣頻率20MHz,并行采集4組共8路I、Q信號(hào)。A/D采樣時(shí)序如圖2所示,AD9238的數(shù)據(jù)輸出有7個(gè)時(shí)鐘周期的流水線延遲,所以在開始采樣后前7個(gè)數(shù)據(jù)是無用的,應(yīng)該在后端數(shù)字信號(hào)處理時(shí)舍棄掉。AD9238兩個(gè)通道的12bit數(shù)字信號(hào)輸出是獨(dú)立的,在本設(shè)計(jì)使用共同時(shí)鐘的條件下,各自獨(dú)立輸出轉(zhuǎn)換結(jié)果。在轉(zhuǎn)換結(jié)束后,通過控制各片A/D的輸出使能信號(hào)OEA/OEB就可以把輸出數(shù)據(jù)通過總線輸入到FPGA中的FIFO中。完成整個(gè)4片A/D采樣和讀取控制的步驟如下:
??? (1)FPGA為ADC提供采樣時(shí)鐘CLK;
??? (2)在CLK高電平時(shí)段,順次使得OE1~OE4分別有效,數(shù)據(jù)輪換讀入FIFO中;
??? (3)OE無效,進(jìn)入下一個(gè)轉(zhuǎn)換周期。
?
???????????????????????????
1.3 EMIF總線控制原理
??? EMIF總線是C6000系列DSP與外部存儲(chǔ)器的接口,C6713的EMIF接口具有很強(qiáng)的接口能力,其數(shù)據(jù)總線為32位,可尋址空間為4GB,可以實(shí)現(xiàn)與SBSRAM、SDRAM、SRAM、ROM、FIFO等的無縫接口[3]。本文通過EMIF異步讀寫外部FIFO,其讀時(shí)序要求如圖3所示。每個(gè)讀/寫周期由建立、選通、保持這三個(gè)階段組成。相關(guān)的信號(hào)/CS為外部存儲(chǔ)器片選信號(hào);/BE為字節(jié)選擇信號(hào),確定數(shù)據(jù)寬度;時(shí)序設(shè)計(jì)時(shí),先按照器件的典型參數(shù)計(jì)算讀/寫周期,并保持一定的時(shí)間裕量,然后實(shí)際測(cè)試,驗(yàn)證通過。/ARE為異步讀使能;/AOE為異步輸出使能;/AWE為異步寫使能;EA為外部地址線;ED為外部數(shù)據(jù)線。
?
2 FPGA邏輯控制功能的實(shí)現(xiàn)
?? 本文采用ALTERA公司的ACEX1K系列FPGA完成邏輯控制功能,主要包括時(shí)鐘分頻及控制,4路并行雙通道A/D數(shù)據(jù)采集與控制,F(xiàn)IFO數(shù)據(jù)存儲(chǔ)與傳輸控制,與DSP的EMIF接口,EDMA事件觸發(fā)控制等。
2.1 A/D控制模塊
??? 根據(jù)前面介紹的A/D數(shù)據(jù)采集時(shí)序圖可知:在采樣頻率CLOCK為高電平的半個(gè)周期內(nèi),輸出轉(zhuǎn)換結(jié)果是可靠和穩(wěn)定的,在時(shí)鐘信號(hào)CLOCK的半個(gè)周期內(nèi),以共享總線方式可以完成4路A/D的數(shù)據(jù)采集。圖4為4路A/D共享數(shù)據(jù)總線的控制時(shí)序圖,采用quarts II 仿真工具完成,其中EQ0為A/D采樣時(shí)鐘,EQ1~EQ4分別為4片A/D的片選信號(hào)(低電平有效),在有效時(shí),允許A/D轉(zhuǎn)換數(shù)據(jù)輸出,輸出數(shù)據(jù)的同時(shí),必須把數(shù)據(jù)寫入FIFO,否則數(shù)據(jù)會(huì)丟失。當(dāng)EQ1-EQ4有效時(shí),WRREQ輸出高電平作為FIFO的寫允許,CLKN的非信號(hào)WRCLK作為FIFO的寫時(shí)鐘,在WRCLK的上升沿剛好把ADC的輸出數(shù)據(jù)寫入FIFO。
?
2.2 FIFO 數(shù)據(jù)緩沖模塊
??? FIFO模塊暫存A/D轉(zhuǎn)換數(shù)據(jù);在FIFO中開辟一定大小的數(shù)據(jù)存儲(chǔ)區(qū),在每個(gè)A/D轉(zhuǎn)換周期內(nèi),通過數(shù)據(jù)總線讀入4×24bit數(shù)據(jù);在FIFO中數(shù)據(jù)達(dá)到設(shè)定的容量后,F(xiàn)PGA向DSP發(fā)中斷信號(hào),觸發(fā)DSP讀取FIFO數(shù)據(jù)。在DSP讀取數(shù)據(jù)的同時(shí),為了防止數(shù)據(jù)的丟失,此期間內(nèi)的A/D轉(zhuǎn)換數(shù)據(jù)也要同時(shí)存入到FIFO中,所以,要求使用可以同時(shí)進(jìn)行讀寫的雙口FIFO實(shí)現(xiàn)此模塊。用MAX+Plus II自帶的可調(diào)參數(shù)模塊LPM-FIFO-DC可快速實(shí)現(xiàn),此FIFO是雙時(shí)鐘同步FIFO,具有異步清零ACLR、讀時(shí)鐘RDCLK、讀允許RDREQ、寫時(shí)鐘WRCLK、寫允許可自定義容量。定義大容量可以減少DSP外部中斷次數(shù),EDMA每次可以搬移的數(shù)據(jù)塊增大。根據(jù)DSP異步讀外部存儲(chǔ)器的時(shí)序[3],控制信號(hào)/CE2、/AOE、/ARE把FIFO數(shù)據(jù)讀入DSP,仿真時(shí)序如圖5所示。
???????????????? ??????
3 試驗(yàn)測(cè)試及性能分析
??? 實(shí)測(cè)數(shù)據(jù)傳輸率及性能分析是設(shè)計(jì)數(shù)據(jù)采集系統(tǒng)的重要步驟。在本文中,ADC到FIFO數(shù)據(jù)傳輸和DSP讀取FIFO速度測(cè)試是兩個(gè)主要內(nèi)容。
3.1 ADC 模塊數(shù)據(jù)傳輸測(cè)試
??? 本平臺(tái)的4個(gè)ADC模塊數(shù)據(jù)寫入FIFO時(shí)共用數(shù)據(jù)總線,使用74VHC541作為總線控制開關(guān)。在接口設(shè)計(jì)中,綜合考慮74VHC541的傳輸延遲,選通延遲、寫FIFO的建立和保持時(shí)間以及控制接口和ADC模塊的排線及PCB傳輸延遲。實(shí)測(cè)結(jié)果表明:4個(gè)ADC模塊同時(shí)采樣速率為2.8125MSPS時(shí),采樣數(shù)據(jù)正確。此種情況下,相當(dāng)于單板ADC采樣頻率可達(dá)11.25MSPS。圖6是該情況下一個(gè)ADC通道采樣波形,可看出采樣波形完整。
?
3.2 DSP數(shù)據(jù)傳輸測(cè)試
??? DSP通過異步方式讀取外部FIFO,在設(shè)置讀取過程的建立、選通和保持時(shí)間等時(shí)序參數(shù)后,當(dāng)DSP的外部存儲(chǔ)器時(shí)鐘為90MHz時(shí),實(shí)測(cè)表明:若采用CPU中斷,中斷服務(wù)程序通過執(zhí)行語(yǔ)句的方式從FIFO中讀入512×32bit的數(shù)據(jù)塊,即使中斷服務(wù)程序經(jīng)過優(yōu)化,數(shù)據(jù)吞吐率也只有4.5×32Mbps。且此時(shí)CPU時(shí)間全部消耗在數(shù)據(jù)搬移工作上,無力進(jìn)行數(shù)據(jù)的處理工作。
??? 若采用外部中斷觸發(fā)EDMA傳輸?shù)臋C(jī)制,利用存儲(chǔ)器的乒乓操作,則同樣從FIFO中讀入512×32bit的數(shù)據(jù)塊,控制接口到DSP中L2的傳輸數(shù)率可以達(dá)到22.5×32Mbps的理想傳輸效率。
??? 本文設(shè)計(jì)了一種多片雙通道ADC與DSP的傳輸接口電路。實(shí)測(cè)結(jié)果表明:采用共享總線、同步轉(zhuǎn)換、分時(shí)讀取的方法,可以有效減少FPGA管腳的使用,同時(shí)達(dá)到數(shù)據(jù)高速傳輸?shù)男Ч1疚闹校粢M(jìn)一步提高ADC的數(shù)據(jù)傳輸速率,可以選用內(nèi)部自帶FIFO的ADC或者選用性能較好的緩沖器作為總線控制開關(guān)。
參考文獻(xiàn)
[1] 楊小牛,樓才義,徐建良.軟件無線電原理與應(yīng)用.北京:電子工業(yè)出版社,2001:1-7,88-173
[2] 謝澤明,賴聲禮,龍智文.智能天線實(shí)驗(yàn)平臺(tái)研究.電子技術(shù)應(yīng)用,2004,30(3):39-42.
[3] Texas Instruments Incorporated.TMS320C6000 EMIF to External FIFO Interface.pdf.
[4] Analog Devices,Inc.AD9238.pdf,REV.A.