<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 硬件行業(yè)知識體系的簡要分析

          硬件行業(yè)知識體系的簡要分析

          作者: 時間:2018-08-31 來源:網(wǎng)絡(luò) 收藏

          最近有不少軟件領(lǐng)域的牛人進(jìn)軍硬件行業(yè),但不知從何處入手。相信每個人面對一個龐大的知識體系時都一樣迷茫。最佳的應(yīng)對策略就是找一個最貼近自己需求的切入點,然后向四面八方鋪開去逐漸認(rèn)識整個知識網(wǎng)絡(luò)。該文可以讓你在這個知識網(wǎng)里面找到自己現(xiàn)在的位置,然后有目的有方向地選擇下一步。

          本文引用地址:http://www.ex-cimer.com/article/201808/388136.htm

          簡單來講硬件的體系像軟件一樣也分層。

          最底層是包含電學(xué)現(xiàn)象在內(nèi)的微觀物理現(xiàn)象,幾乎是純粹的抽象理論集合,能看得見摸得著的實物不多。比如半導(dǎo)體摻雜特定雜質(zhì)后,其原子核俘獲自由電子的能力增強(qiáng)或減弱。由此帶來的PN結(jié)的應(yīng)用。再比如帶電粒子在磁場中的受力情況(洛侖茲力),由此延伸出陰極射線管、霍爾效應(yīng)等應(yīng)用。還有通電導(dǎo)線以及螺線管產(chǎn)生的磁場形狀,這個應(yīng)用就多了去了。再比如波動的發(fā)射源與接收點之間距離變化造成接收到的頻率變化(多普勒效應(yīng)),由此延伸出測速雷達(dá)之類的應(yīng)用……基本上從初中物理到大學(xué)物理,所有與電相關(guān)的知識都涵蓋在里面。物理與數(shù)學(xué)作為基礎(chǔ)學(xué)科與這些基本物理現(xiàn)象一脈相承,是整個硬件行業(yè)乃至軟件行業(yè)的基石?,F(xiàn)在很多硬件工程師并不熟悉這些基礎(chǔ)學(xué)科,這在解決問題時會給他們帶來很大的局限,一是無法迅速找到最合適的方案,二是無法分析手中的方案來龍去脈是什么,怎樣優(yōu)化現(xiàn)有方案。

          向上一層是分立電子元件。電阻、電容、電感、二極管這些稱為無源器件,三極管、場效應(yīng)管這些是有源器件,這些器件的特性反應(yīng)在輸出信號隨著輸入信號變化的特性上,而要這些特性體現(xiàn)出來,必須在輸入信號之外另行提供電源,因此叫做有源器件。分立電子元件是板級硬件工程師選材的基本單位。

          這一層分為理論和實踐兩個方面,實踐不難,找?guī)讉€典型的電子元件摸一摸,拿萬用表測一下。以后看見了能認(rèn)識就行。理論這方面,合格的模電工程師必須熟練掌握這些元件的自身特性和典型應(yīng)用。數(shù)字硬件工程師往往不太注重這些基本知識,有人不會畫N-MOSFET和P-MOSFET的電路符號,有人不懂計算晶體三極管的靜態(tài)工作點。還有人RC電路的零狀態(tài)響應(yīng)理解不夠透徹,不懂怎樣計算數(shù)字集成電路的復(fù)位阻容網(wǎng)絡(luò)時間常數(shù)。這些多少都會構(gòu)成硬傷。學(xué)習(xí)這一層理論最好參考通用的大學(xué)《電工學(xué)》教材,高等教育出版社上下冊。如果對上面講過的最底層的物理學(xué)有足夠深入的了解,會大大增進(jìn)你對分立電子元件的認(rèn)識。比如對電阻率、電磁感應(yīng)的認(rèn)識能夠幫助你理解為何簡簡單單的一根導(dǎo)線都要衍伸出雜散電容電感這么多亂七八糟的問題,到底什么時候要當(dāng)作等勢體去看待,什么時候要考慮它的位置和形狀。高速電路工程師和射頻工程師經(jīng)常要面對這些問題。你的目標(biāo)是哪個群體?

          再上一層是集成電子元件。也就是包含集成電路(IC)和各式集成傳感器在內(nèi)的電子元件。上述一層的分立元件用導(dǎo)線和電路板連接起來會帶來體積龐大、特性離散、溫度分布不均、導(dǎo)線距離過長造成信號反射等諸多問題。所以杰克·基爾比和和羅伯特·諾伊思才想到把它們微縮到很小的半導(dǎo)體基材上。幾乎所有集成電路都是有源器件。集成電子元件有兩個方向,上游的是芯片級的微電子產(chǎn)業(yè),也就是設(shè)計、生產(chǎn)電子元器件的。他們側(cè)重前面講過的基礎(chǔ)學(xué)科。板級硬件工程師選修的課程,對他們而言是必修。比如光繪之類與流片工藝相關(guān)的所有知識。細(xì)分也有很多不同的職業(yè),這里不贅述。下游的就是板級硬件工程師,他們是拿著上游產(chǎn)業(yè)生產(chǎn)出來的成品去應(yīng)用的。

          我讀初中的時候翻書看了幾個邏輯門元件說明,就瞎尋思有沒有一本書上面囊括了世界上所有型號的集成電路,那時候我以為一個合格的工程師必須在腦子里記住所有集成電路的使用說明才能干活。而實際上每天都有新的集成電路被研制出來,型號多得那些專門賣元件的網(wǎng)站都很難更新過來。所以總有你不認(rèn)識的陌生型號,但這不代表你不能做一名合格的工程師。如果你熟練掌握了基本分立元器件的原理和常見電路結(jié)構(gòu),那么新的集成電路拿在手里看,最基本的結(jié)構(gòu)也無非是這些東西,只是重新組合了一遍而已。

          集成電子元件這一層同樣分為理論與實踐兩個方面,這一層的實踐,初期就是拿幾個常見的芯片認(rèn)識一下封裝。常見的封裝類別會認(rèn)就OK了。接下來就要去看理論,最后回過頭來實踐就是針對你所選具體IC的實戰(zhàn)應(yīng)用了。

          理論方面,上面說的《電工學(xué)》那套教材里也涉及了運(yùn)算放大器、數(shù)字邏輯方面的知識。像邏輯運(yùn)算式的化簡這些知識無論在使用4000系列邏輯集成電路的時候還是在做CPLD/FPGA設(shè)計的時候都會體現(xiàn)出它的重要性,寫程序的時候也少不了邏輯運(yùn)算。掌握這一層知識,重點除了底層的基礎(chǔ)之外就是英語。你和集成電路打交道的時候多數(shù)是在看說明文檔。你需要的東西到底要滿足什么條件,你選到的東西到底具備什么條件,怎么使用,都靠這些。英語對于軟件工程師而言應(yīng)該不是大問題,畢竟搞軟件的時候多數(shù)人都見過RTFM這個詞了,老外對沒頭沒腦的提問者常說的一句話:Read the fucking manual!

          特別指出,集成電路這一層包含了可編程元器件,包括微控制器、CPLD/FPGA、DSP、獨(dú)立的處理器(CPU、GPU等)、存儲器以及定制的可編程混合信號電路等等。對于這些可編程器件,就有了更高的一層,也就是硬件抽象層(HAL)。這一層屬于軟件,模擬工程師就不用碰了。但是數(shù)字工程師,尤其是嵌入式操作系統(tǒng)工程師操作底層硬件的時候必須和它打交道。寫驅(qū)動的工程師有時候不得不翻閱硬件手冊去了解自己所用的硬件模塊具備什么物理特性,接下來才能繼續(xù)編寫自己的代碼。這一層往上就是軟件工程師的地盤了,那個領(lǐng)域枝繁葉茂,我也沒法接著講了。

          多數(shù)希望學(xué)習(xí)硬件的人都是帶著具體需求來的??赡苁种杏袀€項目需要做一個平臺,或者是對某個特定的器件非常感興趣。這樣的話最好的切入點就是你手里這個具體的東西??匆豢此鼘儆谏鲜龅哪囊粚?,然后向外輻射開來,了解它的來龍去脈。從相關(guān)的實物開始建立對整個行業(yè)的感性認(rèn)識。對實物熟悉了再去學(xué)習(xí)背后的理論。不同的理論最終在大腦里相互交匯起來組成一套有條理的理論體系。

          很多硬件工程師從小學(xué)起就開始學(xué)習(xí)了,一路動手學(xué)過來的。學(xué)好硬件,最原始的動力來自于對自然科學(xué)的好奇心,還要享受動手的樂趣。這些都不是一夜之間就能掌握的,學(xué)個差不多少說要兩三年,而且硬件領(lǐng)域也有不同分支,相互之間有時候甚至可以說隔行如隔山。精力有限,你能掌握多少取決于你有毅力走多遠(yuǎn)。



          關(guān)鍵詞: 硬件開發(fā)

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();