摘 要: 簡要敘述了常用的處理系統(tǒng)" title="信號處理系統(tǒng)">信號處理系統(tǒng)的類型與處理機結構,,介紹了正逐步得到廣泛應用的DSP+FPGA處理機結構,,在此基礎上提出了一種實時信號處理的線性流水陣列,并舉例說明了該結構的具體實現(xiàn),,最后分析說明了此結構的優(yōu)越性,。
關鍵詞: 實時信號處理 處理機結構 線性流水陣列
實時信號處理系統(tǒng)要求必須具有處理大數(shù)據(jù)量的能力,以保證系統(tǒng)的實時性,;其次對系統(tǒng)的體積,、功耗、穩(wěn)定性等也有較嚴格的要求,。實時信號處理算法中經(jīng)常用到對圖象的求和,、求差運算,二維梯度運算,,圖象分割及區(qū)域特征提取等不同層次,、不同種類的處理。其中有的運算本身結構比較簡單,,但是數(shù)據(jù)量大,,計算速度要求高;有些處理對速度并沒有特殊的要求,,但計算方式和控制結構比較復雜,,難以用純硬件實現(xiàn)。因此,,實時信號處理系統(tǒng)是對運算速度要求高,、運算種類多的綜合性信息處理系統(tǒng)。
1 信號處理系統(tǒng)的類型與常用處理機結構
根據(jù)信號處理系統(tǒng)在構成,、處理能力以及計算問題到硬件結構映射方法的不同,,將現(xiàn)代信號處理系統(tǒng)分為三大類:
·指令集結構(ISA)系統(tǒng)。在由各種微處理器,、DSP處理器或專用指令集處理器等組成的信號處理系統(tǒng)中,,都需要通過系統(tǒng)中的處理器所提供的指令系統(tǒng)(或微代碼)來描述各種算法,并在指令部件的控制下完成對各種可計算問題的求解,。
·硬連線結構系統(tǒng),。主要是指由專用集成電路(ASIC)構成的系統(tǒng),其基本特征是功能固定,、通常用于完成特定的算法,,這種系統(tǒng)適合于實現(xiàn)功能固定和數(shù)據(jù)結構明確的計算問題。不足之處主要在于:設計周期長、成本高,,且沒有可編程性,,可擴展性差。
·可重構系統(tǒng),?;咎卣魇窍到y(tǒng)中有一個或多個可重構器件(如FPGA),可重構處理器之間或可重構處理器與ISA結構處理器之間通過互連結構構成一個完整的計算系統(tǒng),。
從系統(tǒng)信號處理系統(tǒng)的構成方式來看,,常用的處理機結構有下面幾種:單指令流單數(shù)據(jù)流(SISD)、單指令流多數(shù)據(jù)流(SIMD),、多指令流多數(shù)據(jù)流(MIMD),。
·SISD結構通常由一個處理器和一個存貯器組成,它通過執(zhí)行單一的指令流對單一的數(shù)據(jù)流進行操作,,指令按順序讀取,,數(shù)據(jù)在每一時刻也只能讀取一個。弱點是單片處理器處理能力有限,,同時,,這種結構也沒有發(fā)揮數(shù)據(jù)處理中的并行性潛力,所以在實時系統(tǒng)或高速系統(tǒng)中,,很少采用SISD結構,。
· SIMD結構系統(tǒng)由一個控制器、多個處理器,、多個存貯模塊和一個互連網(wǎng)絡組成,。所有“活動的”處理器在同一時刻執(zhí)行同一條指令,,但每個處理器執(zhí)行這條指令時所用的數(shù)據(jù)是從它本身的存儲模塊中讀取的,。對操作種類多的算法,當要求存取全局數(shù)據(jù)或對于不同的數(shù)據(jù)要求做不同的處理時,,它是無法獨立勝任的,。另外,SIMD 一般都要求有較多的處理單元和極高的I/O吞吐率,,如果系統(tǒng)中沒有足夠多的適合SIMD 處理的任務,,采用SIMD 是不合算的。
· MIMD結構就是通常所指的多處理機,,典型的MIMD系統(tǒng)由多臺處理機,、多個存儲模塊和一個互連網(wǎng)絡組成,每臺處理機執(zhí)行自己的指令,,操作數(shù)也是各取各的,。MIMD結構中每個處理器都可以單獨編程,因而這種結構的可編程能力是最強的。但由于要用大量的硬件資源解決可編程問題,,硬件利用率不高,。
2 DSP+ASIC結構
隨著大規(guī)模可編程器件的發(fā)展,,采用DSP+ASIC結構的信號處理系統(tǒng)顯示出了其優(yōu)越性,,正逐步得到重視。與通用集成電路相比,,ASIC芯片具有體積小,、重量輕、功耗低,、可靠性高等幾個方面的優(yōu)勢,,而且在大批量應用時,可降低成本,。
現(xiàn)場可編程門陣列(FPGA)是在專用ASIC的基礎上發(fā)展出來的,,它克服了專用ASIC不夠靈活的缺點。與其他中小規(guī)模集成電路相比,,其優(yōu)點主要在于它有很強的靈活性,,即其內(nèi)部的具體邏輯功能可以根據(jù)需要配置,對電路的修改和維護很方便,。目前,,F(xiàn)PGA的容量已經(jīng)跨過了百萬門級,使得FPGA成為解決系統(tǒng)級設計的重要選擇方案之一,。
DSP+FPGA結構最大的特點是結構靈活,,有較強的通用性,適于模塊化設計,,從而能夠提高算法效率,;同時其開發(fā)周期較短,系統(tǒng)易于維護和擴展,,適合于實時信號處理,。
實時信號處理系統(tǒng)中,低層的信號預處理算法處理的數(shù)據(jù)量大,,對處理速度的要求高,,但運算結構相對比較簡單,適于用FPGA進行硬件實現(xiàn),,這樣能同時兼顧速度及靈活性,。高層處理算法的特點是所處理的數(shù)據(jù)量較低層算法少,但算法的控制結構復雜,,適于用運算速度高,、尋址方式靈活,、通信機制強大的DSP芯片來實現(xiàn)。
3 線性流水陣列結構
在我們的工作中,,設計并實現(xiàn)了一種實時信號處理結構,。它采用模塊化設計和線性流水陣列結構(圖1)。
這種線性流水陣列結構具有如下特點:
·接口簡單,。各處理單元(PU)之間采用統(tǒng)一的外部接口,。
·易于擴充和維護。各個PU的內(nèi)部結構完全相同,,而且外部接口統(tǒng)一,,所以系統(tǒng)很容易根據(jù)需要進行硬件的配置和擴充。當某個模塊出現(xiàn)故障時,,也易于更換,。
·處理模塊的規(guī)范結構能夠支持多種處理模式,可以適應不同的處理算法,。
每個PU的核心由DSP芯片和可重構器件FPGA組成,,另外還包括一些外圍的輔助電路,如存儲器,、先進先出(FIFO)器件及FLASH ROM等(圖2),。可重構器件電路與DSP處理器相連,,利用DSP處理器強大的I/O功能實現(xiàn)單元電路內(nèi)部和各個單元之間的通信,。從DSP的角度來看,可重構器件FPGA相當于它的宏功能協(xié)處理器(Co-processor),。
PU中的其他電路輔助核心電路進行工作,。DSP和FPGA各自帶有RAM,用于存放處理過程所需要的數(shù)據(jù)及中間結果,。FLASH ROM中存儲了DSP的執(zhí)行程序和FPGA的配置數(shù)據(jù),。先進先出(FIFO)器件則用于實現(xiàn)信號處理中常用到的一些操作,如延時線,、順序存儲等,。
每個PU單獨做成一塊PCB,,各級PU之間通過插座與底板相連,。底板的結構很簡單,主要由幾個串連的插座構成,,其作用是向各個PU提供通信通道和電源供應,。可以根據(jù)需要安排底板上插座的個數(shù),,組成多級線性陣列結構,。這種模塊化設計的突出優(yōu)點在于,,它使得對系統(tǒng)的功能擴充和維護變得非常簡單。需要時,,只要插上或更換PU電路板,,就可以實現(xiàn)系統(tǒng)的擴展和故障的排除。每一級PU中的DSP都有通信端口與前級和后級PU電路板相連,,可以很方便地控制和協(xié)調(diào)它們之間的工作,。
4 應用實例
我們應用上述線性流水陣列結構實現(xiàn)了一個實時目標檢測系統(tǒng),該系統(tǒng)的任務主要是接收攝像頭輸出的灰度圖象,,經(jīng)預處理,、編碼、直線擬合和目標識別后,,輸出結果到PC機顯示,。在這個任務中,預處理模塊包括抽樣,、卷積和編碼等步驟,,屬于低層的處理,其運算數(shù)據(jù)量大,,但運算結構較規(guī)則,,適于用FPGA進行純硬件實現(xiàn);而直線擬合及目標識別等高層圖象處理算法,,所處理的數(shù)據(jù)量相對較少,,但要用到多種數(shù)據(jù)結構,其控制也復雜得多,,我們用DSP編程來實現(xiàn),。
重構處理模塊采用的是Xilinx公司的XC5200系列FPGA芯片。這是一種基于SRAM的現(xiàn)場可編程門陣列,。表1給出了XC5200 系列FPGA的一些參數(shù),。
XC5200系列FPGA邏輯功能的實現(xiàn)由內(nèi)部規(guī)則排列的邏輯單元陣列(LCA)來完成,它是FPGA的主要部分,。LCA的核心是可重構邏輯塊(CLB),,四周是一些輸入/輸出塊(IOB)。CLB和IOB之間通過片內(nèi)的布線資源相連接,。LCA由配置代碼驅動,,CLB和IOB的具體邏輯功能及它們的互聯(lián)關系由配置數(shù)據(jù)決定。整個FPGA模塊的設計實現(xiàn)在Xilinx公司的Foundation 2.1i開發(fā)平臺上完成,。該系統(tǒng)支持設計輸入,、邏輯仿真、設計實現(xiàn)(設計綜合)和時序仿真等系統(tǒng)開發(fā)全過程,。
在選用DSP芯片時,,主要應考慮性能能否滿足快速判讀算法的要求,,具體說就是要求選擇那些指令周期短、數(shù)據(jù)吞吐率高,、通信能力強,、指令集功能完備的處理器,同時也要兼顧功耗和開發(fā)支持環(huán)境等因素,。表2列出了一些常用微處理器的性能參數(shù),。
我們選擇的是應用廣泛、性價比較高的TMS320C40芯片,。它是美國TI公司推出的為滿足并行處理需求的32位浮點DSP,。主要特性如下:
·外部時鐘40MHz,內(nèi)部時鐘20MHz,,所有指令均單周期完成,,處理器內(nèi)部采用高度并行機制,可同時進行多達11項各類操作,。
·兩套相同的外部數(shù)據(jù),、地址總線,支持局部存儲器和全局共享存儲器,。
·6個高速并行通信口,,采用異步傳輸方式,最大速率可達20Mb/s,。通過令牌傳遞可靈活實現(xiàn)數(shù)據(jù)雙向傳輸,,這種結構很適合C40之間的互連。
·6個DMA通道,,每個通道的最大速率可達20Mb/s,。DMA內(nèi)部總線與CPU的地址、數(shù)據(jù),、指令總線完全分開,,避開了總線使用上的瓶頸。
從結構和功能上看,,C40很適合與可重構器件互相配合起來構成高速,、高精度的實時信息處理系統(tǒng),并完全可以勝任圖像信息的實時處理任務,;此外,,C40的開發(fā)系統(tǒng)也比較完備,支持C語言和匯編語言編程,,能夠方便地進行算法移植和軟/硬件的協(xié)同設計,。
衡量系統(tǒng)的整體性能不僅要看所使用的器件和所能完成的功能,,還要看器件之間采用怎樣的互連結構,。XC5200可以完成模塊級的任務,,起到DSP的協(xié)處理器的作用。它的可編程性使它既具有專用集成電路的速度,,又具有很高的靈活性,。C40內(nèi)部結構的主要優(yōu)勢是:所有指令的執(zhí)行時間都是單周期,指令采用流水線,,內(nèi)部的數(shù)據(jù),、地址、指令及DMA總線分開,,有較多的寄存器,。這些特征使它有較高的處理速度。FPGA具有硬件的高速性,,而C40具有軟件的靈活性,,從器件上考察,能夠滿足處理復雜算法的要求,。同時,,C40的6個通信口和6個DMA通道使其能夠在不被中斷的情況下比較從容地應付與外界大量的數(shù)據(jù)交換。
從PU內(nèi)部互連來看,,C40使用了專用的通信口完成與FPGA的互連,,能夠保證在任何情況下FPGA與C40的數(shù)據(jù)通道的暢通。另外,,F(xiàn)PGA和C40各自都有輸入端口,,使得系統(tǒng)的處理結構多樣化。比如,,F(xiàn)PGA可以作為處理流程中的一個模塊,,獨立完成某項功能,也可以作為C40的協(xié)處理器,,通過C40的調(diào)用來完成特定的子函數(shù),。底板將互連性延伸到PU之間,使得多個電路板能夠組成多處理機系統(tǒng),。前級的C40既可以與下一級的C40通信,,也可以將數(shù)據(jù)發(fā)送到下一級的FPGA。
綜上所述,,本文提出的基于DSP+FPGA的線性流水陣列結構,,為設計中如何處理軟硬件的關系提供了一個較好的解決方案。同時,,該系統(tǒng)具有靈活的處理結構,,對不同結構的算法都有較強的適應能力,尤其適合實時信號處理任務,。
參考文獻
1 余小游.可重構計算技術及其在圖像制導信息處理系統(tǒng)中的應用.國防科技大學博士學位論文,,1998.10
2 趙佳明.光學圖象實時目標識別系統(tǒng).國防科技大學 碩士學位論文,,1999.12
3 TMS320C4x User's Guide.美國TI公司,1991
4 Xilinx Data Book.美國Xilinx公司,,1996