久久午夜影院,91精品国产调教在线观看,日韩午夜免费,伊人久久大香线蕉av不卡

你的位置:首頁 > 測試測量 > 正文

從事多年DSP開發工程師——全方位剖析DSP

發布時間:2015-04-17 責任編輯:sherry

【導讀】本篇文章講解的是一位從事多年DSP開發的工程師根據自己的經驗分享的在DSP技術設計中的一些感受和技巧,這些東西很多事對于現在剛入門DSP技術的菜鳥是“未知領域”,先來學習學習做到“未雨綢繆”總沒有壞處。
 
說起來自己已經從事DSP技術開發有幾年了,看到許多朋友對DSP的開發非常感興取,結合這幾年對DSP的開發寫一寫自己的感受,一家之言,歡迎指教。自己上研究生的第一天起根據老板的安排就開始接觸DSP,那時DSP開發在國內高校剛剛開始,一臺DSP開發器接近一萬還是ISA總線的,從206開始240、2407A都作過產品,對5402、2812、5471在產品方案規劃制定和論證時也研究過。由于方向所限對6X、8X系列沒有接觸。
 
在國內無論在公司或高校許多地方為了加快開發周期往往把一個產品開發分為硬件和軟件兩個相對獨立部分,由不同的人完成。這在具有一定技術和管理基礎的公司,由總設計師統一規劃協調,分任務并行完成的情況下是可行的,也是符合現代產品開發規律的。但是在高校人員的流動很大,研究生的有效科研時間很短、基礎差(許多研究生起步時對電熔、電阻、三極管的分類和選型都很困難)更不用說系統規劃設計了,況且許多老板自己也不太懂,師兄有自己的任務,他們搞明白時也畢業了。在許多高校做DSP就是找一個算法加到自己的主程序里,在板子上跑一下,基本達到效果就可以了,至于可靠性是次要的,產業化無從談起,這已經算不錯的了。
 
其實一個系統的完成,系統的規劃是最重要的,在規劃時對硬件設計的知識和認識是決定性的,它可以讓你知道什么是可行的,什么是不可行的,當你同時具有軟件設計能力時,就可以合理的分配系統功能,完成使用VHDL進行系統行為描述-—系統功能劃分—— 系統子結構設計這樣的自頂向下的設計規劃流程,成為系統設計專家、項目經理,否則只是硬件工程師、軟件工程師。無論作51、196、還是DSP都是這樣。
 
下面分別談談對硬件和軟件設計的感受
 
硬件設計是系統設計的關鍵,國內和國外產品的差距往往是硬件設計水平高低決定的,任何軟件設計思想沒有可靠的物理載體都是空中樓閣,紙上談兵。學校的研究生很多都想避開硬件設計,對于一個全新的設計與其說不屑不如說不敢。試想一下燒幾個片子的壓力要比跑飛幾段程序的壓力大的多,尤其是功率器件,一旦燒掉,弄不好火光沖天,人的自信都沒了。況且改一次板周期長,經費高,還不知行不行。其實在國外實力一般的公司也是盡量避免硬件的更新設計,產品一旦定型往往通過軟件升級,這是公司的發展策略,對個人而言物以希為貴,培養一個硬件設計師往往要比軟件設計師時間長花費多。在設計dsp硬件時,開始設計最小系統板,系統按功能分板設計調試,注意分板電路的穩定性可能不如整板電路,要多加入抗干擾環節,分板間的引線包括電源線地線要短,盡量在10公分以內,實在不行加入光耦隔離、采用隔離電源。切記電源線、地線的干擾遠比信號干擾對系統的危害大得多,又常常被人忽視。電路板工作正常的先決條件就是電源正常!當分板電路正常后再更居情況設計整板電路。在調試時發現的問題一定要找到原因解決,即使是飛線,割線,不要寄希望于下一板改了再看,除非原理性錯誤。每一個功能環節多準備幾套方案。DSP的選型要根據系統功能而定,2000是一個功能比較全的控制器,但運算性能相對低,但目前大部分控制類、家電類包括中低層次的工業總線通信產品足夠了,281X不錯但太貴,而且開發技術不成熟。54XX更像一個協處理器,其實高端產品5471就很好,功能完善,但BGA封裝對產品的開發有一定難度。如果沒有從事過嵌入式系統開發的朋友其實可以從51看起,許多思想是共通的,51很經典沒有哪一款微處理器像51那樣使用持久和普遍。在硬件設計時更多的精力放在外圍電路設計上,外圍電路設計的靈活性要比DSP本身高得多,難度大得多。建議多考慮CPLD。
DSP
軟件設計上,著眼點不要僅局限于某種算法和控制策略,而是軟件系統框架的制定,即操作系統的選擇和實現,算法和控制策略只是其中技巧性很強的子程序和子程序間參數相互關系,建議設計軟件時能具有操作系統、數據結構和編譯原理方面的知識,特別是使用C。對DSP的內部硬件結構一定要掌握,特別是中斷結構和流程、流水線操作,不然飛都不知道怎么飛的。在語言選擇上當時是這么給自己規定的:先編20個左右的匯編程序,每個代碼量超過4K,使用語句范圍覆蓋全部語句的60%-70%,在此基礎上使用C。現在發現用C構建程序的主體框架(操作系統)比較快而其不容易出錯,(現在正在用ASM根據UCOSII的思想重寫自己的操作系統)但對系統實時性影響比較大的運算算法一般采用MATLAB——C——ASM的辦法仿真調試優化,這里的優化不單單是利用優化器優化,而是根據數據的特點改變運算方法,以除法為例C里的/號其實掩蓋了許多技巧,當除數為常數時就可以放大倒數移位相乘移位的辦法進行,精度高速度快。這些辦法只有掌握了ASM語言并用ASM語言思考才會熟練應用。另外想告訴一些作算法特別是控制算法的朋友,千萬不要隨意評判一個算法的優劣,在程序中程序和代碼優化的程度往往影響了控制效果好壞,而不是算法本身的思想。其實在實際中往往PID甚至PI、PD就夠了,神經元、模糊、小波適用于研究和寫論文,模糊在實際中用的多一點,主要是小日本用的比較成熟,再恨日本人,這點也服氣,小日本就是滑,許多物理現象搞不透,就用這法,還管用,題外話。
 
