DSP和常用開(kāi)發(fā)工具選型一般方法
——
TI公司現(xiàn)在主推四大系列DSP
1)C5000系列(定點(diǎn)、低功耗):C54X,C54XX,C55X 相比其它系列的主要特點(diǎn)是低功耗,所以最適合個(gè)人與便攜式上網(wǎng)以及無(wú)線通信應(yīng)用,如手機(jī)、PDA、GPS等應(yīng)用。處理速度在80MIPS--400MIPS之間。C54XX和C55XX 一般只具有McBSP同步串口、HPI并行接口、定時(shí)器、DMA等外設(shè)。值得注意的是C55XX提供了EMIF外部存儲(chǔ)器擴(kuò)展接口,可以直接使用SDRAM,而C54XX則不能直接使用。兩個(gè)系列的數(shù)字IO都只有兩條。
2)C2000系列(定點(diǎn)、控制器):C20X,F(xiàn)20X,F(xiàn)24X,F(xiàn)24XX ,C28x該系芯片具有大量外設(shè)資源,如:A/D、定時(shí)器、各種串口(同步和異步),WATCHDOG、CAN總線/PWM發(fā)生器、數(shù)字IO腳等。是針對(duì)控制應(yīng)用最佳化的DSP,在TI所有的DSP中,只有C2000有FLASH,也只有該系列有異步串口可以和PC的UART相連。
3)C6000系列:C62XX,C67XX,C64X 該系列以高性能著稱,最適合寬帶網(wǎng)絡(luò)和數(shù)字影像應(yīng)用。32bit,其中:C62XX和C64X是定點(diǎn)系列,C67XX 是浮點(diǎn)系列。該系列提供EMIF擴(kuò)展存儲(chǔ)器接口。該系列只提供BGA封 裝,只能制作多層PCB。且功耗較大。同為浮點(diǎn)系列的C3X中的VC33現(xiàn)在雖非主流產(chǎn)品,但也仍在廣泛使用,但其速度較低,最高在150MIPS。
4)OMAP系列:OMAP處理器集成ARM的命令及控制功能,另外還提供DSP 的低功耗實(shí)時(shí)信號(hào)處理能力,最適合移動(dòng)上網(wǎng)設(shè)備和多媒體家電。
其他系列的DSP曾經(jīng)有過(guò)風(fēng)光,但現(xiàn)在都非TI主推產(chǎn)品了,除了C3X系列外,其他基本處于淘汰階段,如:C3X的浮點(diǎn)系列:C30,C31,C32 C2X和C5X系列:C20,C25,C50每個(gè)系列的DSP都有其主要應(yīng)用領(lǐng)域.
2、設(shè)計(jì)中如何得到技術(shù)參考資料以及如何得到相關(guān)源碼
原則是碰到問(wèn)題就去www.ti.com
1)在TI網(wǎng)站的搜索中用keyword搜索資料,主要要注意的就是Application Notes,user guides 比如不知道怎樣進(jìn)行VC5402的McBSP編程,搜McBSP和VC5402 如果不知道如何設(shè)計(jì)VC5402和TLV320AIC23的接口以及編程,搜TLV320AIC23和VC5402; 這樣可以搜到一堆的資料,這些資料一般均有PDF文檔說(shuō)明和相應(yīng)的源程序包提供,download后做少許改動(dòng)即可
2)版上發(fā)問(wèn)
3)google搜
4)再不濟(jì),找技術(shù)支持,碰運(yùn)氣了
3、如何看待TI DSP龐雜的技術(shù)文檔
新手進(jìn)行DSP開(kāi)發(fā)學(xué)習(xí)之時(shí),常常感覺(jué)技術(shù)文檔太多,哪本都有用,哪本都想看,無(wú)從下手。此時(shí)原則是只看入門(mén)必須的、只看和芯片相關(guān)的。根據(jù)經(jīng)驗(yàn),如下的資料必看不可:
1)講述DSP的CPU,memory,program memory addressing,data memory addressing的資料都需要看、外設(shè)資源的資料可以只看自己用到的部分;
2)C和匯編的編程指南需要看
3)匯編指令和C語(yǔ)言的運(yùn)行時(shí)間支持庫(kù)、DSPLIB等資料需要看其他的如:Applications Guide,Optimizing CC++ Compiler User''''s Guide,Assembly Language Tools User''''s Guide等資料留待入門(mén)之后再去看體會(huì)會(huì)更深一些。
4、如何高效開(kāi)始TI DSP的硬件開(kāi)發(fā)
1)根據(jù)應(yīng)用領(lǐng)域選擇TI推薦的DSP類型
2)參考選定的DSP之EVM板,DSK等原理圖,完成DSP最小系統(tǒng)的搭建(包括外擴(kuò)內(nèi)存空間、電源復(fù)位系統(tǒng)、各控制信號(hào)管腳的連接、JTAG口的連接等);
3)根據(jù)具體應(yīng)用需要,選擇外圍電路的擴(kuò)展,一般如語(yǔ)音、視頻、控制等領(lǐng)域均有成熟的電路可以從TI網(wǎng)站得到。外圍電路與DSP的接口可參看EVM或DSK,以及所選外圍電路芯片的典型接口設(shè)計(jì)原理圖;最好外圍電路芯片也選擇TI的,這樣的話不管硬件接口有現(xiàn)成原理圖、很多連DSP與其接口的基本控制源碼都有。
4)地址譯碼、IO擴(kuò)展等用CPLD或者FPGA來(lái)做,將DSP的地址線、數(shù)據(jù)線、控制信號(hào)線如IS/PS/DS等都引進(jìn)去有利于調(diào)試
5、如何高效開(kāi)始TI DSP的軟件開(kāi)發(fā)
如果你不是純做算法,而是在一個(gè)目標(biāo)版上進(jìn)行開(kāi)發(fā),需要使用DSP的片上外設(shè),需要控制片外接口電路,那么建議在寫(xiě)程序前先好好將這個(gè)目標(biāo)版的電路設(shè)計(jì)搞清楚。最重要的是程序、數(shù)據(jù)、I/O空間的譯碼。不管是否純做算法還是軟硬結(jié)合,DSP的CPU,memory,program memory addressing, data mem.ory addressing的資料都需要看.
1)看CCS的使用指南
2)明白CMD文件的編寫(xiě)
3)明白中斷向量表文件的編寫(xiě),并定位在正確的地方
4)運(yùn)行一個(gè)純simulator的程序,了解CCS的各個(gè)操作
5)到TI網(wǎng)站下相關(guān)的源碼,參考源碼的結(jié)構(gòu)進(jìn)行編程
6)不論是C編程還是ASM編程,模塊化是必須的
6、選擇C還是選擇ASM進(jìn)行編程
記住一條原則,TI的工程師在不斷改進(jìn)CCS的C程序優(yōu)化編譯器,現(xiàn)在C優(yōu)化的效率可達(dá)到手工匯編的90%甚至更高。當(dāng)然有的時(shí)候如果計(jì)算能力和內(nèi)存資源是瓶頸,ASM還是有優(yōu)勢(shì),比如G.729編解碼。但是針對(duì)一般的應(yīng)用開(kāi)發(fā),C是最好的選擇。
新手編程則選擇C和匯編混合編程更有利一些
7、選擇什么仿真器
一般來(lái)說(shuō),買(mǎi)個(gè)并口的EPP就夠了,價(jià)格便宜又穩(wěn)定
8、關(guān)于TI 54X系列DSP的bootloader過(guò)程
請(qǐng)?jiān)敿?xì)閱讀TI文檔SPRA618A、SPRA571,這些文檔對(duì)boot的機(jī)制進(jìn)行了詳細(xì)說(shuō)明同時(shí)說(shuō)明了利用hex500將*.out文件轉(zhuǎn)化為*.hex文件時(shí),需要編寫(xiě)的cmd文件的寫(xiě)法。 linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論