【導(dǎo)讀】小編又為各位新手送福利啦!本次為大家?guī)?lái)的是關(guān)于DSP入門(mén)的初級(jí)指導(dǎo),內(nèi)容大多來(lái)自于新手們?cè)诔鯇W(xué)時(shí)期比較關(guān)心的問(wèn)題和最常見(jiàn)的疑問(wèn),詳細(xì)到介紹初學(xué)需要看的文檔哦!涵蓋面十分之廣。如果你也對(duì)學(xué)習(xí)DSP抱有興趣,不妨來(lái)看看本篇文章來(lái)打下堅(jiān)實(shí)的基礎(chǔ)吧。
開(kāi)發(fā)入門(mén)需要看的文檔
講述DSP的CPU,memory、program memory addressing、data memory addressing的資料都需要看、外設(shè)資源的資料可以只看自己用到的部分。
C和匯編的編程指南需要看。
匯編指令和C語(yǔ)言的運(yùn)行時(shí)間支持庫(kù)、DSPLIB、程序員向?qū)?、?yōu)化手冊(cè)等資料。
如何開(kāi)始軟件開(kāi)發(fā)
看CCS的使用指南;
明白CMD文件的編寫(xiě);
明白中斷向量表文件的編寫(xiě),并定位在正確的地方;
運(yùn)行一個(gè)純simulator的程序,了解CCS的各個(gè)操作;
到TI網(wǎng)站下相關(guān)的源碼,參考源碼的結(jié)構(gòu)進(jìn)行編程;
取得一塊評(píng)估板進(jìn)行實(shí)際系統(tǒng)的軟件調(diào)試;
DSP的C語(yǔ)言同主機(jī)C語(yǔ)言的主要區(qū)別
DSP的C語(yǔ)言是標(biāo)準(zhǔn)的ANSIC,它不包括同外設(shè)聯(lián)系的擴(kuò)展部分,如屏幕繪圖等。但在CCS中,為了方便調(diào)試,可以將數(shù)據(jù)通過(guò)printf命令虛擬輸出到主機(jī)的屏幕上。
DSP的C語(yǔ)言的編譯過(guò)程為:C編譯為ASM,再由ASM編譯為OBJ。因此C和ASM的對(duì)應(yīng)關(guān)系非常明確,非常便于人工優(yōu)化。
DSP的代碼需要絕對(duì)定位;主機(jī)的C的代碼由操作系統(tǒng)定位。
DSP的C的效率較高,非常適合于嵌入系統(tǒng)。
如何能夠相對(duì)較快地掌握DSP的硬件和軟件的設(shè)計(jì)
建議選擇合適的EVM,提供客戶完整的原理圖。
什么是DSP/BIOS
作為CCS強(qiáng)大開(kāi)發(fā)
工具的一個(gè)集成,DSP/BIOS是一個(gè)簡(jiǎn)易的嵌入式操作系統(tǒng),它能大大方便用戶編寫(xiě)多任務(wù)應(yīng)用程序同時(shí)還能增強(qiáng)對(duì)代碼執(zhí)行效率的監(jiān)控。DSP/BIOS工具已經(jīng)具有實(shí)時(shí)操作系統(tǒng)的很多功能,如任務(wù)調(diào)度管理、任務(wù)間的同步和通信、內(nèi)存管理、實(shí)時(shí)時(shí)鐘管理、中斷服務(wù)管理、外設(shè)驅(qū)動(dòng)程序的管理等。使用DSP/BIOS開(kāi)發(fā)DSP有2個(gè)重要的特點(diǎn):1.所有與硬件相關(guān)的操作都必須借助DSP/BIOS本身提供的函數(shù)完成,開(kāi)發(fā)者應(yīng)避免直接控制硬件。2.帶有DSP/BIOS功能的程序在運(yùn)行時(shí)與傳統(tǒng)開(kāi)發(fā)的程序有所不同。在傳統(tǒng)開(kāi)發(fā)中程序是順序執(zhí)行,基于DSP/BIOS開(kāi)發(fā)的程序由BIOS來(lái)調(diào)度,不再按照編寫(xiě)的順序來(lái)執(zhí)行。File-NEW-DSP/BIOSConfiguration。
圖1
建立新的配置文件,根據(jù)開(kāi)發(fā)的DSP不同芯片,對(duì)BIOS進(jìn)行配置,如圖1所示。
[page]
PCI同ISA的區(qū)別?
PCI是同步總線;ISA是異步總線。PCI的傳輸率較高。PCI可以即插即用。PCI的成本較高。
何為USB?
USB是通用串行總線的簡(jiǎn)稱(chēng)。它具有以下特點(diǎn):傳輸速度快;連接方便;成本低。接口簡(jiǎn)單;兼容性好;可以適應(yīng)于不同的計(jì)算機(jī)平臺(tái);開(kāi)發(fā)容易;
CPLD同F(xiàn)PGA的區(qū)別?
CPLD的邏輯單元較大。
CPLD的容量較小。
CPLD的時(shí)序確定,延時(shí)可預(yù)測(cè)。
CPLD適合于組合邏輯和計(jì)算器設(shè)計(jì)。
USB的有哪些種類(lèi)?
按種類(lèi)分有:接口型:只提供接口。較便宜;使用復(fù)雜。芯片型:本身是一個(gè)單片機(jī)。使用簡(jiǎn)單。
按用途分有:Hub型:為了構(gòu)成USBHub。設(shè)備型:設(shè)備端接口。主機(jī)型:主機(jī)端接口。
按速度分有:低速型:1.5M。用于鼠標(biāo)、鍵盤(pán)等慢速計(jì)算機(jī)外設(shè)。全速型:12M。用于數(shù)據(jù)傳輸。高速型:480M。
5V/3.3V如何混接?
TIDSP的發(fā)展同集成電路的發(fā)展一樣,新的DSP都是3.3V的,但目前還有許多外圍電路是5V的,因此在DSP系統(tǒng)中,經(jīng)常有5V和3.3V的DSP混接問(wèn)題。在這些系統(tǒng)中,應(yīng)注意:
DSP輸出給5V的電路(如D/A),無(wú)需加任何緩沖電路,可以直接連接。DSP輸入5V的信號(hào)(如A/D),由于輸入信號(hào)的電壓>4V,超過(guò)了DSP的電源電壓,DSP的外部信號(hào)沒(méi)有保護(hù)電路,需要加緩沖,如74LVC245等,將5V信號(hào)變換成3.3V的信號(hào)。
仿真器的JTAG口的信號(hào)也必須為3.3V,否則有可能損壞DSP。
為什么要片內(nèi)RAM大的DSP效率高?
目前DSP發(fā)展的片內(nèi)存儲(chǔ)器RAM越來(lái)越大,要設(shè)計(jì)高效的DSP系統(tǒng),就應(yīng)該選擇片內(nèi)RAM較大的DSP。片內(nèi)RAM同片外存儲(chǔ)器相比,有以下優(yōu)點(diǎn):
片內(nèi)RAM的速度較快,可以保證DSP無(wú)等待運(yùn)行。
對(duì)于C2000/C3x/C5000系列,部分片內(nèi)存儲(chǔ)器可以在一個(gè)指令周期內(nèi)訪問(wèn)兩次,使得指令可以更加高效。
片內(nèi)RAM運(yùn)行穩(wěn)定,不受外部的干擾影響,也不會(huì)干擾外部。
DSP片內(nèi)多總線,在訪問(wèn)片內(nèi)RAM時(shí),不會(huì)影響其它總線的訪問(wèn),效率較高。
[page]
為什么DSP從5V發(fā)展成3.3V?
超大規(guī)模集成電路的發(fā)展從1um,發(fā)展到目前的0.1um,芯片的電源電壓也隨之降低,功耗也隨之降低。DSP也同樣從5V發(fā)展到目前的3.3V,核心電壓發(fā)展到1V。目前主流的DSP的外圍均已發(fā)展為3.3V,5V的DSP的價(jià)格和功耗都價(jià)格,以逐漸被3.3V的DSP取代。
如何選擇DSP的電源芯片?
TMS320LF24xx:TPS7333QD,5V變3.3V,最大500mA。TMS320VC33:TPS73HD318PWP,5V變3.3V和1.8V,最大750mA。TMS320VC54xx:TPS73HD318PWP,5V變3.3V和1.8V,最大750mA;TPS73HD301PWP,5V變3.3V和可調(diào),最大750mA。TMS320VC55xx:TPS73HD301PWP,5V變3.3V和可調(diào),最大750mA。TMS320C6000:PT6405B,PT6407E,最大3A。
如何選擇外部時(shí)鐘?
DSP的內(nèi)部指令周期較高,外部晶振的主頻不夠,因此DSP大多數(shù)片內(nèi)均有PLL。但每個(gè)系列不盡相同。
TMS320C2000系列:TMS320C20x:PLL可以÷2,×1,×2和×4,因此外部時(shí)鐘可以為5MHz-40MHz。TMS320F240:PLL可以÷2,×1,×1.5,×2,×2.5,×3,×4,×4.5,×5和×9,因此外部時(shí)鐘可以為2.22MHz-40MHz。TMS320F241/C242/F243:PLL可以×4,因此外部時(shí)鐘為5MHz。TMS320LF24xx:PLL可以由RC調(diào)節(jié),因此外部時(shí)鐘為4MHz-20MHz。TMS320LF24xxA:PLL可以由RC調(diào)節(jié),因此外部時(shí)鐘為4MHz-20MHz。
TMS320C3x系列:TMS320C3x:沒(méi)有PLL,因此外部主頻為工作頻率的2倍。TMS320VC33:PLL可以÷2,×1,×5,因此外部主頻可以為12MHz-100MHz。
TMS320C5000系列:TMS320C54x:PLL可以÷2,×1-32,因此外部主頻可以為0.25MHz-200MHz。TMS320VC54xx:PLL可以÷4,÷2,×1-32,因此外部主頻可以為0.625MHz-50MHz。TMS320VC55xx:PLL可以÷4,÷2,×1-32,因此外部主頻可以為6.25MHz-200MHz。
TMS320C6000系列:TMS320C62xx:PLL可以×1,×4,×6,×7,×8,×9,×10和×11,因此外部主頻可以為11.8MHz-75MHz。TMS320C67xx:PLL可以×1和×4,因此外部主頻可以為12.5MHz-41.7MHz。TMS320C64xx:PLL可以×1,×6和×12,因此外部主頻可以為30MHz-75MHz。
如何選擇DSP的外部存儲(chǔ)器?
DSP的速度較快,為了保證DSP的運(yùn)行速度,外部存儲(chǔ)器需要具有一定的速度,否則DSP訪問(wèn)外部存儲(chǔ)器時(shí)需要加入等待周期。
對(duì)于C2000系列:C2000系列只能同異步的存儲(chǔ)器直接相接。C2000系列的DSP目前的最高速度為30MHz,為保證DSP無(wú)等待運(yùn)行,需要外部存儲(chǔ)器的速度<30ns。建議可以用的存儲(chǔ)器有:CY7C199-15:32K×8,15ns,5V;CY7C1021-15:64K×16,15ns,5V;CY7C1021V33-15:64K×16,15ns,3.3V。
對(duì)于C3x系列:C3x系列只能同異步的存儲(chǔ)器直接相接。C3x系列的DSP的最高速度,5V的為40MHz,3.3V的為75MHz,為保證DSP無(wú)等待運(yùn)行,分別需要外部存儲(chǔ)器的速度<25ns和<12ns。
建議可以用的存儲(chǔ)器有:ROM:AM29F400-70:256K×16,70ns,5V,加入一個(gè)等待;AM29LV400-55:256K×16,55ns,3.3V,加入兩個(gè)等待(目前沒(méi)有更快的Flash)。SRAM:CY7C199-15:32K×8,15ns,5V;CY7C1021-15:64K×16,15ns,5V;CY7C1009-15:128K×8,15ns,5V;CY7C1049-15:512K×8,15ns,5V;CY7C1021V33-15:64K×16,15ns,3.3V;CY7C1009V33-15:128K×8,15ns,3.3V。
對(duì)于C54x系列:C54x系列只能同異步的存儲(chǔ)器直接相接。C54x系列的DSP的速度為100MHz或160MHz,為保證DSP無(wú)等待運(yùn)行,需要外部存儲(chǔ)器的速度<10ns或<6ns。
建議可以用的存儲(chǔ)器有:ROM:AM29LV400-55:256K×16,55ns,3.3V,加入5或9個(gè)等待(目前沒(méi)有更快的Flash)。SRAM:CY7C1021V33-12:64K×16,12ns,3.3V,加入一個(gè)等待;CY7C1009V33-12:128K×8,12ns,3.3V,加入一個(gè)等待。
對(duì)于C55x和C6000系列:TI的DSP中只有C55x和C6000可以同同步的存儲(chǔ)器相連,同步存儲(chǔ)器可以保證系統(tǒng)的數(shù)據(jù)交換效率更高。ROM:AM29LV400-55:256K×16,55ns,3.3V。SDRAM:HY57V651620BTC-10S:64M,10ns。SBSRAM:CY7C1329-133AC,64k×32;CY7C1339-133AC,128k×32。FIFO:CY7C42x5V-10ASC,32k/64k×18。
在看過(guò)本篇文章之后,各位是不是更堅(jiān)定了自己學(xué)習(xí)DSP的信心呢?小編將繼續(xù)收集整理關(guān)于DSP初學(xué)階段的一些疑問(wèn),幫助大家加快學(xué)習(xí)的步伐,并且走更少的彎路。