DSP概述 DSP(digital signal processor)是一種獨特的微處理器,有自己的完整指令系統(tǒng),是以數(shù)字信號來處理大量信息的器件。其最大特點是內(nèi)部有專用的硬件乘法器和哈佛總線結(jié)構(gòu)對大量的數(shù)字信號處理的速度快。一個數(shù)字信號處理器在一塊不大的芯片內(nèi)包括有控制單元、運算單元、各種寄存器以及一定數(shù)量的存儲單元等等,在其外圍還可以連接若干存儲器,并可以與一定數(shù)量的外部設(shè)備互相通信,有軟、硬件的全面功能,本身就是一個微型計算機。 DSP采用的是哈佛設(shè)計,即數(shù)據(jù)總線和地址總線分開,使程序和數(shù)據(jù)分別存儲在兩個分開的空間,允許取指令和執(zhí)行指令完全重疊。也就是說在執(zhí)行上一條指令的同時就可取出下一條指令,并進行譯碼,這大大的提高了微處理器的速度。另外還允許在程序空間和數(shù)據(jù)空間之間進行傳輸,因為增加了器件的靈活性。 當今的數(shù)字化時代背景下,DSP己成為通信、計算機、消費類電子產(chǎn)品等領(lǐng)域的基礎(chǔ)器件。 根據(jù)數(shù)字信號處理的要求,DSP芯片一般具有如下的一些主要特點: (1) 在一個指令周期內(nèi)可完成一次乘法和一次加法。 (2) 程序和數(shù)據(jù)空間分開,可以同時訪問指令和數(shù)據(jù)。 (3) 片內(nèi)具有快速RAM,通常可通過獨立的數(shù)據(jù)總線在兩塊中同時訪問。 (4) 具有低開銷或無開銷循環(huán)及跳轉(zhuǎn)的硬件支持。 (5) 快速的中斷處理和硬件I/O支持。 (6) 具有在單周期內(nèi)操作的多個硬件地址產(chǎn)生器。 (7) 可以并行執(zhí)行多個操作。 (8) 支持流水線操作,使取指、譯碼和執(zhí)行等操作可以重疊執(zhí)行。 與通用微處理器相比,DSP芯片的其他通用功能相對較弱些。 DSP 芯片的誕生過程 DSP 芯片的誕生是時代所需。20世紀60年代以來,隨著計算機和信息技術(shù)的飛速發(fā)展,數(shù)字信號處理技術(shù)應運而生并得到迅速的發(fā)展。在 DSP 芯片出現(xiàn)之前數(shù)字信號處理只能依靠微處理器來完成。但由于微處理器較低的處理速度不快,根本就無法滿足越來越大的信息量的高速實時要求。 上世紀 70 年代,DSP芯片的理論和算法基礎(chǔ)已成熟。但那時的DSP僅僅停留在教科書上,即使是研制出來的 DSP 系統(tǒng)也是由分立元件組成的,其應用領(lǐng)域僅局限于軍事、航空航天部門。 1978 年, AMI 公司發(fā)布世界上第一個單片 DSP 芯片 S2811,但沒有現(xiàn)代 DSP芯片所必須有的硬件乘法器; 1979 年, 美國 Intel 公司發(fā)布的商用可編程器件 2920 是 DSP 芯片的一個主要里程碑,但其依然沒有硬件乘法器; 1980 年,日本 NEC 公司推出的 MPD7720 是第一個具有硬件乘法器的商用 DSP芯片,從而被認為是第一塊單片 DSP 器件; 1982 年世界上誕生了第一代 DSP 芯片 TMS32010 及其系列產(chǎn)品。這種 DSP 器件采用微米工藝 NMOS 技術(shù)制作,雖功耗和尺寸稍大,但運算速度卻比微處理器快了幾十倍。 DSP 芯片的問世是個里程碑,它標志著 DSP 應用系統(tǒng)由大型系統(tǒng)向小型化邁進了一大步。至 80 年代中期,隨著 CMOS 工藝的 DSP 芯片應運而生,其存儲容量和運算速度都得到成倍提高,成為語音處理、圖像硬件處理技術(shù)的基礎(chǔ)。 80 年代后期,第三代 DSP 芯片問世,運算速度進一步提高,其應用范圍逐步擴大到通信、計算機領(lǐng)域; 90 年代 DSP 發(fā)展最快,相繼出現(xiàn)了第四代和第五代 DSP 芯片。第五代與第四代相比系統(tǒng)集成度更高,將 DSP 芯核及外圍元件綜合集成在單一芯片上。 進入 21 世紀后,第六代 DSP 芯片橫空出世。第六代芯片在性能上全面碾壓第五代芯片,同時基于商業(yè)目的的不同發(fā)展出了諸多個性化的分支,并開始逐漸拓展新的領(lǐng)域。 DSP 芯片的應用領(lǐng)域 如今,各種各樣的DSP器件已相當豐富。大大小小封裝形式的DSP器件,已廣泛應用于各種產(chǎn)品的生產(chǎn)領(lǐng)域,而且DSP的應用領(lǐng)域仍在不斷地擴大,發(fā)展迅速異常。 DSP芯片強調(diào)數(shù)字信號處理的實時性。DSP作為數(shù)字信號處理器將模擬信號轉(zhuǎn)換成數(shù)字信號,用于專用處理器的高速實時處理。它具有高速,靈活,可編程,低功耗的界面功能,在圖形圖像處理,語音處理,信號處理等通信領(lǐng)域起到越來越重要的作用。 根據(jù)美國的權(quán)威資訊公司統(tǒng)計,目前 DSP 芯片在市場上應用最多的是通信領(lǐng)域,其次是計算機領(lǐng)域。 圖源網(wǎng)絡 DSP芯片的應用領(lǐng)域 1)DSP芯片在多媒體通信領(lǐng)域的應用。 媒體數(shù)據(jù)傳輸產(chǎn)生的信息量是巨大的,多媒體網(wǎng)絡終端在整個過程中需要對獲取的信息量進行快速分析和處理,因此 DSP 被運用在語音編碼,圖像壓縮和減少語音通信上。如今 DSP 對于語音解碼計算產(chǎn)生實時效果,設(shè)計協(xié)議要求已經(jīng)成為最基本的一條國際標準。 2)DSP芯片在工業(yè)控制領(lǐng)域的應用。 在工業(yè)控制領(lǐng)域, 工業(yè)機器人被廣泛應用,對機器人控制系統(tǒng)的性能要求也越來越高。機器人控制系統(tǒng)重中之重就是實時性,在完成一個動作的同時會產(chǎn)生較多的數(shù)據(jù)和計算處理,這里可以采用高性能的 DSP。DSP通過應用到機器人的控制系統(tǒng)后,充分利用自身的實時計算速度特性,使得機器人系統(tǒng)可以快速處理問題,隨著不斷提高 DSP 數(shù)字信號芯片速度,在系統(tǒng)中容易構(gòu)成并行處理網(wǎng)絡,大大提高控制系統(tǒng)的性能,使得機器人系統(tǒng)得到更為廣泛的發(fā)展。 3)DSP芯片在儀器儀表領(lǐng)域的應用。 DSP 豐富的片內(nèi)資源可以大大簡化儀器儀表的硬件電儀路,實現(xiàn)儀器儀表的 SOC 設(shè)計。器儀表的測量精度和速度是一項重要的指標,使用 DSP 芯片開發(fā)產(chǎn)品可使這兩項指標大大提高。例如 TI 公司的 TMS320F2810 具有高效的 32 位 CPU 內(nèi)核,12 位 A/D 轉(zhuǎn)換器,豐富的片上存儲器和靈活的指揮系統(tǒng),為高精密儀器搭建了廣闊的平臺。高精密儀器現(xiàn)在已經(jīng)發(fā)展成為 DSP 的一個重要應用,正處于快速傳播時期,將推動產(chǎn)業(yè)的技術(shù)創(chuàng)新。 4)DSP芯片在汽車安全與無人駕駛領(lǐng)域的應用。 汽車電子系統(tǒng)日益興旺發(fā)達起來,諸如裝設(shè)紅外線和毫米波雷達,將需用 DSP 進行分析。如今,汽車愈來愈多,防沖撞系統(tǒng)已成為研究熱點。而且,利用攝像機拍攝的圖像數(shù)據(jù)需要經(jīng)過 DSP 處理,才能在駕駛系統(tǒng)里顯示出來,供駕駛?cè)藛T參考。 5)DSP芯片在軍事領(lǐng)域的應用。 DSP 的功耗低、體積小、實時性反應速度都是武器裝備中特別需要的。如機載空空導彈,在有限的體積內(nèi)裝有紅外探測儀和相應的 DSP信號處理器等部分,完成目標的自動鎖定與跟蹤。先進戰(zhàn)斗機上裝備的目視瞄準器和步兵個人攜帶的頭盔式微光儀,需用 DSP 技術(shù)完成圖像的濾波與增強,智能化目標搜索捕獲。DSP 技術(shù)還用于自動火炮控制、巡航導彈、預警飛機、相控陣天線等雷達數(shù)字信號處理中。 圖源網(wǎng)絡 未來DSP技術(shù)將向以下幾個方向繼續(xù)發(fā)展: 1)DSP芯核集成度越來越高。 縮小 DSP 芯片尺寸一直是 DSP 技術(shù)的發(fā)展趨勢,當前使用較多的是基于 RISC 結(jié)構(gòu),隨著新工藝技術(shù)的引入,越來越多的制造商開始改進DSP 芯核,并且把多個 DSP 芯核、 MPU 芯核以及外圍的電路單元集成在一個芯片上,實現(xiàn)了 DSP 系統(tǒng)級的集成電路。 2)可編程DSP芯片將是未來主導產(chǎn)品。 隨著個性化發(fā)展的需要, DSP 的可編程化為生產(chǎn)廠商提供了更多靈活性,滿足廠家在同一個 DSP 芯片上開發(fā)出更多不同型號特征的系列產(chǎn)品,也使得廣大用戶對于 DSP 的升級換代。例如冰箱、洗衣機,這些原來裝有微控制器的家電如今已換成可編程 DSP 來進行大功率電機控制。 3)定點DSP占據(jù)主流。 目前,市場上所銷售的 DSP 器件中,占據(jù)主流產(chǎn)品的依然是16 位的定點可編程 DSP 器件,隨著 DSP 定點運算器件成本的不斷低,能耗越來越小的優(yōu)勢日漸明顯,未來定點 DSP 芯片仍將是市場的主角。 DSP芯片的分類 DSP的芯片可以按照以下的三種方式進行分類。 (1)按基礎(chǔ)特性分 這是根據(jù)DSP芯片的工作時鐘和指令類型來分類的。如果DSP芯片在某時鐘頻率范圍內(nèi)的任何頻率上能正常工作,除計算速度有變化外,沒有性能的下降,這類DSP芯片一般稱之為靜態(tài)DSP芯片。 如果有兩種或兩種以上的DSP芯片,它們的指令集和相應的機器代碼機管腳結(jié)構(gòu)相互兼容,則這類DSP芯片稱之為一致性的DSP芯片。 (2)按數(shù)據(jù)格式分 這是根據(jù)DSP芯片工作的數(shù)據(jù)格式來分類的。數(shù)據(jù)以定點格式工作的DSP芯片稱之為定點DSP芯片。以浮點格式工作的稱為DSP芯片。不同的浮點DSP芯片所采用的浮點格式不完全一樣,有的DSP芯片采用自定義的浮點格式,有的DSP芯片則采用IEEE的標準浮點格式。 (3)按用途分 按照DSP芯片的用途來分,可分為通用型DSP芯片和專用型的DSP芯片。通用型DSP芯片適合普通的DSP應用,如TI公司的一系列DSP芯片。專用型DSP芯片市為特定的DSP運算而設(shè)計,更適合特殊的運算,如數(shù)字濾波,卷積和FFT等。 DSP芯片的基本結(jié)構(gòu) DSP芯片的基本結(jié)構(gòu)包括: (1)哈佛結(jié)構(gòu)。哈佛結(jié)構(gòu)的主要特點是將程序和數(shù)據(jù)存儲在不同的存儲空間中,即程序存儲器和數(shù)據(jù)存儲器是兩個相互獨立的存儲器,每個存儲器獨立編址,獨立訪問。與兩個存儲器相對應的是系統(tǒng)中設(shè)置了程序總線和數(shù)據(jù)總線,從而使數(shù)據(jù)的吞吐率提高了一倍。由于程序和存儲器在兩個分開的空間中,因此取指和執(zhí)行能完全重疊。 (2)流水線操作。流水線與哈佛結(jié)構(gòu)相關(guān),DSP芯片廣泛采用流水線以減少指令執(zhí)行的時間,從而增強了處理器的處理能力。處理器可以并行處理二到四條指令,每條指令處于流水線的不同階段。 (3)專用的硬件乘法器。乘法速度越快,DSP處理器的性能越高。由于具有專用的應用乘法器,乘法可在一個指令周期內(nèi)完成。 (4)特殊的DSP指令。特殊的DSP指令DSP芯片是采用特殊的指令。 (5)快速的指令周期。快速的指令周期哈佛結(jié)構(gòu)、流水線操作、專用的硬件乘法器、特殊的DSP指令再加上集成電路的優(yōu)化設(shè)計可使DSP芯片的指令周期在200ns以下。 DSP系統(tǒng)的特點 數(shù)字信號處理系統(tǒng)是以數(shù)字信號處理為基礎(chǔ),因此具有數(shù)字處理的全部特點: (1)接口方便。DSP系統(tǒng)與其它以現(xiàn)代數(shù)字技術(shù)為基礎(chǔ)的系統(tǒng)或設(shè)備都是相互兼容,這樣的系統(tǒng)接口以實現(xiàn)某種功能要比模擬系統(tǒng)與這些系統(tǒng)接口要容易的多。 (2)編程方便。DSP系統(tǒng)種的可編程DSP芯片可使設(shè)計人員在開發(fā)過程中靈活方便地對軟件進行修改和升級。 (3)穩(wěn)定性好。DSP系統(tǒng)以數(shù)字處理為基礎(chǔ),受環(huán)境溫度以及噪聲的影響較小,可靠性高。 (4)精度高。16位數(shù)字系統(tǒng)可以達到的精度。 (5)可重復性好。模擬系統(tǒng)的性能受元器件參數(shù)性能變化比較大,而數(shù)字系統(tǒng)基本上不受影響,因此數(shù)字系統(tǒng)便于測試,調(diào)試和大規(guī)模生產(chǎn)。 (6)集成方便。DSP系統(tǒng)中的數(shù)字部件有高度的規(guī)范性,便于大規(guī)模集成。 定點DSP和浮點DSP的區(qū)別 一般來說,定點DSP處理器具有速度快,功耗低,價格便宜的特點;而浮點DSP處理器則計算精確,動態(tài)范圍大,速度快,易于編程,功耗大,價格高。 圖源網(wǎng)絡:OMAP-L138,浮點DSP+ARM 而它們的區(qū)別,還可以從各方面去比較。 1、宏觀上 從宏觀上講,浮點DSP比定點DSP的動態(tài)范圍大得多。定點運算中,程序員必須時刻關(guān)注溢出的發(fā)生,為了防止溢出,要么不斷進行移位定標,要么做截尾。前者耗費大量時間和空間,后者則帶來精度的損失。相反,浮點運算DSP擴大了動態(tài)范圍,提高了精度,節(jié)省了運算時間和存儲空間,因而大大減少了定標,移位和溢出檢查。 2、硬件上 單純從技術(shù)的角度來看,定點與浮點的區(qū)別主要在兩個方面,即硬件和軟件。硬件上的區(qū)別來自于:浮點DSP處理器具有浮點/整數(shù)乘法器,整數(shù)/浮點算術(shù)邏輯運算單元ALU,適合存放擴展精度的浮點結(jié)果的寄存器等。 3、軟件上 再看看在軟件開發(fā)上的不同之處,主要有浮點DSP編程的特點以及注意事項;定點DSP進行浮點運算時的定標,移位,檢測溢出操作。比較兩個浮點數(shù)時,永遠不要使用操作符==來判斷是否相等。即使比較兩個相同的數(shù),還是可能有微小的舍入差別。甚至定義精確的0,也不是很安全,盡管C語言中有0的表示,永遠不要寫這樣的代碼(x==0),而應該寫成(fabs(x) < TINY),其中TINY定義為一個很小的值,也就是處理器的浮點格式舍入誤差。 4、應用實例 另外一個比較重要區(qū)別涉及應用場合對定點與浮點dsp處理器的選擇。設(shè)計師關(guān)心的是最后的系統(tǒng)性能、成本以及上市時間。 例如,在移動電視中,沒必要進行浮點處理。而在軍用雷達中,經(jīng)常用到浮點處理器。 Faraday、Ceva等公司提供優(yōu)質(zhì)的DSP IP產(chǎn)品。 部分產(chǎn)品展示 |
|