dsp高手的經(jīng)驗(yàn)介紹_第1頁
已閱讀1頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、DSP高手的經(jīng)驗(yàn)介紹(轉(zhuǎn))一.我是已經(jīng)從事DSP開發(fā)有幾年了,看到許多朋友對(duì)DSP的開發(fā)非常感興取,我結(jié)合這幾年對(duì)DSP的開發(fā)寫一寫自己的感受,一家之言,歡迎指教。我上研究生的第一天起根據(jù)老板的安排就開始接觸DSP,那時(shí)DSP開發(fā)在國內(nèi)高校剛剛開始,一臺(tái)DSP開發(fā)器接近一萬還是ISA總線的,我從206開始240、2407A都作過產(chǎn)品,對(duì)5402、2812、5471在產(chǎn)品方案規(guī)劃制定和論證時(shí)也研究過。由于方向所限對(duì)6X、8X系列沒有接觸。

2、我發(fā)現(xiàn)在國內(nèi)無論在公司或高校許多地方為了加快開發(fā)周期往往把一個(gè)產(chǎn)品開發(fā)分為硬件和軟件兩個(gè)相對(duì)獨(dú)立部分,由不同的人完成。這在具有一定技術(shù)和管理基礎(chǔ)的公司,由總設(shè)計(jì)師統(tǒng)一規(guī)劃協(xié)調(diào),分任務(wù)并行完成的情況下是可行的,也是符合現(xiàn)代產(chǎn)品開發(fā)規(guī)律的。但是在高校人員的流動(dòng)很大,研究生的有效科研時(shí)間很短、基礎(chǔ)差(許多研究生起步時(shí)對(duì)電熔、電阻、三極管的分類和選型都很困難,我也是這樣過來的)更不用說系統(tǒng)規(guī)劃設(shè)計(jì)了,況且許多老板自己也不太懂,師兄有自己的任務(wù),

3、他們搞明白時(shí)也畢業(yè)了。在許多高校做DSP就是找一個(gè)算法加到自己的主程序里,在板子上跑一下,基本達(dá)到效果就可以了,至于可靠性是次要的,產(chǎn)業(yè)化無從談起,這已經(jīng)算不錯(cuò)的了。其實(shí)我覺得一個(gè)系統(tǒng)的完成,系統(tǒng)的規(guī)劃是最重要的,在規(guī)劃時(shí)對(duì)硬件設(shè)計(jì)的知識(shí)和認(rèn)識(shí)是決定性的,它可以讓你知道什么是可行的,什么是不可行的,當(dāng)你同時(shí)具有軟件設(shè)計(jì)能力時(shí),就可以合理的分配系統(tǒng)功能,完成使用VHDL進(jìn)行系統(tǒng)行為描述-—系統(tǒng)功能劃分——系統(tǒng)子結(jié)構(gòu)設(shè)計(jì)這樣的自頂向下的設(shè)計(jì)

4、規(guī)劃流程,成為系統(tǒng)設(shè)計(jì)專家、項(xiàng)目經(jīng)理,否則只是硬件工程師、軟件工程師。無論作51、196、還是DSP都是這樣。下面分別談?wù)勎覍?duì)硬件和軟件設(shè)計(jì)的感受硬件設(shè)計(jì)是系統(tǒng)設(shè)計(jì)的關(guān)鍵,國內(nèi)和國外產(chǎn)品的差距往往是硬件設(shè)計(jì)水平高低決定的,任何軟件設(shè)計(jì)思想沒有可靠的物理載體都是空中樓閣,紙上談兵。學(xué)校的研究生很多都想避開硬件設(shè)計(jì),對(duì)于一個(gè)全新的設(shè)計(jì)與其說不屑不如說不敢。試想一下燒幾個(gè)片子的壓力要比跑飛幾段程序的壓力大的多,尤其是功率器件,一旦燒掉,弄不好

5、火光沖天,人的自信都沒了。況且改一次板周期長,經(jīng)費(fèi)高,還不知行不行。其實(shí)在國外實(shí)力一般的公司也是盡量避免硬件的更新設(shè)計(jì),產(chǎn)品一旦定型往往通過軟件升級(jí),這是公司的發(fā)展策略,對(duì)個(gè)人而言物以希為貴,培養(yǎng)一個(gè)硬件設(shè)計(jì)師往往要比軟件設(shè)計(jì)師時(shí)間長花費(fèi)多。在設(shè)計(jì)dsp硬件時(shí),開始設(shè)計(jì)最小系統(tǒng)板,系統(tǒng)按功能分板設(shè)計(jì)調(diào)試,注意分板電路的穩(wěn)定性可能不如整板電路,要多加入抗干擾環(huán)節(jié),分板間的引線包括電源線地線要短,盡量在10公分以內(nèi),實(shí)在不行加入光耦隔離、采

6、用隔離電源。切記電源線、地線的干擾遠(yuǎn)比信號(hào)干擾對(duì)系統(tǒng)的危害大得多,又常常被人忽視。電路板工作正常的先決條件就是電源正常!當(dāng)分板電路正常后再更居情況設(shè)計(jì)整板電路。在調(diào)試時(shí)發(fā)現(xiàn)的問題一定要找到原因解決,即使是飛線,割線,不要寄希望于下一板改了再看,除非原理性錯(cuò)誤。每一個(gè)功能環(huán)節(jié)多準(zhǔn)備幾套方案。DSP的選型要根據(jù)系統(tǒng)功能而定,2000是一個(gè)功能比較全的控制器,但運(yùn)算性能相對(duì)低,但目前大部分控制類、家電類包括中低層次的工業(yè)總線通信產(chǎn)品足夠了,2

