- TMS320C55x DSP原理及應用(第3版)
- 汪春梅 孫洪波編著
- 3194字
- 2018-12-27 11:41:31
1.1 實時數字信號處理技術的發展
20世紀60年代以來,隨著信息技術的不斷進步,數字信號處理技術應運而生并得到迅速發展。80年代以前,由于方法的限制,數字信號處理技術處于理論研究階段,還得不到廣泛的應用。在此階段,人們利用通用計算機進行數字濾波、頻譜分析等算法的研究,以及數字信號處理系統的模擬和仿真。而將數字信號處理技術推向高峰的則是實時數字信號處理技術的高速發展。
實時數字信號處理對數字信號處理系統的處理能力提出了嚴格的要求,所有運算、處理都必須小于系統可接受的最大時延。以視頻會議為例,從發送端圖像、聲音信號的采集、壓縮,通過信道傳輸,到接收端完成數據接收,圖像、聲音信號的解壓、還原,其中任何一個處理環節都應滿足最大時延要求,否則將出現圖像、聲音信號的間斷,從而影響視頻會議的正常進行,如果每個數據包都包含了20ms的音、視頻信號,可以很容易得出整個系統的整體延遲必須小于500ms,而每個數據包的處理時間必須小于20ms才能滿足系統實時處理要求。
典型實時數字信號處理系統的基本部件包括:抗混疊濾波器(Anti-aliasing filter)、模/數轉換器(Analog-to-Digital Converter,ADC)、數字信號處理、數/模轉換器(Digital-to-Analog Converter,DAC)和抗鏡像濾波器(Anti-image filter),如圖1-1所示。其中,抗混疊濾波器將輸入的模擬信號中高于奈奎斯特頻率的頻率成分濾掉;ADC將模擬信號轉換成DSP可以處理的并行或串行的數字比特流;數字信號處理部分完成數字信號處理算法;經過處理的數字信號經DAC轉換成為模擬樣值之后,再由抗鏡像濾波器完成模擬波形的重建。