最后想說的是當面對市場要求時,產品往往考慮的是可靠性、性能、價格而不是你用的什么芯片,在滿足性能的基礎上結構越簡單就越可靠,芯片越通用價格就越低,能用51就不用196,能用2407就不用2812,除非把芯片本身作買點利用高成本贏取高利潤。無論2000還是5000、6000系列都有市場前景,關鍵是要做深做透。
 
獲取知識的方法、處理項目的能力是相通的,具體的說就是不要把目光盯在做硬件還是做軟件上,用ASM還是C,要勤動手打好基礎,提高自己對系統總體設計的能力,從系統的眼光看問題。為什么都是做DSP的有的畢業拿3000,有的5000、8000,除了運氣和關系外,重要的是你對事物的認識深度和高度。自己一直都記住這句話:有前途的人做什么都有前途,沒前途的人做什么都沒前途。
 
與其說是鉆在里面,畢業設計是搞240,在老師的壓力下做出了一點東西,這期間主要是對DSP的各種基礎知識的熟悉與理解,對DSP的真正深入是在公司工作以后。當初進公司,因為正有一個項目需要用5410接手。說實話,在學校期間自己5000的書都沒有看過一眼,可沒辦法,只能靠自己了。不過好的是自己2000DSP的基礎很好。接過項目后,第一個星期就全部看的是5000的指令,DSP的結構倒沒怎么看,因為項目硬件已成型,主要是算法。這樣,花了一個星期熟悉指令與項目相關的程序,第二個星期也就開始編程了。半個月以后對5410也就用很熟了的,當然主要還是講在算法方面。這個項目太概做了四個月吧,系統程序是自己編寫的,主要有如64位加減乘除乘方開方、及時域方面的一些算法?,F在又做一個控制系統,用2407開發的,硬件主要有直交變頻,并把2407的所有外設資源全部用到了。現在自己可以這樣自夸一句吧:TI的2000系列與5000系列的自己都熟悉,要以此做個系統,沒問題。上面是把自己搞DSP的經歷簡單說了一下的吧,在這里想對正在學及想學DSP的難兄們說一句的是,DSP并不是很難。當然,這個前提是你的基礎要好,自己本身單片機,接口都還行,當初就是從單片機改成DSP的。有了單片機的基礎再去學2000第列的DSP(下面的DSP單指2000系列,另有說明為止),你就可以把DSP看成一個super microcontroller了。相比之下,DSP除了比單片機多了更豐的外設接口(SPI,SCI、CAN、PWM、CAP、QEP等等),他就是一塊單片機,只不過在單片機來說你要另加芯片的工作,DSP全部把它做在一塊芯片去了,現在看DSP也真就這么簡單。前面有人提到DSP主要是做算法,這句話有一定的片面性: TI有很多系列的DSP,現在主流的DSP主要為2000系列、3000系列、4000系列、5000系列、6000系列。除了2000與5000系列是定點DSP外,其余的均為浮點系列。 TI的2000系列主要長處是在用于控制系統,因為它的資源非常豐富,前面提到,在控制系統中用到的一些外設2000系列均在片內集成了。 TI的5000系列主要長處是用于數字信號的算法處理,這里所講算法處理主要是指在數字信號處理時的一些算法,如FIR、IIR、FFT等等。5000系列的DSP的速度比2000快,2407最快只能到40M,2800系列除外,5410的DSP可以達到160M,如現在我們主要用來做數字信號方面的處理以及簡單的靜態圖像處理等這樣一些在資源需要處于中等的一些算法。 TI的6000系列主要是用在實時圖像處理,這個就更則重于算法處理。一般的硬件很少自制,我們是用TI的DSK板再加上自主板相結合。
[page]
使用C/C++語言編寫基于DSP程序的注意事項
 
1、 不影響執行速度的情況下,可以使用c或c/c++語言提供的函數庫,也可以自己設計函數,這樣更易于使用“裁縫師”優化處理,例如:進行絕對值運算,可以調用fabs()或abs()函數,也可以使用if...else...判斷語句來替代。
 
2、 要非常謹慎地使用局部變量,根據自己項目開發的需要,應盡可能多地使用全局變量和靜態變量。
 
3、 一定要非常重視中斷向量表的問題,很多朋友對中斷向量表的調用方式不清楚。其實中斷向量表中的中斷名是任意取定的,dsp是不認名字的,它只認地址。中斷向量表要重新定位。這一點很重要。
 
4、 要明確dsp軟件開發的第一步是對可用存儲空間的分析,存儲空間分配好壞關系到一個dsp程序員的水平。對于dsp,我們有兩種名稱的存儲空間,一種是物理空間,另一種是映射空間。物理空間是dsp上可以存放數據和程序的實際空間(包括外部存儲器),我們的數據和程序最終放到物理空間上,但我們并不能直接訪問它們。我們要訪問物理空間,必須借助于映射空間才行。但是映射空間本身是個“虛”空間,是個不存在的空間。所以,往往是映射空間遠遠大于實際的物理空間,有些映射空間,如io映射空間,它本身還代表了一種接口。只有那些物理空間映射到的映射空間才是我們真正可訪問(讀或寫)的存儲空間。
 
5、 盡可能地減少除法運算,而盡可能多地使用乘法和加法運算代替。
 
6、 如果ti公司或第三方軟件合作商提供了dsplib或其他的合法子程序庫供調用,應盡可能地調用使用。這些子程序均使用用匯編寫成,更為重要之處是通過了tms320算法標準測試。而且,常用的數字信號處理算法均有包括。
 
7、 盡可能地采用內聯函數。而不用一般的函數。可以提高代碼的集成度。
 
8、 編程風格力求簡煉。盡可能用c語言而不用c++語言。個人感到雖然c++終代碼長了一些,好象對執行速度沒有影響。
 
9、 因為在c5000中double型和float型均占有2個字,所以都可以使用,而且,可以直接將int型賦給float型或double型,但,盡可能地多使用int數據類型代替。這一點需要注意。
 
10、 程序最后至少要加上一個空行,編譯器當這個空行為結尾提示符。
 
11、 大膽使用位運算符,非常好用。
 
要采購硬件結構么,點這里了解一下價格!
特別推薦
技術文章更多>>
技術白皮書下載更多>>
熱門搜索

關閉

?

關閉

