數字信號處理課件9章資料_第1頁
數字信號處理課件9章資料_第2頁
數字信號處理課件9章資料_第3頁
數字信號處理課件9章資料_第4頁
數字信號處理課件9章資料_第5頁
已閱讀5頁,還剩29頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第9章DSP原理與應用開發(kif)基礎 引言DSP系統的基本組成DSP系統設計基礎DSP集成開發環境本章小結2011/11北京大學出版社 版權所有 違者必究共三十四頁【本章教學(jio xu)目的與要求】掌握DSP系統的基本組成和DSP芯片的體系結構;學會獲取DSP芯片的相關技術資料和相關源碼;了解DSP芯片的產品概況以及DSP系統開發的流程;學會安裝(nzhung)和設置CCS集成開發環境。2共三十四頁【本章(bn zhn)知識結構】3共三十四頁9.1 引言(ynyn) DSP是數字信號處理(xn ho ch l)(Digital Signal Processing)或數字信號處理器(Di

2、gital Signal Processor)的縮寫。 在過去的30多年時間里,數字信號處理技術已經在通信等領域得到極為廣泛的應用。 案例一:DSP在音頻轉換,接口技術和USB音頻方面的應用 4共三十四頁案例二DSP在視頻和視覺引導方面(fngmin)的應用 數字信號處理技術涉及眾多的學科,如概率統計、數值分析、控制論等等。數字信號處理以這些學科作為自己的理論基礎,同時數字信號處理理論和應用的發展又促進了一系列新興學科的發展,如通信技術、模式識別等等。總的來說,數字信號處理作為一門學科是在與其他許多相關學科相互促進下不斷發展的。5共三十四頁9.1 DSP系統(xtng)的基本組成數字信號處理系

3、統一般由以下(yxi)幾部分構成:前置濾波、A/D轉換、數字信號處理器(DSP)、D/A轉換、后置濾波。 典型DSP系統構成框圖 圖中的輸入信號可以有各種各樣的形式。 數字信號處理系統一般由以下幾部分構成:前置濾波、A/D轉換、數字信號處理器(DSP)、D/A轉換、后置濾波。 典型DSP系統構成框圖 圖中的輸入信號可以有各種各樣的形式。 6共三十四頁系統(xtng)實例 軟件(run jin)無線電數字聲音廣播接收機7共三十四頁9.2.1 DSP芯片(xn pin)概述數字信號處理器是數字信號處理系統的核心。常用的數字信號處理器有通用的DSP芯片(xn pin)、專用的DSP芯片、通用處理器(

4、GPP)、通用單片機,如下表所示。8共三十四頁DSP在功能(gngnng)上有以下幾方面的改進: 擴充運算能力:增加字長,乘法保留雙字長,有雙精度運算;自動產生數據地址:專用的地址生成單元可以產生循環地址和非順序地址;指令定序不對其他主要運算造成額外開銷;簡單的比例(bl)定標運算得到寬的動態范圍。9共三十四頁DSP芯片從出現到現在的30多年時間里,已有幾十家生產廠商推出了上百型號的產品。除了TI公司得TMS320系列DSP芯片外,其他有代表性并獲得廣泛應用的DSP系列芯片主要有Motorola公司的MC56/96系列、ADI系列的ADSP21系列等。 目前,美國德州儀器公司TI公司有3大系列

5、產品,即 1)面向數字控制、運動控制的TMS320C2000系列,主要包括TMS320C24x/F24x、TMS320LC240 x/LF240 xA、TMS320F28xx 等; 2)面向低功耗、手持設備、無線終端應用(yngyng)的TMS320C5000系列,主要包括TMS320C54x、TMS320C54xx、TMS320C55x等; 3)面向高性能、多功能、復雜應用領域的TMS320C6000系列,主要包括TMS320C62xx、TMS320C64xx、TMS320C67xx等。10共三十四頁根據DSP芯片工作(gngzu)的數據格式將芯片分為:定點DSP芯片和浮點DSP芯片。定點運

