<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種基FPGA和DSP的高性能PCI數(shù)據(jù)采集處理卡設(shè)計(jì)

          一種基FPGA和DSP的高性能PCI數(shù)據(jù)采集處理卡設(shè)計(jì)

          作者: 時間:2007-09-26 來源:網(wǎng)絡(luò) 收藏
          1 引言

          數(shù)據(jù)采集處理技術(shù)是現(xiàn)代信號處理的基礎(chǔ),廣泛應(yīng)用于雷達(dá)、通信、遙測遙感等領(lǐng)域。隨著信息科學(xué)的飛速發(fā)展,人們面臨的信號處理任務(wù)愈來愈繁重,對數(shù)據(jù)采集處理系統(tǒng)的要求也愈來愈高。特別是在圖像處理、瞬態(tài)信號檢測、軟件無線電等領(lǐng)域,更是要求高速度、高精度、高實(shí)時性的數(shù)據(jù)采集與處理技術(shù)。

          在傳統(tǒng)高速信號處理中,數(shù)字信號處理算法一般是通過專門優(yōu)化的數(shù)字信號處理器實(shí)現(xiàn)的,目前主要有TI公司的DSP和AD公司的ADSP用于高端信號處理器應(yīng)用。當(dāng)這些處理器仍無法滿足高速信號處理要求時,可以使用專用的信號處理ASIC芯片,然而使用ASIC在設(shè)計(jì)上受ASIC廠商設(shè)計(jì)思路限制,使電路設(shè)計(jì)變得困難和缺乏靈活性。而最近幾年具有乘法器及內(nèi)存塊資源的大容量FPGA以及基于IP核嵌入的FPGA開發(fā)技術(shù)的出現(xiàn),可以將嵌入式微處理器、專用數(shù)字器件和高速DSP算法以IP核的形式方便的嵌入FPGA,以硬件編程的方法實(shí)現(xiàn)高速信號處理算法,這種形式的嵌入為高端應(yīng)用領(lǐng)域提供了超高性價比的解決方案。

          2 高速數(shù)據(jù)采集處理卡工作原理及主要器件選用

          該高速數(shù)據(jù)采集處理卡是基于DSP+FPGA架構(gòu)來設(shè)計(jì)的。FPGA是整個系統(tǒng)的時序控制中心和數(shù)據(jù)交換橋梁,而且能夠?qū)崿F(xiàn)對底層的信號快速預(yù)處理,在很多信號處理系統(tǒng)中,底層的信號預(yù)處理算法要處理的數(shù)據(jù)量很大,對處理速度要求很高,但算法結(jié)構(gòu)相對比較簡單,適于用FPGA進(jìn)行硬件編程實(shí)現(xiàn)。而高層處理算法的特點(diǎn)是速據(jù)量較低,但算法控制結(jié)構(gòu)復(fù)雜,適于用運(yùn)算速度快、尋址靈活、通信機(jī)制強(qiáng)大的DSP芯片來實(shí)現(xiàn)。

          整個高速數(shù)據(jù)采集處理系統(tǒng)的主要硬件構(gòu)成為:高速ADC、RAM、高性能DSP和PCI接口、大容量FPGA。模擬輸入經(jīng)AD采樣進(jìn)入FPGA,經(jīng)過FPGA里的信號預(yù)處理模塊處理后進(jìn)入DSP,由DSP軟件進(jìn)行后續(xù)高級算法處理,DSP通過PCI接口與主機(jī)交換數(shù)據(jù)。系統(tǒng)的原理框圖如圖1所示。



          圖1:數(shù)據(jù)采集處理卡總體結(jié)構(gòu)框圖

          DSP采用TI公司的TMS320C6000系列定點(diǎn)DSP中的TMS320C6416;ADC采用2片AD公司的AD9288,從而實(shí)現(xiàn)4路8位采樣,最高采樣頻率為100 MSPS;PCI接口采用TMS320C6416 芯片內(nèi)集成的PCI2.2控制器,理論最大數(shù)據(jù)傳輸速率為132MBps; DSP程序存儲在Flash存儲器中,器件選用AM29LV160。下面逐一介紹各個主要器件的特性:

          2.1 AD9288 

          AD9288是一款雙8bit 高速模數(shù)轉(zhuǎn)換器,兩個ADC可以獨(dú)立工作,最高采樣率100MSPS,內(nèi)部集成了跟蹤保持電路和基準(zhǔn)電路,單電源工作。平行輸出接口,兼容TTL/CMOS格式,工業(yè)標(biāo)準(zhǔn)溫度工作范圍, 48PIN LQFP封裝。適合應(yīng)用與高速信號測量儀器,無線通訊設(shè)備。

          2.2 XC2V1000

          單片XILINX公司的XC2V1000芯片,芯片集成度達(dá)100萬門,具有40個18×18乘法器及40個18Kbit塊內(nèi)存等資源,并有豐富的內(nèi)部邏輯及路由資源,非常適合實(shí)現(xiàn)高速DSP算法,并具有8個DCM可實(shí)現(xiàn)復(fù)雜的時鐘管理,支持不同形式的I/O接口。



          圖2:Virtex2 結(jié)構(gòu)圖

          2.3 TMS320C6416

          本設(shè)計(jì)選用的TMS320C6416是TI公司近年推出的高性能定點(diǎn)DSP,其時鐘頻率達(dá)600MHz,最高處理能力4800MIPS,采用先進(jìn)的甚長指令結(jié)構(gòu)(VLIW)的DSP內(nèi)核有8個運(yùn)算功能單元,每個時鐘周期可以執(zhí)行8條指令,所有指令可以條件執(zhí)行。該DSP具有VITERBI譯碼協(xié)處理器(VCP)和turbo譯碼協(xié)處理器(TCP);采用二級緩存結(jié)構(gòu),一級緩存(L1)由128Kbit的程序緩存和128Kbit的數(shù)據(jù)緩存組成,二級緩存(L2)為8Mbit;有2個擴(kuò)展存儲器接口EMIF,一個為64bit(EMIFA),一個為16bit(EMIFB),可以與異步(SRAM、EPROM)/同步存儲器的DMA通道;主機(jī)接口(HPI)總線寬度可由用戶配置(32/16bit),具有32bit/33MHz,3.3V的PCI主從接口,該接口符合PCI標(biāo)準(zhǔn)2.2版,有3個多通道串口(McBSPs),片內(nèi)還有一個16針的通用輸入輸出接口(GPIO)。

          3 高速數(shù)據(jù)采集處理系統(tǒng)的硬件連接

          3.1 模擬信號輸入接口設(shè)計(jì)

          AD9288的模擬信號輸入采用差分輸入方式。單端輸入方式連接比較簡單,但抗噪性能差,采取差分輸入方式可以盡量減少信號噪聲以及電磁的干擾。其AD芯片的單路AD輸入電路如圖2所示:


          圖3:模擬信號輸入電路

          3.2 AD9288與FPGA芯片的連接

          AD采樣時鐘ENC、采樣輸出數(shù)據(jù)AD_DATA及輸出數(shù)據(jù)格式選擇DFS等控制信號均接入FPGA,由FPGA靈活編程控制AD采樣。


          圖4:AD與FPGA連接結(jié)構(gòu)圖

          3.3 FPGA 與DSP芯片的連接

          DSP 通過EMIFA口數(shù)據(jù)線、地址線、片選信號及其它接口控制信號與FPGA的IO連接,實(shí)現(xiàn)FPGA內(nèi)部生成FIFO或RAM等緩存組件與DSP連接,該部分電路主要功能是可以將FPGA內(nèi)存儲器映射到DSP地址空間,從而實(shí)現(xiàn)DSP對FPGA的直接高速數(shù)據(jù)交換。另將DSP 外部中斷IO信號、及定時器信號接入FPGA,以靈活的實(shí)現(xiàn)FPGA與DSP的控制通信。


          圖5: FPGA與DSP連接結(jié)構(gòu)圖

          3.4 PCI硬件接口

          TMS320C6416內(nèi)部集成33MHz/32位支持PCI主/從接口的PCI2.2接口控制器,無需額外的PCI控制芯片即可方便的與具有PCI接口的主機(jī)直接互連。DSP通過內(nèi)部的EDMA控制器實(shí)現(xiàn)集成的PCI接口控制器與DSP的接口。


          圖6:PCI接口功能模塊圖

          4 PCI接口軟件設(shè)計(jì)

          PCI接口開發(fā)中有相當(dāng)大的工作量是關(guān)于PCI軟件的開發(fā),PCI軟件主要包括兩方面的工作:驅(qū)動程序設(shè)計(jì)和主機(jī)端應(yīng)用程序的設(shè)計(jì)。本系統(tǒng)軟件的設(shè)計(jì)目標(biāo)是實(shí)現(xiàn)數(shù)據(jù)采集卡與主機(jī)高速的DMA傳輸及對主機(jī)對DSP內(nèi)存空間的讀寫。

          4.1 驅(qū)動程序設(shè)計(jì)

          驅(qū)動程序根據(jù)Windows 驅(qū)動程序模型(WDM)設(shè)計(jì),運(yùn)行在Win2000 平臺上。支持即插即用,采用基于數(shù)據(jù)包的DMA 傳輸方式,采用Numega公司的開發(fā)包Driver Works和Microsoft公司的2000DDK,并以VC++6.0作為輔助開發(fā)環(huán)境。

          當(dāng)應(yīng)用程序請求從采集卡讀數(shù)據(jù)時,內(nèi)核I/O 管理器將此請求打包成一個IRP(I/O 請求包),驅(qū)動程序調(diào)用相關(guān)例程把應(yīng)用程序發(fā)來控制信息寫入DSP設(shè)置的控制寄存器,并調(diào)用驅(qū)動程序的讀例程。如果數(shù)據(jù)處理卡不忙,數(shù)據(jù)處理卡作為PCI主設(shè)備就啟動DMA傳輸;當(dāng)本次DMA 傳輸完成時,處理卡產(chǎn)生中斷,I/O 管理器調(diào)用驅(qū)動程序的中斷服務(wù)例程和DpcForIsr完成此IRP,并從IRP 隊(duì)列中取出下一個IRP,啟動下一次DMA。下一次中斷發(fā)生時同樣處理。這樣不斷地進(jìn)行DMA 傳輸,直到IRP 隊(duì)列空為止。

          4.2 應(yīng)用程序設(shè)計(jì)

          主機(jī)應(yīng)用程序是主要實(shí)現(xiàn)從高速數(shù)據(jù)采集處理板該取處理后的數(shù)據(jù)、存儲、顯示處理及結(jié)果以及向數(shù)據(jù)采集處理板發(fā)送控制命令。在Windows 2000下,我們使用的應(yīng)用程序開發(fā)工具是VC++6.0。通過CreatFile()函數(shù)得到PCI句柄,用DeviceIoControl()函數(shù)來向設(shè)備驅(qū)動程序發(fā)送請求及命令,完成數(shù)據(jù)的讀取與寫入。用ReadFile()函數(shù)調(diào)用驅(qū)動啟動DMA傳輸實(shí)現(xiàn)高速數(shù)據(jù)傳輸。

          5 結(jié)束語

          本高速采集數(shù)據(jù)處理卡應(yīng)用了大容量FPGA及高性能數(shù)字信號處理器DSP技術(shù)和PCI總線技術(shù)。DSP是為數(shù)字信號處理專門開發(fā)的芯片,其內(nèi)部的總線結(jié)構(gòu)和指令非常適合于數(shù)字信號處理,而FPGA高速硬件實(shí)現(xiàn)算法的特點(diǎn)使得大容量高速FPGA成為數(shù)據(jù)處理板級設(shè)計(jì)重要的選擇,PCI接口的高速可靠的傳輸速率滿足了與主機(jī)應(yīng)用軟件數(shù)據(jù)傳輸?shù)男枨?。本設(shè)計(jì)主要是為了軟件無線電接收機(jī)預(yù)研所設(shè)計(jì)的實(shí)驗(yàn)平臺,經(jīng)實(shí)際驗(yàn)證,系統(tǒng)運(yùn)行可靠,是一種比較好的高速數(shù)據(jù)采集與處理的解決方案,有著廣泛的應(yīng)用前景,也可以用于圖像處理、雷達(dá)信號處理等數(shù)據(jù)采集處理領(lǐng)域。


          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();