初學(xué)者必看!電子硬件知識(shí)體系
最近有不少軟件領(lǐng)域的牛人進(jìn)軍硬件行業(yè),但不知從何處入手。相信每個(gè)人面對(duì)一個(gè)龐大的知識(shí)體系時(shí)都一樣迷茫。最佳的應(yīng)對(duì)策略就是找一個(gè)最貼近自己需求的切入點(diǎn),然后向四面八方鋪開去逐漸認(rèn)識(shí)整個(gè)知識(shí)網(wǎng)絡(luò)。這篇文章就是為了讓你在這個(gè)知識(shí)網(wǎng)里面找到自己現(xiàn)在的位置,然后有目的有方向地選擇下一步。
簡(jiǎn)單來講硬件的體系像軟件一樣也分層:
最底層是包含電學(xué)現(xiàn)象在內(nèi)的微觀物理現(xiàn)象,幾乎是純粹的抽象理論集合,能看得見摸得著的實(shí)物不多。比如半導(dǎo)體摻雜特定雜質(zhì)后,其原子核俘獲自由電子的能力增強(qiáng)或減弱。由此帶來的PN結(jié)的應(yīng)用。再比如帶電粒子在磁場(chǎng)中的受力情況(洛侖茲力),由此延伸出陰極射線管、霍爾效應(yīng)等應(yīng)用。還有通電導(dǎo)線以及螺線管產(chǎn)生的磁場(chǎng)形狀,這個(gè)應(yīng)用就多了去了。再比如波動(dòng)的發(fā)射源與接收點(diǎn)之間距離變化造成接收到的頻率變化 (多普勒效應(yīng)),由此延伸出測(cè)速雷達(dá)之類的應(yīng)用……基本上從初中物理到大學(xué)物理,所有與電相關(guān)的知識(shí)都涵蓋在里面。物理與數(shù)學(xué)作為基礎(chǔ)學(xué)科與這些基本物理現(xiàn)象一脈相承,是整個(gè)硬件行業(yè)乃至軟件行業(yè)的基石?,F(xiàn)在很多硬件工程師并不熟悉這些基礎(chǔ)學(xué)科,這在解決問題時(shí)會(huì)給他們帶來很大的局限,一是無法迅速找到最合適的方案,二是無法分析手中的方案來龍去脈是什么,怎樣優(yōu)化現(xiàn)有方案。
向上一層是分立電子元件。電阻、電容、電感、二極管這些稱為無源器件,三極管、場(chǎng)效應(yīng)管這些是有源器件,這些器件的特性反應(yīng)在輸出信號(hào)隨著輸入信號(hào)變化的特性上,而要這些特性體現(xiàn)出來,必須在輸入信號(hào)之外另行提供電源,因此叫做有源器件。分立電子元件是板級(jí)硬件工程師選材的基本單位。
這一層分為理論和實(shí)踐兩個(gè)方面,實(shí)踐不難,找?guī)讉€(gè)典型的電子元件摸一摸,拿萬(wàn)用表測(cè)一下。以后看見了能認(rèn)識(shí)就行。理論這方面,合格的模電工程師必須熟練掌握這些元件的自身特性和典型應(yīng)用。數(shù)字硬件工程師往往不太注重這些基本知識(shí),有人不會(huì)畫N-MOSFET和P-MOSFET的電路符號(hào),有人不懂計(jì)算晶體三極管的靜態(tài)工作點(diǎn)。還有人RC電路的零狀態(tài)響應(yīng)理解不夠透徹,不懂怎樣計(jì)算數(shù)字集成電路的復(fù)位阻容網(wǎng)絡(luò)時(shí)間常數(shù)。這些多少都會(huì)構(gòu)成硬傷。學(xué)習(xí)這一層理論最好參考通用的大學(xué)《電工學(xué)》教材,高等教育出版社上下冊(cè)。如果對(duì)上面講過的最底層的物理學(xué)有足夠深入的了解,會(huì)大大增進(jìn)你對(duì)分立電子元件的認(rèn)識(shí)。比如對(duì)電阻率、電磁感應(yīng)的認(rèn)識(shí)能夠幫助你理解為何簡(jiǎn)簡(jiǎn)單單的一根導(dǎo)線都要衍伸出雜散電容電感這么多亂七八糟的問題,到底什么時(shí)候要當(dāng)作等勢(shì)體去看待,什么時(shí)候要考慮它的位置和形狀。高速電路工程師和射頻工程師經(jīng)常要面對(duì)這些問題。你的目標(biāo)是哪個(gè)群體?
再上一層是集成電子元件。也就是包含集成電路(IC)和各式集成傳感器在內(nèi)的電子元件。上述一層的分立元件用導(dǎo)線和電路板連接起來會(huì)帶來體積龐大、特性離散、溫度分布不均、導(dǎo)線距離過長(zhǎng)造成信號(hào)反射等諸多問題。所以杰克·基爾比和和羅伯特·諾伊思才想到把它們微縮到很小的半導(dǎo)體基材上。幾乎所有集成電路都是有源器件。集成電子元件有兩個(gè)方向,上游的是芯片級(jí)的微電子產(chǎn)業(yè),也就是設(shè)計(jì)、生產(chǎn)電子元器件的。他們側(cè)重前面講過的基礎(chǔ)學(xué)科。板級(jí)硬件工程師選修的課程,對(duì)他們而言是必修。比如光繪之類與流片工藝相關(guān)的所有知識(shí)。細(xì)分也有很多不同的職業(yè),這里不贅述。下游的就是板級(jí)硬件工程師,他們是拿著上游產(chǎn)業(yè)生產(chǎn)出來的成品去應(yīng)用的。
我讀初中的時(shí)候翻書看了幾個(gè)邏輯門元件說明,就瞎尋思有沒有一本書上面囊括了世界上所有型號(hào)的集成電路,那時(shí)候我以為一個(gè)合格的工程師必須在腦子里記住所有集成電路的使用說明才能干活。而實(shí)際上每天都有新的集成電路被研制出來,型號(hào)多得那些專門賣元件的網(wǎng)站都很難更新過來。所以總有你不認(rèn)識(shí)的陌生型號(hào),但這不代表你不能做一名合格的工程師。如果你熟練掌握了基本分立元器件的原理和常見電路結(jié)構(gòu),那么新的集成電路拿在手里看,最基本的結(jié)構(gòu)也無非是這些東西,只是重新組合了一遍而已。
集成電子元件這一層同樣分為理論與實(shí)踐兩個(gè)方面,這一層的實(shí)踐,初期就是拿幾個(gè)常見的芯片認(rèn)識(shí)一下封裝。常見的封裝類別會(huì)認(rèn)就OK了。接下來就要去看理論,最后回過頭來實(shí)踐就是針對(duì)你所選具體IC的實(shí)戰(zhàn)應(yīng)用了。
理論方面,上面說的《電工學(xué)》那套教材里也涉及了運(yùn)算放大器、數(shù)字邏輯方面的知識(shí)。像邏輯運(yùn)算式的化簡(jiǎn)這些知識(shí)無論在使用4000系列邏輯集成電路的時(shí)候還是在做CPLD/FPGA設(shè)計(jì)的時(shí)候都會(huì)體現(xiàn)出它的重要性,寫程序的時(shí)候也少不了邏輯運(yùn)算。掌握這一層知識(shí),重點(diǎn)除了底層的基礎(chǔ)之外就是英語(yǔ)。你和集成電路打交道的時(shí)候多數(shù)是在看說明文檔。你需要的東西到底要滿足什么條件,你選到的東西到底具備什么條件,怎么使用,都靠這些。英語(yǔ)對(duì)于軟件工程師而言應(yīng)該不是大問題,畢竟搞軟件的時(shí)候多數(shù)人都見過RTFM這個(gè)詞了,老外對(duì)沒頭沒腦的提問者常說的一句話:Read the fucking manual!
特別指出,集成電路這一層包含了可編程元器件,包括微控制器、CPLD/FPGA、DSP、獨(dú)立的處理器(CPU、GPU等)、存儲(chǔ)器以及定制的可編程混合信號(hào)電路等等。對(duì)于這些可編程器件,就有了更高的一層,也就是硬件抽象層(HAL)。這一層屬于軟件,模擬工程師就不用碰了。但是數(shù)字工程師,尤其是嵌入式操作系統(tǒng)工程師操作底層硬件的時(shí)候必須和它打交道。寫驅(qū)動(dòng)的工程師有時(shí)候不得不翻閱硬件手冊(cè)去了解自己所用的硬件模塊具備什么物理特性,接下來才能繼續(xù)編寫自己的代碼。這一層往上就是軟件工程師的地盤了,那個(gè)領(lǐng)域枝繁葉茂,我也沒法接著講了。
多數(shù)希望學(xué)習(xí)硬件的人都是帶著具體需求來的??赡苁种杏袀€(gè)項(xiàng)目需要做一個(gè)平臺(tái),或者是對(duì)某個(gè)特定的器件非常感興趣。這樣的話最好的切入點(diǎn)就是你手里這個(gè)具體的東西。看一看它屬于上述的哪一層,然后向外輻射開來,了解它的來龍去脈。從相關(guān)的實(shí)物開始建立對(duì)整個(gè)行業(yè)的感性認(rèn)識(shí)。對(duì)實(shí)物熟悉了再去學(xué)習(xí)背后的理論。不同的理論最終在大腦里相互交匯起來組成一套有條理的理論體系。
很多硬件工程師從小學(xué)起就開始學(xué)習(xí)了,一路動(dòng)手學(xué)過來的。學(xué)好硬件,最原始的動(dòng)力來自于對(duì)自然科學(xué)的好奇心,還要享受動(dòng)手的樂趣。這些都不是一夜之間就能掌握的,學(xué)個(gè)差不多少說要兩三年,而且硬件領(lǐng)域也有不同分支,相互之間有時(shí)候甚至可以說隔行如隔山。精力有限,你能掌握多少取決于你有毅力走多遠(yuǎn)。看完全文了嗎,喜歡就一起來點(diǎn)個(gè) 贊 吧!~