新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 用FPGA實現(xiàn)低成本高性能的數(shù)據(jù)采集和控制卡

用FPGA實現(xiàn)低成本高性能的數(shù)據(jù)采集和控制卡

——
作者:上海萊迪思半導(dǎo)體公司供稿 陳衡 時間:2007-01-26 來源:《世界電子元器件》 收藏
摘 要:本文主要敘述采用lattice的fpga體系結(jié)構(gòu)能夠在給定的dsp cpu的基礎(chǔ)上,經(jīng)濟地增加通道數(shù)和每個通道的采樣頻率。
帶有dsp cpu的現(xiàn)成的數(shù)據(jù)采集和控制卡經(jīng)常只能達到預(yù)期性能的一小部分。隨著通道數(shù)目的增加或者采樣頻率的提高,在達到全部通道性能之前,dsp cpu已經(jīng)開始呈現(xiàn)出超載現(xiàn)象。

當今市場的壓力迫使數(shù)據(jù)采集和控制卡的供應(yīng)商在增加數(shù)據(jù)采集卡的通道數(shù)和提高采樣頻率的同時還要考慮降低成本。而且,卡的實際功能可以由生產(chǎn)或者在系統(tǒng)配置時決定。有時候,同一種卡在同一個系統(tǒng)的不同插槽中需要完成不同的功能。

本文引用地址:http://butianyuan.cn/article/20552.htm

當通道數(shù)增加時,dsp的負荷也隨之增加。在多數(shù)應(yīng)用中,大部分的dsp cpu的帶寬被前端預(yù)處理任務(wù)(偏移校正、增益調(diào)整、預(yù)濾波等)所消耗。而且這種代碼的開發(fā)也是費時費力的,因為出于效率方面的原因,它通常需要用匯編語言來編寫。即使采樣數(shù)據(jù)從每個通道到不同的存儲器之間的傳送過程由dma來處理,cpu的性能仍然會因可用的存儲器帶寬減小而降低。采樣頻率越高,處理器可用的執(zhí)行諸如信號分析、視頻處理、壓縮等的實際dsp功能的時間就越少。

由于dsp處理器不得不從一個通道切換到下一個通道,因此高速緩存器進一步降低了可用的總線帶寬。除了處理數(shù)據(jù)以外,dsp cpu還必須管理數(shù)據(jù)(緩沖、數(shù)據(jù)移動等)、通過背板將處理完的數(shù)據(jù)傳送到主處理器、處理背板協(xié)議等。

要滿足通道數(shù)目增加時的處理要求,dsp cpu的性能必須呈指數(shù)型的提高。對提升dsp性能的要求可以通過提高處理器的工作頻率(將導(dǎo)致更高的總線傳輸頻率、使用更快的存儲器和外設(shè)接口芯片)或使用功能更為強大的處理器這兩種方法來滿足。無論哪種方法都會大大地增加電路板的成本。

本文提出的體系結(jié)構(gòu)能夠在給定的dsp cpu的基礎(chǔ)上,經(jīng)濟地增加通道數(shù)和每個通道的采樣頻率。它通過采用低成本的latticeecp和 latticeec fpga作為 dsp cpu的協(xié)處理器,在降低預(yù)處理和非dsp工作負荷的同時保持了靈活性,可以適應(yīng)多種不同的應(yīng)用。由于這些fpga器件提供了充足的局域存儲器,因此可以實現(xiàn)一種能夠進一步提高性能的可編程的數(shù)據(jù)流結(jié)構(gòu):一旦所有操作數(shù)就緒,數(shù)據(jù)流結(jié)構(gòu)將幫助dsp處理器執(zhí)行計算任務(wù)。它取代了需要等待操作數(shù)就緒的順序執(zhí)行的方式。


圖1 數(shù)據(jù)采集和控制卡結(jié)構(gòu)
結(jié)構(gòu)圖1顯示了如今的數(shù)據(jù)采集和控制卡結(jié)構(gòu)。該卡被設(shè)計成能夠處理來自adc板塊的20m的采樣數(shù)據(jù)。

從左邊開始,多個高頻模擬信號被adc板塊量化并通過一個lvds接口被傳送到fpga中。fpga通過dma將數(shù)據(jù)直接傳送到連在dsp cpu上的sram中。dsp cpu處理存儲器中的數(shù)據(jù),并將分析過的數(shù)據(jù)通過pci背板傳送到主處理器中。在cpu的命令下,fpga產(chǎn)生用于與外部數(shù)字子系統(tǒng)通信的控制信號。該板的基準產(chǎn)能是能夠處理4個5m采樣頻率的通道。在這樣的速率下,已經(jīng)沒有剩余的可用于模擬控制(用數(shù)字i/o驅(qū)動dac)或者分析調(diào)理過的信號的處理能力了。因為dsp cpu已經(jīng)在處理所有的任務(wù)(包括預(yù)處理功能、與主處理器通信等),任何新增的處理要求只能由下一代的、配備了更昂貴的dsp cpu的數(shù)據(jù)采集卡來完成。另一種可選方案是通過減少輸入通道數(shù)來處理額外的工作。


ecp fpga中的dsp模塊

在分析實際應(yīng)用的結(jié)構(gòu)圖之前,先描述一下內(nèi)嵌在latticeecp-dsp fpga中的獨特靈活的dsp模塊是很有幫助的。這種模塊經(jīng)過配置可以用于許多種dsp應(yīng)用。每片ecp-dsp器件有4到10個sysdsp模塊。它們可以通過多個通道實現(xiàn)并行的dsp處理。借助軟件,每個sysdsp模塊可以配置成下列的模式之一:

36x36模式

一個36x36的乘法器

18x18模式

四個乘法器

兩個52位的乘法累加器

兩個各含兩個18x18乘法器的求和器

一個含四個18x18乘法器的求和器

9x9模式

八個乘法器

兩個34位的乘法累加器

四個各含兩個9x9乘法器的求和器

兩個各含四個9x9乘法器的求和器

sysdsp模塊提供的靈活性可以被用來實現(xiàn)許多種dsp任務(wù)。以下是sysdsp模塊在18x18模式下的配置示意圖,見圖2。


圖2 sysdsp模塊在18x18模式下的配置示意圖 這些模塊可以實現(xiàn)250mhz速度下的所有功能,總的處理能力達一萬個mmac(百萬乘法累加操作)。由于待處理的數(shù)據(jù)通過硬件送到這些sysdsp模塊中(與微處理器需要從它的存儲器中讀取數(shù)據(jù)不同),所以這些模塊的性能非常接近基準期望值。這些流水線寄存器可以使dsp處理任務(wù)在最高運行速度下執(zhí)行。這種sysdsp模塊可以在同一個模塊中實現(xiàn)乘法累加、求和、加法或減法運算,而無需使用外部的fpga結(jié)構(gòu),因此避免了這些結(jié)構(gòu)的布線延時。

這些fpga結(jié)構(gòu)可以編程實現(xiàn)所要求的數(shù)據(jù)管理功能,從而減輕dsp cpu處理非dsp工作的負擔。


重新配置改善性能

結(jié)構(gòu)圖3采用了相同的dsp cpu來實現(xiàn)所有的新增性能。在通道容量倍增的同時,其成本比采用更新的dsp cpu的板子低得多。

從左側(cè)開始,adc板塊現(xiàn)在可以實現(xiàn)8路高頻模擬信號的采樣,并且通過lvds信號接口與latticeecp-dsp進行通信。ecp器件同時在所有通道中實時地執(zhí)行所有信號預(yù)處理功能。通過這個fpga,經(jīng)過整形的待處理的采樣數(shù)據(jù)被寫入ddr存儲器。


圖3 采用latticeecp、ec的結(jié)構(gòu)圖 在ecp fpga中實現(xiàn)的cpu總線接口(64位)能夠在觸發(fā)模式下在高性能ddr存儲器和cpu高速緩存之間傳送數(shù)據(jù)和指令。ecp fpga還提供內(nèi)部存儲器來緩沖待處理的數(shù)據(jù),降低了非順序存取ddr存儲器帶來的損失。當cpu在高速緩存中處理數(shù)據(jù)時,在ecp fpga中實現(xiàn)的智能總線仲裁器和切換邏輯能夠與外圍器件(latticeecp,pci背板,數(shù)字i/o接口)之間交換數(shù)據(jù)。

這種結(jié)構(gòu)提高了dsp cpu的效率。主要表現(xiàn)在降低dsp cpu的預(yù)處理負荷;減少必不可少的通道切換的中斷時間;減輕非dsp工作的負荷;通過使用更快的ddr存儲器來增加存儲器的帶寬;在處理任務(wù)時,減少了非順序存取ddr存儲器的次數(shù)。dsp cpu的這種新增能力可以用來增加輸入和輸出的通道數(shù)。

ecp-dsp fpga實現(xiàn)的功能

高速adc接口;

每個通道的實時預(yù)處理,實現(xiàn)諸如偏移校正、增益調(diào)整、有限脈沖相應(yīng)濾波器等功能;

根據(jù)應(yīng)用要求配置數(shù)字i/o接口;

經(jīng)過緩沖,數(shù)字接口也可以驅(qū)動dac;

與latticeecp fpga之間的高速通信接口。

ec fpga實現(xiàn)的功能

64位dsp cpu接口;

ddr接口;

用局部存儲器存放經(jīng)過部分處理的數(shù)據(jù);

cpci/pxi接口;

用存放在主cpu中的配置來配置lattice ec器件的邏輯;

與lattice ecp fpga之間的高速通信接口; 將由cpu執(zhí)行的啟動代碼傳送至ddr存儲器的邏輯;

用從主cpu收到的最新代碼更新啟動代碼閃存;

管理lattice ecp、存儲器、cpci背板等之間數(shù)據(jù)傳送所需的智能總線仲裁邏輯功能。


在不同的應(yīng)用中配置電路板

這種電路板既可以通過背板接口進行在系統(tǒng)配置也可以在制造的過程中進行配置。

(1)通過背板配置

供dsp cpu使用的啟動rom中的代碼能夠和主處理器通信,連接在latticeec fpga上的spi配置閃存可以裝載配置以實現(xiàn)上述所有功能。

當卡插入插槽后,latticeec fpga進行配置,將rom中的代碼送入ddr存儲器中,并且給power manager發(fā)信號結(jié)束對cpu的復(fù)位操作。dsp cpu與主處理器進行通信并開始將dsp處理規(guī)則送入ddr存儲器。同時,通過由latticeec fpga控制的sysconfig端口,預(yù)處理配置被直接載入ecp。 這樣,latticeecp fpga就可以根據(jù)這個插槽的要求開始處理信號了。

(2)在制造時進行配置

dsp的處理規(guī)則存放在啟動rom中而fpga的配置存放在它們各自的spi配置閃存中。

當卡插入插槽后,latticeec器件通過spi閃存自行實現(xiàn)配置(在此過程中,power manager將cpu置成復(fù)位狀態(tài))并且將啟動rom中的內(nèi)容送入ddr存儲器。與此同時,latticeecp fpga也通過自己的spi配置閃存實現(xiàn)自我配置。當兩個fpga配置完成后,power manager發(fā)送信號結(jié)束對cpu的復(fù)位。


結(jié)語

與舊的方案相比,在采用相同的dsp cpu的情況下,新的結(jié)構(gòu)能使板的性能提高一倍以上。性能的改善首先得益于取消了舊設(shè)計中費時的匯編代碼和難以維護的預(yù)處理功能,其次得益于使用了更快、更便宜的ddr存儲器。其結(jié)果是在提供了類似性能、保持了同樣的靈活性的前提下,設(shè)計成本大幅下降。




關(guān)鍵詞:

評論


相關(guān)推薦

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

關(guān)閉