《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > DSP+FPGA實(shí)時(shí)信號(hào)處理系統(tǒng)

DSP+FPGA實(shí)時(shí)信號(hào)處理系統(tǒng)

2009-06-01
作者:來曉嵐 趙佳明 盧煥章

  摘 要: 簡要敘述了常用的處理系統(tǒng)" title="信號(hào)處理系統(tǒng)">信號(hào)處理系統(tǒng)的類型與處理機(jī)結(jié)構(gòu),介紹了正逐步得到廣泛應(yīng)用的DSP+FPGA處理機(jī)結(jié)構(gòu),在此基礎(chǔ)上提出了一種實(shí)時(shí)信號(hào)處理的線性流水陣列,,并舉例說明了該結(jié)構(gòu)的具體實(shí)現(xiàn),,最后分析說明了此結(jié)構(gòu)的優(yōu)越性。
  關(guān)鍵詞: 實(shí)時(shí)信號(hào)處理 處理機(jī)結(jié)構(gòu) 線性流水陣列


  實(shí)時(shí)信號(hào)處理系統(tǒng)要求必須具有處理大數(shù)據(jù)量的能力,,以保證系統(tǒng)的實(shí)時(shí)性,;其次對(duì)系統(tǒng)的體積、功耗,、穩(wěn)定性等也有較嚴(yán)格的要求,。實(shí)時(shí)信號(hào)處理算法中經(jīng)常用到對(duì)圖象的求和、求差運(yùn)算,,二維梯度運(yùn)算,,圖象分割及區(qū)域特征提取等不同層次,、不同種類的處理。其中有的運(yùn)算本身結(jié)構(gòu)比較簡單,,但是數(shù)據(jù)量大,,計(jì)算速度要求高;有些處理對(duì)速度并沒有特殊的要求,,但計(jì)算方式和控制結(jié)構(gòu)比較復(fù)雜,,難以用純硬件實(shí)現(xiàn)。因此,,實(shí)時(shí)信號(hào)處理系統(tǒng)是對(duì)運(yùn)算速度要求高,、運(yùn)算種類多的綜合性信息處理系統(tǒng)。
1 信號(hào)處理系統(tǒng)的類型與常用處理機(jī)結(jié)構(gòu)
  根據(jù)信號(hào)處理系統(tǒng)在構(gòu)成,、處理能力以及計(jì)算問題到硬件結(jié)構(gòu)映射方法的不同,,將現(xiàn)代信號(hào)處理系統(tǒng)分為三大類:
  ·指令集結(jié)構(gòu)(ISA)系統(tǒng)。在由各種微處理器,、DSP處理器或?qū)S弥噶罴幚砥鞯冉M成的信號(hào)處理系統(tǒng)中,,都需要通過系統(tǒng)中的處理器所提供的指令系統(tǒng)(或微代碼)來描述各種算法,并在指令部件的控制下完成對(duì)各種可計(jì)算問題的求解,。
  ·硬連線結(jié)構(gòu)系統(tǒng),。主要是指由專用集成電路(ASIC)構(gòu)成的系統(tǒng),其基本特征是功能固定,、通常用于完成特定的算法,,這種系統(tǒng)適合于實(shí)現(xiàn)功能固定和數(shù)據(jù)結(jié)構(gòu)明確的計(jì)算問題。不足之處主要在于:設(shè)計(jì)周期長,、成本高,,且沒有可編程性,可擴(kuò)展性差,。
  ·可重構(gòu)系統(tǒng),。基本特征是系統(tǒng)中有一個(gè)或多個(gè)可重構(gòu)器件(如FPGA),,可重構(gòu)處理器之間或可重構(gòu)處理器與ISA結(jié)構(gòu)處理器之間通過互連結(jié)構(gòu)構(gòu)成一個(gè)完整的計(jì)算系統(tǒng),。
  從系統(tǒng)信號(hào)處理系統(tǒng)的構(gòu)成方式來看,常用的處理機(jī)結(jié)構(gòu)有下面幾種:單指令流單數(shù)據(jù)流(SISD),、單指令流多數(shù)據(jù)流(SIMD),、多指令流多數(shù)據(jù)流(MIMD)。
  ·SISD結(jié)構(gòu)通常由一個(gè)處理器和一個(gè)存貯器組成,,它通過執(zhí)行單一的指令流對(duì)單一的數(shù)據(jù)流進(jìn)行操作,,指令按順序讀取,數(shù)據(jù)在每一時(shí)刻也只能讀取一個(gè)。弱點(diǎn)是單片處理器處理能力有限,,同時(shí),,這種結(jié)構(gòu)也沒有發(fā)揮數(shù)據(jù)處理中的并行性潛力,所以在實(shí)時(shí)系統(tǒng)或高速系統(tǒng)中,,很少采用SISD結(jié)構(gòu),。
  · SIMD結(jié)構(gòu)系統(tǒng)由一個(gè)控制器、多個(gè)處理器,、多個(gè)存貯模塊和一個(gè)互連網(wǎng)絡(luò)組成,。所有“活動(dòng)的”處理器在同一時(shí)刻執(zhí)行同一條指令,但每個(gè)處理器執(zhí)行這條指令時(shí)所用的數(shù)據(jù)是從它本身的存儲(chǔ)模塊中讀取的,。對(duì)操作種類多的算法,,當(dāng)要求存取全局?jǐn)?shù)據(jù)或?qū)τ诓煌臄?shù)據(jù)要求做不同的處理時(shí),它是無法獨(dú)立勝任的,。另外,,SIMD 一般都要求有較多的處理單元和極高的I/O吞吐率,如果系統(tǒng)中沒有足夠多的適合SIMD 處理的任務(wù),,采用SIMD 是不合算的,。
  · MIMD結(jié)構(gòu)就是通常所指的多處理機(jī),典型的MIMD系統(tǒng)由多臺(tái)處理機(jī),、多個(gè)存儲(chǔ)模塊和一個(gè)互連網(wǎng)絡(luò)組成,,每臺(tái)處理機(jī)執(zhí)行自己的指令,操作數(shù)也是各取各的,。MIMD結(jié)構(gòu)中每個(gè)處理器都可以單獨(dú)編程,,因而這種結(jié)構(gòu)的可編程能力是最強(qiáng)的。但由于要用大量的硬件資源解決可編程問題,,硬件利用率不高,。
2 DSP+ASIC結(jié)構(gòu)
  隨著大規(guī)模可編程器件的發(fā)展,,采用DSP+ASIC結(jié)構(gòu)的信號(hào)處理系統(tǒng)顯示出了其優(yōu)越性,,正逐步得到重視。與通用集成電路相比,,ASIC芯片具有體積小,、重量輕、功耗低,、可靠性高等幾個(gè)方面的優(yōu)勢,而且在大批量應(yīng)用時(shí),,可降低成本,。
  現(xiàn)場可編程門陣列(FPGA)是在專用ASIC的基礎(chǔ)上發(fā)展出來的,它克服了專用ASIC不夠靈活的缺點(diǎn)。與其他中小規(guī)模集成電路相比,,其優(yōu)點(diǎn)主要在于它有很強(qiáng)的靈活性,,即其內(nèi)部的具體邏輯功能可以根據(jù)需要配置,對(duì)電路的修改和維護(hù)很方便,。目前,,F(xiàn)PGA的容量已經(jīng)跨過了百萬門級(jí),使得FPGA成為解決系統(tǒng)級(jí)設(shè)計(jì)的重要選擇方案之一,。
  DSP+FPGA結(jié)構(gòu)最大的特點(diǎn)是結(jié)構(gòu)靈活,,有較強(qiáng)的通用性,適于模塊化設(shè)計(jì),,從而能夠提高算法效率,;同時(shí)其開發(fā)周期較短,系統(tǒng)易于維護(hù)和擴(kuò)展,,適合于實(shí)時(shí)信號(hào)處理,。
  實(shí)時(shí)信號(hào)處理系統(tǒng)中,低層的信號(hào)預(yù)處理算法處理的數(shù)據(jù)量大,,對(duì)處理速度的要求高,,但運(yùn)算結(jié)構(gòu)相對(duì)比較簡單,適于用FPGA進(jìn)行硬件實(shí)現(xiàn),,這樣能同時(shí)兼顧速度及靈活性,。高層處理算法的特點(diǎn)是所處理的數(shù)據(jù)量較低層算法少,但算法的控制結(jié)構(gòu)復(fù)雜,,適于用運(yùn)算速度高,、尋址方式靈活、通信機(jī)制強(qiáng)大的DSP芯片來實(shí)現(xiàn),。
3 線性流水陣列結(jié)構(gòu)
  在我們的工作中,,設(shè)計(jì)并實(shí)現(xiàn)了一種實(shí)時(shí)信號(hào)處理結(jié)構(gòu)。它采用模塊化設(shè)計(jì)和線性流水陣列結(jié)構(gòu)(圖1),。


  這種線性流水陣列結(jié)構(gòu)具有如下特點(diǎn):
  ·接口簡單,。各處理單元(PU)之間采用統(tǒng)一的外部接口。
  ·易于擴(kuò)充和維護(hù),。各個(gè)PU的內(nèi)部結(jié)構(gòu)完全相同,,而且外部接口統(tǒng)一,所以系統(tǒng)很容易根據(jù)需要進(jìn)行硬件的配置和擴(kuò)充,。當(dāng)某個(gè)模塊出現(xiàn)故障時(shí),,也易于更換。
  ·處理模塊的規(guī)范結(jié)構(gòu)能夠支持多種處理模式,,可以適應(yīng)不同的處理算法,。
  每個(gè)PU的核心由DSP芯片和可重構(gòu)器件FPGA組成,,另外還包括一些外圍的輔助電路,如存儲(chǔ)器,、先進(jìn)先出(FIFO)器件及FLASH ROM等(圖2),。可重構(gòu)器件電路與DSP處理器相連,,利用DSP處理器強(qiáng)大的I/O功能實(shí)現(xiàn)單元電路內(nèi)部和各個(gè)單元之間的通信,。從DSP的角度來看,可重構(gòu)器件FPGA相當(dāng)于它的宏功能協(xié)處理器(Co-processor),。
  PU中的其他電路輔助核心電路進(jìn)行工作,。DSP和FPGA各自帶有RAM,用于存放處理過程所需要的數(shù)據(jù)及中間結(jié)果,。FLASH ROM中存儲(chǔ)了DSP的執(zhí)行程序和FPGA的配置數(shù)據(jù),。先進(jìn)先出(FIFO)器件則用于實(shí)現(xiàn)信號(hào)處理中常用到的一些操作,如延時(shí)線,、順序存儲(chǔ)等,。
  每個(gè)PU單獨(dú)做成一塊PCB,各級(jí)PU之間通過插座與底板相連,。底板的結(jié)構(gòu)很簡單,,主要由幾個(gè)串連的插座構(gòu)成,其作用是向各個(gè)PU提供通信通道和電源供應(yīng),??梢愿鶕?jù)需要安排底板上插座的個(gè)數(shù),組成多級(jí)線性陣列結(jié)構(gòu),。這種模塊化設(shè)計(jì)的突出優(yōu)點(diǎn)在于,,它使得對(duì)系統(tǒng)的功能擴(kuò)充和維護(hù)變得非常簡單。需要時(shí),,只要插上或更換PU電路板,,就可以實(shí)現(xiàn)系統(tǒng)的擴(kuò)展和故障的排除。每一級(jí)PU中的DSP都有通信端口與前級(jí)和后級(jí)PU電路板相連,,可以很方便地控制和協(xié)調(diào)它們之間的工作,。


4 應(yīng)用實(shí)例
  我們應(yīng)用上述線性流水陣列結(jié)構(gòu)實(shí)現(xiàn)了一個(gè)實(shí)時(shí)目標(biāo)檢測系統(tǒng),該系統(tǒng)的任務(wù)主要是接收攝像頭輸出的灰度圖象,,經(jīng)預(yù)處理,、編碼、直線擬合和目標(biāo)識(shí)別后,,輸出結(jié)果到PC機(jī)顯示,。在這個(gè)任務(wù)中,預(yù)處理模塊包括抽樣,、卷積和編碼等步驟,,屬于低層的處理,,其運(yùn)算數(shù)據(jù)量大,但運(yùn)算結(jié)構(gòu)較規(guī)則,,適于用FPGA進(jìn)行純硬件實(shí)現(xiàn);而直線擬合及目標(biāo)識(shí)別等高層圖象處理算法,,所處理的數(shù)據(jù)量相對(duì)較少,,但要用到多種數(shù)據(jù)結(jié)構(gòu),其控制也復(fù)雜得多,,我們用DSP編程來實(shí)現(xiàn),。
  重構(gòu)處理模塊采用的是Xilinx公司的XC5200系列FPGA芯片。這是一種基于SRAM的現(xiàn)場可編程門陣列,。表1給出了XC5200 系列FPGA的一些參數(shù),。


  XC5200系列FPGA邏輯功能的實(shí)現(xiàn)由內(nèi)部規(guī)則排列的邏輯單元陣列(LCA)來完成,它是FPGA的主要部分,。LCA的核心是可重構(gòu)邏輯塊(CLB),,四周是一些輸入/輸出塊(IOB)。CLB和IOB之間通過片內(nèi)的布線資源相連接,。LCA由配置代碼驅(qū)動(dòng),,CLB和IOB的具體邏輯功能及它們的互聯(lián)關(guān)系由配置數(shù)據(jù)決定。整個(gè)FPGA模塊的設(shè)計(jì)實(shí)現(xiàn)在Xilinx公司的Foundation 2.1i開發(fā)平臺(tái)上完成,。該系統(tǒng)支持設(shè)計(jì)輸入,、邏輯仿真、設(shè)計(jì)實(shí)現(xiàn)(設(shè)計(jì)綜合)和時(shí)序仿真等系統(tǒng)開發(fā)全過程,。
  在選用DSP芯片時(shí),,主要應(yīng)考慮性能能否滿足快速判讀算法的要求,具體說就是要求選擇那些指令周期短,、數(shù)據(jù)吞吐率高,、通信能力強(qiáng)、指令集功能完備的處理器,,同時(shí)也要兼顧功耗和開發(fā)支持環(huán)境等因素,。表2列出了一些常用微處理器的性能參數(shù)。


  我們選擇的是應(yīng)用廣泛,、性價(jià)比較高的TMS320C40芯片,。它是美國TI公司推出的為滿足并行處理需求的32位浮點(diǎn)DSP。主要特性如下:
  ·外部時(shí)鐘40MHz,,內(nèi)部時(shí)鐘20MHz,,所有指令均單周期完成,處理器內(nèi)部采用高度并行機(jī)制,,可同時(shí)進(jìn)行多達(dá)11項(xiàng)各類操作,。
  ·兩套相同的外部數(shù)據(jù),、地址總線,支持局部存儲(chǔ)器和全局共享存儲(chǔ)器,。
  ·6個(gè)高速并行通信口,,采用異步傳輸方式,最大速率可達(dá)20Mb/s,。通過令牌傳遞可靈活實(shí)現(xiàn)數(shù)據(jù)雙向傳輸,,這種結(jié)構(gòu)很適合C40之間的互連。
  ·6個(gè)DMA通道,,每個(gè)通道的最大速率可達(dá)20Mb/s,。DMA內(nèi)部總線與CPU的地址、數(shù)據(jù),、指令總線完全分開,,避開了總線使用上的瓶頸。
  從結(jié)構(gòu)和功能上看,,C40很適合與可重構(gòu)器件互相配合起來構(gòu)成高速,、高精度的實(shí)時(shí)信息處理系統(tǒng),并完全可以勝任圖像信息的實(shí)時(shí)處理任務(wù),;此外,,C40的開發(fā)系統(tǒng)也比較完備,支持C語言和匯編語言編程,,能夠方便地進(jìn)行算法移植和軟/硬件的協(xié)同設(shè)計(jì),。
  衡量系統(tǒng)的整體性能不僅要看所使用的器件和所能完成的功能,還要看器件之間采用怎樣的互連結(jié)構(gòu),。XC5200可以完成模塊級(jí)的任務(wù),,起到DSP的協(xié)處理器的作用。它的可編程性使它既具有專用集成電路的速度,,又具有很高的靈活性,。C40內(nèi)部結(jié)構(gòu)的主要優(yōu)勢是:所有指令的執(zhí)行時(shí)間都是單周期,指令采用流水線,,內(nèi)部的數(shù)據(jù),、地址、指令及DMA總線分開,,有較多的寄存器,。這些特征使它有較高的處理速度。FPGA具有硬件的高速性,,而C40具有軟件的靈活性,,從器件上考察,能夠滿足處理復(fù)雜算法的要求,。同時(shí),,C40的6個(gè)通信口和6個(gè)DMA通道使其能夠在不被中斷的情況下比較從容地應(yīng)付與外界大量的數(shù)據(jù)交換,。
  從PU內(nèi)部互連來看,C40使用了專用的通信口完成與FPGA的互連,,能夠保證在任何情況下FPGA與C40的數(shù)據(jù)通道的暢通,。另外,F(xiàn)PGA和C40各自都有輸入端口,,使得系統(tǒng)的處理結(jié)構(gòu)多樣化,。比如,F(xiàn)PGA可以作為處理流程中的一個(gè)模塊,,獨(dú)立完成某項(xiàng)功能,也可以作為C40的協(xié)處理器,,通過C40的調(diào)用來完成特定的子函數(shù),。底板將互連性延伸到PU之間,使得多個(gè)電路板能夠組成多處理機(jī)系統(tǒng),。前級(jí)的C40既可以與下一級(jí)的C40通信,,也可以將數(shù)據(jù)發(fā)送到下一級(jí)的FPGA。
  綜上所述,,本文提出的基于DSP+FPGA的線性流水陣列結(jié)構(gòu),,為設(shè)計(jì)中如何處理軟硬件的關(guān)系提供了一個(gè)較好的解決方案。同時(shí),,該系統(tǒng)具有靈活的處理結(jié)構(gòu),,對(duì)不同結(jié)構(gòu)的算法都有較強(qiáng)的適應(yīng)能力,尤其適合實(shí)時(shí)信號(hào)處理任務(wù),。
參考文獻(xiàn)
1 余小游.可重構(gòu)計(jì)算技術(shù)及其在圖像制導(dǎo)信息處理系統(tǒng)中的應(yīng)用.國防科技大學(xué)博士學(xué)位論文,,1998.10
2 趙佳明.光學(xué)圖象實(shí)時(shí)目標(biāo)識(shí)別系統(tǒng).國防科技大學(xué) 碩士學(xué)位論文,1999.12
3 TMS320C4x User's Guide.美國TI公司,,1991
4 Xilinx Data Book.美國Xilinx公司,,1996

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問題,,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]