Motorola DSP及其開(kāi)發(fā)
北京航空航天大學(xué) 牛曄 周浩敏當(dāng)今社會(huì)是信息化的社會(huì),面對(duì)海量信息,使用計(jì)算機(jī)進(jìn)行處理成為首選。眾所周知,計(jì)算機(jī)只能處理數(shù)字信號(hào),因而在一定程度上,可以說(shuō)信息化的基礎(chǔ)是數(shù)字化,而數(shù)字化的核心技術(shù)之一是數(shù)字信號(hào)處理。數(shù)字信號(hào)處理的任務(wù)越來(lái)越多地應(yīng)用DSP來(lái)完成,DSP技術(shù)已經(jīng)日益受到人們的關(guān)注并且得到了迅速發(fā)展。作為全球第一的嵌入式處理器制造商,摩托羅拉公司于1997年推出了24位DSP56300系列的首枚芯片DSP56301,并不斷升級(jí),如圖1所示。本文作者所在實(shí)驗(yàn)室有幸于2001年11月獲贈(zèng)Motorola DSP56311開(kāi)發(fā)裝置及其相關(guān)開(kāi)發(fā)工具。下面,作者將結(jié)合近兩年的使用和開(kāi)發(fā)經(jīng)驗(yàn),簡(jiǎn)要介紹Motorola DSP56300系列和DSP56311,并結(jié)合FFT說(shuō)明軟件調(diào)試過(guò)程,最后給出一個(gè)使用DSP56311評(píng)估板開(kāi)發(fā)的控制模型汽車(chē)運(yùn)動(dòng)的實(shí)例。圖1 DSP56300系列 Motorola DSP56300系列對(duì)于許多通信基礎(chǔ)設(shè)施和網(wǎng)絡(luò)設(shè)備的生產(chǎn)廠商來(lái)說(shuō),DSP56300系列是數(shù)字信號(hào)處理器的選擇之一,該系列24位DSP提供了大容量的片內(nèi)存儲(chǔ)器、濾波器、協(xié)處理器以及優(yōu)異的性能與體積、價(jià)位、功耗比。通過(guò)設(shè)計(jì)和生產(chǎn)的革新,Motorola公司正致力于擴(kuò)展DSP56300系列以提供更新的特點(diǎn)、更優(yōu)異的性能,諸如:更快的速度,更高的集成度,更低的電壓和功耗等。生產(chǎn)一個(gè)DSP芯片要綜合考慮以上各點(diǎn),才能獲得優(yōu)異的性能(見(jiàn)圖2)。圖2 DSP應(yīng)具有的性能 DSP56300系列的主要特征如下:⑴兼容性-與DSP56000系列兼容,可向上移植;⑵快速性-內(nèi)核150MIPS(Millions Instruction Per Second);⑶片內(nèi)存儲(chǔ)器-DSP56311片內(nèi)存儲(chǔ)器容量高達(dá)384KB;⑷低工作電壓-1.8/2.5/3.3V內(nèi)核電壓;⑸低功耗-1.8V 時(shí)0.7mA/MIPS,2.5V時(shí) 0.9mA/MIPS;⑹易編程-24位的指令集,對(duì)用戶透明的流水線,硬件堆棧擴(kuò)展,完全嵌入式硬件循環(huán)和中斷,自動(dòng)返回中斷,以及為高效軟件Viterbi解碼而設(shè)的VSL指令集;⑺高速指令緩存-1K字高速指令緩存;DSP56300系列的芯片主要有56301、56303、56307、56309和56311,下面將以本文作者使用的DSP56311為例進(jìn)行介紹。
Motorola DSP56311DSP56311是Motorola公司2000年推出的新產(chǎn)品,是24位數(shù)字信號(hào)處理器,現(xiàn)已投入量產(chǎn)。DSP56311是以DSP56300為內(nèi)核,具有片內(nèi)存儲(chǔ)器和外圍器件的單片結(jié)構(gòu),有196個(gè)引腳,為球形工藝插針陣列(PBGA,Process Ball Grid Array)的外封裝形式。DSP56311的片內(nèi)增強(qiáng)型濾波器協(xié)處理器(EFCOP,Enhanced Filter Coprocessor)與內(nèi)核并行工作,明顯提高了DSP的整體性能和處理效率,由相應(yīng)的算法而實(shí)現(xiàn)通用濾波技術(shù),很好地支持了在無(wú)線通信等技術(shù)中的應(yīng)用。DSP56311還包括了摩托羅拉的邊界掃描測(cè)試端口和片內(nèi)仿真端口。DSP56311還具有128K字大容量片內(nèi)存儲(chǔ)器陣列以及EFCOP,非常適合于高端多通道遠(yuǎn)程通信的應(yīng)用,比如無(wú)線通信、多路語(yǔ)音/數(shù)據(jù)/傳真處理,視頻會(huì)議以及通用數(shù)字信號(hào)處理技術(shù)。 DSP56311硬件結(jié)構(gòu)DSP56311主要由24位DSP56300內(nèi)核、數(shù)據(jù)ALU、內(nèi)部總線、存儲(chǔ)器擴(kuò)展區(qū)、外圍擴(kuò)展區(qū)等組成,其功能模塊如圖3所示。圖3 DSP56311功能模塊圖 DSP56311開(kāi)發(fā)工具M(jìn)otorola公司為開(kāi)發(fā)DSP56311的科技人員提供了強(qiáng)有力的軟件開(kāi)發(fā)工具:Suite56軟件包,包括:硬件調(diào)試器(Debugger)、軟件仿真器(Simulator),可以在Windows NT、Windows 95、 Hewlett-Packard HP-UX、 Sun OS4、Sun Solaris等多種平臺(tái)上運(yùn)行,同時(shí)針對(duì)C語(yǔ)言、匯編語(yǔ)言以及C語(yǔ)言和匯編語(yǔ)言的嵌套編程,分別有編譯器(Compiler)、匯編器(Assembler)和鏈接器(linker),并提供了友好的人機(jī)界面,如圖4所示。圖4 Simulator的界面 開(kāi)發(fā)過(guò)程軟件開(kāi)發(fā)在應(yīng)用時(shí),要生成一個(gè)DSP能夠運(yùn)行的程序需要如下步驟:①編寫(xiě)C語(yǔ)言或匯編語(yǔ)言或二者嵌套的源程序。Motorola DSP所使用的匯編程序在書(shū)寫(xiě)的時(shí)候采用Windows中的記事本即可,在保存的時(shí)候要注意保存成為以 ".asm"為后綴名的文件。不同語(yǔ)言的源程序有不同的