6、算的DSP芯片以其成本較低,對存儲器的要求比較低且耗電省等優點使其成為數字信號處理市場上的主流產品,預計今后的比重將逐漸增大。據統計,目前銷售的DSP的80%以上屬于16位定點可編程DSP。只有在高保真音頻以及需要實時運算、更高精確度與較大動態范圍的其他數據采集應用時,才能體現出浮點DSP更高的算術靈活性與精確度 11共三十四頁 9.2.2DSP芯片(xn pin)體系結構 哈佛總線結構: 大多數DSP的總線結構都采用了哈佛結構,程序存儲器和數據存儲器是兩個獨立的存儲器,獨立編址,獨立訪問。與兩個存儲器相對應,系統中設置了程序總線和數據總線,從而使數據的吞吐率提高了一倍。 流水線操作 : DS

7、P芯片廣泛采用級流水線,以減少指令執行的時間,從而增強了處理器的處理能力。這使指令執行能完全重疊(chngdi),處理器可以并行處理幾條指令,每條指令處于流水線的不同階段。在某一時刻,一條流水線上在做取指令操作時,第2條流水線可同時進行上一條指令譯碼的操作,第3條流水線可同時進行再上一條指令的取操作數的操作,第4條流水線可同時進行再上上一條指令的執行指令的操作。 12共三十四頁專用的硬件乘法器 具有專用的應用乘法器,乘法可在一個(y )指令周期內完成。DSP處理器使用專用的硬件來實現單周期乘法,而通用微處理器中算法指令需要多個指令周期,如MCS-51的乘法指令需4個周期。DSP處理器還增加了累

8、加器寄存器來處理多個乘積的和。特殊的DSP指令 這些特殊的指令,專用數字信號處理中的一些常用算法優化,可為一些典型的數字信號處理提供加速,使一些高速系統的實時數據處理成為可能,從而進一步提高了DSP芯片的執行效率和處理能力。如并行指令,能夠實現寄存器并行裝入,并行算術/邏輯運算和存儲運算,使并行操作能力大大提高。 13共三十四頁專用的尋址方式 DSP處理器往往都支持專門的尋址方式,這些尋址方式對通常的信號處理操作很有用,也很方便。例如,位倒序尋址使FFT實現起來就很方便。而在通用處理器中這些專門的尋址模式是不常使用的,即使用一般也要用軟件(run jin)來實現。定點計算和定點DSP指令集 定

9、點機器比起相應的浮點機器來要便宜而且運算更快。所以大多數DSP使用定點計算,而不是使用浮點。為了不使用浮點機器而又保證數字的準確,DSP處理器在指令集和硬件方面都支持飽和計算、舍入和移位。14共三十四頁TMS320C55xDSP芯片(xn pin)的體系結構 15共三十四頁C55x由3個主要部分組成:CPU、存儲空間、片內外設。C55x系列具有統一的CPU內核,有4個功能單元構成:指令緩沖(hunchng)單元(I單元)、程序流單元(P單元)、地址數據流單元(A單元)和數據運算單元(D單元)。功能單元的具體構成和基本功能如下: 指令緩沖單元(I單元) 包括位指令緩沖隊列和指令譯碼器。此單元接收

10、程序代碼并放入指令緩沖隊列,由指令譯碼器解釋指令,然后再把指令流傳給其他的P單元、A單元和D單元來執行這些指令。程序流單元(P單元) 包括程序地址發生器、程序控制邏輯。該單元產生所有程序空間地址,并發送到PAB總線,達到控制程序流的目的。16共三十四頁地址數據流單元(A單元) 包括數據地址產生電路(DAGEN),附加的16位算術邏輯單元ALU和一組寄存器。該單元產生讀/寫數據空間(kngjin)地址,并發送到BAB、CAB和D AB總線上。數據運算單元(D單元) 包括40位桶形移位器、2個乘加單元(MAC)和1個40位的算術邏輯單元ALU和若干寄存器。D單元是CPU中主要的數據執行部件,完成大

11、部分數據的算術運算工作。17共三十四頁C55x包括了統一的存儲空間和I/O空間。C55x的片內存儲空間共有352KB,其中雙口RAM(DARAM)在每個周期能執行兩個訪問操作;單口RAM(SARAM)在每個周期能執行一個訪問操作。外部存儲空間共有8MB(16位)最大尋址,由片選信號CE03來選擇。存儲區支持的類型有異步SRAM、異步EPROM、同步DRAM和同步SRAM.。整個(zhngg)16MB存儲空間作為程序空間或數據空間均可尋址。程序空間當CPU從程序存儲區讀指令時才訪問程序空間。當程序從存儲區或寄存器讀/寫數據時,需訪問數據空間。C55x的I/O空間與程序/數據空間分開,它僅在訪問D

