DSP入門必須掌握知識點.doc_第1頁
DSP入門必須掌握知識點.doc_第2頁
DSP入門必須掌握知識點.doc_第3頁
DSP入門必須掌握知識點.doc_第4頁
DSP入門必須掌握知識點.doc_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1. DSP選型:主要考慮處理速度、功耗、程序存儲器和數(shù)據(jù)存儲器的容量、片內的資源,如定時器的數(shù)量、I/O 口數(shù)量、中斷數(shù)量、DMA通道數(shù)等。DSP的主要供應商有TI,ADI,Motorola,Lucent和Zilog等,其中TI占有最大的市場份額。選擇DSP可以根據(jù)以下幾方面決定:1)速度:DSP速度一般用MIPS或FLOPS表示,即百萬次/秒鐘。根據(jù)您對處理速度的要求選擇適合的器件。一般選擇處理速度不要過高,速度高的DSP,系統(tǒng)實現(xiàn)也較困難。2)精度:DSP芯片分為定點、浮點處理器,對于運算精度要求很高的處理,可選擇浮點處理器。定點處理器也可完成浮點運算,但精度和速度會有影響。3)尋址空間:不同系列DSP程序、數(shù)據(jù)、I/O 空間大小不一,與普通MCU不同,DSP在一個指令周期內能完成多個操作,所以DSP的指令效率很高,程序空間一般不會有問題,關鍵是數(shù)據(jù)空間是否滿足。數(shù)據(jù)空間的大小可以通過DMA的幫助,借助程序空間擴大。4)成本:一般定點DSP的成本會比浮點DSP的要低,速度也較快。要獲得低成本的DSP系統(tǒng),盡量用定點算法,用定點DSP。5)實現(xiàn)方便:浮點DSP的結構實現(xiàn)DSP系統(tǒng)較容易,不用考慮尋址空間的問題,指令對C語言支持的效率也較高。6)內部部件:根據(jù)應用要求,選擇具有特殊部件的DSP。如:C2000適合于電機控制;OMAP適合于多媒體等。1)C5000系列(定點、低功耗):C54X,C54XX,C55X相比其它系列的主要特點是低功耗,所以最適合個人與便攜式上網(wǎng)以及無線通信應用,如手機、PDA、GPS等應用。處理速度在80MIPS-400MIPS之間。C54XX和C55XX一般只具有McBSP同步串口、HPI并行接口、定時器、DMA等外設。值得注意的是C55XX提供了EMIF外部存儲器擴展接口,可以直接使用SDRAM,而C54XX則不能直接使用。兩個系列的數(shù)字IO 都只有兩條。2)C2000系列(定點、控制器):C20X,F(xiàn)20X,F(xiàn)24X,F(xiàn)24XX ,C28x該系芯片具有大量外設資源,如:A/D、定時器、各種串口(同步和異步),WATCHDOG、CAN總線/PWM 發(fā)生器、數(shù)字IO 腳等。是針對控制應用最佳化的DSP,在TI所有的DSP中,只有C2000有FLASH,也只有該系列有異步串口可以和PC的UART相連。3)C6000系列:C62XX,C67XX,C64X該系列以高性能著稱,最適合寬帶網(wǎng)絡和數(shù)字影像應用。32bit,其中:C62XX和C64X是定點系列,C67XX是浮點系列。該系列提供EMIF擴展存儲器接口。該系列只提供BGA封裝,只能制作多層PCB。且功耗較大。同為浮點系列的C3X中的VC33現(xiàn)在雖非主流產(chǎn)品,但也仍在廣泛使用,但其速度較低,最高在150MIPS。4)OMAP系列:OMAP處理器集成ARM的命令及控制功能,另外還提供DSP的低功耗實時信號處理能力,最適合移動上網(wǎng)設備和多媒體家電。其他系列的DSP曾經(jīng)有過風光,但現(xiàn)在都非TI主推產(chǎn)品了,除了C3X系列外,其他基本處于淘汰階段,如:C3X的浮點系列:C30,C31,C32 C2X和C5X系列:C20,C25,C50每個系列的DSP都有其主要應用領域.DSP發(fā)展動態(tài)1.TMS320C2000 TMS320C2000系列包括C24x和C28x系列。C24x系列建議使用LF24xx系列替代C24x系列,LF24xx系列的價格比C24x便宜,性能高于C24x,而且LF24xxA具有加密功能。C28x系列主要用于大存儲設備管理,高性能的控制場合。2.TMS320C3x TMS320C3x系列包括C3x和VC33,主要推薦使用VC33。C3x系列是TI浮點DSP的基礎,不可能停產(chǎn),但價格不會進一步下調。3.TMS320C5x TMS320C5x系列已不推薦使用,建議使用C24x或C5000系列替代。4.TMS320C5000 TMS320C5000系列包括C54x和C55x系列。其中VC54xx還不斷有新的器件出現(xiàn),如:TMS320VC5471(DSPARM7)。C55x系列是TI的第三代DSP,功耗為VC54xx的1/6,性能為VC54xx的5倍,是一個正在發(fā)展的系列。C5000系列是目前TI DSP的主流DSP,它涵蓋了從低檔到中高檔的應用領域,目前也是用戶最多的系列。5.TMS320C6000 TMS320C6000系列包括C62xx、C67xx和C64xx。此系列是TI的高檔DSP系列。其中C62xx系列是定點的DSP,系列芯片種類較豐富,是主要的應用系列。C67xx系列是浮點的DSP,用于需要高速浮點處理的領域。C64xx系列是新發(fā)展,性能是C62xx的10倍。6.OMAP系列是TI專門用于多媒體領域的芯片,它是C55ARM9,性能卓越,非常適合于手持設備、Internet終端等多媒體應用。2. 選擇合適的資料根據(jù)經(jīng)驗,如下的資料必看不可:1)講述DSP的CPU,memory,program memory addressing,data memory addressing的資料都需要看、外設資源的資料可以只看自己用到的部分;2)C和匯編的編程指南需要看3) 匯編指令和C語言的運行時間支持庫、DSPLIB等資料需要看其他的如:ApplicationsGuide,Optimizing CC+ Compiler Users Guide,Assembly Language Tools Users Guide等資料留待入門之后再去看體會會更深一些。3.如何高效開始TI DSP的軟件開發(fā)如果你不是純做算法,而是在一個目標版上進行開發(fā),需要使用DSP的片上外設,需要控制片外接口電路,那么建議在寫程序前先好好將這個目標版的電路設計搞清楚。最重要的是程序、數(shù)據(jù)、I/O 空間的譯碼。不管是否純做算法還是軟硬結合,DSP的CPU,memory,programmemory addressing, data mem.ory addressing的資料都需要看.1)看CCS的使用指南2)明白CMD文件的編寫3)明白中斷向量表文件的編寫,并定位在正確的地方4)運行一個純simulator的程序,了解CCS的各個操作5)到TI網(wǎng)站下相關的源碼,參考源碼的結構進行編程6)不論是C編程還是ASM編程,模塊化是必須的4. 仿真器(1)選擇什么仿真器一般來說,買個并口的EPP就夠了,價格便宜又穩(wěn)定(2)DSP仿真器為什么必須連接目標系統(tǒng)(Target)?DSP的仿真器同單片機的不同,仿真器中沒有DSP,提供IEEE標準的JTAG口對DSP進行仿真調試,所以仿真器必須有仿真對象,及目標系統(tǒng)。目標系統(tǒng)就是你的產(chǎn)品,上面必須有DSP。仿真器提供JTAG同目標系統(tǒng)的DSP相接,通過DSP實現(xiàn)對整個目標系統(tǒng)的調試。5.如何選擇外部時鐘?DSP的內部指令周期較高,外部晶振的主頻不夠,因此DSP大多數(shù)片內均有PLL。但每個系列不盡相同。1)TMS320C2000系列:TMS320C20x:PLL可以2,1,2和4,因此外部時鐘可以為5MHz40MHz。TMS320F240:PLL可以2,1,1.5,2,2.5,3,4,4.5,5和9,因此外部時鐘可以為2.22MHz40MHz。TMS320F241/C242/F243:PLL可以4,因此外部時鐘為5MHz。TMS320LF24xx:PLL可以由RC調節(jié),因此外部時鐘為4MHz20MHz。TMS320LF24xxA:PLL可以由RC調節(jié),因此外部時鐘為4MHz20MHz。2)TMS320C3x系列:TMS320C3x:沒有PLL,因此外部主頻為工作頻率的2倍。TMS320VC33:PLL可以2,1,5,因此外部主頻可以為12MHz100MHz。3)TMS320C5000系列:TMS320VC54xx:PLL可以4,2,1-32,因此外部主頻可以為0.625MHz50MHz。TMS320VC55xx:PLL可以4,2,1-32,因此外部主頻可以為6.25MHz300MHz。4)TMS320C6000系列:TMS320C62xx:PLL可以1,4,6,7,8,9,10和11,因此外部主頻可以為11.8MHz300MHz。TMS320C67xx:PLL可以1和4,因此外部主頻可以為12.5MHz230MHz。TMS320C64xx:PLL可以1,6和12,因此外部主頻可以為30MHz720MHz6. 軟件等待的如何使用?DSP的指令周期較快,訪問慢速存儲器或外設時需加入等待。等待分硬件等待和軟件等待,每一個系列的等待不完全相同。1)對于C2000系列:硬件等待信號為READY,高電平時不等待。軟件等待由WSGR寄存器決定,可以加入最多7個等待。其中程序存儲器和數(shù)據(jù)存儲器及I/O 可以分別設置。2)對于C3x系列:硬件等待信號為/RDY,低電平是不等待。軟件等待由總線控制寄存器中的SWW和WTCNY決定,可以加入最多7個等待,但等待是不分段的,除了片內之外全空間有效。3)對于C5000系列:硬件等待信號為READY,高電平時不等待。軟件等待由SWWCR和SWWSR寄存器決定,可以加入最多14個等待。其中程序存儲器、控制程序存儲器和數(shù)據(jù)存儲器及I/O 可以分別設置。4)對于C6000系列(只限于非同步存儲器或外設):硬件等待信號為ARDY,高電平時不等待。軟件等待由外部存儲器接口控制寄存器決定,總線訪問外部存儲器或設備的時序可以設置,可以方便的同異步的存儲器或外設接口。7. 仿真工作正常對于DSP的基本要求1)DSP電源和地連接正確。2)DSP時鐘正確。3)DSP的主要控制信號,如RS和HOLD信號接高電平。4)C2000的watchdog關掉。5)不可屏蔽中斷NMI上拉高電平。8. Link的cmd文件的作用是什么?Link的cmd文件用于DSP代碼的定位。由于DSP的編譯器的編譯結果是未定位的,DSP沒有操作系統(tǒng)來定位執(zhí)行代碼,每個客戶設計的DSP系統(tǒng)的配置也不盡相同,因此需要用戶自己定義代碼的安裝位置。以C5000為例,基本格式為:-o sample.out-m sample.map-stack 100sample.obj meminit.obj-l rts.libMEMORY PAGE 0: VECT: origin = 0xff80, length 0x80PAGE 0: PROG: origin = 0x2000, length 0x400PAGE 1: DATA: origin = 0x800, length 0x400SECTIONS .vectors : PROG PAGE 0.text : PROG PAGE 0.data : PROG PAGE 0.cinit : PROG PAGE 0.bss : DATA PAGE 19. 如何將OUT文件轉換為16進制的文件格式?DSP的開發(fā)軟件集成了一個程序,可以從執(zhí)行文件OUT轉換到編程器可以接受的格式,使得編程器可以用次文件燒寫EPROM或Flash。對于C2000的程序為DSPHEX;對于C3x程序為HEX30;對于C54x程序為HEX500;對于C55x程序為HEX55;對于C6x程序為Hex6x。以C32為例,基本格式為:sample.out-x-memwidth 8-bootorg 900000h-iostrb 0h-strb0 03f0000h-strb1 01f0000h-o sample.hexROMS EPROM: org = 0x900000,len=0x02000,romwidth=8SECTIONS .text: paddr=boot.data: paddr=boot10. DSP的C語言同主機C語言的主要區(qū)別?1) DSP的C語言是標準的ANSI C,它不包括同外設聯(lián)系的擴展部分,如屏幕繪圖等。但在CCS中,為了方便調試,可以將數(shù)據(jù)通過prinf命令虛擬輸出到主機的屏幕上。2)DSP的C語言的編譯過程為,C編譯為ASM,再由ASM編譯為OBJ。因此C和ASM的對應關系非常明確,非常便于人工優(yōu)化。3)DSP的代碼需要絕對定位;主機的C的代碼有操作系統(tǒng)定位。4)DSP的C的效率較高,非常適合于嵌入系統(tǒng)。11. 在CCS下,如何選擇有效的存儲器空間?CCS下的存儲器空間最好設置同你的硬件,沒有的存儲器不要有效。這樣便于調試,CCS會發(fā)現(xiàn)你調入程序時或程序運行時,是否訪問了無效地址。1)在GEL文件中設置。參見CCS中的示例。2)在Option菜單下,選擇Memory Map選項,根據(jù)你的硬件設置。注意一定要將EnableMemory Mapping置為使能。12. 為什么要使用BIOS?1)BIOS是Basic I/O System的簡稱,是基本的輸入、輸出管理。2)用于管理任務的調度,程序實時分析,中斷管理,跟蹤管理和實時數(shù)據(jù)交換。3)BIOS是基本的實時系統(tǒng),使用BIOS可以方便地實現(xiàn)多任務、多進程的時間管理。4)BIOS是eXpress DSP的標準平臺,要使用eXpress DSP技術,必須使用BIOS。13.DSP的保護(5V/3.3V如何混接?)TI DSP的發(fā)展同集成電路的發(fā)展一樣,新的DSP都是3.3V的,但目前還有許多外圍電路是5V的,因此在DSP系統(tǒng)中,經(jīng)常有5V和3.3V的DSP混接問題。在這些系統(tǒng)中,應注意:1)DSP輸出給5V的電路(如D/A),無需加任何緩沖電路,可以直接連接。2)DSP輸入5V的信號(如A/D),由于輸入信號的電壓4V,超過了DSP的電源電壓,DSP的外部信號沒有保護電路,需要加緩沖,如74LVC245等,將5V信號變換成3.3V的信號。3)仿真器的JTAG口的信號也必須為3.3V,否則有可能損壞DSP。14. 為什么要片內RAM大的DSP效率高?目前DSP發(fā)展的片內存儲器RAM越來越大,要設計高效的DSP系統(tǒng),就應該選擇片內RAM較大的DSP。片內RAM同片外存儲器相比,有以下優(yōu)點:1)片內RAM的速度較快,可以保證DSP無等待運行。2)對于C2000/C3x/C5000系列,部分片內存儲器可以在一個指令周期內訪問兩次,使得指令可以更加高效。3)片內RAM運行穩(wěn)定,不受外部的干擾影響,也不會干擾外部。4)DSP片內多總線,在訪問片內RAM時,不會影響其它總線的訪問,效率較高。15為什么DSP從5V發(fā)展成3.3V?超大規(guī)模集成電路的發(fā)展從1um,發(fā)展到目前的0.1um,芯片的電源電壓也隨之降低,功耗也隨之降低。DSP也同樣從5V發(fā)展到目前的3.3V,核心電壓發(fā)展到1V。目前主流的DSP的外圍均已發(fā)展為3.3V,5V的DSP的價格和功耗都價格,以逐漸被3.3V的DSP取代。16DSP的最高主頻能從芯片型號中獲得嗎?TI的DSP最高主頻可以從芯片的型號中獲得,但每一個系列不一定相同。1)TMS320C2000系列:TMS320F206最高主頻20MHz。TMS320C203/C206最高主頻40MHz。TMS320F24x最高主頻20MHz。TMS320LF24xx最高主頻30MHz。TMS320LF24xxA最高主頻40MHz。TMS320LF28xx最高主頻150MHz。2)TMS320C3x系列:TMS320C30:最高主頻25MHz。TMS320C31PQL80:最高主頻40MHz。TMS320C32PCM60:最高主頻30MHz。TMS320VC33PGE150:最高主頻75MHz3)TMS320C5000系列:TMS320VC54xx:最高主頻160MHz。TMS320VC55xx:最高主頻300MHz。4)TMS320C6000系列:TMS320C62xx:最高主頻300MHz。TMS320C67xx:最高主頻230MHz。TMS320C64xx:最高主頻720MHz。17如何選擇DSP的外部存儲器?DSP的速度較快,為了保證DSP的運行速度,外部存儲器需要具有一定的速度,否則DSP訪問外部存儲器時需要加入等待周期。1)對于C2000系列:C2000系列只能同異步的存儲器直接相接。C2000系列的DSP目前的最高速度為150MHz。建議可以用的存儲器有:CY7C199-15:32K8,15ns,5V;CY7C1021-12:64K16,15ns,5V;CY7C1021V33-12:64K16,15ns,3.3V。2)對于C3x系列:C3x系列只能同異步的存儲器直接相接。C3x系列的DSP的最高速度,5V的為40MHz,3.3V的為75MHz,為保證DSP無等待運行,分別需要外部存儲器的速度25ns和12ns。建議可以用的存儲器有:ROM:AM29F400-70:256K16,70ns,5V,加入一個等待;AM29LV400-55(SST39VF400):256K16,55ns,3.3V,加入兩個等待(目前沒有更快的Flash)。SRAM:CY7C199-15:32K8,15ns,5V;CY7C1021-15:64K16,15ns,5V;CY7C1009-15:128K8,15ns,5V;CY7C1049-15:512K8,15ns,5V;CY7C1021V33-15:64K16,15ns,3.3V;CY7C1009V33-15:128K8,15ns,3.3V;CY7C1041V33-15:256k16,15ns,3.3V。3)對于C54x系列:C54x系列只能同異步的存儲器直接相接。C54x系列的DSP的速度為100MHz或160MHz,為保證DSP無等待運行,需要外部存儲器的速度10ns或6ns。建議可以用的存儲器有:ROM:AM29LV400-55(SST39VF400):256K16,55ns,3.3V,加入5或9個等待(目前沒有更快的Flash)。SRAM:CY7C1021V33-12:64K16,12ns,3.3V,加入一個等待;CY7C1009V33-12:128K8,12ns,3.3V,加入一個等待。4)對于C55x和C6000系列:TI的DSP中只有C55x和C6000可以同同步的存儲器相連,同步存儲器可以保證系統(tǒng)的數(shù)據(jù)交換效率更高。ROM:AM29LV400-55(SST39VF400):256K16,55ns,3.3V。SDRAM:HY57V651620BTC-10S:64M,10ns。SBSRAM:CY7C1329-133AC,64k32;CY7C1339-133AC,128k32。FIFO:CY7C42x5V-10ASC,32k/64k18。18DSP芯片的驅動能力DSP的驅動能力較強,可以不加驅動,連接8個以上標準TTL門。19如何調試多片DSP?對于有MPSD仿真口的DSP(TMS320C30/C31/C32),不能用一套仿真器同時調試,每次只能調試其中的一個DSP;對于有JTAG仿真口的DSP,可以將JTAG串接在一起,用一套仿真器同時調試多個DSP,每個DSP可以用不同的名字,在不同的窗口中調試。注意:如果在JTAG和DSP間加入驅動,一定要用快速的門電路,不能使用如LS的慢速門電路。20在DSP系統(tǒng)中為什么要使用CPLD?DSP的速度較快,要求譯碼的速度也必須較快。利用小規(guī)模邏輯器件譯碼的方式,已不能滿足DSP系統(tǒng)的要求。同時,DSP系統(tǒng)中也經(jīng)常需要外部快速部件的配合,這些部件往往是專門的電路,有可編程器件實現(xiàn)。CPLD的時序嚴格,速度較快,可編程性好,非常適合于實現(xiàn)譯碼和專門電路。21 boot loader?DSP的速度盡快,EPROM或flash的速度較慢,而DSP片內的RAM很快,片外的RAM也較快。為了使DSP充分發(fā)揮它的能力,必須將程序代碼放在RAM中運行。為了方便的將代碼從ROM中搬到RAM中,在不帶flash的DSP中,TI在出廠時固化了一段程序,在上電后完成從ROM或外設將代碼搬到用戶指定的RAM中。此段程序稱為“boot loader”。22DSP為什么要初始化?DSP在RESET后,許多的寄存器的初值一般同用戶的要求不一致,例如:等待寄存器,SP,中斷定位寄存器等,需要通過初始化程序設置為用戶要求的數(shù)值。初始化程序的主要作用:1)設置寄存器初值。2)建立中斷向量表。3)外圍部件初始化。23DSP中的Flash的編寫方法有三中

溫馨提示

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

評論

0/150

提交評論