作者:zhuwei0710 DSP是嵌入式開發(fā)處理器的三大巨頭之一,很多剛剛接觸DSP的朋友大都會(huì)有這些疑問,為什么要用DSP?DSP是什么、能干嘛?有沒有前途,或者有沒有“錢途”?好不好學(xué)?該怎么學(xué)?今天就和大家聊下學(xué)習(xí)DSP得知道的那些事兒。 一、為什么要用DSP? 3G通信技術(shù)的發(fā)展,要求處理器的速度越來越高,體積越來越小,MCU的速度較慢;CPU體積大、功耗高;嵌入CPU的成本較高。DSP的發(fā)展正好能滿足這一發(fā)展的要求,使其在許多速度要求較高、算法較復(fù)雜的場合取代MCU或其它處理器,而且綜合成本有可能更低。 二、DSP是什么、能干嘛? 想了解這些,就得一個(gè)概念講起,DSP首先是Digital Signal Processing(數(shù)字信號處理),然后才是Digital Singnal Processor(數(shù)字信號處理器)。具體關(guān)于DSP的介紹,請參考小弟的《三國殺之FPGA與ASIC、DSP全面大比拼!》,你能找到你想要的知識(shí),也能找到學(xué)習(xí)DSP的動(dòng)力。 三、DSP有沒有前途(“錢途”)? 很多人都覺得做技術(shù)就是苦逼,哪來的什么前途,一定要轉(zhuǎn)做技術(shù)管理或銷售。以前我也這般認(rèn)為,但現(xiàn)在越來越多的事實(shí)證明,這就是一個(gè)謬論,DSP相當(dāng)有錢途!舉兩個(gè)例子:其一,某位DSP的資深A(yù)E,可以算是中國區(qū)該領(lǐng)域的專家,年薪不菲(60萬以上),走遍世界,工作也很輕松;其二,某知名電信公司晉升年限一樣的技術(shù)專家比同級的經(jīng)理薪酬要高,如Expert(專家級)與管理大概50個(gè)人的經(jīng)理相比,前者的薪酬要更高。 肯定有人說哪這么多高端人士,大家都是正常人類。好吧,那來個(gè)正常的數(shù)據(jù),京滬深的DSP工程師起薪基本上是10K/月,就是1萬現(xiàn)大洋,滿意了吧。 四、DSP好不好學(xué)? 不管你喜不喜歡,學(xué)習(xí)DSP就必須得面對她:算法。算法是DSP的精華,可以說擺平了算法就搞定了80%,如果你又懂單片機(jī)編程,那么恭喜你有成為DSP專家的潛力。肯定有童鞋問算法到底好不好學(xué)呢?算法,聽上去是很高深的東西,但其原理也不過就是一些加減乘而已,連除都很少。肯定有童鞋又問,加減乘不就是小學(xué)生的算術(shù)嘛?是的, DSP 的算法也許就比小學(xué)生的算術(shù)難一滴滴。聽完這些,你肯定樂呵呵:DSP挺好學(xué)的嘛。 五、DSP該怎么學(xué)? 這是個(gè)大問題,這里涉及到選開發(fā)板、看書、做實(shí)驗(yàn),下面咱們詳細(xì)講這幾個(gè)問題: 1、如何DSP開發(fā)板? 咱們在討論選開發(fā)板之前,得先解決要學(xué)哪種DSP。科普一下,DSP分為通用型DSP芯片和專用型DSP芯片,通用型DSP芯片適合普通的DSP應(yīng)用,如TI,ADI等公司的DSP芯片屬于通用型DSP芯片;專用DSP芯片是為特定的DSP運(yùn)算而設(shè)計(jì)的,更適合特殊的運(yùn)算,如數(shù)字濾波、卷積和FFT,如如Motorola公司的DSP56200。學(xué)習(xí)DSP是當(dāng)然為了找工作掙錢的,那自然是要學(xué)TI的通用型DSP,為什么呢,因?yàn)門I 占有最大的市場份額(世界市場45%的份額),咱總不能學(xué)一個(gè)沒有市場的DSP吧。 DSP是一門實(shí)踐性很強(qiáng)的專業(yè),要想快速精通,就必須有自己的操作平臺(tái)。這樣既可以增強(qiáng)動(dòng)手能力,也可以節(jié)約很多時(shí)間。所以,對于初學(xué)者來說,選擇一款性價(jià)比較高的開發(fā)板很重要。下面咱們就選開發(fā)板了,TI 公司現(xiàn)在主推四大系列DSP: 1)C2000 系列(定點(diǎn)、控制器):C20X,F(xiàn)20X,F(xiàn)24X,F(xiàn)24XX ,C28x,用于數(shù)字化控制領(lǐng)域;2)C5000 系列(定點(diǎn)、低功耗):C54X,C54XX,C55X,用于通信、便攜式應(yīng)用領(lǐng)域;3)C6000 系列:C62XX,C67XX,C64X,用于寬帶網(wǎng)絡(luò)和數(shù)字影像領(lǐng)域;4)OMAP 系列:TI專門為支持2.5G和3G手機(jī)應(yīng)用需求而設(shè)計(jì)的處理器體系結(jié)構(gòu)(DSP+MCU+MTC內(nèi)存和流量控制器)。雖然有這么多型號的DSP,但作為初學(xué)者,我們當(dāng)然要選擇C2000 系列,而且要選擇F2810/F2812,這是業(yè)界最強(qiáng)大的控制專用DSP,還有一個(gè)升級版:28335。開發(fā)板的主控芯片選取了,至于具體選哪個(gè)品牌的開發(fā)板,價(jià)格從幾百到幾千不等,具體看個(gè)人預(yù)算。 開發(fā)板選擇有這么兩個(gè)原則:1)適當(dāng)?shù)耐庠O(shè)。最小系統(tǒng)板雖然便宜但不利于咱們學(xué)習(xí)(最小系統(tǒng)是給高手DIY的),沒外設(shè)搞起來沒有成就感,沒幾天就煩了,所以得有適當(dāng)?shù)耐庠O(shè);功能堆疊型開發(fā)板雖然功能豐富,但是貴,也不適合咱們初學(xué)。初學(xué)嘛,沒創(chuàng)造什么效益,自然是以節(jié)約為主。有基本的外設(shè)就行了,最重要的是學(xué)習(xí)接口,比如SPI、SCI、CAN,不管你以后做什么項(xiàng)目都通過這些接口連接外圍電路。2)例程。光有代碼的例程不是好例程。例程一定要詳細(xì)、模塊化。總之,寧可選差開發(fā)板也不要選差例程(當(dāng)然最好開發(fā)板也要好,不然用著也難受),例程才是靈魂。至于具體品牌就不推薦了,以免有做廣告之嫌。 2、如何選擇教程? 這是個(gè)人認(rèn)為比較好的書目:江思敏主編的《TMS320LF240xDSP硬件開發(fā)教程》、彭啟琮等主編的《DSP的發(fā)展與應(yīng)用》、朱銘鋯等主編的《DSP應(yīng)用系統(tǒng)設(shè)計(jì)》、鄔可軍、朱銘鋯等主編的《DSP實(shí)時(shí)多任務(wù)操作系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)》、劉和平等主編的《TMS320LF240xDSPC語言開發(fā)應(yīng)用》、何蘇勤主編的《TMS320C2000系列DSP原理與應(yīng)用技術(shù)》等。 之所以介紹教程,主要是想和大家講怎么看,這才是重點(diǎn)。1)第一遍不用太詳細(xì),把大體的知識(shí)了解一下;2)重點(diǎn)了解2812的片內(nèi)資源的分配情況,尤其是存儲(chǔ)器的映射。掌握bootload的工作原理,知道程序是在哪里、怎么啟動(dòng)的。這一部分比較枯燥,所以我建議大家直接跳到第3步,然后再回來看2,這樣更容易理解;3)看例程。要有針對性的看,比如你做SPI,你就直接看SPI那章,看例程里的各種寄存器是怎么配置的,然后記住這些重要的寄存器,方便以后自己寫代碼。 3、如何做實(shí)驗(yàn)? 說白了,DSP就是能處理大量數(shù)據(jù)的單片機(jī),所以DSP的學(xué)習(xí)方法也與普通單片機(jī)并無二致,你怎么學(xué)單片機(jī)就怎么學(xué)DSP,但DSP不像單片機(jī)那么容易上手(大家不要忘記算法),所以得多花點(diǎn)功夫,畢竟他的價(jià)值不一樣,可以理解。 強(qiáng)調(diào)一點(diǎn)學(xué)習(xí)是為了應(yīng)用,所以一定要帶著項(xiàng)目來學(xué)習(xí),比如在大概了解了DSP后,就要針對性的學(xué)習(xí),你的項(xiàng)目用到SPI接口,你就直接看SPI,其他的就可以暫時(shí)不看,這不是取巧,而是實(shí)用。 六、DSP工程師能力分幾個(gè)層次? 這算是DSP工程師的職業(yè)演進(jìn)方向,所以大家可以據(jù)此定位DSP的學(xué)習(xí)目標(biāo)及工作方向。 1、模塊級DSP工程師 能力特點(diǎn):初步接觸DSP,可以對DSP上的某些外設(shè)進(jìn)行編程,一心只關(guān)注程序能不能Run起來,能不能跑出看似正確的結(jié)果。與圖片中展示的情形一樣,此階段的DSP工程師尚處于迷茫期。 知識(shí)結(jié)構(gòu):C(C++)語言、數(shù)字與模擬電路基礎(chǔ)、軟硬件調(diào)試基礎(chǔ)、硬件設(shè)計(jì)基礎(chǔ)。 2、芯片級DSP工程師 能力特點(diǎn):能夠與其它設(shè)計(jì)人員協(xié)同,按要求完成整個(gè)芯片的開發(fā)任務(wù)。這一階段的DSP工程師認(rèn)為已經(jīng)能掌握一切,就象圖片中一樣故作老成。 知識(shí)結(jié)構(gòu):匯編語言、編譯器與鏈接器行為、嵌入式操作系統(tǒng)(DSPBIOS、OSEck等)、DSP外圍電路設(shè)計(jì)、軟件工程、測試方法、DSP優(yōu)化方法。 3、系統(tǒng)級DSP工程師 能力特點(diǎn):能從產(chǎn)品功能特點(diǎn)出發(fā),進(jìn)行合理的芯片選型,能夠系統(tǒng)的協(xié)調(diào)軟硬件功能,保證DSP相關(guān)任務(wù)的質(zhì)量與進(jìn)度,也能夠?qū)SP相關(guān)工作流程提出改進(jìn)建議。能夠走到這一步的工程師,可以說已經(jīng)幾經(jīng)磨煉,變得穩(wěn)重而謹(jǐn)慎,渾身上下充滿著專業(yè)的態(tài)度與職業(yè)素質(zhì)。 知識(shí)結(jié)構(gòu):代碼質(zhì)量控制、多核處理器架構(gòu)(含同構(gòu)與異構(gòu))、CPLD/FPGA設(shè)計(jì)基礎(chǔ)、某一種GCP(ARM/PowerPC/MIPS等)知識(shí)、軟件版本控制(CVS)、DSP內(nèi)核行為、深入的DSP優(yōu)化方法。 4、 架構(gòu)級DSP工程師 能力特點(diǎn):了解所從事的行業(yè)形勢,清楚公司產(chǎn)品在市場中發(fā)展情況以及優(yōu)劣勢。能夠從公司戰(zhàn)略出發(fā),對整個(gè)產(chǎn)品的開發(fā)過程進(jìn)行協(xié)調(diào)、量化與控制,對產(chǎn)品設(shè)計(jì)進(jìn)行修正。這個(gè)時(shí)期的工程師,除了擁有讓人敬佩的專業(yè)技術(shù)外,更加擁有了運(yùn)籌帷幄的能力,以及更加成熟的人生態(tài)度。 知識(shí)結(jié)構(gòu):行業(yè)背景、產(chǎn)品設(shè)計(jì)、管理工程、DSP前沿技術(shù)跟蹤、系統(tǒng)建模方法、系統(tǒng)測試與評估方法、工程質(zhì)量管理。 啰嗦一大堆,希望能幫到大家,如有問題歡迎大家到DSP版塊提問,我們有最優(yōu)秀的版主第一時(shí)間解答您的問題。 |