?
DSP芯片也稱數字信號處理器,是一種特別適合于進行數字信號處理運算的微處理器具,其主機應用是實時快速地實現各種數字信號處理算法。根據數字信號處理的要求,DSP芯片一般具有如下主要特點:
(1)在一個指令周期內可完成一次乘法和一次加法;
(2)程序和數據空間分開,可以同時訪問指令和數據;
(3)片內具有快速RAM,通常可通過獨立的數據總線在兩塊中同時訪問;
(4)具有低開銷或無開銷循環及跳轉的硬件支持;
(5)快速的中斷處理和硬件I/O支持;
(6)具有在單周期內操作的多個硬件地址產生器;
(7) 可以并行執行多個操作; (8)支持流水線操作,使取指、譯碼和執行等操作可以重疊執行。
在我們設計DSP應用系統時, DSP芯片選型是非常重要的一個環節。在DSP系統硬件設計中只有選定了DSP芯片,才能進一步設計其外圍電路及系統的其他電路。因此說,DSP芯片的選擇應根據應用系統的實際需要而確定,做到既能滿足使用要求,又不浪費資源,從而也達到成本最小化的目的。
DSP實時系統設計和開發流程如圖1所示。
?
主要DSP芯片廠商及其產品
眾所周知,美國德州儀器(Texas Instruments,TI)是世界上最知名的DSP芯片生產廠商,其產品應用也最廣泛,TI公司生產的TMS320系列DSP芯片廣泛應用于各個領域。TI公司在1982年成功推出了其第一代DSP芯片TMS32010,這是DSP應用歷史上的一個里程碑,從此,DSP芯片開始得到真正的廣泛應用。由于TMS320系列DSP芯片具有價格低廉、簡單易用、功能強大等特點,所以逐漸成為目前最有影響、最為成功的DSP系列處理器。
目前,TI公司在市場上主要有三大系列產品:
(1)面向數字控制、運動控制的TMS320C2000系列,主要包括TMS320C24x/F24x、TMS320LC240x/LF240x、TMS320C24xA/LF240xA、TMS320C28xx等。
(2)面向低功耗、手持設備、無線終端應用的TMS320C5000系列,主要包括TMS320C54x、TMS320C54xx、TMS320C55x等。
(3)面向高性能、多功能、復雜應用領域的TMS320C6000系列,主要包括TMS320C62xx、TMS320C64xx、TMS320C67xx等。
美國模擬器件公司
ADI公司在DSP芯片市場上也占有一定的份額,相繼推出了一系列具有自己特點的DSP芯片,其定點DSP芯片有ADSP2101/2103/2105、ADSP2111/2115、ADSP2126/2162/2164、ADSP2127/2181 、ADSP-BF532以及Blackfin系列,浮點DSP芯片有ADSP21000/21020、ADSP21060/21062,以及虎鯊TS101,TS201S。
Motorola公司
Motorola 公司推出的DSP芯片比較晚。 1986年該公司推出了定點DSP 處理器MC56001;1990年,又 推出了與IEEE浮點格式兼容的的浮點DSP芯片MC96002。
還有DSP53611、16位DSP56800、24位的DSP563XX和MSC8101等產品。
杰爾公司
杰爾公司的SC1000和SC2000兩大系列的嵌入式DSP內核,主要面向電信基礎設施、移動通信、多媒體服務器及其它新興應用。
DSP芯片的選型參數
根據應用場合和設計目標的不同,選擇DSP芯片的側重點也各不相同,其主要參數包括以下幾個方面: (1)運算速度:首先我們要確定數字信號處理的算法,算法確定以后其運算量和完成時間也就大體確定了,根據運算量及其時間要求就可以估算DSP芯片運算速度的下限。在選擇DSP芯片時,各個芯片運算速度的衡量標準主要有:
MIPS(Millions of Instructions Per Second),百萬條指令/秒,一般DSP為20~100MIPS,使用超長指令字的TMS320B2XX為2400MIPS。必須指出的是這是定點DSP芯片運算速度的衡量指標,應注意的是,廠家提供的該指標一般是指峰值指標,因此,系統設計時應留有一定的裕量。
MOPS(Millions of Operations Per Second),每秒執行百萬操作。這個指標的問題是什么是一次操作,通常操作包括CPU操作外,還包括地址計算、DMA訪問數據傳輸、I/O操作等。一般說MOPS越高意味著乘積-累加和運算速度越快。MOPS可以對DSP芯片的性能進行綜合描述。
MFLOPS(Million Floating Point Operations Per Second),百萬次浮點操作/秒,這是衡量浮點DSP芯片的重要指標。例如TMS320C31在主頻為40MHz時,處理能力為40MFLOPS,TMS320C6701在指令周期為6ns時,單精度運算可達1GFLOPS。浮點操作包括浮點乘法、加法、減法、存儲等操作。應注意的是,廠家提供的該指標一般是指峰值指標,因此,系統設計時應注意留有一定的裕量。
MBPS(Million Bit Per Second),它是對總線和I/O口數據吞吐率的度量,也就是某個總線或I/O的帶寬。例如對TMS320C6XXX、200MHz時鐘、32bit總線時,總線數據吞吐率則為800Mbyte/s或6400MBPS。
ACS(Multiply-Accumulates Per Second),例如TMS320C6XXX乘加速度達300MMACS~600MMACS。
指令周期,即執行一條指令所需的時間,通常以ns(納秒)為單位,如TMS320LC549-80在主頻為80MHz是的指令周期為12.5ns。
MAC時間,執行一次乘法和加法運算所花費的時間:大多數DSP芯片可以在一個指令周期內完成一次MAC運算。
FFT/FIR執行時間,運行一個N點FFT或N點FIR程序的運算時間。由于FFT運算/FIR運算是數字信號處理的一個典型算法,因此,該指標可以作為衡量芯片性能的綜合指標。
表1是基于上述某些參數對一些DSP芯片所作的比較。
?
(2)運算精度: 一般情況下,浮點DSP芯片的運算精度要高于定點DSP芯片的運算精度,但是功耗和價格也隨之上升。一般定點DSP芯片的字長為16位、24位或者32位,浮點芯片的字長為32位。累加器一般都為32位或40位。 定點DSP的特點是主頻高、速度快、成本低、功耗小,主要用于計算復雜度不高的控制、通信、語音/圖像、消費電子產品等領域。通常可以用定點器件解決的問題,盡量用定點器件,因為它經濟、速度快、成本低,功耗小。但是在編程時要關注信號的動態范圍,在代碼中增加限制信號動態范圍的定標運算,雖然我們可以通過改進算法來提高運算精度,但是這樣做會相應增加程序的復雜度和運算量。浮點DSP的速度一般比定點DSP處理速度低,其成本和功耗都比定點DSP高,但是由于其采用了浮點數據格式,因而處理精度,動態范圍都遠高于定點DSP,適合于運算復雜度高,精度要求高的應用場合;即使是一般的應用,在對浮點DSP進行編程時,不必考慮數據溢出和精度不夠的問題,因而編程要比定點DSP方便、容易。因此說,運算精度要求是一個折衷的問題,需要根據經驗等來確定一個最佳的結合點。
(3)字長的選擇:一般浮點DSP芯片都用32位的數據字,大多數定點DSP芯片是16位數據字。而Motorola公司定點芯片用24位數據字,以便在定點和浮點精度之間取得折衷。字長大小是影響成本的重要因素,它影響芯片的大小、引腳數以及存儲器的大小,設計時在滿足性能指標的條件下,盡可能選用最小的數據字。
(4)存儲器等片內硬件資源安排:包括存儲器的大小,片內存儲器的數量,總線尋址空間等。片內存儲器的大小決定了芯片運行速度和成本,例如TI公司同一系列的DSP芯片,不同種類芯片存儲器的配置等硬件資源各不相同。通過對算法程序和應用目標的仔細分析可以大體判定對DSP芯片片內資源的要求。幾個重要的考慮因素是片內RAM和ROM的數量、可否外擴存儲器、總線接口/中斷/串行口等是否夠用、是否具有A/D轉換等。
(5)開發調試工具:完善、方便的的開發工具和相關支持軟件是開發大型、復雜DSP系統的必備條件,對縮短產品的開發周期有很重要的作用。開發工具包括軟件和硬件兩部分。軟件開發工具主要包括:C編譯器、匯編器、鏈接器、程序庫、軟件仿真器等,在確定DSP算法后,編寫的程序代碼通過軟件仿真器進行仿真運行,來確定必要的性能指標。硬件開發工具包括在線硬件仿真器和系統開發板。在線硬件仿真器通常是JTAG周邊掃描接口板,可以對設計的硬件進行在線調試;在硬件系統完成之前,不同功能的開發板上實時運行設計的DSP軟件,可以提高開發效率。甚至在有的數量小的產品中,直接將開發板當作最終產品。
(6)功耗與電源管理:一般來說個人數字產品、便攜設備和戶外設備等對功耗有特殊要求,因此這也是一個該考慮的問題。它通常包括供電電壓的選擇和電源的管理功能。供電電壓一般取得比較低,實施芯片的低電壓供電,通常有3.3V、2.5V,1.8V,0.9V等,在同樣的時鐘頻率下,它們的功耗將遠遠低于5V供電電壓的芯片。加強了對電源的管理后,通常用休眠、等待模式等方式節省功率消耗。例如TI公司提供了詳細的、功能隨指令類型和處理器配置而改變的應用說明。
(7)價格及廠家的售后服務因素:價格包括DSP芯片的價格和開發工具的價格。如果采用昂貴的DSP芯片,即使性能再高,其應用范圍也肯定受到一定的限制。但低價位的芯片必然是功能較少、片內存儲器少、性能上差一些的,這就帶給編程一定的困難。因此,要根據實際系統的應用情況,確定一個價格適中的DSP芯片。還要充分考慮廠家提供的的售后服務等因素,良好的售后技術支持也是開發過程中重要資源。
(8)其他因素:包括DSP芯片的封裝形式、環境要求、供貨周期、生命周期等。
DSP應用選型舉例
面向數字控制、運動控制的DSP 系統開發的DSP芯片選型
面向數字控制、運動控制主要有磁盤驅動控制、引擎控制、激光打印機控制、噴繪機控制、馬達控制、電力系統控制、機器人控制、高精度伺服系統控制、數控機床等。當然這些主要是針對數字運動控制系統設計的應用,在這些系統的控制中,不僅要求有專門用于數字控制系統的外設電路,而且要求芯片具有數字信號處理器的一般特征。
例如在控制直流無刷電動機的DSP控制系統中,直流無刷電機運行過程要進行兩種控制,一種是轉速控制,也即控制提供給定子線圈的電流;另一種是換相控制,在轉子到達指定位置改變定子導通相,實現定子磁場改變,這種控制實際上實現了物理電刷的機制。因此這種電機需要有位置反饋機制,比如霍爾元件、光電碼盤,或者利用梯形反電動勢特點進行反電動勢過零檢測等。電機速度控制也是根據位置反饋信號,計算出轉子速度,再利用PI或PID等控制方法,實時調整PWM占空比等來實現定子電流調節。因此,控制芯片要進行較多的計算過程。當然也有專門的直流無刷電機控制芯片;但一般來說,在大多數應用中,除了電機控制,總還需要做一些其他的控制和通信等事情,所以,選用帶PWM,同時又有較強數學運算功能的芯片也是一種很好的選擇。
Motorola的數字信號處理器DSP568xx系列整合了通用數字信號處理器快速運算功能和單片機外圍豐富的特點,使得該系列特別適合于那些要求有較強的數據處理能力,同時又要有較多控制功能的應用中,對直流無刷電機的控制就是這一系列DSP的典型應用之一。
除此之外,數字運動控領域還有TI公司的TMS320C24x系列,TMS320Lx240xx系列,特別是TMS320LF2407A在控制方面得到了非常廣泛的應用,TMS320LF2407A作為一款專門面向數字控制系統進行優化的通用可編程微處理器,不僅具有低功耗和代碼保密的特點,而且它集成了極強的數字信號處理能力,又集成了數字控制系統所必需的輸入、輸出、A/D轉換、事件捕捉等外設,其時鐘頻率為40MHz,指令周期小于50ns,采用改進的哈佛結構和流水線技術,在一個指令周期內可以執行幾條指令。
從運行速度,精度角度來講上述兩款芯片相差無幾,但是TMS320LF2407A的調試開發環境(CCS)更加成熟,可參考的資料也更豐富,這樣無疑會減少開發周期。 面向低功耗、手持設備、無線終 端應用的DSP芯片選型
C54X、C54XX、C55X 相比其它系列的主要特點是低功耗,所以最適合個人與便攜式上網以及無線通信應用,如手機、PDA、GPS等應用。處理速度在80~400MIPS之間。C54XX和C55XX 一般只具有McBSP同步串口、HPI并行接口、定時器、DMA等外設。值得注意的是C55XX提供了EMIF外部存儲器擴展接口,可以直接使用SDRAM,而C54XX則不能直接使用。
未來DSP發展趨勢
在相當長的時期內,無線應用仍將是可編程DSP市場的驅動引擎。DSP技術仍將是能夠訪問窄帶、寬帶或是無線互聯網的主要手段,它還是新興的分組(IP)電話市場的關鍵技術,DSP仍將是整個半導體工業的技術驅動力。
在產品應用上,目前重要的DSP應用產品,如移動電話、調制解調器、HDD等個人計算機與通訊領域應用產品。但種種跡象表明,數字革命促進了高性能DSP的廣泛應用,如數碼相機、VoIP電話和手持電子設備等。中國在消費電子產品上的發展更為引人注目,許多消費類電子產品需要更低成本、更易使用的DSP產品,如音響設備、DVR、機頂盒等。整體來看,DSP應用在通訊領域、數字影音的產品將越來越普及。
評論
查看更多