12、SP的片內外設寄存器時有效。I/O空間的字地址為16位寬、能訪問64KB地址。CPU用數據讀地址總線讀和數據寫地址總線寫。當CPU讀/寫I/O空間時,將16位地址前補0來擴展成24位地址。DSP的片內外設完成的主要功能包括采集原始數據、輸出處理結果、控制其他設備等 18共三十四頁 9.3 DSP系統設計(shj)基礎技術參考資料與相關源碼的獲取 在設計開發一個DSP系統時,系統中的DSP芯片確定以后,很重要的就是獲得該DSP芯片的相關技術參考資料及得到其相關源碼。一般提供相應芯片的廠商都會有專門的網站進行技術支持,如美國的TI公司、Motorola公司等。在TI公司網站的搜索中用關鍵字搜索資料

13、,主要的技術文檔包括Application Notes、user guides,這些資料一般均有PDF文檔說明(shumng)和相應的源程序包提供,下載(download)后做少許改動即可應用。19共三十四頁必看資料(zlio)講述DSP的CPU、Memory、Programme Memory Addressing、Data Memory Addressing的文檔資料;設計過程中要用到的外設的資料;C語言和匯編語言的編程指南;匯編指令和C語言的運行支持(zhch)庫、DSP LIB等資料。其他的如:Application Guide、Optimizing CC+ + Complier Use

14、rs Guide、Assembly Language Tools Users Guide等資料可在DSP設計入門后再去詳細閱讀,體會會更深一些。同時我們也可以登陸一些相應的DSP技術論壇、技術網站來獲取相關資料。20共三十四頁DSP型號(xngho)的選擇主要的DSP廠商的產品(chnpn)概況 21共三十四頁選擇DSP芯片時應考慮(kol)的方面DSP芯片的運算速度。運算速度是DSP芯片的一個(y )最重要的性能指標,也是選擇DSP芯片是所需要考慮的一個主要因素。DSP芯片的價格。DSP芯片的價格也是選擇DSP芯片所需要考慮的重要的因素。如果采用價格昂貴的DSP芯片,即使性能再高,其應用范圍

15、肯定受到一定的限制。因此,需根據實際系統的應用情況,確定一個性價比適中的DSP芯片。DSP芯片的硬件資源。不同的DSP芯片所提供的硬件資源是不同的,如片內的RAM、ROM的數量,外部可擴展的程序和數據空間,總線接口、I/O接口等。即使是同一系列的DSP芯片,如TI公司的TS320C5x系列,不同的DSP芯片也可以適應不同的需要。 22共三十四頁DSP芯片的運算精度。一般定點DSP芯片的字長為16位,如TMS320系列。但有的公司的定點芯片為24位,如Motorola公司的MC56001等。浮點芯片的字長一般為32位,累加器為40位。DSP芯片的開發工具。在選擇DSP芯片的同時,必須注意其開發工

16、具的支持情況,包括軟件和硬件的開發工具。如果沒有開發工具的支持,要想開發DSP系統幾乎是不可能的。如果有功能強大的開發工具的支持,則開發的時間就會大大縮短。DSP芯片的功能。在某些(mu xi)DSP應用場合,功耗也是一個需要特別注意的問題。如便攜式的DSP設備、手持設備、野外應用的DSP設備等對功耗有特殊的要求。23共三十四頁外圍器件(qjin)的選擇選擇好DSP芯片后,按照實際系統設計的要求以及DSP芯片的需要來選擇外圍器件。支持DSP芯片的外圍器件較多,主要有高速靜態存儲器(SRAM)、動態存儲器(DRAM)、雙口靜態隨機存取存儲器(Dual ports SRAM)、先進先出(FIFO)

17、存儲器、可編程邏輯器件(PLD)、A/D和D/A轉換器,以及一系列芯片、電阻、電容、晶振、接插件等。這些元器件的選擇面廣、產品多、品種型號多,而且許多電子元器件其更新換代競爭的生命周期短,因此,元器件的選擇除考慮其性價比、器件質量外,還需考慮所選型號及封裝完全兼容(jin rn)器件的廠商情況以及估計該型號器件的競爭生命周期等。24共三十四頁DSP系統開發(kif)流程-設計應考慮技術指標1)根據信號的頻率范圍來確定系統的最高樣采頻率;2)根據采樣頻率和運算(yn sun)最復雜算法所需要的最大時間來判斷系統能否實時工作;3)根據1)、2)兩個條件確定哪種類型的DSP芯片的指令周期可以滿足條件

