怎樣學(xué)習嵌入式硬件開(kāi)發(fā)?

2018-10-16 14:31:32分類(lèi):行業(yè)資訊6109

  
 

  學(xué)習某個(gè)學(xué)科,踏入某個(gè)行業(yè),最佳的動(dòng)力是興趣,學(xué)習它能給你帶來(lái)快樂(lè ),能夠愉悅自己,也就能走的更遠;稍次一點(diǎn)的動(dòng)力是可以帶來(lái)money,我們每個(gè)人都要生活的,賺錢(qián)是為了養活自己和家人,所以這個(gè)理由也是很充分的;也可以是周?chē)膲毫?,別人都會(huì ),我也要會(huì ),補齊和別人的差距,這個(gè)范圍就有點(diǎn)窄了。

  在進(jìn)入硬件這個(gè)行業(yè)的時(shí)候,更加注重進(jìn)入的動(dòng)力,因為它的特殊性,如果你們沒(méi)有很好的動(dòng)力支撐,很容易堅持不下來(lái)。
 


 

  什么是嵌入式硬件?

  既然今天咱們的話(huà)題是如何學(xué)習嵌入式硬件,咱們有必要先了解一下什么是嵌入式硬件。硬件(電子產(chǎn)品),顧名思義就是看的見(jiàn)得東西,是相對于軟件這種看不到的東西來(lái)說(shuō)的,一般是指電子產(chǎn)品中的PCB及之上的電子元器件。嵌入式硬件,是硬件的一種,一般是指有微控制器及外部功能實(shí)現模塊的硬件集合?,F在這兩種概念幾乎相同。

  目前可以說(shuō),只要是涉及到電子控制的行業(yè),都會(huì )用到嵌入式產(chǎn)品,就會(huì )包含嵌入式硬件。
 


 

  如何學(xué)習嵌入式硬件?

  硬件學(xué)習實(shí)際上是一個(gè)很大的面,你需要學(xué)習的知識有很多,需要了解的面也有很多。

  大體可以分為兩部分:硬件和軟件。

  1、硬件基礎。

  學(xué)習嵌入式硬件,首先你需要有一定的硬件基礎?;镜碾姶盼锢矶?,電路,數電,模電等需要了解。

  學(xué)會(huì )使用一種單片機,不論是8位、16位或者是32位,學(xué)習單片機接口的應用,向UART、IIC、SPI、USB、CAN、RS232、RS485等。

  應當熟練使用一種原理圖PCB繪制軟件,目前常用的軟件有Altium Designer、PADS、OrCAD/Allegro,只要掌握其中的一種即可。

  熟練掌握各種元器件的原理及電氣特性,并依據此綜合特性、成本、供應等各個(gè)方面進(jìn)行器件選型。

  最好有一定的英語(yǔ)基礎,會(huì )看各種芯片的數據手冊(datasheet),會(huì )使用翻譯軟件看懂也是可以的。

  還要有良好的動(dòng)手能力,熟練使用各種調試儀器如萬(wàn)用表、示波器、邏輯分析儀等,還要會(huì )使用EMC測試儀器如雷擊浪涌發(fā)生器、脈沖群發(fā)生器、靜電槍等。一個(gè)硬件產(chǎn)品,各種電磁兼容實(shí)驗是要過(guò)的。

  還需要知道一些標準,這個(gè)就要要看你從事什么行業(yè)了,一般是看國際標準/國家標準,行業(yè)標準標,企業(yè)標準等。

  2、軟件基礎

  軟件的要求稍微簡(jiǎn)單了就。一般嵌入式硬件所使用的是C語(yǔ)言,所以需要會(huì )用C語(yǔ)言調試你的硬件。如果是驅動(dòng)方面,還要了解各種硬件接口的協(xié)議。

  學(xué)習過(guò)程參考

  如果是初學(xué)者,看到如此多的知識學(xué)肯定會(huì )大吃一驚,實(shí)際上完全不用擔心,因為硬件學(xué)習是一個(gè)積累的過(guò)程,在應用中學(xué)習,用到什么學(xué)什么,當然提前儲備更好,不容易錯過(guò)機會(huì )。每一個(gè)優(yōu)秀的硬件工程師都是經(jīng)過(guò)時(shí)間積累練就的。

  當然必備的基礎知識還是要學(xué)的。如果你是零基礎的話(huà),C語(yǔ)言是要學(xué)習的,還要學(xué)習至少一種單片機的基本結構。C語(yǔ)言,你可以不用全部都學(xué),基本的關(guān)鍵字熟記,基本語(yǔ)句會(huì )用,基本的數據結構明白即可;單片機結構可以從51單片機的結構學(xué)習,因為比較簡(jiǎn)單,相對比較容易學(xué)習,也可以直接學(xué)習ARM單片機的結構,因為目前使用最多,需要知道單片機的最小系統,了解單片機的中斷,會(huì )使用基本的外設,像GPIO、定時(shí)器等。

  學(xué)習完C語(yǔ)言及一種單片機的使用,可以對單片機有個(gè)大體的了解及簡(jiǎn)單的應用。

  此時(shí)可以開(kāi)始學(xué)習簡(jiǎn)單的原理圖PCB繪制軟件,有條件可以畫(huà)一個(gè)單片機最小系統板,把所有接口引出來(lái),作為后續學(xué)習使用。在自己做的板子上運行自己的代碼還是很有成就感的,當然你也可以買(mǎi)一個(gè)配套的開(kāi)發(fā)板,現在開(kāi)發(fā)板有很多,買(mǎi)一個(gè)合適的開(kāi)發(fā)板即可。

  接下來(lái)就是拓展單片機的外設使用,UART、IIC、SPI等,不僅僅是學(xué)習它是如何使用,還要知道它的硬件實(shí)現及電氣特性,當然學(xué)習所有的接口都要這樣。同時(shí)結合這些接口的使用深入C語(yǔ)言的學(xué)習應用。

  當這些基本外設都學(xué)習完成后,此時(shí)就可以依照自己的想法做一些特定功能的硬件了。如果是要找工作的同學(xué),就可以加入相關(guān)單片機使用的公司邊工作邊學(xué)習,因為在實(shí)際的應用項目中可以加速學(xué)習。如果是自學(xué)的同學(xué),此時(shí)需要尋找一個(gè)團隊或者參加電子設計大賽來(lái)加速自己的學(xué)習。

  注意此處有一個(gè)職位選擇的分叉點(diǎn):硬件工程師&單片機工程師,當然實(shí)際應用中可能沒(méi)有分這么清,具體看公司的職務(wù)范圍。

  硬件工程師偏向于原理圖/PCB設計,硬件的調試,關(guān)注產(chǎn)品的EMC性能。此時(shí)就需要好好學(xué)習一種原理圖/PCB設計軟件,然后開(kāi)始儲備EMC相關(guān)的知識了。

  單片機工程師偏向應用,主要是如何高效、穩健的實(shí)現功能,至于EMC等方面的知識了解即可。

  當然,如果有時(shí)間,最好都學(xué),你掌握的知識越全面,思考的越全面,做出的產(chǎn)品就越好。

  學(xué)習一定會(huì )有一個(gè)高原期或者幾個(gè)高原期,此時(shí)一定要堅持下去,應當有一種不經(jīng)歷風(fēng)雨如何見(jiàn)彩虹的信念。

  當這些基本的單片機應用已經(jīng)不能滿(mǎn)足你的求知欲或者公司做的產(chǎn)品越來(lái)越復雜,此時(shí)可以考慮更高級的應用了。畢竟人總是要進(jìn)步的,但是前提是你的基礎要打的比較牢??梢詫W(xué)習一下多層板的繪制,高頻知識的學(xué)習、PCB繪制(當然這個(gè)是比較費錢(qián)的),學(xué)習一下DSP、FPGA等相關(guān)芯片,用一下RTOS(不論是FreeRTOS還是uCosII/III還是其他)。學(xué)習如何使用嵌入式Linux操作系統。有機會(huì )可以學(xué)習一下操作系統原理相關(guān)知識。

  這里需要說(shuō)明一下Linux系統的學(xué)習。因為這個(gè)是單片機裸跑與使用操作系統的分水嶺(RTOS只能算是裸跑的延伸)。Linux操作系統知識比較多,學(xué)習的時(shí)候可能就需要有側重點(diǎn)的學(xué)習了,可以選擇上層應用的開(kāi)發(fā),此時(shí)就是嵌入式軟件的開(kāi)發(fā),也可以做底層驅動(dòng),跟硬件接觸還是比較密切的。當然還是之前那句話(huà),有時(shí)間都學(xué),對于你的發(fā)展是好的。無(wú)論側重什么方面,Linux基礎都是需要了解的?;静僮髅?,系統裁剪等需要掌握。最好的學(xué)習就是邊實(shí)踐邊學(xué)習,這應該是貫穿整個(gè)硬件學(xué)習的全過(guò)程。

  當你學(xué)習了單片機應用,原理圖/PCB繪制,器件選型,Linux系統操作,產(chǎn)品EMC性能等后,恭喜你,你的嵌入式硬件知識面廣度已經(jīng)夠啦!你可以自由的選擇想要去的公司了(因為你都懂,但是能不能去就要看你的能力了)。當然技術(shù)是在不斷進(jìn)步的,所以學(xué)習是不能終止的。

  接下來(lái)你就需要選擇一個(gè)深度了,一個(gè)人的精力是有限的,不管你承認不承認(當然天才除外)。選擇一個(gè)你感興趣的方向,注意一定是感興趣的方向,深入下去,繼續學(xué)習,購買(mǎi)專(zhuān)業(yè)書(shū)籍、參加專(zhuān)業(yè)培訓……,抓住一切能提高你專(zhuān)業(yè)技能的機會(huì ),并且堅持下去,慢慢你會(huì )發(fā)現,你已經(jīng)成為這個(gè)方面的專(zhuān)家了。你選擇的方向也決定了你的工作的行業(yè),所以需要選擇一個(gè)有發(fā)展前途的公司。

  以上學(xué)習過(guò)程只是一個(gè)參考,除了基礎知識是必須要學(xué)習外,其他順序是可以改變的,而且也并不一定全部學(xué)完,因為包含的內容太多。比如說(shuō),我學(xué)完C語(yǔ)言,然后直接去學(xué)習Linux操作,然后再學(xué)習硬件相關(guān)的知識,也是可以的。如果項目中用不到DSP、FPGA相關(guān)的東西,可以先不學(xué),等以后實(shí)際用到了再開(kāi)始學(xué)習。不過(guò)應該明白一點(diǎn),硬件知識的學(xué)習是一個(gè)積累的過(guò)程,越早學(xué)習對你后續的發(fā)展越好,當然你要立志做一個(gè)軟件工程師就當我沒(méi)說(shuō)。

  小結分享

  賽億方案十三年電子產(chǎn)品硬件及嵌入式軟件開(kāi)發(fā)設計經(jīng)驗,累計開(kāi)發(fā)產(chǎn)品電子應用設計完成5000多個(gè)方案設計;目前為客戶(hù)提供理念超前的手機APP開(kāi)發(fā)、智能家居系統、電子技術(shù)、電子線(xiàn)路設計、PCB設計、電路板設計、單片機技術(shù)、智能控制、嵌入式系統等。如有產(chǎn)品方案開(kāi)發(fā)意向,期待您的來(lái)訪(fǎng)。

上一篇:下一篇: