摘 要: 針對擴頻調(diào)制信號低功率譜密度的特點,討論了一種基于FPGA和ADS8364的適于擴頻通信系統(tǒng)的高速高精度數(shù)據(jù)采集方案。采用“自上而下”的設計思想和“自下而上”的實現(xiàn)流程,將整個系統(tǒng)劃分為特定功能模塊進行優(yōu)化設計,詳細介紹了各模塊的設計方法和實現(xiàn)步驟。
關鍵詞: 數(shù)據(jù)采集; 擴頻通信; FPGA; ADS8364?
?
無線擴頻網(wǎng)絡技術由于具有抗干擾能力強、隱蔽性好、容易實現(xiàn)多址傳輸?shù)葍?yōu)點而在移動通信、無線數(shù)據(jù)通信等領域得到越來越廣泛的應用[1]。正是由于其低功率譜密度、低幅度的特點,因此數(shù)據(jù)采集精度格外重要;又由于其寬頻帶特性,偽碼傳輸速率很高,因此對數(shù)據(jù)采集速度也提出了較高的要求。常采用的以單片機和DSP作為控制器的數(shù)據(jù)采集方案難以同時滿足以上兩個條件。FPGA具有大量I/O管腳和較強的帶載能力,內(nèi)部資源豐富,處理速度快,器件內(nèi)部信號延時小、功耗低、效率高[2],從而能有效提高信號完整性并具有較強的抗干擾能力。因此,充分發(fā)揮FPGA的優(yōu)點,不僅在速度上能滿足高速數(shù)字信號處理的要求,而且可編程資源也大大增加,能滿足在系統(tǒng)級集成方面的需要,可提高系統(tǒng)的靈活性和適應性,具有廣闊的應用前景和深遠的現(xiàn)實意義。下面針對擴頻通信的特點、ADS8364的工作原理和系統(tǒng)主要邏輯控制部分的FPGA實現(xiàn)方法等分別予以說明,并對整體系統(tǒng)的仿真結(jié)果和功能實現(xiàn)情況進行分析。
1 擴頻通信技術概述
擴頻通信技術是以香農(nóng)(Shannon)信息論[3]作為理論基礎而發(fā)展的。其一般工作原理如圖1所示。
擴頻技術具有低幅度、隱蔽性好的特點[4]。在擴頻系統(tǒng)中,信息能量被擴散,因此信號功率密度降低到近于噪聲功率,甚至能在信號淹沒于噪聲之中的條件下進行通信,隱蔽性與可靠性都很好。
而正是由于擴頻通信低幅度、寬頻帶的特點,對數(shù)據(jù)采集系統(tǒng)的精度和速度都提出了較高的要求。
2 系統(tǒng)的總體設計
目前國內(nèi)廣泛應用的A/D芯片,往往不能對采集速度和精度兩方面進行兼顧,因此設計中選取用多片高精度A/D芯片并行采集的方案。其系統(tǒng)框圖如圖2所示。
?
由圖2可知,整個數(shù)據(jù)采集系統(tǒng)主要包括A/D轉(zhuǎn)換器、FPGA控制電路以及電源電路等幾部分。A/D為系統(tǒng)的核心芯片,負責將經(jīng)過調(diào)理通道后的模擬信號轉(zhuǎn)換成數(shù)字信號。設計方案中選擇6片ADS8364作為A/D轉(zhuǎn)換器,這種并行時間交替采樣結(jié)構(gòu)可以有效提高整個系統(tǒng)的采樣率[5]。ADS8364[6]是高速、低功耗、6通道同步采樣和轉(zhuǎn)換的16位模數(shù)轉(zhuǎn)換器。其采用+5 V工作電壓,并帶有80 dB共模抑制的全差分輸入通道、6個4 μs連續(xù)近似的模數(shù)轉(zhuǎn)換器、6個差分采樣放大器、+2.5 V參考電壓以及高速并行接口。ADS8364的6個模擬輸入分為三組(A,B、C),每個輸入端都有1個ADCs保持信號以用來保證幾個通道能同時進行采樣和轉(zhuǎn)換。
??? ADS8364中的取樣/保持模塊是以最大吞吐率250 kb/s[7] (當外部時鐘為5 MHz時)工作的,這樣6片6通道并行采集得到的最大數(shù)據(jù)采集速率為:
250 kHz×6×6=9 MHz
而典型的擴頻通信系統(tǒng)如WCDMA中碼片速率為3.84 Mchip/s,調(diào)制帶寬約需要5 MHz,顯然所設計方案的數(shù)據(jù)采集速率滿足指標要求。
FPGA主要完成一些硬件電路的設計,產(chǎn)生各部分的控制信號,包括A/D控制碼發(fā)送電路、FIFO存儲電路和時鐘電路等。FPGA控制著整個系統(tǒng)有條不紊地運行,完成數(shù)據(jù)采集、存儲等各項功能。
通常輸入信號的量級不是A/D芯片要求的范圍,必須經(jīng)過前端信號調(diào)理電路,以縮放和平移要采樣的信號,從而使調(diào)理后的信號適合ADC的模擬輸入要求。此后A/D開始從模擬信號到數(shù)字信號的轉(zhuǎn)換,并將轉(zhuǎn)換后的數(shù)據(jù)送入FPGA內(nèi)部FIFO中進行緩存,然后將FIFO存儲器中的數(shù)據(jù)讀出并由微處理器進行解擴等后續(xù)處理。
3 FPGA功能模塊的設計實現(xiàn)
3.1 A/D控制模塊
ADS8364的控制信號包括時鐘控制信號、啟動信號HOLDX、轉(zhuǎn)換結(jié)束信號EOC以及讀使能信號ENO。
由于采用時間交叉模數(shù)轉(zhuǎn)換,即利用6片并行的ADS8364共同對一路模擬輸入信號進行采樣,各ADC的采樣時鐘應依次錯開360°/6=60°的相位??梢灾苯佑肍PGA中自帶的數(shù)字時鐘管理(DCM)模塊來實現(xiàn)此功能。6片ADS8364在各自的時鐘控制下,進行模數(shù)轉(zhuǎn)換過程。
HOLDX保持至少20 ns的低電平時,系統(tǒng)的轉(zhuǎn)換才能開始。這個低電平可使各個通道的采樣保持放大器同時處于保持狀態(tài)從而使每個通道同時開始轉(zhuǎn)換。因此,每一個循環(huán)周期的開始都要有一個啟動信號HOLDX,使其保持一個時鐘周期的低電平,以啟動A/D轉(zhuǎn)換。
當轉(zhuǎn)換結(jié)果被存入輸出寄存器后,轉(zhuǎn)換控制信號EOC的輸出將保持半個時鐘周期的低電平。在實際中,EOC1在低電平期間要跳轉(zhuǎn)3次,以啟動A/D的讀數(shù)過程。
讀使能信號ENO控制A/D的讀數(shù)過程。在ENO為高電平期間,A/D完成1次讀數(shù)過程。ENO是由HOLDX和EOC來控制的,它需在EOC跳轉(zhuǎn)結(jié)束后和HOLDX低電平來臨前這一期間一直保持高電平。
根據(jù)以上要求建立A/D控制模塊的信號產(chǎn)生模型,其邏輯關系框圖如圖3所示。
3.2 片選、路選模塊
ADS8364的讀、寫、片選信號RD、WR、CS都是低電平有效。讀、寫過程不能同時存在,且讀、寫時片選信號CS必須有效,即一直處于低電平。寫過程中,6片AD的36個通道可以同時寫數(shù)據(jù),但讀過程中需逐片、逐通道地往外輸出數(shù)據(jù),此過程可以用有限狀態(tài)機來實現(xiàn)。
ADS8364的1次循環(huán)是20個時鐘周期,前16個時鐘周期完成寫過程,后4個時鐘周期完成讀過程[8]。在讀過程中,每個通道只能讀1次,36個通道都讀一次所占時間不到后4個時鐘周期的一半。每片ADS8364有6個通道,在A/D數(shù)據(jù)讀取過程中,具體要從哪個通道來讀取數(shù)據(jù)是由地址信號A0、A1、A2來控制的。ADS8364讀過程的地址控制表可參考文獻[6]。
在讀使能信號ENO為高電平過程中,A0、A1、A2一直循環(huán)變化。通過以上分析得到A/D讀過程中片選、路選的電路結(jié)構(gòu)圖如圖4所示。
3.3 FIFO控制、存儲模塊
從硬件的觀點可以將FIFO看成是一塊數(shù)據(jù)內(nèi)存。對于異步FIFO而言,數(shù)據(jù)是由某一個時鐘域的控制信號寫入FIFO而由另一個時鐘域的控制信號將數(shù)據(jù)讀出FIFO。也就是說,讀寫指針的變化動作是由不同的時鐘產(chǎn)生的。因此,對FIFO空或滿的判斷是跨時鐘域的。由于6片ADS8364并行采集得到的是6路并行數(shù)據(jù),所以在存儲到FIFO之前要進行復接,即并串轉(zhuǎn)換。FIFO的寫時鐘wr_clk應該與6片A/D的總采樣時鐘一致,而FIFO的讀時鐘rd_clk不能小于其寫時鐘wr_clk,否則會發(fā)生數(shù)據(jù)溢出丟失。
FIFO中存儲的數(shù)據(jù)應該達到一定的深度后才開始向外讀數(shù),這可以通過一個快滿信號almost_f來啟動[9]。產(chǎn)生almost_f信號的臨界深度值可以自主設定,本文中FIFO的存儲深度為256,當寫入128個采樣數(shù)據(jù)后將almost_f置1,開始讀操作。
FIFO數(shù)據(jù)每次讀出時,要一直將FIFO中的數(shù)據(jù)讀空為止,因此需要一個控制模塊來控制FIFO的讀過程。FIFO控制信號包括讀空信號empty、快滿信號almost_f、讀使能信號rd_en。empty、almost_f都是高電平有效,當FIFO中數(shù)據(jù)深度達到臨界值時,即快滿信號為高電平時觸發(fā)讀使能信號為高電平;而當讀空信號為高電平時,觸發(fā)讀使能信號為低電平。如此寫讀循環(huán),完成整個A/D的數(shù)據(jù)存儲與輸出工作[10]。FIFO引腳接口框圖如圖5所示。
3.4 FPGA系統(tǒng)的整體實現(xiàn)與仿真
用VHDL語言[11]對上述各功能模塊進行編程描述,在對整體系統(tǒng)進行時序設計并優(yōu)化的基礎上,用ModelSim SE 6.0對FPGA控制系統(tǒng)進行布局布線后仿真得到波形圖如圖6所示。
分析圖6可知,在1個周期的20個時鐘之內(nèi),前16個時鐘周期A/D寫使能wr為低電平有效,6片ADS8364分時并行寫入數(shù)據(jù);在后4個時鐘周期內(nèi),分別選通不同A/D的不同通道,將采集數(shù)據(jù)串行緩存到FIFO中,進而再從FIFO中將采樣數(shù)據(jù)讀出。仿真中是用存儲在ROM中的數(shù)據(jù)來代替模擬輸入信號的。
4 數(shù)據(jù)采集系統(tǒng)功能驗證
FPGA選擇Xilinx公司的Spartan3E XC3S500E,微處理器選擇TMS320C5416型號的DSP,制作電路板進行測試。接收到的擴頻信號經(jīng)過本數(shù)據(jù)采集系統(tǒng)以后,將緩沖后的采集數(shù)據(jù)傳送到DSP的數(shù)據(jù)存儲區(qū),用CCS軟件觀測到的數(shù)字信號波形如圖7所示。擴頻信號波形良好(未加噪聲并歸一化),設計方案實現(xiàn)了既定功能。
?
本文完成了一種可應用于擴頻通信中的高速、高精度數(shù)據(jù)采集系統(tǒng)的設計。并行時間交替采樣有效地提高了整個系統(tǒng)的采樣率,用FPGA作為控制器也有效提高了系統(tǒng)的采樣速度。根據(jù)FPGA在線可編程的特點,利用FPGA進行設計、仿真和驗證,便于方案的修改和優(yōu)化,不僅增加了系統(tǒng)的靈活性,而且大大縮短了產(chǎn)品的開發(fā)設計周期。經(jīng)測試該設計達到了預期效果,所設計系統(tǒng)不僅可以應用于擴頻通信中,而且能夠通過對FPGA的靈活配置將其推廣應用到各種對數(shù)據(jù)采集速度和精度要求都比較高的場合,是一種比較理想的多通道、高精度數(shù)據(jù)采集方案。
?
參考文獻
[1] 邵志偉. 直接序列擴頻通信系統(tǒng)仿真[J]. 黑龍江科技信息, 2008(28):78.
[2] 鄭友泉. 現(xiàn)場可編程門陣列[J]. 世界電子元器件,?2005(9):40-45.
[3] 3GPP TS 25.213.Spreading and modulation(FDD)[S],2000.
[4] 張子輝. 擴頻調(diào)制技術[J]. 通信與信息技術, 1993(2):1-3.
[5] 黃孜理. 基于UWB接收的超高速數(shù)據(jù)采集系統(tǒng)的實現(xiàn)[D]. 江蘇: 蘇州大學, 2007.
[6] Texas Instruments. ADS8364 data sheet[EB/OL].?www.ti.com, 2002.
[7] 劉書明, 聶麗斌, 余愛民. ADS8364的原理及應用[J].?國外電子元器件,2002(10):43-45.
[8] 譚恒.高精度多通道AD芯片ADS8364及其在有源電力濾波器中的應用[J].電子科技, 2005(7):10-13.
[9] 高禮忠. FIFO在高速數(shù)據(jù)采集系統(tǒng)的應用[J]. 電子測量技術, 2005(1):51-52.
[10] 樸現(xiàn)磊, 熊繼軍, 沈三民. 基于FPGA的高速數(shù)據(jù)采集系統(tǒng)的設計[J].微計算機信息, 2008,24(1-2):209-211.
[11]?陸峰.基于CPLD的高速數(shù)據(jù)采集系統(tǒng)的設計[D]. 太原:中北大學, 2006.
[12] 劉韜, 樓興華. FPGA數(shù)字電子系統(tǒng)設計與開發(fā)實例導航[M]. 北京: 人民郵電出版社, 2005.