7、81X不錯(cuò)但太貴,而且開發(fā)技術(shù)不成熟。54XX更像一個(gè)協(xié)處理器,其實(shí)高端產(chǎn)品5471就很好,功能完,但BGA封裝對(duì)產(chǎn)品的開發(fā)有一定難度。如果沒有從事過嵌入式系統(tǒng)開發(fā)的朋友其實(shí)可以從51看起,許多思想是共通的,51很經(jīng)典沒有哪一款微處理器像51那樣使用持久和普遍。在硬件設(shè)計(jì)時(shí)更多的精力放在外圍電路設(shè)計(jì)上,外圍電路設(shè)計(jì)的靈活性要比DSP本身高得多,難度大得多。建議多考慮CPLD。軟件設(shè)計(jì)上,著眼點(diǎn)不要僅局限于某種算法和控制策略,而是軟件系統(tǒng)

8、框架的制定,即操作系統(tǒng)的選擇和實(shí)現(xiàn),算法和控制策略只是其中技巧性很強(qiáng)的子程序和子程序間參數(shù)相互關(guān)系,建議設(shè)計(jì)軟件時(shí)能具有操作系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)和編譯原理方面的知識(shí),特別是使用C。對(duì)DSP的內(nèi)部硬件結(jié)構(gòu)一定要掌握,特別是中斷結(jié)構(gòu)和流程、流水線操作,不然飛都片內(nèi)集成了。TI的5000系列主要長處是用于數(shù)字信號(hào)的算法處理,這里所講算法處理主要是指在數(shù)字信號(hào)處理時(shí)的一些算法,如FIR、IIR、FFT等等。5000系列的DSP的速度比2000快,24

9、07最快只能到40M,2800系列除外,5410的DSP可以達(dá)到160M,如現(xiàn)在我們主要用來做數(shù)字信號(hào)方面的處理以及簡單的靜態(tài)圖像處理等這樣一些在資源需要處于中等的一些算法。TI的6000系列主要是用在實(shí)時(shí)圖像處理,這個(gè)就更則重于算法處理。一般的硬件很少自制,我們是用TI的DSK板再加上自主板相結(jié)合。三.使用CC語言編寫基于DSP程序的注意事項(xiàng)1、不影響執(zhí)行速度的情況下,可以使用c或cc語言提供的函數(shù)庫,也可以自己設(shè)計(jì)函數(shù),這樣更易于使

10、用“裁縫師”優(yōu)化處理,例如:進(jìn)行絕對(duì)值運(yùn)算,可以調(diào)用fabs()或abs()函數(shù),也可以使用if...else...判斷語句來替代。2、要非常謹(jǐn)慎地使用局部變量,根據(jù)自己項(xiàng)目開發(fā)的需要,應(yīng)盡可能多地使用全局變量和靜態(tài)變量。3、一定要非常重視中斷向量表的問題,很多朋友對(duì)中斷向量表的調(diào)用方式不清楚。其實(shí)中斷向量表中的中斷名是任意取定的,dsp是不認(rèn)名字的,它只認(rèn)地址??!中斷向量表要重新定位。這一點(diǎn)很重要。4、要明確dsp軟件開發(fā)的第一步是對(duì)

11、可用存儲(chǔ)空間的分析,存儲(chǔ)空間分配好壞關(guān)系到一個(gè)dsp程序員的水平。對(duì)于dsp,我們有兩種名稱的存儲(chǔ)空間,一種是物理空間,另一種是映射空間。物理空間是dsp上可以存放數(shù)據(jù)和程序的實(shí)際空間(包括外部存儲(chǔ)器),我們的數(shù)據(jù)和程序最終放到物理空間上,但我們并不能直接訪問它們。我們要訪問物理空間,必須借助于映射空間才行?。〉怯成淇臻g本身是個(gè)“虛”空間,是個(gè)不存在的空間。所以,往往是映射空間遠(yuǎn)遠(yuǎn)大于實(shí)際的物理空間,有些映射空間,如io映射空間,它本

12、身還代表了一種接口。只有那些物理空間映射到的映射空間才是我們真正可訪問(讀或?qū)懀┑拇鎯?chǔ)空間。5、盡可能地減少除法運(yùn)算,而盡可能多地使用乘法和加法運(yùn)算代替。6、如果ti公司或第三方軟件合作商提供了dsplib或其他的合法子程序庫供調(diào)用,應(yīng)盡可能地調(diào)用使用。這些子程序均使用用匯編寫成,更為重要之處是通過了tms320算法標(biāo)準(zhǔn)測試。而且,常用的數(shù)字信號(hào)處理算法均有包括?。?、盡可能地采用內(nèi)聯(lián)函數(shù)??!而不用一般的函數(shù)??!可以提高代碼的集成度。8

13、、編程風(fēng)格力求簡煉!!盡可能用c語言而不用c語言。我個(gè)人感到雖然c終代碼長了一些,好象對(duì)執(zhí)行速度沒有影響。9、因?yàn)樵赾5000中double型和float型均占有2個(gè)字,所以都可以使用,而且,可以直接將int型賦給float型或double型,但,盡可能地多使用int數(shù)據(jù)類型代替!這一點(diǎn)需要注意!!10、程序最后至少要加上一個(gè)空行,編譯器當(dāng)這個(gè)空行為結(jié)尾提示符。11、大膽使用位運(yùn)算符,非常好用?。?2、2003年6月份從ti的網(wǎng)站上下到

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論