久久午夜影院,91精品国产调教在线观看,日韩午夜免费,伊人久久大香线蕉av不卡
国产精品99在线观看| 日韩中文字幕91| 青青青国产精品| 久久亚洲电影| 狠狠干成人综合网| 国产在线成人| 婷婷综合社区| 久久精品国产亚洲一区二区三区| 国产丝袜一区| 国产日本亚洲| 国产伦精品一区二区三区在线播放 | 欧美日韩国产综合网| 蜜桃国内精品久久久久软件9| 91精品一区二区三区综合在线爱| 日韩欧美午夜| 视频小说一区二区| 亚洲午夜91| 国产视频一区欧美| 亚洲专区欧美专区| 亚洲一区二区网站| 亚洲人成亚洲精品| 偷拍亚洲精品| 国产麻豆精品久久| 国产在线日韩精品| 日韩精品诱惑一区?区三区| 久久激情婷婷| 国产日韩专区| 日韩三级精品| 国产激情一区| 麻豆mv在线观看| 亚洲先锋成人| 蜜臀a∨国产成人精品| 日韩精品国产精品| 免费在线欧美黄色| 国产精品99一区二区三| 亚洲天堂一区二区| 国产一区白浆| 7777精品| 亚洲最新无码中文字幕久久| 亚州av乱码久久精品蜜桃| 在线国产精品一区| 国产精品一页| 久久久久一区| 日本一区二区三区中文字幕| 精品国产成人| 亚洲欧洲午夜| 国产日韩欧美| 麻豆精品蜜桃| 亚洲影视一区二区三区| 青草国产精品久久久久久| 高清精品久久| 亚洲一区国产| 欧美国产日本| 欧美天堂亚洲电影院在线观看| 午夜性色一区二区三区免费视频| 精品视频91| 香蕉久久夜色精品国产| 国产精品一区免费在线| 久久久久久久久丰满| 日韩欧美在线精品| 久久久男人天堂| 日韩一区免费| 91精品国产福利在线观看麻豆| 亚洲日本国产| 岛国av在线网站| 蜜臀91精品一区二区三区| 精品久久国产一区| 欧美中文日韩| 国产精品成人a在线观看| 综合激情在线| av亚洲一区二区三区| 日韩超碰人人爽人人做人人添| 日韩高清中文字幕一区二区| 日本不卡视频一二三区| 日韩中文字幕高清在线观看| 日本午夜精品久久久久| 亚洲手机视频| 麻豆精品在线观看| 日本欧美在线看| 色欧美自拍视频| 中文字幕一区二区三区四区久久 | 欧美午夜精彩| 欧美经典一区| 日韩精品一级中文字幕精品视频免费观看 | 亚洲影院天堂中文av色| 成人啊v在线| 久久不见久久见免费视频7| 日韩精品一二三| 日韩一区亚洲二区| 国产精品欧美在线观看| 热久久国产精品| 国产+成+人+亚洲欧洲在线| 日本在线成人| 亚洲神马久久| 91精品在线观看国产| 精品精品国产三级a∨在线| 亚洲精品影视| 欧美高清一区| 青青青免费在线视频| 国产精品一二| 无码日韩精品一区二区免费| 狠狠干综合网| 日韩国产一区二区| 国产精品久久久免费| 中文字幕一区二区三区四区久久| 亚洲精品91| 成人在线网站| 国产不卡人人| 精品免费视频| 久久免费精品| 国产精品1区在线| 久久黄色影视| 青青草国产成人99久久| 亚洲精品在线a| 亚洲三级av| 亚洲香蕉久久| 蜜臀av一区二区在线免费观看| 视频一区中文| 日韩不卡在线| 成人高清一区| 日韩av自拍| 日韩88av| 亚洲精品**中文毛片| 91一区二区三区四区| 国产一区二区三区免费在线 | 亚洲+小说+欧美+激情+另类| 香蕉成人久久| 久久高清一区| 在线精品国产亚洲| 涩涩涩久久久成人精品| 日韩欧美2区| 日韩高清二区| 日本91福利区| 国产伦一区二区三区| 国产精品欧美大片| 美女久久精品| 国产一区二区三区四区大秀 | 国产传媒av在线| 成人欧美一区二区三区的电影| 中国字幕a在线看韩国电影| 日韩中文欧美| 九色精品91| 亚洲欧美网站| 午夜精品影视国产一区在线麻豆| 日韩av一区二区三区| 亚州国产精品| 久久国产三级| 久久xxx视频| 成人片免费看| 一区在线视频观看| 午夜亚洲福利| 嫩草伊人久久精品少妇av杨幂| 国产一区二区三区日韩精品| 电影亚洲精品噜噜在线观看| 亚洲高清av| 久久高清一区| 欧美日韩夜夜| 欧美日韩国产观看视频| 黄色精品网站| 日韩高清不卡一区| 久久久久久亚洲精品美女| 午夜av不卡| 国产视频一区免费看| 日韩精品国产欧美| 国产aⅴ精品一区二区四区| 激情综合网站| 午夜视频一区二区在线观看| 国产精品巨作av| 美女av在线免费看| 日韩视频精品在线观看| 日韩欧美另类中文字幕| 精品国产乱码久久久久久樱花 | 亚洲精品88| 国产一区91| 美美哒免费高清在线观看视频一区二区| 日韩福利在线观看| 黄毛片在线观看| 久久高清免费观看| 国产精品对白久久久久粗| 久久久噜噜噜| 亚洲精品高潮| 日韩av在线中文字幕| 亚洲在线免费| 麻豆精品av| 午夜视频精品| 国产亚洲精品美女久久| 日韩和的一区二在线| 涩涩涩久久久成人精品| 日韩av有码| 99re国产精品| 狂野欧美性猛交xxxx| 婷婷丁香综合| 国产精品最新| 欧美日韩三区| 欧美黄页在线免费观看| 久久国产成人| av资源新版天堂在线| 日日夜夜免费精品视频| av高清一区| 国产调教精品|