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