如何選擇DSP芯片?DSP芯片需要考慮8個方面
DSP芯片的內(nèi)部采用程序和數(shù)據(jù)分開的哈佛結(jié)構(gòu),這為DSP芯片的優(yōu)勢打下了基礎(chǔ)。為增進(jìn)大家對DSP芯片的認(rèn)識,本文將介紹如何去選擇一款優(yōu)秀的DSP芯片。如果你對DSP芯片,或是對本文內(nèi)容具有興趣,不妨和小編一起繼續(xù)往下閱讀哦。
1、運(yùn)算速度
首先我們要確定數(shù)字信號處理的算法,算法確定以后其運(yùn)算量和完成時(shí)間也就大體確定了,根據(jù)運(yùn)算量及其時(shí)間要求就可以估算DSP芯片運(yùn)算速度的下限。在選擇DSP芯片時(shí),各個芯片運(yùn)算速度的衡量標(biāo)準(zhǔn)主要有:
MIPS(Millions of Instructions Per Second),百萬條指令/秒,一般DSP為20~100MIPS,使用超長指令字的TMS320B2XX為2400MIPS。必須指出的是這是定點(diǎn)DSP芯片運(yùn)算速度的衡量指標(biāo),應(yīng)注意的是,廠家提供的該指標(biāo)一般是指峰值指標(biāo),因此,系統(tǒng)設(shè)計(jì)時(shí)應(yīng)留有一定的裕量。
MOPS(Millions of Operations Per Second),每秒執(zhí)行百萬操作。這個指標(biāo)的問題是什么是一次操作,通常操作包括CPU操作外,還包括地址計(jì)算、DMA訪問數(shù)據(jù)傳輸、I/O操作等。一般說MOPS越高意味著乘積-累加和運(yùn)算速度越快。MOPS可以對DSP芯片的性能進(jìn)行綜合描述。
MFLOPS(Million Floating Point Operations Per Second),百萬次浮點(diǎn)操作/秒,這是衡量浮點(diǎn)DSP芯片的重要指標(biāo)。例如TMS320C31在主頻為40MHz時(shí),處理能力為40MFLOPS,TMS320C6701在指令周期為6ns時(shí),單精度運(yùn)算可達(dá)1GFLOPS。浮點(diǎn)操作包括浮點(diǎn)乘法、加法、減法、存儲等操作。應(yīng)注意的是,廠家提供的該指標(biāo)一般是指峰值指標(biāo),因此,系統(tǒng)設(shè)計(jì)時(shí)應(yīng)注意留有一定的裕量。
MBPS(Million Bit Per Second),它是對總線和I/O口數(shù)據(jù)吞吐率的度量,也就是某個總線或I/O的帶寬。例如對TMS320C6XXX、200MHz時(shí)鐘、32bit總線時(shí),總線數(shù)據(jù)吞吐率則為800Mbyte/s或6400MBPS。
ACS(Multiply-Accumulates Per Second),例如TMS320C6XXX乘加速度達(dá)300MMACS~600MMACS。
指令周期,即執(zhí)行一條指令所需的時(shí)間,通常以ns(納秒)為單位,如TMS320LC549-80在主頻為80MHz是的指令周期為12.5ns。
MAC時(shí)間,執(zhí)行一次乘法和加法運(yùn)算所花費(fèi)的時(shí)間:大多數(shù)DSP芯片可以在一個指令周期內(nèi)完成一次MAC運(yùn)算。
FFT/FIR執(zhí)行時(shí)間,運(yùn)行一個N點(diǎn)FFT或N點(diǎn)FIR程序的運(yùn)算時(shí)間。由于FFT運(yùn)算/FIR運(yùn)算是數(shù)字信號處理的一個典型算法,因此,該指標(biāo)可以作為衡量芯片性能的綜合指標(biāo)。
2、運(yùn)算精度
一般情況下,浮點(diǎn)DSP芯片的運(yùn)算精度要高于定點(diǎn)DSP芯片的運(yùn)算精度,但是功耗和價(jià)格也隨之上升。一般定點(diǎn)DSP芯片的字長為16位、24位或者32位,浮點(diǎn)芯片的字長為32位。累加器一般都為32位或40位。 定點(diǎn)DSP的特點(diǎn)是主頻高、速度快、成本低、功耗小,主要用于計(jì)算復(fù)雜度不高的控制、通信、語音/圖像、消費(fèi)電子產(chǎn)品等領(lǐng)域。通??梢杂枚c(diǎn)器件解決的問題,盡量用定點(diǎn)器件,因?yàn)樗?jīng)濟(jì)、速度快、成本低,功耗小。但是在編程時(shí)要關(guān)注信號的動態(tài)范圍,在代碼中增加限制信號動態(tài)范圍的定標(biāo)運(yùn)算,雖然我們可以通過改進(jìn)算法來提高運(yùn)算精度,但是這樣做會相應(yīng)增加程序的復(fù)雜度和運(yùn)算量。浮點(diǎn)DSP的速度一般比定點(diǎn)DSP處理速度低,其成本和功耗都比定點(diǎn)DSP高,但是由于其采用了浮點(diǎn)數(shù)據(jù)格式,因而處理精度,動態(tài)范圍都遠(yuǎn)高于定點(diǎn)DSP,適合于運(yùn)算復(fù)雜度高,精度要求高的應(yīng)用場合;即使是一般的應(yīng)用,在對浮點(diǎn)DSP進(jìn)行編程時(shí),不必考慮數(shù)據(jù)溢出和精度不夠的問題,因而編程要比定點(diǎn)DSP方便、容易。因此說,運(yùn)算精度要求是一個折衷的問題,需要根據(jù)經(jīng)驗(yàn)等來確定一個最佳的結(jié)合點(diǎn)。
3、字長的選擇
一般浮點(diǎn)DSP芯片都用32位的數(shù)據(jù)字,大多數(shù)定點(diǎn)DSP芯片是16位數(shù)據(jù)字。而Motorola公司定點(diǎn)芯片用24位數(shù)據(jù)字,以便在定點(diǎn)和浮點(diǎn)精度之間取得折衷。字長大小是影響成本的重要因素,它影響芯片的大小、引腳數(shù)以及存儲器的大小,設(shè)計(jì)時(shí)在滿足性能指標(biāo)的條件下,盡可能選用最小的數(shù)據(jù)字。
4、存儲器等片內(nèi)硬件資源安排
包括存儲器的大小,片內(nèi)存儲器的數(shù)量,總線尋址空間等。片內(nèi)存儲器的大小決定了芯片運(yùn)行速度和成本,例如TI公司同一系列的DSP芯片,不同種類芯片存儲器的配置等硬件資源各不相同。通過對算法程序和應(yīng)用目標(biāo)的仔細(xì)分析可以大體判定對DSP芯片片內(nèi)資源的要求。幾個重要的考慮因素是片內(nèi)RAM和ROM的數(shù)量、可否外擴(kuò)存儲器、總線接口/中斷/串行口等是否夠用、是否具有A/D轉(zhuǎn)換等。
5、開發(fā)調(diào)試工具
完善、方便的的開發(fā)工具和相關(guān)支持軟件是開發(fā)大型、復(fù)雜DSP系統(tǒng)的必備條件,對縮短產(chǎn)品的開發(fā)周期有很重要的作用。開發(fā)工具包括軟件和硬件兩部分。軟件開發(fā)工具主要包括:C編譯器、匯編器、鏈接器、程序庫、軟件仿真器等,在確定DSP算法后,編寫的程序代碼通過軟件仿真器進(jìn)行仿真運(yùn)行,來確定必要的性能指標(biāo)。硬件開發(fā)工具包括在線硬件仿真器和系統(tǒng)開發(fā)板。在線硬件仿真器通常是JTAG周邊掃描接口板,可以對設(shè)計(jì)的硬件進(jìn)行在線調(diào)試;在硬件系統(tǒng)完成之前,不同功能的開發(fā)板上實(shí)時(shí)運(yùn)行設(shè)計(jì)的DSP軟件,可以提高開發(fā)效率。甚至在有的數(shù)量小的產(chǎn)品中,直接將開發(fā)板當(dāng)作最終產(chǎn)品。
6、功耗與電源管理
一般來說個人數(shù)字產(chǎn)品、便攜設(shè)備和戶外設(shè)備等對功耗有特殊要求,因此這也是一個該考慮的問題。它通常包括供電電壓的選擇和電源的管理功能。供電電壓一般取得比較低,實(shí)施芯片的低電壓供電,通常有3.3V、2.5V,1.8V,0.9V等,在同樣的時(shí)鐘頻率下,它們的功耗將遠(yuǎn)遠(yuǎn)低于5V供電電壓的芯片。加強(qiáng)了對電源的管理后,通常用休眠、等待模式等方式節(jié)省功率消耗。例如TI公司提供了詳細(xì)的、功能隨指令類型和處理器配置而改變的應(yīng)用說明。
7、價(jià)格及廠家的售后服務(wù)因素
價(jià)格包括DSP芯片的價(jià)格和開發(fā)工具的價(jià)格。如果采用昂貴的DSP芯片,即使性能再高,其應(yīng)用范圍也肯定受到一定的限制。但低價(jià)位的芯片必然是功能較少、片內(nèi)存儲器少、性能上差一些的,這就帶給編程一定的困難。因此,要根據(jù)實(shí)際系統(tǒng)的應(yīng)用情況,確定一個價(jià)格適中的DSP芯片。還要充分考慮廠家提供的的售后服務(wù)等因素,良好的售后技術(shù)支持也是開發(fā)過程中重要資源。
8、其他因素
包括DSP芯片的封裝形式、環(huán)境要求、供貨周期、生命周期等。
以上便是此次小編帶來的DSP芯片相關(guān)內(nèi)容,通過本文,希望大家對DSP芯片已經(jīng)具備一定的了解。如果你喜歡本文,不妨持續(xù)關(guān)注我們網(wǎng)站哦,小編將于后期帶來更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!