DSP開發(fā)入門之經(jīng)驗分享
(1).你是否應該或需要使用DSP?
本文引用地址:http://www.ex-cimer.com/article/170793.htm(2).你應該選擇哪個型號的DSP?
(3).你熟悉你即將使用的DSP嗎?包括它的硬件結(jié)構(gòu)、外設控制、指令系統(tǒng)、尋址方式以及開發(fā)環(huán)境(工具)?
1-1為什么要采用數(shù)字信號處理?
(1)靈活性
在模擬處理系統(tǒng),當需要改變一個模擬系統(tǒng)的應用時,你可能不得不修改硬件設計,或調(diào)整硬件參數(shù)。而在數(shù)字處理系統(tǒng),你可以通過改變數(shù)字信號處理軟件來修改設置,以適應不同的需要。
(2)精度
在模擬處理系統(tǒng),系統(tǒng)精度受元器件影響,同一批次產(chǎn)品可能有不同的性能。而在數(shù)字處理系統(tǒng)中,精度僅與A/D的位數(shù)和計算機字長、算法有關,它們是在設計系統(tǒng)是就已經(jīng)決定了的。
(3)可靠性和可重復性
模擬系統(tǒng)易受環(huán)境溫度、濕度、噪聲、電磁場等的干擾和影響,而數(shù)字系統(tǒng)的可靠性和可重復性好。
(4)大規(guī)模集成
模擬系統(tǒng)盡管已有一些模擬集成電路,但品種較少、集成度不高、價格較高。而數(shù)字系統(tǒng)中DSP體積小、功能強、功耗小、一致性好、使用方便、性能/價格比高。
(5)虛擬特性與升級
一模擬系統(tǒng)系統(tǒng)只能對應一種功能,升級意味著新型號的系統(tǒng)的研制。而數(shù)字系統(tǒng)中一套系統(tǒng)對應多種功能,只要裝上不同的軟件即可。
圖1:軟件使得數(shù)字系統(tǒng)更加靈活
(6)特殊應用:有些應用只有數(shù)字系統(tǒng)才能實現(xiàn)
例如:信息無失真壓縮(LOSSLESS COMPRESSION)、V型濾波器(NOTCH FILTER)、線性相位濾波器(LINEAR PHASE FILTER)等等.
但數(shù)字信號處理也有局限性:
(1) 實時性
模擬系統(tǒng)中除開電路引入的延時外,處理是實時的。而數(shù)字系統(tǒng):由計算機的處理速度決定。
(2)高頻信號的處理:
模擬系統(tǒng)可以處理包括微波毫米波乃至光波信號,而數(shù)字系統(tǒng):按照奈奎斯特準則的要求,受S/H、A/D和處理速度的限制。
(3)模擬與數(shù)字信號的轉(zhuǎn)換
現(xiàn)實世界的信號絕大多數(shù)是模擬的(溫度、速度、壓力等),轉(zhuǎn)換成的電信號也是模擬的(電流、電壓等)。要實現(xiàn)數(shù)字處理,就必須進行轉(zhuǎn)換。所以一般在一個DSP系統(tǒng)中都有數(shù)/模或模/數(shù)轉(zhuǎn)換電路,這也限制了DSP的應用。下面是一個采用DSP做信號處理的典型框圖:
采用DSP做信號處理的典型框圖
1-2 DSP的發(fā)展與特點
DSP的特點
(1)哈佛結(jié)構(gòu)
程序與數(shù)據(jù)存儲空間分開,各有獨立的地址總線和數(shù)據(jù)總線,取指和讀數(shù)可以同時進行,從而提高速度。
(2)用指令流水線
(3)硬件乘法/累加器
在卷積、數(shù)字濾波、FFT、相關、矩陣運算等算法中,都有∑SA(k)B(n-k)一類的運算,其中包含大量重復乘法和累加。在通用計算機的乘法用軟件實現(xiàn),需要用若干個機器周期。而DSP有專用的硬件乘法器,使用MAC指令(取數(shù)、乘法、累加),可以在單周期內(nèi)完成。
(4)多種尋找方式
循環(huán)尋址(Circular addressing),位倒序(bit-reversed)等特殊指令,使FFT、卷積等運算中的尋址、排序及計算速度大大提高。1024點FFT的時間己小于1ms。
(5)獨立的DMA總線和控制器
有一組或多組獨立的DMA總線,可以與CPU的程序、數(shù)據(jù)總線并行工作。在不影響CPU工作的條件下,DMA速度已達800Mbyte/s以上。(6)多處理器接口現(xiàn)在的DSP中大多都提供了串口和并口,使多個處理器可以很方便的并行或串行工作。如TMS320C40有6個8-bit的接口,VC5420提供MsBSP和16位的并口,ADI的ADSP21160也有類似的結(jié)構(gòu)。
(7)所有DSP芯片都包含JTAG(Joint Test Action Group)標準測試接口(IEEE 1149標準接口),便于對DSP作片上的在線仿真和多DSP條件下的調(diào)試。
DSP的發(fā)展
更高的運行速度和信號處理速度
多DSP協(xié)同工作
更方便的開發(fā)環(huán)境
大量專用DSP的出現(xiàn)(DSP核)
更低的價格,或更高的性能/價格比
更廣泛的應用(每年以30%增長)
更低的功耗(55X 0.05mw/MIPS)
1-3 TI的DSP系列
DSP的主要供應商
目前市場上的主要DSP生產(chǎn)商包括TI,ADI,Motorola,Lucent和Zilog等,其中TI占有最大市場份額。作為第一片DSP產(chǎn)品TMS32010的生產(chǎn)商和DSP行業(yè)的領頭者,TI公司的產(chǎn)品包括從低端的低成本低速度DSP到高端大運算量的DSP產(chǎn)品。
TI的三大主力DSP產(chǎn)品
C5000系列:C54X,C54XX,C55X(低功耗)
C2000系列:C20X,F(xiàn)20X,F(xiàn)24X,F(xiàn)24XX(控制器)
C6000系列:C62XX,C67XX,C64X(高性能)
TI其他DSP產(chǎn)品
C3X系列(浮點):C30,C31,C32,VC33
C2x和C5x系列:C20,C25,C50等
C4X、C8X系列
1.4 TI的DSP系列介紹
目前,廣泛使用的TI的DSP有三個系列:C2000,C5000和C6000,C3X也有使用,而其他型號都基本淘汰。需要提醒注意的是,同一系列中不同型號的DSP一般都具有相同的DSP核,相同或兼容的匯編指令系統(tǒng);而它們的差別僅在于片內(nèi)存儲器的大小,外設資源(如定時器、串口、并口等)的多少。不同系列的DSP它們的匯編指令系統(tǒng)不兼容,但匯編語言的語法非常相似。除了匯編語言外,TI還為每個系列都提供了優(yōu)化c編譯器,方便用戶使用c(使用ANSI的標準c)語言進行開發(fā),效率可以做到手工匯編的90%甚至更高。下面我們簡單介紹這個常用系列:
1.C2000系列:
C2000系列是一個控制器系列,全部為16位定點DSP。該系列中的一些型號具有片內(nèi)FLASH RAM,如TMS320F24x,TMS320LF240x等。TI所有DSP中,也只有C2000有FLASH。作為控制器,C2000系列除了有一個DSP核以外,還有大量的外設資源,如A/D、定時器、各種串口(同步或異步)、WATCHDOG、CAN總線、PWM發(fā)生器、數(shù)字IO腳等等。特別是C2000的異步串口可以與PC的UART相連,也是TI所有DSP中唯一具有異步串口的系列。
圖2 : C2000系列DSP的型號
2.C5000系列:
C5000系列是一個定點低功耗系列,特別適用于手持通訊產(chǎn)品,如手機、PDA、GPS等。目前的處理速度一般在80MIPS一400MIPS。C5000系列主要分為C54xx和C55XX兩個系列。兩個系列在執(zhí)行代碼級是兼容的,但他們的匯編指令系統(tǒng)卻不同。目前TMS320VC5402的零售價在¥60一¥80元,性價比極高。C5000包含的主要外設有McBPS同步串口,HPI并行接口,定時器,DMA等。其中C55XX提供EMIF外部存儲器擴展接口,允許用戶直接使用SDRAM、SBSRAM、SRAM、EPROM等各種存儲器。而C54XX沒有提供EMIF,所以只能直接使用靜態(tài)存儲器SRAM和EPROM。另外,C5000系列一般都使用雙電源供電,其I/0電壓和核電壓一般不同,而且不同型號也有差別。不過,TI提供了全系列的DC—DC變換器可以解決DSP的電源問題。
C5000系列一般都提供PGE封裝,便于PCB板的制作。
圖3: C5000系列DSP
3.C3X系列:
C3X系列雖然不是目前TI的主流產(chǎn)品,但作為一個32位的低價位浮點DsP,仍然被廣泛使用。其中,TMS320VC33的價格大約在¥200元左右,其最高處理速度為150MFLOPs。C3X系列的結(jié)構(gòu)比較簡單,外設也比較少,主要有同步串口,DMA通道,定時器,能用于數(shù)字I/O的引腳也只有2條。下面是VC33的簡單情況:
高品質(zhì)的浮點DSP,13ns和17ns指令周期
34Kx32Bit片內(nèi)RAM
X5 PLL時鐘產(chǎn)生器
低功耗,200mv@150MFLOPS
16/32bits整數(shù)和32/40bits浮點數(shù)運算
32位指令字,24bits地址線
具有BOOTLOADER。一個串口,兩個32位的定時器和DMA
八個擴展精度寄存器,R0,R1,。。R7
雙電壓共電,1.8V核電壓和3.3V的I/O電壓
支持JTAG調(diào)試標準。四個簡單、高效的預譯碼信號
4.C6000系列:
C6000系列是一個32位的高性能的DSP芯片,目前處理速度從800MIPS一2400MIPS,而且還在不斷提高。其中,C62XX為定點系列,C67XX和C64XX為浮點系列。同C55XX一樣,C6000也提供EMIF擴展存儲器接口,方便用戶使用各種外部擴展存儲器,如SBSRAM、SDRAM、SRAM、EPROM。C6000提供的主要外設有McBPS同步串口,HPI并行接口,定時器,DMA等。另外,在C6000的一些型號中還提供了PCI接口。C6000幾乎都只提供BGA球形封裝,在PCB板制作時需要多層板,增加了開發(fā)和調(diào)試的難度。另外,C6000系列的功耗較大,需要仔細考慮DSP與系統(tǒng)其他部分的電力分配,選擇適當?shù)腄C—DC轉(zhuǎn)換器。
評論