2018-10-16 14:31:32分類:行業(yè)資訊6326
學(xué)習(xí)某個學(xué)科,踏入某個行業(yè),最佳的動力是興趣,學(xué)習(xí)它能給你帶來快樂,能夠愉悅自己,也就能走的更遠(yuǎn);稍次一點(diǎn)的動力是可以帶來money,我們每個人都要生活的,賺錢是為了養(yǎng)活自己和家人,所以這個理由也是很充分的;也可以是周圍的壓力,別人都會,我也要會,補(bǔ)齊和別人的差距,這個范圍就有點(diǎn)窄了。
在進(jìn)入硬件這個行業(yè)的時候,更加注重進(jìn)入的動力,因為它的特殊性,如果你們沒有很好的動力支撐,很容易堅持不下來。
什么是嵌入式硬件?
既然今天咱們的話題是如何學(xué)習(xí)嵌入式硬件,咱們有必要先了解一下什么是嵌入式硬件。硬件(電子產(chǎn)品),顧名思義就是看的見得東西,是相對于軟件這種看不到的東西來說的,一般是指電子產(chǎn)品中的PCB及之上的電子元器件。嵌入式硬件,是硬件的一種,一般是指有微控制器及外部功能實現(xiàn)模塊的硬件集合?,F(xiàn)在這兩種概念幾乎相同。
目前可以說,只要是涉及到電子控制的行業(yè),都會用到嵌入式產(chǎn)品,就會包含嵌入式硬件。
如何學(xué)習(xí)嵌入式硬件?
硬件學(xué)習(xí)實際上是一個很大的面,你需要學(xué)習(xí)的知識有很多,需要了解的面也有很多。
大體可以分為兩部分:硬件和軟件。
1、硬件基礎(chǔ)。
學(xué)習(xí)嵌入式硬件,首先你需要有一定的硬件基礎(chǔ)?;镜碾姶盼锢矶桑娐?,數(shù)電,模電等需要了解。
學(xué)會使用一種單片機(jī),不論是8位、16位或者是32位,學(xué)習(xí)單片機(jī)接口的應(yīng)用,向UART、IIC、SPI、USB、CAN、RS232、RS485等。
應(yīng)當(dāng)熟練使用一種原理圖PCB繪制軟件,目前常用的軟件有Altium Designer、PADS、OrCAD/Allegro,只要掌握其中的一種即可。
熟練掌握各種元器件的原理及電氣特性,并依據(jù)此綜合特性、成本、供應(yīng)等各個方面進(jìn)行器件選型。
最好有一定的英語基礎(chǔ),會看各種芯片的數(shù)據(jù)手冊(datasheet),會使用翻譯軟件看懂也是可以的。
還要有良好的動手能力,熟練使用各種調(diào)試儀器如萬用表、示波器、邏輯分析儀等,還要會使用EMC測試儀器如雷擊浪涌發(fā)生器、脈沖群發(fā)生器、靜電槍等。一個硬件產(chǎn)品,各種電磁兼容實驗是要過的。
還需要知道一些標(biāo)準(zhǔn),這個就要要看你從事什么行業(yè)了,一般是看國際標(biāo)準(zhǔn)/國家標(biāo)準(zhǔn),行業(yè)標(biāo)準(zhǔn)標(biāo),企業(yè)標(biāo)準(zhǔn)等。
2、軟件基礎(chǔ)
軟件的要求稍微簡單了就。一般嵌入式硬件所使用的是C語言,所以需要會用C語言調(diào)試你的硬件。如果是驅(qū)動方面,還要了解各種硬件接口的協(xié)議。
學(xué)習(xí)過程參考
如果是初學(xué)者,看到如此多的知識學(xué)肯定會大吃一驚,實際上完全不用擔(dān)心,因為硬件學(xué)習(xí)是一個積累的過程,在應(yīng)用中學(xué)習(xí),用到什么學(xué)什么,當(dāng)然提前儲備更好,不容易錯過機(jī)會。每一個優(yōu)秀的硬件工程師都是經(jīng)過時間積累練就的。
當(dāng)然必備的基礎(chǔ)知識還是要學(xué)的。如果你是零基礎(chǔ)的話,C語言是要學(xué)習(xí)的,還要學(xué)習(xí)至少一種單片機(jī)的基本結(jié)構(gòu)。C語言,你可以不用全部都學(xué),基本的關(guān)鍵字熟記,基本語句會用,基本的數(shù)據(jù)結(jié)構(gòu)明白即可;單片機(jī)結(jié)構(gòu)可以從51單片機(jī)的結(jié)構(gòu)學(xué)習(xí),因為比較簡單,相對比較容易學(xué)習(xí),也可以直接學(xué)習(xí)ARM單片機(jī)的結(jié)構(gòu),因為目前使用最多,需要知道單片機(jī)的最小系統(tǒng),了解單片機(jī)的中斷,會使用基本的外設(shè),像GPIO、定時器等。
學(xué)習(xí)完C語言及一種單片機(jī)的使用,可以對單片機(jī)有個大體的了解及簡單的應(yīng)用。
此時可以開始學(xué)習(xí)簡單的原理圖PCB繪制軟件,有條件可以畫一個單片機(jī)最小系統(tǒng)板,把所有接口引出來,作為后續(xù)學(xué)習(xí)使用。在自己做的板子上運(yùn)行自己的代碼還是很有成就感的,當(dāng)然你也可以買一個配套的開發(fā)板,現(xiàn)在開發(fā)板有很多,買一個合適的開發(fā)板即可。
接下來就是拓展單片機(jī)的外設(shè)使用,UART、IIC、SPI等,不僅僅是學(xué)習(xí)它是如何使用,還要知道它的硬件實現(xiàn)及電氣特性,當(dāng)然學(xué)習(xí)所有的接口都要這樣。同時結(jié)合這些接口的使用深入C語言的學(xué)習(xí)應(yīng)用。
當(dāng)這些基本外設(shè)都學(xué)習(xí)完成后,此時就可以依照自己的想法做一些特定功能的硬件了。如果是要找工作的同學(xué),就可以加入相關(guān)單片機(jī)使用的公司邊工作邊學(xué)習(xí),因為在實際的應(yīng)用項目中可以加速學(xué)習(xí)。如果是自學(xué)的同學(xué),此時需要尋找一個團(tuán)隊或者參加電子設(shè)計大賽來加速自己的學(xué)習(xí)。
注意此處有一個職位選擇的分叉點(diǎn):硬件工程師&單片機(jī)工程師,當(dāng)然實際應(yīng)用中可能沒有分這么清,具體看公司的職務(wù)范圍。
硬件工程師偏向于原理圖/PCB設(shè)計,硬件的調(diào)試,關(guān)注產(chǎn)品的EMC性能。此時就需要好好學(xué)習(xí)一種原理圖/PCB設(shè)計軟件,然后開始儲備EMC相關(guān)的知識了。
單片機(jī)工程師偏向應(yīng)用,主要是如何高效、穩(wěn)健的實現(xiàn)功能,至于EMC等方面的知識了解即可。
當(dāng)然,如果有時間,最好都學(xué),你掌握的知識越全面,思考的越全面,做出的產(chǎn)品就越好。
學(xué)習(xí)一定會有一個高原期或者幾個高原期,此時一定要堅持下去,應(yīng)當(dāng)有一種不經(jīng)歷風(fēng)雨如何見彩虹的信念。
當(dāng)這些基本的單片機(jī)應(yīng)用已經(jīng)不能滿足你的求知欲或者公司做的產(chǎn)品越來越復(fù)雜,此時可以考慮更高級的應(yīng)用了。畢竟人總是要進(jìn)步的,但是前提是你的基礎(chǔ)要打的比較牢??梢詫W(xué)習(xí)一下多層板的繪制,高頻知識的學(xué)習(xí)、PCB繪制(當(dāng)然這個是比較費(fèi)錢的),學(xué)習(xí)一下DSP、FPGA等相關(guān)芯片,用一下RTOS(不論是FreeRTOS還是uCosII/III還是其他)。學(xué)習(xí)如何使用嵌入式Linux操作系統(tǒng)。有機(jī)會可以學(xué)習(xí)一下操作系統(tǒng)原理相關(guān)知識。
這里需要說明一下Linux系統(tǒng)的學(xué)習(xí)。因為這個是單片機(jī)裸跑與使用操作系統(tǒng)的分水嶺(RTOS只能算是裸跑的延伸)。Linux操作系統(tǒng)知識比較多,學(xué)習(xí)的時候可能就需要有側(cè)重點(diǎn)的學(xué)習(xí)了,可以選擇上層應(yīng)用的開發(fā),此時就是嵌入式軟件的開發(fā),也可以做底層驅(qū)動,跟硬件接觸還是比較密切的。當(dāng)然還是之前那句話,有時間都學(xué),對于你的發(fā)展是好的。無論側(cè)重什么方面,Linux基礎(chǔ)都是需要了解的?;静僮髅?,系統(tǒng)裁剪等需要掌握。最好的學(xué)習(xí)就是邊實踐邊學(xué)習(xí),這應(yīng)該是貫穿整個硬件學(xué)習(xí)的全過程。
當(dāng)你學(xué)習(xí)了單片機(jī)應(yīng)用,原理圖/PCB繪制,器件選型,Linux系統(tǒng)操作,產(chǎn)品EMC性能等后,恭喜你,你的嵌入式硬件知識面廣度已經(jīng)夠啦!你可以自由的選擇想要去的公司了(因為你都懂,但是能不能去就要看你的能力了)。當(dāng)然技術(shù)是在不斷進(jìn)步的,所以學(xué)習(xí)是不能終止的。
接下來你就需要選擇一個深度了,一個人的精力是有限的,不管你承認(rèn)不承認(rèn)(當(dāng)然天才除外)。選擇一個你感興趣的方向,注意一定是感興趣的方向,深入下去,繼續(xù)學(xué)習(xí),購買專業(yè)書籍、參加專業(yè)培訓(xùn)……,抓住一切能提高你專業(yè)技能的機(jī)會,并且堅持下去,慢慢你會發(fā)現(xiàn),你已經(jīng)成為這個方面的專家了。你選擇的方向也決定了你的工作的行業(yè),所以需要選擇一個有發(fā)展前途的公司。
以上學(xué)習(xí)過程只是一個參考,除了基礎(chǔ)知識是必須要學(xué)習(xí)外,其他順序是可以改變的,而且也并不一定全部學(xué)完,因為包含的內(nèi)容太多。比如說,我學(xué)完C語言,然后直接去學(xué)習(xí)Linux操作,然后再學(xué)習(xí)硬件相關(guān)的知識,也是可以的。如果項目中用不到DSP、FPGA相關(guān)的東西,可以先不學(xué),等以后實際用到了再開始學(xué)習(xí)。不過應(yīng)該明白一點(diǎn),硬件知識的學(xué)習(xí)是一個積累的過程,越早學(xué)習(xí)對你后續(xù)的發(fā)展越好,當(dāng)然你要立志做一個軟件工程師就當(dāng)我沒說。
小結(jié)分享
賽億方案十三年電子產(chǎn)品硬件及嵌入式軟件開發(fā)設(shè)計經(jīng)驗,累計開發(fā)產(chǎn)品電子應(yīng)用設(shè)計完成5000多個方案設(shè)計;目前為客戶提供理念超前的手機(jī)APP開發(fā)、智能家居系統(tǒng)、電子技術(shù)、電子線路設(shè)計、PCB設(shè)計、電路板設(shè)計、單片機(jī)技術(shù)、智能控制、嵌入式系統(tǒng)等。如有產(chǎn)品方案開發(fā)意向,期待您的來訪。