在傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)中,A /D的控制和數(shù)據(jù)的轉(zhuǎn)存均通過CPU或者MCU來完成。在這種方式下,將A /D轉(zhuǎn)換的結(jié)果讀入,然后再轉(zhuǎn)存到片外的存儲器中,這一過程至少需要4個機器周期。即使對于ARM芯核的單片機(CPU采用流水線結(jié)構(gòu), 1個機器周期占1個CLK) ,使用33 MHz的晶振,它的最高轉(zhuǎn)存數(shù)據(jù)速度也只達(dá)到8Mbit/ s. 在高速采樣系統(tǒng)中,這種方式一方面占用太多CPU資源,另外也遠(yuǎn)遠(yuǎn)不能滿足高速采樣的速度要求。同時,在數(shù)據(jù)采集系統(tǒng)的前端數(shù)字信號處理(DSP)中,如FFT、F IR、IIR濾波等,以往一般都是利用DSP內(nèi)部的硬件乘法器加軟件控制來實現(xiàn)。DSP 的工作方式是通過內(nèi)部的CPU 逐條執(zhí)行軟件指令來完成各種運算和邏輯功能的,在排隊式串行指令執(zhí)行方式下,工作速度和效率也將降低。為了提高數(shù)字信號處理速度,現(xiàn)在一些實現(xiàn)專用算法的DSP模塊和通信接口也由FPGA 或者CPLD 實現(xiàn)。基于上述原因,設(shè)計了以Virtex - 5系列的XC5VLX50為核心處理芯片的多路數(shù)據(jù)采集系統(tǒng),它以硬件電路方式來提高速度[ 1 ]。
1 高速數(shù)據(jù)采集系統(tǒng)設(shè)計
1.1 高速數(shù)據(jù)采集系統(tǒng)的基本電路結(jié)構(gòu)
系統(tǒng)中,通過多路數(shù)據(jù)選擇器選定多路信號中的一路進(jìn)行采集,在高速狀態(tài)機控制下,將采集到的模擬信號經(jīng)過多片A /D器件流水轉(zhuǎn)換之后,轉(zhuǎn)換結(jié)果直接儲存到FPGA XC5VLX50TFFG1136內(nèi)部由Block RAM構(gòu)建的高速緩沖RAM陣列中,然后轉(zhuǎn)存至低速存儲器( FLASHMEMORY)中,再由FPGA構(gòu)成的專用數(shù)字信號處理單元進(jìn)行數(shù)據(jù)處理。在嵌入式硬核CPU Power PC405的控制下又可以將FLASH MEMORY中的數(shù)據(jù)送入PCI總線設(shè)備或者硬盤中長期存儲,同時也可以將采樣結(jié)果在LCD上顯示。該系統(tǒng)的結(jié)構(gòu)框圖如圖1 所示。虛線內(nèi)部的功能都是通過對FPGA芯片XC5VLX50TFFG1136硬件編程實現(xiàn)。
1.2 FPGA芯片XC5VLX50
XC5VLX50內(nèi)部有豐富的資源,包括8個數(shù)字時鐘管理器(DCM, 290 Kbits的分布RAM, 88 ×16KByte 的Block RAM, 88個18 ×18 的專用乘法器(DedicatedMultip liers)單元, 2個Pow2erPC405內(nèi)核, 564個可配置I/O 引腳達(dá)(最多276 對差分I/O,
速度高達(dá)31125 Gbit / s,最高內(nèi)部工作頻率540 MHz. Power2PC405內(nèi)核通過Xilinx提供的IP軟核編程實現(xiàn),文中使用了內(nèi)
部一個Power PC 405作為主控制器,用來完成高分辨率的液晶顯示器的控制和一些外圍設(shè)備和整個系統(tǒng)的協(xié)調(diào)性控制[ 2 ]。
2 流水采樣實現(xiàn)
采用高帶寬( 1 GHz) 高速( 80 MHz) 低功耗A /D 芯片AD9432 (12bit)作為A /D轉(zhuǎn)換器件,采樣時鐘由XC5VLX50內(nèi)部的鎖相環(huán)實現(xiàn)。AD9432是一種單流水線ADC,它采用多個低精度閃電式ADC對采樣信號進(jìn)行分級量化,然后將各級的量化結(jié)果組合起來以構(gòu)成一個高精度的量化輸出。各級電路分別有自己的跟蹤保持電路,因此當(dāng)每級電路把信號傳給下級電路時就可以接收上級傳過來的數(shù)據(jù),每級電路一次采樣可在一個時鐘周期內(nèi)完成,但是存在流水線延遲的問題,AD9432采樣轉(zhuǎn)換過程如圖2所示。
每次采樣的最終轉(zhuǎn)換結(jié)果要等待6~7個時鐘周期后才能出現(xiàn)在輸出端。AD9432的控制以及數(shù)據(jù)的緩沖轉(zhuǎn)存采用狀態(tài)機控制,當(dāng)AD9 4 3 2接收到CLK信號后開始采樣。由于每塊A /D 的最高采樣率僅有80MHz,在此采用了4塊AD9432進(jìn)行
流水采樣,每塊A /D的采樣時鐘相位延遲90°,這樣在每個周期內(nèi)是由4 塊A /D均勻采樣的,采樣率等效提高了4倍。4塊AD9432采樣時鐘的相位延遲利用FPGA設(shè)計的高速狀態(tài)機以及內(nèi)部數(shù)字時鐘管理器(DCM)來實現(xiàn)。采用4片A /D相位延
遲并行流水采集的過程如圖3所示,圖中CLK1~4是4片A /D的采樣時鐘,在這種流水采集中,單流水線延遲的影響可以忽
略[ 3 ]。
3 數(shù)據(jù)的轉(zhuǎn)存設(shè)計和分析驗證
采集到的信號經(jīng)過A /D器件轉(zhuǎn)換之后,通過XC5VLX50內(nèi)部高速緩沖,轉(zhuǎn)存到片外存儲器FLASH MEMORY中。系統(tǒng)中
XC5VLX50內(nèi)部Block RAM陣列的控制比較簡單,采用乒乓操作大大降低了采樣數(shù)據(jù)讀取處理速度。16塊Block RAM分成
2組,時鐘和控制信號均獨立。系統(tǒng)工作時,高速狀態(tài)機會不斷地往Block RAM中放入采集到的數(shù)據(jù)。當(dāng)采樣數(shù)據(jù)放滿1組
的8塊Block RAM后自動切換到另外一組。同時并行從剛剛放滿的8 塊Block RAM 中以64 位的并行數(shù)據(jù)讀入FLASH
MEMORY中( FLASH MEMORY內(nèi)存具有可靠性高、互換性好、容量大等特點) [ 4 ]。
采用流水方式的4片12位的A /D的采樣頻率為320MHz,則數(shù)據(jù)流為480 Mbit/ s,但是FLASH MEMORY的最大存儲速度為20Mbit/ s(忽略編程時間). 為了實現(xiàn)數(shù)據(jù)的實時存儲,采用面積換取速度的原理,充分利用XC5VLX50的內(nèi)部邏輯資源和豐富的I/O口資源,設(shè)計了2個存儲器陣列,每個存儲器陣列由24 片F(xiàn)LASH MEMORY,在XC5VLX50 內(nèi)部進(jìn)行乒乓操作,把480Mbit / s的數(shù)據(jù)量分流成20Mbit/ s,分別存儲到24片F(xiàn)LASH MEMORY中,當(dāng)FLASHMEMORY達(dá)到編程時間的時候轉(zhuǎn)向第二個存儲陣列,這樣的外部乒乓操作就達(dá)到了FLASHMEMORY的最高存儲效率,實現(xiàn)了數(shù)據(jù)的高速實時采集和存儲, 2個存儲陣列共享控制總線和數(shù)據(jù)總線,但是使能總線獨立;在一個存儲陣列內(nèi)部,存儲芯片控制總線共享,數(shù)據(jù)總線獨立,這樣能達(dá)到緊密協(xié)作和節(jié)省FPGA邏輯資源和I/O口資源的效果。而設(shè)計的FLASH MEMORY 控制器的速度達(dá)480MHz,數(shù)據(jù)帶寬符合轉(zhuǎn)存需要的速度,完全可以實現(xiàn)實時連續(xù)采樣。數(shù)據(jù)采集結(jié)束后,DSP模塊會在Power PC405的控制下對FLASH MEMORY內(nèi)存中的數(shù)據(jù)進(jìn)行高速處理,然后又放回FLASH MEMORY中,處理后的數(shù)據(jù)也能通過PCI總線傳到帶有PCI接口的設(shè)備中,或者通過USB總線存儲到硬盤中,對PCI和硬盤操作均支持DMA66操作[ 5 ] 。
系統(tǒng)的Power PC405采用Xilinx的IP Core實現(xiàn)。FLASHMEMORY Controller、PCI Controller及USB Controller等功能電
路則是根據(jù)相應(yīng)的數(shù)據(jù)傳輸協(xié)議自行設(shè)計,采用VHDL 編程實現(xiàn),使用ModelSim進(jìn)行功能仿真, Synp lify進(jìn)行邏輯綜合,將綜合結(jié)果下載到XC5VLX50 器件中實現(xiàn)相應(yīng)的系統(tǒng)邏輯功能。
在完成電路的軟件與硬件系統(tǒng)設(shè)計以后,用Agilent16900Logic Analysis和高速示波器對該電路進(jìn)行測試驗證。16900
LA的多通道眼圖的掃描可以迅速發(fā)現(xiàn)FLASH MEMORY總線中一些處于比較危險狀態(tài)的信號線,比如由于阻抗的不匹配而造成Signal Integrity方面的問題。而LA可以驗證電路時序是否正確。用示波器可以正確地量測到實際信號的波形,并進(jìn)行眼圖的精確掃描。用16900 Logic Analysis測量了FLASHMEM2ORY控制電路的部分時序,結(jié)果表明FLASH MEMORY總線邏輯功能正確,符合FLASH MEMORY總線規(guī)范標(biāo)準(zhǔn)。對于PCI Controller、IDE Controller、DMA Controller均采用了相同方式進(jìn)行量測驗證,結(jié)果均符合其協(xié)議規(guī)范標(biāo)準(zhǔn),可以正常穩(wěn)定地工作。
4 結(jié)束語
介紹了一種基于FPGA控制的,進(jìn)行多片A /D器件流水采集的高速數(shù)據(jù)采集系統(tǒng)設(shè)計,對流水采樣的原理和實現(xiàn)、采集
中的數(shù)據(jù)轉(zhuǎn)存控制電路和FLASHMEMORY控制電路的設(shè)計進(jìn)行了重點分析。在完成電路的軟件與硬件系統(tǒng)設(shè)計以后,用Agilent 16900 Logic Analysis和高速示波器進(jìn)行測試驗證。結(jié)果表明該系統(tǒng)可以可靠穩(wěn)定地工作,最高實時采集采樣頻率可以達(dá)到480MHz. 并應(yīng)用到了雷達(dá)信號高速數(shù)據(jù)采集器中,在多次的實際應(yīng)用中表現(xiàn)穩(wěn)定、可靠。
評論