圖1-1 典型實時數字信號處理系統框圖
和其他數字系統一樣,實時數字信號處理系統具有許多模擬系統不具備的優點,如靈活,可編程,支持時分復用,易于模塊化設計,可重復使用,可靠性高,抗環境干擾能力強,易于維護等。當前實用的數字信號處理系統主要有以下幾種,它們各具優缺點,這就需要使用者根據具體情況做出相應選擇。
1.利用X86處理器完成實時數字信號處理
隨著CPU技術的不斷進步,X86處理器的處理能力不斷發展,基于X86處理器的處理系統已經不僅局限于以往的模擬和仿真,也能滿足部分數字信號的實時處理要求,而各種便攜式或工業標準的推出,如PC104、PC104 Plus結構,以及CPCI總線標準的應用,這些都改善了X86系統的抗惡劣環境的性能,擴展了X86系統的應用范圍。利用X86系統進行實時數字信號處理有下列優點:
(1)處理器選擇范圍較寬:X86處理器涵蓋了從386到奔騰系列,處理速度從100MHz到幾GHz,而為了滿足工控等各種應用,X86廠商也推出了多款低功耗處理器,其功耗遠遠小于商用處理器。
(2)主板及外設資源豐富:無論是普通結構,還是基于PC104和PC104 Plus結構,以及CPCI總線標準,都有多種主板及擴展子板可供選擇,節省了用戶的大量硬件開發時間。
(3)有多種操作系統可供選擇:這些操作系統包括Windows、Linux、Win CE等,而針對特殊應用,還可根據需要對操作系統進行剪裁,以適應實時數字信號處理要求。
(4)開發、調試較為方便:X86的開發、調試工具十分成熟,使用者不需要很深的硬件基礎,只要能夠熟練使用VC、C-Build等開發工具即可進行開發。
但使用X86進行實時信號處理的缺點也是十分明顯的。
(1)數字信號處理能力不強:X86系列處理器沒有為數字信號處理提供專用乘法器等資源,尋址方式也沒有為數字信號處理進行優化,實時信號處理對中斷的響應延遲時間要求十分嚴格,通用操作系統并不能滿足這一要求。
(2)硬件組成較為復雜:即使是采用最小系統,X86數字信號處理系統也要包括主板(包括CPU、總線控制、內存等)、非易失存儲器(硬盤或電子硬盤、SD卡或CF卡)和信號輸入/輸出部分(這部分通常為AD擴展卡和DA擴展卡),如果再包括顯示、鍵盤等設備,系統將更為復雜。
(3)系統體積、重量較大,功耗較高:即使采用緊湊的PC104結構,其尺寸也達到96mm×90mm,而采用各種降低功耗的措施,X86主板的峰值功耗仍不小于5W,高功耗則對供電提出較高要求,則需要便攜系統提供容量較大的電池,進一步增大了系統的重量。
(4)抗環境影響能力較弱:便攜系統往往要工作于自然環境當中,溫度、濕度、振動、電磁干擾等都會給系統正常工作帶來影響,而為了克服這些影響,X86系統所需付出的代價將是十分巨大的。
2.利用通用微處理器完成實時數字信號處理
通用微處理器的種類多,包括51系列及其擴展系列,德州儀器公司的MSP430系列, ARM公司的ARM7、ARM9、ARM10系列等,利用通用微處理器進行信號處理的優點如下。
(1)可選范圍廣:通用微處理器種類多,使用者可從速度、片內存儲器容量、片內外設資源等各種角度進行選擇,許多處理器還為執行數字信號處理專門提供了乘法器等資源。
(2)硬件組成簡單:只需要非易失存儲器,A/D、D/A即可組成最小系統,這類處理器一般都包括各種串行、并行接口,可以方便地與各種A/D、D/A轉換器進行連接。
(3)系統功耗低,適應環境能力強。
利用通用微處理器進行信號處理的缺點如下。
(1)信號處理的效率較低:以一個兩個數值乘法為例,處理器需要先用兩條指令從存儲器當中取值到寄存器中,用一條指令完成兩個寄存器的值相乘,再用一條指令將結果存到存儲器中,這樣,完成一次乘法就花費了4條指令,使信號處理的效率難以提高。
(2)內部DMA通道較少:數字信號處理需要對大量的數據進行搬移,如果這些數據搬移全部通過CPU進行,將極大的浪費CPU資源,但通用處理器往往DMA通道數量較少,甚至沒有DMA通道,這也將影響信號處理的效率。
針對這些缺點,當前的發展趨勢是在通用處理器中內嵌硬件數字信號處理單元,如很多視頻處理器產品都是在ARM9處理器中嵌入H.264、MPEG4等硬件視頻處理模塊,從而取得了較好的處理效果;而另一條路徑是在單片中集成ARM處理器和DSP處理器,類似的產品如德州儀器的OMAP處理器及最新的達芬奇視頻處理器,它們就是在一個芯片中集成了一個ARM9處理器和一個C55x處理器或一個C64x處理器。
3.利用可編程邏輯陣列(FPGA)進行實時數字信號處理
隨著微電子技術的快速發展,FPGA的制作工藝已經進入到45nm時期,這意味在一片集成電路當中可以集成更多的晶體管,芯片運行更快,功耗更低。其主要優點如下。
(1)適合高速信號處理:FPGA采用硬件實現數字信號處理,更加適合實現高速數字信號處理,對于采樣率大于100MHz的信號,采用專用芯片或FPGA是適當的選擇。
(2)具有專用數字信號處理結構:縱觀當前最先進的FPGA,如ALTERA公司的Stratix Ⅱ、Ⅲ系列、Cyclone Ⅱ、Ⅲ系列,Xilinx公司的Virtex-4、Virtex-5系列都為數字信號處理提供了專用的數字信號處理單元,這些單元由專用的乘法累加器組成,所提供的乘法累加器不僅減少了邏輯資源的使用,其結構也更加適合實現數字濾波器、FFT等數字信號處理算法。
使用FPGA的缺點如下。
(1)開發需要較深的硬件基礎:無論用VHDL還是Verilog HDL語言實現數字信號處理功能都需要較多的數字電路知識,硬件實現的思想與軟件編程有著很大區別,從軟件算法轉移到FPGA硬件實現存在著很多需要克服的困難。
(2)調試困難:對FPGA進行調試與軟件調試存在很大區別,輸出的信號需要通過示波器、邏輯分析儀進行分析,或者利用JTAG端口記錄波形文件,而很多處理的中間信號量甚至無法引出進行觀察,因此FPGA的更多工作是通過軟件仿真來進行驗證的,這就需要編寫全面的測試文件,FPGA的軟件測試工作是十分艱巨的。
4.利用數字信號處理器實時實現數字信號處理
數字信號處理器(Digital Signal Processor,DSP)是一種專門為實時、快速實現各種數字信號處理算法而設計的具有特殊結構的微處理器。20世紀80年代初,世界上第一片可編程DSP芯片的誕生為數字信號處理理論的實際應用開辟了道路;隨著低成本數字信號處理器的不斷推出,更加促進了這一進程。90年代以后,DSP芯片的發展突飛猛進。其功能日益強大,性能價格比不斷上升,開發手段不斷改進。DSP芯片已成為集成電路中發展最快的電子產品之一。DSP芯片迅速成為眾多電子產品的核心器件,DSP系統也被廣泛地應用于當今技術革命的各個領域——通信電子、信號處理、自動控制、雷達、軍事、航空航天、醫療、家用電器、電力電子,而且新的應用領域還在不斷地被發現、拓展。可以說,基于DSP技術的開發應用正在成為數字時代應用技術領域的潮流。