數(shù)字信號處理是將信號以數(shù)字方式表示并處理的理論和技術(shù)。數(shù)字信號處理與模擬信號處理是信號處理的子集。數(shù)字信號處理的目的是對真實世界的連續(xù)模擬信號進行測量或濾波。因此在進行數(shù)字信號處理之前需要將信號從模擬域轉(zhuǎn)換到數(shù)字域,這通常通過模數(shù)轉(zhuǎn)換器實現(xiàn)。而數(shù)字信號處理的輸出經(jīng)常也要變換到模擬域,這是通過數(shù)模轉(zhuǎn)換器實現(xiàn)的。
數(shù)字信號處理器應(yīng)用簡介
基本簡介
數(shù)字信號處理器(digital signal processor) 由大規(guī)?;虺笠?guī)模集成電路心片組成的用來完成某種信號處理任務(wù)的處理器。它是為適應(yīng)高速實時信號處理任務(wù)的需要而逐漸發(fā)展起來的。隨著集成電路技術(shù)和數(shù)字信號處理算法的發(fā)展,數(shù)字信號處理器的實現(xiàn)方法也在不斷變化,處理功能不斷提高和擴大。
內(nèi)置數(shù)字信號處理器(DSP,DigitalSignalProcessor)是車載主機內(nèi)以邏輯電路對音視頻數(shù)字信號進行再加工處理的專用元件,是一個統(tǒng)稱名詞,包括數(shù)字效果器、EQ、3D環(huán)繞等等。數(shù)字信號處理器(DSP,即DigitalSignalProcessor)是進行數(shù)字信號處理的專用芯片,是伴隨著微電子學(xué)、數(shù)字信號處理技術(shù)、計算機技術(shù)的發(fā)展而產(chǎn)生的新器件。
應(yīng)用
數(shù)字信號處理器并非只局限于音視頻層面,它廣泛的應(yīng)用于通信與信息系統(tǒng)、信號與信息處理、自動控制、雷達、軍事、航空航天、醫(yī)療、家用電器等許多領(lǐng)域。以往是采用通用的微處理器來完成大量數(shù)字信號處理運算,速度較慢,難以滿足實際需要;而同時使用位片式微處理器和快速并聯(lián)乘法器,曾經(jīng)是實現(xiàn)數(shù)字信號處理的有效途徑,但此方法器件較多,邏輯設(shè)計和程序設(shè)計復(fù)雜,耗電較大,價格昂貴。數(shù)字信號處理器DSP的出現(xiàn),很好的解決了上述問題。DSP可以快速的實現(xiàn)對信號的采集、變換、濾波、估值、增強、壓縮、識別等處理,以得到符合人們需要的信號形式。
對于車載主機而言,數(shù)字信號處理器DSP目前主要是提供特定的音場或效果,例如劇場、爵士樂等等,有些還能接收高清晰度(HD)無線電和衛(wèi)星無線電等等,以達到最大的視聽享受。數(shù)字信號處理器DSP增強了車載主機的性能和可用性,提高了音視頻質(zhì)量、提供了更多的靈活性和更快的設(shè)計周期。隨著技術(shù)的發(fā)展,相信以后還能提供更多的聽覺和視覺特效,而使車載主機成為車內(nèi)的高科技信息和娛樂中心。
數(shù)字信號處理器分類
數(shù)字信號處理器按其可編程性可分為可編程和不可編程兩大類。不可編程的信號處理器以信號處理算法的流程為基本邏輯結(jié)構(gòu),沒有控制程序,一般只能完成一種主要的處理功能,所以又稱專用信號處理器。如快速傅里葉變換處理器、數(shù)字濾波器等。這類處理器雖然功能局限,但有較高的處理速度??删幊绦盘柼幚砥鲃t可通過編程改變處理器所要完成的功能,有較大的通用性,所以又稱通用信號處理器。隨著通用信號處理器性能價格比的不斷提高,它在信號處的應(yīng)用日益普及。
已開發(fā)的可編程信號處理器大致上有三類:①位由基本位長為2,4,8位的微處理片為主體,配以程序控制片、中斷及DMA控制片、時鐘片等構(gòu)成。采用微程序控制、分組指令格式,可按需要構(gòu)成所需字長的系統(tǒng)。其優(yōu)點是處理速度快、效率高。缺點是功耗較大,片子的數(shù)量也較多。②單片信號處理器。它將運算器、乘法器、存儲器、程序只讀存儲器(ROM)、輸入輸出接口,甚至模/數(shù)數(shù)/模轉(zhuǎn)換等全部集成在單片上。其運算速度快、精度高、功耗低通用性強。與通用的微處理器相比它的指令集合和尋址方式更適合于信號處理常用的運算和數(shù)據(jù)結(jié)構(gòu)。③超大規(guī)模集成電路(VLSI)陣列處理器。這是一種利用大量處理單元在單指令序列控制下對不同的數(shù)據(jù)完成相同的操作,從而獲得高速計算的信號處理器。非常適合于大數(shù)據(jù)量、大計算量、運算重復(fù)性強的信號處理任務(wù)。它們常與通用計算機聯(lián)用,構(gòu)成強有力的信號處理系統(tǒng)現(xiàn)有的陣列處理器大致上有兩類,即脈動陣列處理器。
和波動陣列處理器。前者采用全陣列統(tǒng)一的同步時鐘和控制驅(qū)動機制,具有結(jié)構(gòu)簡單、模塊性好、易于擴展等優(yōu)點。而后者采用各單元獨立定時,數(shù)據(jù)驅(qū)動機制。給編程和容錯設(shè)計帶來一定方便,在處理速度上也提高。
數(shù)字信號處理器發(fā)展方向
數(shù)字信號處理器從20世紀70年代的專用信號處理器開始發(fā)展到今天的VLSI陣列處理器,其應(yīng)用領(lǐng)域已經(jīng)從最初的語音、聲納等低頻信號的處理發(fā)展到今天雷達、圖像等視頻大數(shù)據(jù)量的信號處理。由于浮點運算和并行處理技術(shù)的利用,信號處理器理能力已得到極大的提高。數(shù)字信號處理器還將繼續(xù)沿著提高處理速度和運算精度兩個方向發(fā)展在體系結(jié)構(gòu)上數(shù)據(jù)流結(jié)構(gòu)以至人工神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)等將可能成為下一代數(shù)字信號處理器的基本結(jié)構(gòu)模式。
算法格式
DSP的算法有多種。絕大多數(shù)的DSP處理器使用定點算法,數(shù)字表示為整數(shù)或-1.0到+1.0之間的小數(shù)形式。有些處理器采用浮點算法,數(shù)據(jù)表示成尾數(shù)加指數(shù)的形式:尾數(shù)×2指數(shù)。
浮點算法是一種較復(fù)雜的常規(guī)算法,利用浮點數(shù)據(jù)可以實現(xiàn)大的數(shù)據(jù)動態(tài)范圍(這個動態(tài)范圍可以用最大和最小數(shù)的比值來表示)。浮點DSP在應(yīng)用中,設(shè)計工程師不用關(guān)心動態(tài)范圍和精度一類的問題。浮點DSP比定點DSP更容易編程,但是成本和功耗高。
由于成本和功耗的原因,一般批量產(chǎn)品選用定點DSP。編程和算法設(shè)計人員通過分析或仿真來確定所需要的動態(tài)范圍和精度。如果要求易于開發(fā),而且動態(tài)范圍很寬、精度很高,可以考慮采用浮點DSP。
也可以在采用定點DSP的條件下由軟件實現(xiàn)浮點計算,但是這樣的軟件程序會占用大量處理器時間,因而很少使用。有效的辦法是“塊浮點”,利用該方法將具有相同指數(shù),而尾數(shù)不同的一組數(shù)據(jù)作為數(shù)據(jù)塊進行處理。“塊浮點”處理通常用軟件來實現(xiàn)。
數(shù)據(jù)寬度
所有浮點DSP的字寬為32位,而定點DSP的字寬一般為16位,也有24位和20位的DSP,如摩托羅拉的DSP563XX系列和Zoran公司的ZR3800X系列。由于字寬與DSP的外部尺寸、管腳數(shù)量以及需要的存儲器的大小等有很大的關(guān)系,所以字寬的長短直接影響到器件的成本。字寬越寬則尺寸越大,管腳越多,存儲器要求也越大,成本相應(yīng)地增大。在滿足設(shè)計要求的條件下,要盡量選用小字寬的DSP以減小成本。
在關(guān)于定點和浮點的選擇時,可以權(quán)衡字寬和開發(fā)復(fù)雜度之間的關(guān)系。例如,通過將指令組合連用,一個16位字寬的DSP器件也可以實現(xiàn)32位字寬雙精度算法(當然雙精度算法比單精度算法慢得多)。如果單精度能滿足絕大多數(shù)的計算要求,而僅少量代碼需要雙精度,這種方法也可行,但如果大多數(shù)的計算要求精度很高,則需要選用較大字寬的處理器。
請注意,絕大多數(shù)DSP器件的指令字和數(shù)據(jù)字的寬度一樣,也有一些不一樣,如ADI(模擬器件公司)的ADSP-21XX系列的數(shù)據(jù)字為16位而指令字為24位。
處理速度
處理器是否符合設(shè)計要求,關(guān)鍵在于是否滿足速度要求。測試處理器的速度有很多方法,最基本的是測量處理器的指令周期,即處理器執(zhí)行最快指令所需要的時間。指令周期的倒數(shù)除以一百萬,再乘以每個周期執(zhí)行的指令數(shù),結(jié)果即為處理器的最高速率,單位為每秒百萬條指令MIPS。
但是指令執(zhí)行時間并不能表明處理器的真正性能,不同的處理器在單個指令完成的任務(wù)量不一樣,單純地比較指令執(zhí)行時間并不能公正地區(qū)別性能的差異。現(xiàn)在一些新的DSP采用超長指令字(VLIW)架構(gòu),在這種架構(gòu)中,單個周期時間內(nèi)可以實現(xiàn)多條指令,而每個指令所實現(xiàn)的任務(wù)比傳統(tǒng)DSP少,因此相對VLIW和通用DSP器件而言,比較MIPS的大小時會產(chǎn)生誤導(dǎo)作用。
即使在傳統(tǒng)DSP之間比較MIPS大小也具有一定的片面性。例如,某些處理器允許在單個指令中同時對幾位一起進行移位,而有些DSP的一個指令只能對單個數(shù)據(jù)位移位;有些DSP可以進行與正在執(zhí)行的ALU指令無關(guān)的數(shù)據(jù)的并行處理(在執(zhí)行指令的同時加載操作數(shù)),而另外有些DSP只能支持與正在執(zhí)行的ALU指令有關(guān)的數(shù)據(jù)并行處理;有些新的DSP允許在單個指令內(nèi)定義兩個MAC。因此僅僅進行MIPS比較并不能準確得出處理器的性能。
解決上述問題的方法之一是采用一個基本的操作(而不是指令)作為標準來比較處理器的性能。常用到的是MAC操作,但是MAC操作時間不能提供比較DSP性能差異的足夠信息,在絕大多數(shù)DSP中,MAC操作僅在單個指令周期內(nèi)實現(xiàn),其MAC時間等于指令周期時間,如上所述,某些DSP在單個MAC周期內(nèi)處理的任務(wù)比其它DSP多。MAC時間并不能反映諸如循環(huán)操作等的性能,而這種操作在所有的應(yīng)用中都會用到。
最通用的辦法是定義一套標準例程,比較在不同DSP上的執(zhí)行速度。這種例程可能是一個算法的“核心”功能,如FIR或IIR濾波器等,也可以是整個或部分應(yīng)用程序(如語音編碼器)。圖1為使用BDTI公司的工具測試的幾款DSP器件性能。
在比較DSP處理器的速度時要注意其所標榜的MOPS(百萬次操作每秒)和MFLOPS(百萬次浮點操作每秒)參數(shù),因為不同的廠商對“操作”的理解不一樣,指標的意義也不一樣。例如,某些處理器能同時進行浮點乘法操作和浮點加法操作,因而標榜其產(chǎn)品的MFLOPS為MIPS的兩倍。
其次,在比較處理器時鐘速率時,DSP的輸入時鐘可能與其指令速率一樣,也可能是指令速率的兩倍到四倍,不同的處理器可能不一樣。另外,許多DSP具有時鐘倍頻器或鎖相環(huán),可以使用外部低頻時鐘產(chǎn)生片上所需的高頻時鐘信號。
實際應(yīng)用
語音處理:語音編碼、語音合成、語音識別、語音增強、語音郵件、語音儲存等。
圖像/圖形:二維和三維圖形處理、圖像壓縮與傳輸、圖像識別、動畫、機器人視覺、多媒體、電子地圖、圖像增強等。
軍事;保密通信、雷達處理、聲吶處理、導(dǎo)航、全球定位、跳頻電臺、搜索和反搜索等。
儀器儀表:頻譜分析、函數(shù)發(fā)生、數(shù)據(jù)采集、地震處理等。
自動控制:控制、深空作業(yè)、自動駕駛、機器人控制、磁盤控制等。
醫(yī)療:助聽、超聲設(shè)備、診斷工具、病人監(jiān)護、心電圖等。
家用電器:數(shù)字音響、數(shù)字電視、可視電話、音樂合成、音調(diào)控制、玩具與游戲等。
生物醫(yī)學(xué)信號處理舉例:
CT:計算機X射線斷層攝影裝置。(其中發(fā)明頭顱CT英國EMI公司的豪斯菲爾德獲諾貝爾獎。)
CAT:計算機X射線空間重建裝置。出現(xiàn)全身掃描,心臟活動立體圖形,腦腫瘤異物,人體軀干圖像重建。心電圖分析。
存儲管理
DSP的性能受其對存儲器子系統(tǒng)的管理能力的影響。如前所述,MAC和其它一些信號處理功能是DSP器件信號處理的基本能力,快速MAC執(zhí)行能力要求在每個指令周期從存儲器讀取一個指令字和兩個數(shù)據(jù)字。有多種方法實現(xiàn)這種讀取,包括多接口存儲器(允許在每個指令周期內(nèi)對存儲器多次訪問)、分離指令和數(shù)據(jù)存儲器(“哈佛”結(jié)構(gòu)及其派生類)以及指令緩存(允許從緩存讀取指令而不是存儲器,從而將存儲器空閑出來用作數(shù)據(jù)讀取)。圖2和圖3顯示了哈佛存儲器結(jié)構(gòu)與很多微控制器采用的“馮·諾曼”結(jié)構(gòu)的差別。
另外要注意所支持的存儲器空間的大小。許多定點DSP的主要目標市場是嵌入式應(yīng)用系統(tǒng),在這種應(yīng)用中存儲器一般較小,所以這種DSP器件具有小到中等片上存儲器(4K到64K字左右),備有窄的外部數(shù)據(jù)總線。另外,絕大多數(shù)定點DSP的地址總線小于或等于16位,因而可外接的存儲器空間受到限制。
一些浮點DSP的片上存儲器很小,甚至沒有,但外部數(shù)據(jù)總線寬。例如TI公司的TMS320C30只有6K片上存儲器,外部總線為24位,13位外部地址總線。而ADI的ADSP2-21060具有4Mb的片上存儲器,可以多種方式劃分為程序存儲器和數(shù)據(jù)存儲器。
選擇DSP時,需要根據(jù)具體應(yīng)用對存儲空間大小以及對外部總線的要求來選擇。
類型特點
DSP處理器和諸如英特爾、奔騰或Power
PC的通用處理器(GPPs)有很大的區(qū)別,這些區(qū)別產(chǎn)生于DSPs的結(jié)構(gòu)和指令是專門針對信號處理而設(shè)計和開發(fā)的,它具有以下特點。
·硬件乘法累加操作(MACs)
為了有效完成諸如信號濾波的乘法累加運算,處理器必需進行有效的乘法操作。GPPs起初并不是為繁重的乘法操作設(shè)計的,把DSPs同早期的GPPs區(qū)別開來的第一個重大技術(shù)改進就是添加了能夠進行單周期乘法操作的專門硬件和明確的MAC指令。
·哈佛結(jié)構(gòu)
傳統(tǒng)的GPPs使用馮.諾曼存儲結(jié)構(gòu),在這種結(jié)構(gòu)中,有一個存儲空間通過兩條總線(一條地址總線和一條數(shù)據(jù)總線)連接到處理器內(nèi)核,這種結(jié)構(gòu)不能滿足MAC必須在一個指令周期中對存儲器進行四次訪門的要求。DSPs一般使用哈佛結(jié)構(gòu),在哈佛結(jié)構(gòu)中,有兩個存儲空間:程序存儲空間和數(shù)據(jù)存儲空間。處理器內(nèi)核通過兩套總線與這些存儲空間相連,允許對存儲器同時進行兩訪問,這種安排使處理器的帶寬加倍。在哈佛結(jié)構(gòu)中,有時通過增加第二個數(shù)據(jù)存儲空間和總線來實現(xiàn)更大的存儲帶寬?,F(xiàn)代高性能GPPs通常具有兩個片上超高速緩沖存儲器一個存放數(shù)據(jù),一個存放指令。從理論的角度上講,這種雙重片上高速緩存與總線連接等同于哈佛結(jié)構(gòu),但是,GPPs使用控制邏輯來確定哪些數(shù)據(jù)和指令字駐留在片上高速緩存里,這個過程通常不為程序設(shè)計者所見,而在DSPs里,程序設(shè)計者能明確的控制哪些數(shù)據(jù)和指令被存儲在片上的存儲單元或緩存中。
·零消耗循環(huán)控制
DSP算法的共同特征:大部分處理時間花在執(zhí)行包含在相對小循環(huán)內(nèi)的少量指令上。因此,大部分DSP處理器具有零消耗循環(huán)控制的專門硬件。零消耗循環(huán)是指處理器不用花時間測試循環(huán)計數(shù)器的值就能執(zhí)行一組指令的循環(huán),硬件完成循環(huán)跳轉(zhuǎn)和循環(huán)計數(shù)器的衰減。有些DSPs還通過一條指令的超高速緩存實現(xiàn)高速的單指令循環(huán)。
·特殊尋址模式
DSPs經(jīng)常包含有專門的地址產(chǎn)生器,它能產(chǎn)生信號處理算法需要的特殊尋址,如循環(huán)尋址和位翻轉(zhuǎn)尋址。循環(huán)尋址對應(yīng)于流水FIR濾波算法,位翻轉(zhuǎn)尋址對應(yīng)于FFT算法。
·執(zhí)行時間的可預(yù)測性
大多數(shù)DSP應(yīng)用都具有硬性實時要求,在每種情況下所有處理工作都必須在指定時間內(nèi)完成。這種實時限制要求程序設(shè)計者確定每個樣本究竟需要多少時間或者在最壞情況下至少用去多少時間。DSPs執(zhí)行程序的進程對程序員來說是透明的,因此很容易預(yù)測處理每項工作的執(zhí)行時間。但是,對于高性能GPPs來說,由于大量超高速數(shù)據(jù)和程序緩存的使用,動態(tài)分配程序,因此執(zhí)行時間的預(yù)測變得復(fù)雜和困難。
·具有豐富的外設(shè)
DSPs具有DMA、串口、Link口、定時器等外設(shè)。
數(shù)字信號處理器知識簡介
算法格式
DSP的算法有多種。絕大多數(shù)的DSP處理器使用定點算法,數(shù)字表示為整數(shù)或-1.0到+1.0之間的小數(shù)形式。有些處理器采用浮點算法,數(shù)據(jù)表示成尾數(shù)加指數(shù)的形式:尾數(shù)×2指數(shù)。
浮點算法是一種較復(fù)雜的常規(guī)算法,利用浮點數(shù)據(jù)可以實現(xiàn)大的數(shù)據(jù)動態(tài)范圍(這個動態(tài)范圍可以用最大和最小數(shù)的比值來表示)。浮點DSP在應(yīng)用中,設(shè)計工程師不用關(guān)心動態(tài)范圍和精度一類的問題。浮點DSP比定點DSP更容易編程,但是成本和功耗高。
由于成本和功耗的原因,一般批量產(chǎn)品選用定點DSP。編程和算法設(shè)計人員通過分析或仿真來確定所需要的動態(tài)范圍和精度。如果要求易于開發(fā),而且動態(tài)范圍很寬、精度很高,可以考慮采用浮點DSP。
也可以在采用定點DSP的條件下由軟件實現(xiàn)浮點計算,但是這樣的軟件程序會占用大量處理器時間,因而很少使用。有效的辦法是“塊浮點”,利用該方法將具有相同指數(shù),而尾數(shù)不同的一組數(shù)據(jù)作為數(shù)據(jù)塊進行處理。“塊浮點”處理通常用軟件來實現(xiàn)。
數(shù)據(jù)寬度
所有浮點DSP的字寬為32位,而定點DSP的字寬一般為16位,也有24位和20位的DSP,如摩托羅拉的DSP563XX系列和Zoran公司的ZR3800X系列。由于字寬與DSP的外部尺寸、管腳數(shù)量以及需要的存儲器的大小等有很大的關(guān)系,所以字寬的長短直接影響到器件的成本。字寬越寬則尺寸越大,管腳越多,存儲器要求也越大,成本相應(yīng)地增大。在滿足設(shè)計要求的條件下,要盡量選用小字寬的DSP以減小成本。
在關(guān)于定點和浮點的選擇時,可以權(quán)衡字寬和開發(fā)復(fù)雜度之間的關(guān)系。例如,通過將指令組合連用,一個16位字寬的DSP器件也可以實現(xiàn)32位字寬雙精度算法(當然雙精度算法比單精度算法慢得多)。如果單精度能滿足絕大多數(shù)的計算要求,而僅少量代碼需要雙精度,這種方法也可行,但如果大多數(shù)的計算要求精度很高,則需要選用較大字寬的處理器。
請注意,絕大多數(shù)DSP器件的指令字和數(shù)據(jù)字的寬度一樣,也有一些不一樣,如ADI(模擬器件公司)的ADSP-21XX系列的數(shù)據(jù)字為16位而指令字為24位。
處理速度
處理器是否符合設(shè)計要求,關(guān)鍵在于是否滿足速度要求。測試處理器的速度有很多方法,最基本的是測量處理器的指令周期,即處理器執(zhí)行最快指令所需要的時間。指令周期的倒數(shù)除以一百萬,再乘以每個周期執(zhí)行的指令數(shù),結(jié)果即為處理器的最高速率,單位為每秒百萬條指令MIPS。
但是指令執(zhí)行時間并不能表明處理器的真正性能,不同的處理器在單個指令完成的任務(wù)量不一樣,單純地比較指令執(zhí)行時間并不能公正地區(qū)別性能的差異?,F(xiàn)在一些新的DSP采用超長指令字(VLIW)架構(gòu),在這種架構(gòu)中,單個周期時間內(nèi)可以實現(xiàn)多條指令,而每個指令所實現(xiàn)的任務(wù)比傳統(tǒng)DSP少,因此相對VLIW和通用DSP器件而言,比較MIPS的大小時會產(chǎn)生誤導(dǎo)作用。
即使在傳統(tǒng)DSP之間比較MIPS大小也具有一定的片面性。例如,某些處理器允許在單個指令中同時對幾位一起進行移位,而有些DSP的一個指令只能對單個數(shù)據(jù)位移位;有些DSP可以進行與正在執(zhí)行的ALU指令無關(guān)的數(shù)據(jù)的并行處理(在執(zhí)行指令的同時加載操作數(shù)),而另外有些DSP只能支持與正在執(zhí)行的ALU指令有關(guān)的數(shù)據(jù)并行處理;有些新的DSP允許在單個指令內(nèi)定義兩個MAC。因此僅僅進行MIPS比較并不能準確得出處理器的性能。
解決上述問題的方法之一是采用一個基本的操作(而不是指令)作為標準來比較處理器的性能。常用到的是MAC操作,但是MAC操作時間不能提供比較DSP性能差異的足夠信息,在絕大多數(shù)DSP中,MAC操作僅在單個指令周期內(nèi)實現(xiàn),其MAC時間等于指令周期時間,如上所述,某些DSP在單個MAC周期內(nèi)處理的任務(wù)比其它DSP多。MAC時間并不能反映諸如循環(huán)操作等的性能,而這種操作在所有的應(yīng)用中都會用到。
最通用的辦法是定義一套標準例程,比較在不同DSP上的執(zhí)行速度。這種例程可能是一個算法的“核心”功能,如FIR或IIR濾波器等,也可以是整個或部分應(yīng)用程序(如語音編碼器)。圖1為使用BDTI公司的工具測試的幾款DSP器件性能。
在比較DSP處理器的速度時要注意其所標榜的MOPS(百萬次操作每秒)和MFLOPS(百萬次浮點操作每秒)參數(shù),因為不同的廠商對“操作”的理解不一樣,指標的意義也不一樣。例如,某些處理器能同時進行浮點乘法操作和浮點加法操作,因而標榜其產(chǎn)品的MFLOPS為MIPS的兩倍。
其次,在比較處理器時鐘速率時,DSP的輸入時鐘可能與其指令速率一樣,也可能是指令速率的兩倍到四倍,不同的處理器可能不一樣。另外,許多DSP具有時鐘倍頻器或鎖相環(huán),可以使用外部低頻時鐘產(chǎn)生片上所需的高頻時鐘信號。
實際應(yīng)用
語音處理:語音編碼、語音合成、語音識別、語音增強、語音郵件、語音儲存等。
圖像/圖形:二維和三維圖形處理、圖像壓縮與傳輸、圖像識別、動畫、機器人視覺、多媒體、電子地圖、圖像增強等。
軍事;保密通信、雷達處理、聲吶處理、導(dǎo)航、全球定位、跳頻電臺、搜索和反搜索等。
儀器儀表:頻譜分析、函數(shù)發(fā)生、數(shù)據(jù)采集、地震處理等。
自動控制:控制、深空作業(yè)、自動駕駛、機器人控制、磁盤控制等。
醫(yī)療:助聽、超聲設(shè)備、診斷工具、病人監(jiān)護、心電圖等。
家用電器:數(shù)字音響、數(shù)字電視、可視電話、音樂合成、音調(diào)控制、玩具與游戲等。
生物醫(yī)學(xué)信號處理舉例:
CT:計算機X射線斷層攝影裝置。(其中發(fā)明頭顱CT英國EMI公司的豪斯菲爾德獲諾貝爾獎。)
CAT:計算機X射線空間重建裝置。出現(xiàn)全身掃描,心臟活動立體圖形,腦腫瘤異物,人體軀干圖像重建。
心電圖分析。
存儲管理
DSP的性能受其對存儲器子系統(tǒng)的管理能力的影響。如前所述,MAC和其它一些信號處理功能是DSP器件信號處理的基本能力,快速MAC執(zhí)行能力要求在每個指令周期從存儲器讀取一個指令字和兩個數(shù)據(jù)字。有多種方法實現(xiàn)這種讀取,包括多接口存儲器(允許在每個指令周期內(nèi)對存儲器多次訪問)、分離指令和數(shù)據(jù)存儲器(“哈佛”結(jié)構(gòu)及其派生類)以及指令緩存(允許從緩存讀取指令而不是存儲器,從而將存儲器空閑出來用作數(shù)據(jù)讀取)。圖2和圖3顯示了哈佛存儲器結(jié)構(gòu)與很多微控制器采用的“馮·諾曼”結(jié)構(gòu)的差別。
另外要注意所支持的存儲器空間的大小。許多定點DSP的主要目標市場是嵌入式應(yīng)用系統(tǒng),在這種應(yīng)用中存儲器一般較小,所以這種DSP器件具有小到中等片上存儲器(4K到64K字左右),備有窄的外部數(shù)據(jù)總線。另外,絕大多數(shù)定點DSP的地址總線小于或等于16位,因而可外接的存儲器空間受到限制。
一些浮點DSP的片上存儲器很小,甚至沒有,但外部數(shù)據(jù)總線寬。例如TI公司的TMS320C30只有6K片上存儲器,外部總線為24位,13位外部地址總線。而ADI的ADSP2-21060具有4Mb的片上存儲器,可以多種方式劃分為程序存儲器和數(shù)據(jù)存儲器。
選擇DSP時,需要根據(jù)具體應(yīng)用對存儲空間大小以及對外部總線的要求來選擇。
類型特點
DSP處理器和諸如英特爾、奔騰或Power
PC的通用處理器(GPPs)有很大的區(qū)別,這些區(qū)別產(chǎn)生于DSPs的結(jié)構(gòu)和指令是專門針對信號處理而設(shè)計和開發(fā)的,它具有以下特點。
·硬件乘法累加操作(MACs)
為了有效完成諸如信號濾波的乘法累加運算,處理器必需進行有效的乘法操作。GPPs起初并不是為繁重的乘法操作設(shè)計的,把DSPs同早期的GPPs區(qū)別開來的第一個重大技術(shù)改進就是添加了能夠進行單周期乘法操作的專門硬件和明確的MAC指令。
·哈佛結(jié)構(gòu)
傳統(tǒng)的GPPs使用馮.諾曼存儲結(jié)構(gòu),在這種結(jié)構(gòu)中,有一個存儲空間通過兩條總線(一條地址總線和一條數(shù)據(jù)總線)連接到處理器內(nèi)核,這種結(jié)構(gòu)不能滿足MAC必須在一個指令周期中對存儲器進行四次訪門的要求。DSPs一般使用哈佛結(jié)構(gòu),在哈佛結(jié)構(gòu)中,有兩個存儲空間:程序存儲空間和數(shù)據(jù)存儲空間。處理器內(nèi)核通過兩套總線與這些存儲空間相連,允許對存儲器同時進行兩訪問,這種安排使處理器的帶寬加倍。在哈佛結(jié)構(gòu)中,有時通過增加第二個數(shù)據(jù)存儲空間和總線來實現(xiàn)更大的存儲帶寬。現(xiàn)代高性能GPPs通常具有兩個片上超高速緩沖存儲器一個存放數(shù)據(jù),一個存放指令。從理論的角度上講,這種雙重片上高速緩存與總線連接等同于哈佛結(jié)構(gòu),但是,GPPs使用控制邏輯來確定哪些數(shù)據(jù)和指令字駐留在片上高速緩存里,這個過程通常不為程序設(shè)計者所見,而在DSPs里,程序設(shè)計者能明確的控制哪些數(shù)據(jù)和指令被存儲在片上的存儲單元或緩存中。
·零消耗循環(huán)控制
DSP算法的共同特征:大部分處理時間花在執(zhí)行包含在相對小循環(huán)內(nèi)的少量指令上。因此,大部分DSP處理器具有零消耗循環(huán)控制的專門硬件。零消耗循環(huán)是指處理器不用花時間測試循環(huán)計數(shù)器的值就能執(zhí)行一組指令的循環(huán),硬件完成循環(huán)跳轉(zhuǎn)和循環(huán)計數(shù)器的衰減。有些DSPs還通過一條指令的超高速緩存實現(xiàn)高速的單指令循環(huán)。
·特殊尋址模式
DSPs經(jīng)常包含有專門的地址產(chǎn)生器,它能產(chǎn)生信號處理算法需要的特殊尋址,如循環(huán)尋址和位翻轉(zhuǎn)尋址。循環(huán)尋址對應(yīng)于流水FIR濾波算法,位翻轉(zhuǎn)尋址對應(yīng)于FFT算法。
·執(zhí)行時間的可預(yù)測性
大多數(shù)DSP應(yīng)用都具有硬性實時要求,在每種情況下所有處理工作都必須在指定時間內(nèi)完成。這種實時限制要求程序設(shè)計者確定每個樣本究竟需要多少時間或者在最壞情況下至少用去多少時間。DSPs執(zhí)行程序的進程對程序員來說是透明的,因此很容易預(yù)測處理每項工作的執(zhí)行時間。但是,對于高性能GPPs來說,由于大量超高速數(shù)據(jù)和程序緩存的使用,動態(tài)分配程序,因此執(zhí)行時間的預(yù)測變得復(fù)雜和困難。
·具有豐富的外設(shè)
DSPs具有DMA、串口、Link口、定時器等外設(shè)。
數(shù)字信號處理器評估標準
性能分檔
DSP處理器的性能可分為三個檔次:低成本、低性能DSPs,低能耗的中段DSPs和多樣化的高端DSPs。低成本性能的低端DSPs是工業(yè)界使用最廣泛的處理器。在這一范圍內(nèi)的產(chǎn)品有:ADSP-21xx,TMS320C2xx,DSP560xx等系列,它們的運行速度一般為20~50MIPS,并在維持適當能量消耗和存儲容量的同時,提供優(yōu)質(zhì)的DSP性能。價格適中的DSP處理器,通過增加時鐘頻率,結(jié)合更為復(fù)雜的硬件來提高的性能,形成了DSPs的中段產(chǎn)品,如DSP16xx,TMS320C54x系列,它們的運行速度為100~150MIPS,通常用在無線電訊設(shè)備和高速解調(diào)器中,要求相對高的處理速度和低的能耗。高端DSPs由于被超高速處理需求的推動,其結(jié)構(gòu)真正開始進行分類和向多樣化發(fā)展,有關(guān)結(jié)構(gòu)下節(jié)詳述。高端DSPs的主頻達到150MHz以上,處理速度為1000MIPS以上,如TI的TMS320C6X系列、ADI的Tiger SHARC等。
評價指標
評價處理器性能的指標有很多,最常用的是速度,但能耗和存儲器容量指標也很重要,特別是在嵌入系統(tǒng)應(yīng)用上。鑒于DSPs的日益增多,系統(tǒng)設(shè)計者要想選出在給定應(yīng)用設(shè)備上能夠提供最佳性能的處理器變得比較困難。過去,DSP系統(tǒng)設(shè)計者依靠MIPS或類似的量度,來大概了解不同芯片提供的相對性能。不幸的是,隨著處理器技術(shù)的多樣化,象MIPS這樣的傳統(tǒng)量度越來越不準確,因為MIPS并不是實際測量性能。由于DSP應(yīng)用程序的特征之一是大部分的處理工作集中在程序的一部分(核心程序),因此可以用與信號處理相關(guān)的基準程序來測試評估DSP處理器。BDTI公司已完成成套的核心標準,并注冊了一種新型混合速度度量:BDTI分數(shù)。
數(shù)字信號處理器結(jié)構(gòu)簡介
概述
最近兩年,DSP處理器的更高性能由于不能從傳統(tǒng)結(jié)構(gòu)中得到解決,因此提出了各種提高性能的策略。其中提高時鐘頻率似乎是有限的,最好的方法是提高并行性。提高操作并行性,可以由兩個途徑實現(xiàn):提高每條指令執(zhí)行的操作的數(shù)量,或者是提高每個指令周期中執(zhí)行的指令的數(shù)量。這兩種并行要求產(chǎn)生了多種DSPs新結(jié)構(gòu)。
增強型
DSP
以前,DSP處理器使用復(fù)雜的、混合的指令集,使編程者可以把多個操作編碼在一條指令中。傳統(tǒng)上DSP處理器在一條指令周期只發(fā)射并執(zhí)行一條指令。這種單流、復(fù)雜指令的方法使得DSP處理器獲得很強大的性能而無需大量的內(nèi)存。
在保持DSP結(jié)構(gòu)和上述指令集不變的情況下,要提高每個指令的工作量,其中的一個辦法是用額外的執(zhí)行單元和增加數(shù)據(jù)通路。例如,一些高端的DSP有兩個乘法器,而不是一個。我們把使用這種方法的DSP叫做撛鑾啃統(tǒng)9媯模櫻袛,因為它們的結(jié)構(gòu)與前一代的DSP相似,但性能在增加執(zhí)行單元后大大增強了。當然,指令集必須也同時增強,這樣編程者才能在一條指令中指定更多的并行操作,以利用額外的硬件。增強型DSPs的例子有朗訊公司的DSP16000,ADI的ADSP2116x。增強型DSPs的優(yōu)點是兼容性好,而且與較早的DSP具有相似的成本和功耗。缺點是結(jié)構(gòu)復(fù)雜、指令復(fù)雜,進一步發(fā)展有限。
VLIW
結(jié)構(gòu)
如前所述,傳統(tǒng)上的DSP處理器使用復(fù)雜的混合指令,并在一條指令循環(huán)中只流出和執(zhí)行一條指令。然而,最近有些DSP采用一種更RISC化的指令集,并且在一條指令周期執(zhí)行多條指令,使用大的統(tǒng)一的寄存器堆。例如,Siemems的Carmel、Philips的TriMedia和TI的TMS320C62XX處理器族都使用了超長指令字(VLIW)結(jié)構(gòu)。C62xx處理器每次取一個256位的指令包,把包解析為8個32位的指令,然后把它們引到其8個獨立的執(zhí)行單元。在最好的情況下,C62xx同時執(zhí)行8個指令棗這種情況下達到了極高的MIPS率(如1600MIPS)。VLIW結(jié)構(gòu)的優(yōu)點是高性能、結(jié)構(gòu)規(guī)整(潛在的易編程和好的目標編譯系統(tǒng))。缺點是高功耗、代碼膨脹-需要寬的程序存儲器、新的編程/編譯困難(需跟蹤指令安排,易破壞流水線使性能下降)。
超標量體
超標量體系結(jié)構(gòu)
象VLIW處理器一樣,超標量體系結(jié)構(gòu)并行地流出和執(zhí)行多個指令。但跟VLIW處理器不同的是,超標量體系結(jié)構(gòu)不清楚指定需要并行處理的指令,而是使用動態(tài)指令規(guī)劃,根據(jù)處理器可用的資源,數(shù)據(jù)依賴性和其他的因素來決定哪些指令要被同時執(zhí)行。超標量體系結(jié)構(gòu)已經(jīng)長期用于高性能的通用處理器中,如Pentium和PowerPC。最近,ZSP公司開發(fā)出第一個商業(yè)的超標量體系結(jié)構(gòu)的DSP
ZSP164xx。超標量結(jié)構(gòu)的優(yōu)點是性能有大的跨越、結(jié)構(gòu)規(guī)整、代碼寬度沒有明顯增長。缺點是非常高的功耗、指令的動態(tài)安排使代碼優(yōu)化困難。
SIMD
結(jié)構(gòu)
單指令多數(shù)據(jù)流(SIMD)處理器把輸入的長的數(shù)據(jù)分解為多個較短的數(shù)據(jù),然后由單指令并行地操作,從而提高處理海量、可分解數(shù)據(jù)的能力。該技術(shù)能大幅度地提高在多媒體和信號處理中大量使用的一些矢量操作的計算速度,如坐標變換和旋轉(zhuǎn)。
通用處理器SIMD增強的兩個例子是Pentium的MMX擴展和PowerPC族的AltiVec擴展。simd在一些高性能的DSP處理器中也有應(yīng)用。例如,DSP16000在其數(shù)據(jù)路中支持有限的SIMD風格的操作,而Analog
Devices最近推出了有名的SHARC的新一代DSP處理器,進行了SIMD能力的擴展。SIMD結(jié)構(gòu)由于使總線、數(shù)據(jù)通道等資源充分使用,并無需改變信號處理(含圖象、語音)算法的基本結(jié)構(gòu),因此SIMD結(jié)構(gòu)使用越來越普遍。SIMD結(jié)構(gòu)遇到的問題是算法、數(shù)據(jù)結(jié)構(gòu)必須滿足數(shù)據(jù)并行處理的要求,為了加速,循環(huán)常常需要被拆開,處理數(shù)據(jù)需要重新安排調(diào)整。通常SIMD僅支持定點運算。
混合結(jié)構(gòu)
DSP/微控制器的混合結(jié)構(gòu)
許多的應(yīng)用需要以控制為主的軟件和DSP軟件的混合。一個明顯的例子是數(shù)字蜂窩電話,因為其中有監(jiān)控和語音處理的工作。一般地,微處理器在控制上能提供良好的性能而在DSP性能上則很糟,專用的DSP處理器的特性則剛好相反。因此,最近有一些微處理器產(chǎn)商開始提供DSP增強版本的微處理器。用單處理器完成兩種軟件的任務(wù)是很有吸引力的,因為其可以潛在地提供簡化設(shè)計,節(jié)省版面空間,降低總功耗,降低系統(tǒng)成本等。DSP和微處理器結(jié)合的方法有:
·在一個結(jié)上集成多種處理器,如MotorolaDSP5665x
·DSP作為協(xié)處理器,如ARMPiccolo
·DSP核移值到已有的位處理器,如SH-DSP
·微控制器與已有的DSP集成在一起,如TMS320C27xx
·全部新的設(shè)計,如TriCore
隨著對DSP能力需求的提高,DSP處理器結(jié)構(gòu)正在進行新的和革新的設(shè)計,DSP、MCU、CPU的結(jié)構(gòu)優(yōu)點相互借用。
數(shù)字信號處理器發(fā)展趨勢
綜述
DSP處理器發(fā)展的趨勢是結(jié)構(gòu)多樣化,集成單片化用戶化,開發(fā)工具更完善,評價體系更全面更專業(yè)。
趨勢
VLIW結(jié)構(gòu)、超標量體系結(jié)構(gòu)和DSP/MCU混合處理器是DSPs結(jié)構(gòu)發(fā)展的新潮流。VLIW和超標量結(jié)構(gòu)能夠獲得很高的處理性能。DSP/MCU混合可以簡化應(yīng)用系統(tǒng)設(shè)計,降低體積和成本。高性能通用處理器(GPPs)借用了DSPs的許多結(jié)構(gòu)優(yōu)點,其浮點處理速度比高檔DSPs還要快。高性能GPPs一般時鐘頻率為200~500MHz,具有超標量、SIMD結(jié)構(gòu),單周期乘法操作,好的存儲器帶寬,轉(zhuǎn)移預(yù)測功能,因此GPPs正在涉足DSP領(lǐng)域。但由于GPPs缺乏實時可預(yù)測性,優(yōu)化DSP代碼困難,有限的DSP工具支持,高功耗等問題,因此GPPs目前在DSP中的應(yīng)用還有限。但瞄準嵌入系統(tǒng)應(yīng)用的高性能GPPs與DSPs進行混合,形成專用的嵌入GPPs,如Hitachi的SH-DSP,ARM的Piccolo,Siemens的TriCore。嵌入GPPs保留原有的高性能,并加強DSP實時預(yù)測、控制等方面的能力,與專用DSP處理器形成了對照。
在DSPs綜合集成方面,處理器核和快速用戶可定制能力是重要的。預(yù)計在最近幾年內(nèi)將出現(xiàn)和流行:用戶可定制DSPs,塊組建DSPs,可編程整數(shù)DSPs,DSPs化現(xiàn)場可編程門陣列(FPGAs),更專用化的DSPs,多媒體DSPs等。更令人鼓舞的是未來DSP處理器將集成DSP處理器核,微控制器,存儲器RAM和ROM,串行口,模數(shù)轉(zhuǎn)換器,數(shù)模轉(zhuǎn)換器,用戶定義數(shù)字電路,用戶定義模擬電路等,因此DSP處理系統(tǒng)一般將不再是若干印制板(如信號調(diào)理板,A/D板,D/A板,接口定時板等)組成的大系統(tǒng)。
由于DSPS結(jié)構(gòu)的多樣化,DSPS性能測試將變得更加困難,MIPS、MOPS、MFLOPS、BOPS等指標將越來越不能準確反映DSPS的性能,因此需要更細更專業(yè)化的測試評價標準。對具體應(yīng)用來說,某些單項功能測試結(jié)果,可能顯得更重要。
隨著DSPs性能的提高,開發(fā)工具可能比處理器結(jié)構(gòu)將更重要,因為只有有效的開發(fā)工具,才能使處理器得到普遍使用,并使性能充分發(fā)揮。片上Debug是實時調(diào)試的最好手段,它將采用與JTAG兼容的Debug口。C編譯器的效率仍然是重點,如何方便容易地進行有效代碼開發(fā)是關(guān)鍵。指令軟件仿真器顯得更重要,更精確的指令軟件仿真器將得到開發(fā)。多類型DSP調(diào)試開發(fā)工具將混合集成在一起。DSPs開發(fā)工具將是一個充滿機遇和挑戰(zhàn)的領(lǐng)域。
DSP處理器存在兩種發(fā)展趨勢:一是DSP應(yīng)用越來越多,如手機和便攜式音頻播放器等。DSP將集成更多功能,如A/D轉(zhuǎn)換、LCD控制器等,系統(tǒng)成本和器件數(shù)將會大為降低。另一個趨勢是將DSP作為IP出售,如億恒科技公司的Camel和TriCore內(nèi)核。隨著EDA工具的不斷成熟,系統(tǒng)設(shè)計工程師將更容易地修改DSP內(nèi)核,加入用戶專用外圍電路以實現(xiàn)更專業(yè)化、更低成本的DSP解決方案。
80年代還屬于少數(shù)人研究的數(shù)字信號處理(DSP),進入90年代以來,已逐漸成為人們最常用的工程術(shù)語之一。處理器應(yīng)用廣泛的原因在于,處理器的制造技術(shù)發(fā)展得極為先進,使處理器的成本下降到這一水平:它可用在消費品和其它對成本敏感的系統(tǒng)中;處理器的處理速度上升到這一水平:它可滿足大部分高速實時信號處理的需求。在產(chǎn)品中越來越多地使用DSP處理器,加劇了對更快、更便宜、更節(jié)省能量的DSP處理器的開發(fā)和迅速發(fā)展。
DSP處理器(DSPs)的品種越來越繁多,除了大家熟知的四大DSPs產(chǎn)商:TexasInstruments(德州儀器)公司、Lucent Technologies(朗訊技術(shù))公司、Analog
Devies(模擬設(shè)備)公司和Motorola(摩托羅拉)公司,大約還有80家DSPs產(chǎn)商。它們生產(chǎn)的DSPs主要用于特殊功能的設(shè)備,如調(diào)制解調(diào)器、MPEG譯碼器、硬盤驅(qū)動器等。DSP處理器可分為兩大類:定點DSPs和浮點DSPs。定點DSPs發(fā)展迅速,品種最多,處理速度為20~2000MIPS。浮點DSPs基本由TI和AD公司壟斷,處理速度40~1000MFLOPS。DSPs的性能已形成低、中、高三檔,高端產(chǎn)品處理器結(jié)構(gòu)發(fā)生了深刻的變化,形成了多樣化的趨勢。
數(shù)字信號處理器選購指南
DSP處理器的應(yīng)用領(lǐng)域很廣,但實際上沒有一個處理器能完全滿足所有的或絕大多數(shù)應(yīng)用需要,設(shè)計工程師在選擇處理器時需要根據(jù)性能、成本、集成度、開發(fā)的難易程度以及功耗等因素進行綜合考慮。
DSP器件按設(shè)計要求可以分為兩類。第一類,應(yīng)用領(lǐng)域為廉價的、大規(guī)模嵌入式應(yīng)用系統(tǒng),如手機、磁盤驅(qū)動(DSP用作伺服電機控制)以及便攜式數(shù)字音頻播放器等。在這些應(yīng)用中價格和集成度是最重要的考慮因素。對于便攜式電池供電的設(shè)備,功耗也是一個關(guān)鍵的因素。盡管這些應(yīng)用常常需要開發(fā)運行于DSP的客戶應(yīng)用軟件和外圍支持硬件,但易于開發(fā)的要求仍然是次要的因素,因為批量生產(chǎn)可以分攤開發(fā)成本,從而降低單位產(chǎn)品的開發(fā)成本。
另外一類是需要用復(fù)雜算法對大量數(shù)據(jù)進行處理的應(yīng)用,例如聲納探測和地震探測等,也需要用DSP器件。該類設(shè)備的批量一般較小、算法要求苛刻、產(chǎn)品很大而且很復(fù)雜。所以設(shè)計工程師在選擇處理器時會盡量選擇性能最佳、易于開發(fā)并支持多處理器的DSP器件。有時,設(shè)計工程師更喜歡選用現(xiàn)成的開發(fā)板來開發(fā)系統(tǒng)而不是從零開始硬件和軟件設(shè)計,同時可以采用現(xiàn)成的功能庫文件開發(fā)應(yīng)用軟件。
在實際設(shè)計時應(yīng)根據(jù)具體的應(yīng)用選擇合適的DSP。不同的DSP有不同的特點,適用于不同的應(yīng)用,在選擇時可以遵循以下要點。
DSP開發(fā)的簡便性
對不同的應(yīng)用來說,對開發(fā)簡便性的要求不一樣。對于研究和樣機的開發(fā),一般要求系統(tǒng)工具能便于開發(fā)。而如果公司在開發(fā)下一代手機產(chǎn)品,成本是最重要的因素,只要能降低最終產(chǎn)品的成本,一般他們愿意承受很煩瑣的開發(fā),采用復(fù)雜的開發(fā)工具(當然如果大大延遲了產(chǎn)品上市的時間則是另一回事)。
因此選擇DSP時需要考慮的因素有軟件開發(fā)工具(包括匯編、鏈接、仿真、調(diào)試、編譯、代碼庫以及實時操作系統(tǒng)等部分)、硬件工具(開發(fā)板和仿真機)和高級工具(例如基于框圖的代碼生成環(huán)境)。利用這些工具的設(shè)計過程如圖4所示。
選擇DSP器件時常有如何實現(xiàn)編程的問題。一般設(shè)計工程師選擇匯編語言或高級語言(如C或Ada),或兩者相結(jié)合的辦法?,F(xiàn)在大部分的DSP程序采用匯編語言,由于編譯器產(chǎn)生的匯編代碼一般未經(jīng)最優(yōu)化,需要手動進行程序優(yōu)化,降低程序代碼大小和使流程更合理,進一步加快程序的執(zhí)行速度。這樣的工作對于消費類電子產(chǎn)品很有意義,因為通過代碼的優(yōu)化能彌補DSP性能的不足。
使用高級語言編譯器的設(shè)計工程師會發(fā)現(xiàn),浮點DSP編譯器的執(zhí)行效果比定點DSP好,這有幾個原因:首先,多數(shù)的高級語言本身并不支持小數(shù)算法;其次,浮點處理器一般比定點處理器具有更規(guī)則的指令,指令限制少,更適合編譯器處理;第三,由于浮點處理器支持更大的存儲器,能提供足夠的空間。編譯器產(chǎn)生的代碼一般比手動生成的代碼更大。
不管是用高級語言還是匯編語言實現(xiàn)編程,都必須注意調(diào)試和硬件仿真工具的使用,因為很大一部分的開發(fā)時間會花在這里。幾乎所有的生產(chǎn)商都提供指令集仿真器,在硬件完成之前,采用指令集仿真器對軟件調(diào)試很有幫助。如果所用的是高級語言,對高級語言調(diào)試器功能進行評估很重要,包括能否與模擬機和/或硬件仿真器一起運行等性能。
大多數(shù)DSP銷售商提供硬件仿真工具,現(xiàn)在許多處理器具有片上調(diào)試/仿真功能,通過采用IEEE1149.1JTAG標準的串行接口訪問。該串行接口允許基于掃描的仿真,即程序員通過該接口加載斷點,然后通過掃描處理器內(nèi)部寄存器來查看處理器到達斷點后寄存器的內(nèi)容并進行修改。
很多的生產(chǎn)商都可以提供現(xiàn)成的DSP開發(fā)系統(tǒng)板。在硬件沒有開發(fā)完成之前可用開發(fā)板實現(xiàn)軟件實時運行調(diào)試,這樣可以提高最終產(chǎn)品的可制造性。對于一些小批量系統(tǒng)甚至可以用開發(fā)板作為最終產(chǎn)品電路板。
支持多處理器
在某些數(shù)據(jù)計算量很大的應(yīng)用中,經(jīng)常要求使用多個DSP處理器。在這種情況下,多處理器互連和互連性能(關(guān)于相互間通信流量、開銷和時間延遲)成為重要的考慮因素。如ADI的ADSP-2106X系列提供了簡化多處理器系統(tǒng)設(shè)計的專用硬件。
電源管理和功耗
DSP器件越來越多地應(yīng)用在便攜式產(chǎn)品中,在這些應(yīng)用中功耗是一個重要的考慮因素,因而DSP生產(chǎn)商盡量在產(chǎn)品內(nèi)部加入電源管理并降低工作電壓以減小系統(tǒng)的功耗。在某些DSP器件中的電源管理功能包括:
a.降低工作電壓:許多生產(chǎn)商提供低電壓DSP版本(3.3V,2.5V,或1.8V),這種處理器在相同的時鐘下功耗遠遠低于5V供電的同類產(chǎn)品。
b.“休眠”或“空閑”模式:絕大多數(shù)處理器具有關(guān)斷處理器部分時鐘的功能,降低功耗。在某些情況下,非屏蔽的中斷信號可以將處理器從“休眠”模式下恢復(fù),而在另外一些情況下,只有設(shè)定的幾個外部中斷才能喚醒處理器。有些處理器可以提供不同省電功能和時延的多個“休眠”模式。
c.可編程時鐘分頻器:某些DSP允許在軟件控制下改變處理器時鐘,以便在某個特定任務(wù)時使用最低時鐘頻率來降低功耗。
d.外圍控制:一些DSP器件允許程序停止系統(tǒng)未用到的外圍電路的工作。
不管電源管理特性怎么樣,設(shè)計工程師要獲得優(yōu)秀的省電設(shè)計很困難,因為DSP的功耗隨所執(zhí)行的指令不同而不同。多數(shù)生產(chǎn)商所提供的功耗指標為典型值或最大值,而TI公司給出的指標是一個例外,該公司的應(yīng)用實例中詳細地說明了在執(zhí)行不同指令和不同配置下的功耗。
成本因素
在滿足設(shè)計要求條件下要盡量使用低成本DSP,即使這種DSP編程難度很大而且靈活性差。在處理器系列中,越便宜的處理器功能越少,片上存儲器也越小,性能也比價格高的處理器差。
封裝不同的DSP器件價格也存在差別。例如,PQFP和TQFP封裝比PGA封裝便宜得多。
在考慮到成本時要切記兩點。首先,處理器的價格在持續(xù)下跌;第二點,價格還依賴于批量,如10,000片的單價可能會比1,000片的單價便宜很多。
各大手機應(yīng)用商城搜索“拍明芯城”
下載客戶端,隨時隨地買賣元器件!