久久中文视频-久久中文网-久久中文亚洲国产-久久中文字幕久久久久-亚洲狠狠成人综合网-亚洲狠狠婷婷综合久久久久

以文本方式查看主題

-  曙海教育集團論壇  (http://www.xinguifushi.cn/bbs/index.asp)
--  DSP5000技術(shù)討論  (http://www.xinguifushi.cn/bbs/list.asp?boardid=28)
----  幾個DSP高手的經(jīng)驗介紹  (http://www.xinguifushi.cn/bbs/dispbbs.asp?boardid=28&id=1588)

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

我發(fā)現(xiàn)在國內(nèi)無論在公司或高校許多地方為了加快開發(fā)周期往往把一個產(chǎn)品開發(fā)分為硬
件和軟件兩個相對獨立部分,由不同的人完成。這在具有一定技術(shù)和管理基礎(chǔ)的公司,
由總設(shè)計師統(tǒng)一規(guī)劃協(xié)調(diào),分任務(wù)并行完成的情況下是可行的,也是符合現(xiàn)代產(chǎn)品開發(fā)
規(guī)律的。但是在高校人員的流動很大,研究生的有效科研時間很短、基礎(chǔ)差(許多研究
生起步時對電熔、電阻、三極管的分類和選型都很困難,我也是這樣過來的)更不用說
系統(tǒng)規(guī)劃設(shè)計了,況且許多老板自己也不太懂,師兄有自己的任務(wù),他們搞明白時也畢
業(yè)了。在許多高校做DSP就是找一個算法加到自己的主程序里,在板子上跑一下,基本達
到效果就可以了,至于可靠性是次要的,產(chǎn)業(yè)化無從談起,這已經(jīng)算不錯的了。

其實我覺得一個系統(tǒng)的完成,系統(tǒng)的規(guī)劃是最重要的,在規(guī)劃時對硬件設(shè)計的知識和認
識是決定性的,它可以讓你知道什么是可行的,什么是不可行的,當你同時具有軟件設(shè)
計能力時,就可以合理的分配系統(tǒng)功能,完成使用VHDL進行系統(tǒng)行為描述-—系統(tǒng)功能
劃分—— 系統(tǒng)子結(jié)構(gòu)設(shè)計這樣的自頂向下的設(shè)計規(guī)劃流程,成為系統(tǒng)設(shè)計專家、項目經(jīng)
理,否則只是硬件工程師、軟件工程師。無論作51、196、還是DSP都是這樣。

下面分別談?wù)勎覍τ布蛙浖O(shè)計的感受

硬件設(shè)計是系統(tǒng)設(shè)計的關(guān)鍵,國內(nèi)和國外產(chǎn)品的差距往往是硬件設(shè)計水平高低決定的,
任何軟件設(shè)計思想沒有可靠的物理載體都是空中樓閣,紙上談兵。學(xué)校的研究生很多都
想避開硬件設(shè)計,對于一個全新的設(shè)計與其說不屑不如說不敢。試想一下燒幾個片子的
壓力要比跑飛幾段程序的壓力大的多,尤其是功率器件,一旦燒掉,弄不好火光沖天,
人的自信都沒了。況且改一次板周期長,經(jīng)費高,還不知行不行。其實在國外實力一般
的公司也是盡量避免硬件的更新設(shè)計,產(chǎn)品一旦定型往往通過軟件升級,這是公司的發(fā)
展策略,對個人而言物以希為貴,培養(yǎng)一個硬件設(shè)計師往往要比軟件設(shè)計師時間長花費
多。在設(shè)計dsp硬件時,開始設(shè)計最小系統(tǒng)板,系統(tǒng)按功能分板設(shè)計調(diào)試,注意分板電路
的穩(wěn)定性可能不如整板電路,要多加入抗干擾環(huán)節(jié),分板間的引線包括電源線地線要短
,盡量在10公分以內(nèi),實在不行加入光耦隔離、采用隔離電源。切記電源線、地線的干
擾遠比信號干擾對系統(tǒng)的危害大得多,又常常被人忽視。電路板工作正常的先決條件就
是電源正常!當分板電路正常后再更居情況設(shè)計整板電路。在調(diào)試時發(fā)現(xiàn)的問題一定要
找到原因解決,即使是飛線,割線,不要寄希望于下一板改了再看,除非原理性錯誤。
每一個功能環(huán)節(jié)多準備幾套方案。DSP的選型要根據(jù)系統(tǒng)功能而定,2000是一個功能比較
全的控制器,但運算性能相對低,但目前大部分控制類、家電類包括中低層次的工業(yè)總
線通信產(chǎn)品足夠了,281X不錯但太貴,而且開發(fā)技術(shù)不成熟。54XX更像一個協(xié)處理器,
其實高端產(chǎn)品5471就很好,功能完*,但BGA封裝對產(chǎn)品的開發(fā)有一定難度。如果沒有從
事過嵌入式系統(tǒng)開發(fā)的朋友其實可以從51看起,許多思想是共通的,51很經(jīng)典沒有哪一
款微處理器像51那樣使用持久和普遍。在硬件設(shè)計時更多的精力放在外圍電路設(shè)計上,
外圍電路設(shè)計的靈活性要比DSP本身高得多,難度大得多。建議多考慮CPLD。

軟件設(shè)計上,著眼點不要僅局限于某種算法和控制策略,而是軟件系統(tǒng)框架的制定,即
操作系統(tǒng)的選擇和實現(xiàn),算法和控制策略只是其中技巧性很強的子程序和子程序間參數(shù)
相互關(guān)系,建議設(shè)計軟件時能具有操作系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)和編譯原理方面的知識,特別是
使用C。對DSP的內(nèi)部硬件結(jié)構(gòu)一定要掌握,特別是中斷結(jié)構(gòu)和流程、流水線操作,不然
飛都不知道怎么飛的。在語言選擇上我當時是這么給自己規(guī)定的先編20個左右的匯編程
序,每個代碼量超過4K,使用語句范圍覆蓋全部語句的60%-70%,在此基礎(chǔ)上使用C。
現(xiàn)在發(fā)現(xiàn)用C構(gòu)建程序的主體框架(操作系統(tǒng))比較快而其不容易出錯,(我現(xiàn)在正在用
ASM根據(jù)UCOSII的思想重寫自己的操作系統(tǒng))但對系統(tǒng)實時性影響比較大的運算算法一般
采用MATLAB——C——ASM的辦法仿真調(diào)試優(yōu)化,這里的優(yōu)化不單單是利用優(yōu)化器優(yōu)化,
而是根據(jù)數(shù)據(jù)的特點改變運算方法,以除法為例C里的/號其實掩蓋了許多技巧,當除數(shù)
為常數(shù)時就可以放大倒數(shù)移位相乘移位的辦法進行,精度高速度快。這些辦法只有掌握
了ASM語言并用ASM語言思考才會熟練應(yīng)用。另外我想告訴一些作算法特別是控制算法的
朋友,千萬不要隨意評判一個算法的優(yōu)劣,在程序中程序和代碼優(yōu)化的程度往往影響了
控制效果好壞,而不是算法本身的思想。其實在實際中往往PID甚至PI、PD就夠了,神經(jīng)
元、模糊、小波適用于研究和寫論文,模糊在實際中用的多一點,主要是小日本用的比
較成熟,我再恨日本人,這點也服氣,小日本就是滑,許多物理現(xiàn)象搞不透,就用這法
,還管用,題外話。

最后我想說的是,當我們面對市場要求時,產(chǎn)品往往考慮的是可靠性、性能、價格而不
是你用的什么芯片,在滿足性能的基礎(chǔ)上結(jié)構(gòu)越簡單就越可靠,芯片越通用價格就越低
,能用51就不用196,能用2407就不用2812,除非把芯片本身作買點利用高成本贏取高利
潤。無論2000還是5000、6000系列都有市場前景,關(guān)鍵是要做深做透

獲取知識的方法、處理項目的能力是相通的,具體的說就是不要把目光盯在做硬件還是
做軟件上,用ASM還是C,要勤動手打好基礎(chǔ),提高自己對系統(tǒng)總體設(shè)計的能力,從系統(tǒng)
的眼光看問題。為什么都是做DSP的有的畢業(yè)拿3000,有的5000、8000,除了運氣和關(guān)系
外,重要的是你對事物的認識深度和高度。我一直都記住這句話:有前途的人做什么都
有前途,沒前途的人做什么都沒前途。  


二. 與其說是鉆在里面,畢業(yè)設(shè)計是搞240,在老師的壓力做出了一點東西,這期間主要
是對DSP的各種基礎(chǔ)知識的熟悉與理解,對DSP的真正深入是在公司工作以后。當初進公
司,因為正有一個項目需要用5410要我接手。說實話,在學(xué)校期間我5000的書都沒有看
過一眼,可沒辦法,只能靠自己了。不過好的是我2000DSP的基礎(chǔ)很好。接過項目后,我
第一個星期就全部看的是5000的指令,DSP的結(jié)構(gòu)倒沒怎么看,因為項目硬件已成型,主
要是算法。這樣,花了一個星期熟悉指令與項目相關(guān)的程序,第二個星期也就開始編程
了。半個月以后我對5410也就用很熟了的,當然主要還是講在算法方面。這個項目太概
做了四個月吧,系統(tǒng)程序是我編寫的,主要有如64位加減乘除乘方開方、及時域方面的
一些算法,F(xiàn)在又做一個控制系統(tǒng),用2407開發(fā)的,硬件主要有直交變頻,并把2407的
所有外設(shè)資源全部用到了。現(xiàn)在我可以這樣自夸一句吧:TI的2000系列與5000系列的我
都熟悉,要我去以此做個系統(tǒng),沒問題。上面是把我搞DSP的經(jīng)歷簡單說了一下的吧,在
這里我想對正在學(xué)及想學(xué)DSP的難兄們說一句的是,DSP并不是很難。當然,這個前提是
你的基礎(chǔ)要好,我單片機,接口都還行,當初就是從單片機改成DSP的。有了單片機的基
礎(chǔ)再去學(xué)2000第列的DSP(下面的DSP單指2000系列,另有說明為止),你就可以把DSP看
成一個super microcontroller了。相比之下,DSP除了比單片機多了更豐的外設(shè)接口(
SPI,SCI、CAN、PWM、CAP、QEP等等),他就是一塊單片機,只不過在單片機來說你要另
加芯片的工作,DSP全部把它做在一塊芯片去了,我現(xiàn)在看DSP也真就這么簡單。前面有
人提到DSP主要是做算法,這句話有一定的片面性: TI有很多系列的DSP,現(xiàn)在主流的D
SP主要為2000系列、3000系列、4000系列、5000系列、6000系列。除了2000與5000系列
是定點DSP外,其余的均為浮點系列。 TI的2000系列主要長處是在用于控制系統(tǒng),因為
它的資源非常豐富,前面提到,在控制系統(tǒng)中用到的一些外設(shè)2000系列均在片內(nèi)集成了
。 TI的5000系列主要長處是用于數(shù)字信號的算法處理,這里所講算法處理主要是指在數(shù)
字信號處理時的一些算法,如FIR、IIR、FFT等等。5000系列的DSP的速度比2000快,24
07最快只能到40M,2800系列除外,5410的DSP可以達到160M,如現(xiàn)在我們主要用來做數(shù)
字信號方面的處理以及簡單的靜態(tài)圖像處理等這樣一些在資源需要處于中等的一些算法
。 TI的6000系列主要是用在實時圖像處理,這個就更則重于算法處理。一般的硬件很少
自制,我們是用TI的DSK板再加上自主板相結(jié)合。  


三. 使用C/C++語言編寫基于DSP程序的注意事項 1、 不影響執(zhí)行速度的情況下,可以使
用c或c/c++語言提供的函數(shù)庫,也可以自己設(shè)計函數(shù),這樣更易于使用“裁縫師”優(yōu)化
處理,例如:進行絕對值運算,可以調(diào)用fabs()或abs()函數(shù),也可以使用if...else..
.判斷語句來替代。 2、 要非常謹慎地使用局部變量,根據(jù)自己項目開發(fā)的需要,應(yīng)盡
可能多地使用全局變量和靜態(tài)變量。 3、 一定要非常重視中斷向量表的問題,很多朋友
對中斷向量表的調(diào)用方式不清楚。其實中斷向量表中的中斷名是任意取定的,dsp是不認
名字的,它只認地址!中斷向量表要重新定位。這一點很重要。 4、 要明確dsp軟件
開發(fā)的第一步是對可用存儲空間的分析,存儲空間分配好壞關(guān)系到一個dsp程序員的水平
。對于dsp,我們有兩種名稱的存儲空間,一種是物理空間,另一種是映射空間。物理空
間是dsp上可以存放數(shù)據(jù)和程序的實際空間(包括外部存儲器),我們的數(shù)據(jù)和程序最終
放到物理空間上,但我們并不能直接訪問它們。我們要訪問物理空間,必須借助于映射
空間才行!!但是映射空間本身是個“虛”空間,是個不存在的空間。所以,往往是映
射空間遠遠大于實際的物理空間,有些映射空間,如io映射空間,它本身還代表了一種
接口。只有那些物理空間映射到的映射空間才是我們真正可訪問(讀或?qū)懀┑拇鎯臻g
。 5、 盡可能地減少除法運算,而盡可能多地使用乘法和加法運算代替。 6、 如果ti
公司或第三方軟件合作商提供了dsplib或其他的合法子程序庫供調(diào)用,應(yīng)盡可能地調(diào)用
使用。這些子程序均使用用匯編寫成,更為重要之處是通過了tms320算法標準測試。而
且,常用的數(shù)字信號處理算法均有包括!! 7、 盡可能地采用內(nèi)聯(lián)函數(shù)!而不用一般
的函數(shù)!可以提高代碼的集成度。 8、 編程風(fēng)格力求簡煉!盡可能用c語言而不用
c++語言。我個人感到雖然c++終代碼長了一些,好象對執(zhí)行速度沒有影響。 9、 因為在
c5000中double型和float型均占有2個字,所以都可以使用,而且,可以直接將int型賦
給float型或double型,但,盡可能地多使用int數(shù)據(jù)類型代替!這一點需要注意! 1
0、 程序最后至少要加上一個空行,編譯器當這個空行為結(jié)尾提示符。 11、 大膽使用
位運算符,非常好用!! 12、 2003年6月份從ti的網(wǎng)站上下到了關(guān)于tms320c67x系列d
sp的快速算法庫,于是,tms320c5000和c6000全系列的快速算法庫都問世了,這些算法
庫均可供c/c++語言直接調(diào)用,優(yōu)化程度100%,實際編程時盡可能地使用(下載時可以同
時下載到說明文檔和ascii源程序,可以根據(jù)自己需要作出修改,修改前最好做個備份)

主站蜘蛛池模板: 欧美一级视频在线观看欧美 | 久久精品国产精品亚洲毛片 | 美女双腿打开让男人桶爽网站 | 欧美大片无尺码在线观看 | 成年人黄色网址 | 九九视频在线观看视频 | 国产高清精品自在久久 | 美女与男人对肌免费网站 | 欧美性videofree精品 | 18视频免费网址在线观看 | 免费国产成人手机在线观看 | 女人张开腿等男人桶免费视频 | 国产日韩久久久久69影院 | 成人精品国产亚洲 | 久久久久久久久久免费视频 | 波多野结衣视频在线观看地址免费 | 日韩区| 国产伦久视频免费观看 视频 | 夜色精品国产一区二区 | a级毛片免费全部播放 | 风流慈禧一级毛片在线播放 | 三级网址在线 | 亚洲韩国日本欧美一区二区三区 | 一区二区三区在线播放 | 国产三级三级三级三级 | 久久在线视频播放 | 久久橹| 草草视频免费观看 | 美女动作一级毛片 | 亚洲国产精品激情在线观看 | 国产成人啪精品视频免费软件 | 手机在线观看一级午夜片 | 欧美精品v日韩精品v国产精品 | 欧美视频 亚洲视频 | 99九九精品国产高清自在线 | 经典三级久久 | 亚洲人成影院在线高清 | 中文字幕久久亚洲一区 | 国产区91 | 黄色网址国产 | 频黄|