18、;4)根據信號處理數據量的大小來確定所使用的片內RAM及需要擴展的RAM的大小;5)根據所需要的信號處理的精度來確定是采用定點運算還是浮點運算;6)根據系統是計算用還是控制用來確定I/O端口的需求。 25共三十四頁DSP系統(xtng)開發流程圖 26共三十四頁軟件開發一般來說,DSP的軟件開發大體有3種方式:直接編寫匯編語言程序進行編譯連接;編寫C語言程序,用C語言優化軟件進行編譯連接;混合編程模式,程序中既有匯編代碼,又有C語言代碼。對于進行DSP開發的新手來說,選擇C語言和匯編語言混合編程會有利一些。現在C語言優化的效率可達到手工匯編的90%甚至更高。如果計算能力和內存資源是瓶頸,匯編語

19、言還是有優勢,比如G.729編解碼。但是針對一般的應用開發,C語言是最好的選擇。在進行復雜算法的開發時,一般做法是先在PC上用高級語言(用C語言)進行仿真,然后再移植到DSP平臺中。同時,考慮到運行和效率問題,可進一步進行手工匯編的調整。可編程的DSP芯片開發需要一整套硬件和軟件開發工具,通常可以分為代碼生成工具和調試(dio sh)工具兩類。代碼生成工具是把用匯編語言或C語言編寫的DSP程序編譯并鏈接成可執行的DSP程序;代碼調試工具的作用是對DSP程序及系統進行測試。 27共三十四頁DSP的開發工具及其功能(gngnng)簡介 (1)C編譯器(C compiler) 將C源程序代碼編譯成匯

20、編語言源代碼。(2)匯編器(assembler) 將匯編語言源程序文件(wnjin)轉變為機器語言目標文件(wnjin)。機器語言是基于公用目標文件(wnjin)格式(COFF)的文件。(3)鏈接器(linker) 將目標文件連接起來產生一個可執行模塊。它能調整并解決外部符號參考。鏈接器的輸入是可重定位的COFF目標文件和目標庫文件。28共三十四頁(4)文檔管理器(archive) 將一組文件歸入一個文檔文件,也叫歸檔庫。另外文件管理器容許通過刪除、代替、提取或增加文件來調整庫。(5)建庫單元(runtime-support utility) 建立用戶的C語言運行支持庫。在.rts.lib里提

21、供目標代碼(di m)。(6)運行庫(runtime-support library) 包含ANSI標準運行支持函數、編譯器公用程序函數、C語言輸入/輸出函數。(7)十六進制轉化工具(hex conversion utility) 將COFF目標文件轉換為TI-tagged、ASCII-hex、Motorola-s等目標格式,從而可以將文件裝載到可擦除程序存儲器中去。29共三十四頁9.4 DSP集成開發(kif)環境集成開發環境(Code Composer Studio,CCS)是TI公司為其DSP系列芯片設計專門提供的專業開發軟件,是業內最為重要的開發軟件之一。作為一個集成開發環境,它包括了

22、編輯、編譯、匯編、鏈接、軟件模擬、調試等幾乎所有需要的軟件。與TI公司提供的早期開發軟件工具相比,CCS提供了配置、構造、跟蹤和分析程序的工具,并在基本代碼生成工具的基礎上增加了調試和實時分析的功能,極大地加快了軟件開發進程,提高了工作效率。一般來說,一種CCS只適用于一種系列的DSP芯片。例如,CCS C5000適用于C5000系列的DSP芯片(包括TMS320C54x和TMS320C55x)。CCS一般工作在兩種模式下:軟件仿真器模式和與硬件開發板相結合的在線編程模式。前者可以在PC機上模擬DSP的指令集與工作機制(jzh),主要用于前期的算法實現和調試。后者實時運行在DSP芯片上,并可以在線編譯和調試程序。30共三十四頁應用CCS進行(jnxng)程序開發的步驟 1)設計(shj)出設計(shj)方案;2)編輯原文件生成代碼;3)語法檢查和調試;4)實時調試。31共三十四頁 CCS具有可擴展的結構(jigu),主要組件有 1)集成開發環境Code Composer (編譯器、調試器、項目管理器、性能分析工具等);2)代碼生成工具

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論