1、什么是硬件?
也就是說(shuō)硬件是物理層面的,至少是你能看得到摸得著的東西,它是一種物質(zhì)載體,物質(zhì)基礎(chǔ)。廣義來(lái)說(shuō)人類都是生活在物質(zhì)基礎(chǔ)之上,你可以把所有你能看到的東西都統(tǒng)稱為硬件。當(dāng)然狹義來(lái)說(shuō),一般我們所說(shuō)的軟件和硬件指的是電子領(lǐng)域的。
軟件代碼也是人編寫(xiě)的,我們所熟知的語(yǔ)言比如C、C++等都是通過(guò)編譯器翻譯成匯編語(yǔ)言,然后匯編語(yǔ)言通過(guò)匯編器翻譯成二進(jìn)制機(jī)器語(yǔ)言,機(jī)器語(yǔ)言操控門(mén)電路完成相應(yīng)的動(dòng)作。個(gè)人覺(jué)得,沒(méi)有硬件,軟件就沒(méi)有存在的意義,硬件是一切的基礎(chǔ),這里可以看出硬件設(shè)計(jì)是多重要。
但軟件和硬件又有明顯的區(qū)分,至少工作內(nèi)容區(qū)別很大。按照行業(yè)內(nèi)描述硬件屬于底層(一般稱為底層硬件),軟件稱為上層(軟件又分為:底層驅(qū)動(dòng)、上層業(yè)務(wù)以及應(yīng)用層等)。如果非要舉個(gè)例子來(lái)說(shuō)明軟件和硬件, 那最好的例子就是人,硬件指人的軀體,而軟件指人的思維。
其實(shí)對(duì)于非電子領(lǐng)域的人,很難想明白計(jì)算機(jī)是怎么工作的,硬件是怎樣工作的,軟件是怎樣工作的,即使你知道都是0和1,但你沒(méi)做過(guò)相關(guān)工作,你發(fā)現(xiàn)不了其中的神奇之處。其實(shí)你只要知道,軟件驅(qū)動(dòng)硬件工作,驅(qū)動(dòng)的激勵(lì)是什么?是電訊號(hào)!硬件接收到的這個(gè)電訊號(hào)分為0和1,硬件的響應(yīng)速度非??欤嗫炷??舉個(gè)例子,硬件中常用的串口波特率115200bit per second,一秒鐘115200個(gè)0或者1,英語(yǔ)字母是8個(gè)bit(可在ASCII表看到,這在大學(xué)都學(xué)過(guò)),那就是一秒鐘可打印14400個(gè)字母。 你眨下眼睛一萬(wàn)多個(gè)字母就出來(lái)了。當(dāng)然實(shí)際上并沒(méi)有這么多,這只是個(gè)形象的例子。
但在電路設(shè)計(jì)上100kHz屬于比較慢的速率了。再比如顯示器一幅圖的刷新頻率在一秒鐘24個(gè)以上,我們?nèi)搜劬涂床怀鰜?lái)。24幀的數(shù)據(jù)是非常大的,比如1080p30格式輸出,總的數(shù)據(jù)量是一秒鐘1920*1080*12*30= 746496000個(gè)0或者1,也就是7億個(gè)0或者1。
2.什么是硬件設(shè)計(jì)?
一般來(lái)說(shuō)硬件設(shè)計(jì)指的是電路設(shè)計(jì),這樣說(shuō)是沒(méi)問(wèn)題的,因?yàn)槟闼械墓ぷ鞫际菄@電路設(shè)計(jì),最終的目標(biāo)也是產(chǎn)出一個(gè)優(yōu)秀的電路,能夠滿足各種要求,經(jīng)歷各種考驗(yàn)。但實(shí)際上我們要求的是產(chǎn)品,而不是單板。
網(wǎng)上有一篇文章講的挺好:"硬件設(shè)計(jì)就是根據(jù)產(chǎn)品經(jīng)理的需求PRS(Product Requirement Specification),在COGS(Cost of Goods Sale)的要求下,利用目前業(yè)界成熟的芯片方案或者技術(shù),在規(guī)定時(shí)間內(nèi)完成符合:
PRS功能(Function)
性能(perrformance)
電源設(shè)計(jì)(power Supply)
功耗(power Consumption)
散熱(Thermal/Cooling)
噪音(Noise)
信號(hào)完整性(Signal Integrity),
電磁輻射(EMC/EMI)
安規(guī)(Safet)
器件采購(gòu)(Component Sourcing)
可靠性(Reliability)
可測(cè)試性(DFT: design for test)
可生產(chǎn)性(DFM:design for manufacture)
等上述要求的硬件產(chǎn)品(注意:是產(chǎn)品不是開(kāi)發(fā)板)??梢钥吹?,一個(gè)成功的硬件設(shè)計(jì),主要功能的實(shí)現(xiàn)只是所有環(huán)節(jié)中的一小部分。剛開(kāi)始工作的時(shí)候,覺(jué)得板子電路設(shè)計(jì)完就完成了50%工作,PCB回板主要功能都能實(shí)現(xiàn)了,那就完成了80%的工作。實(shí)際上不是的,PCB回板主要功能都實(shí)現(xiàn)了,連30%工作都沒(méi)有。所以不管是時(shí)間上,還是階段上,產(chǎn)品的硬件設(shè)計(jì)時(shí)一個(gè)漫長(zhǎng)過(guò)程。
而且你在一個(gè)公司做產(chǎn)品硬件設(shè)計(jì),一般情況下都是參考成熟的方案,主芯片CPU主要功能的實(shí)現(xiàn)最終還是依靠芯片廠商提供的套片方案,一般來(lái)說(shuō)為了降低風(fēng)險(xiǎn),主要是參考套片方案的參考設(shè)計(jì)完成,芯片廠商也會(huì)提供包括器件封裝,參考設(shè)計(jì),仿真模型,PCB參考等等全部資料,在芯片功能越來(lái)越復(fù)雜的今天,一個(gè)片子動(dòng)不動(dòng)就幾百上千個(gè)PIN,對(duì)于一個(gè)新項(xiàng)目來(lái)說(shuō),是沒(méi)有時(shí)間一頁(yè)頁(yè)去吃透每個(gè)PIN,每個(gè)輸入輸出的具體功能,電氣參數(shù)的,尤其是對(duì)于高速設(shè)計(jì),比如DDR3接口,XAUI接口等等。一般來(lái)說(shuō)芯片廠商提供的參考設(shè)計(jì)就是他們經(jīng)過(guò)開(kāi)發(fā),驗(yàn)證,測(cè)試的最佳方案了,很多情況就是你必須按照參考設(shè)計(jì)來(lái)做,否則硬件可能就有問(wèn)題,一般來(lái)說(shuō)就是信號(hào)完整性問(wèn)題或者EMC問(wèn)題。"
那有的人就說(shuō)了,硬件電路設(shè)計(jì)談不上設(shè)計(jì),都是copy成熟電路。芯片廠商提供越來(lái)越周到的服務(wù),再加上公司沉淀的技術(shù)積累,硬件設(shè)計(jì)工程師可以完全不動(dòng)腦子進(jìn)行電路設(shè)計(jì)。看起來(lái)硬件工程師HWE(Hardware Engineer)的價(jià)值越來(lái)越低了,畢竟一個(gè)產(chǎn)品的核心功能或者技術(shù)一般都在IC或者FPGA里面了,HWE一般沒(méi)有能力進(jìn)行核心邏輯設(shè)計(jì)IC design。那如果按照這個(gè)邏輯軟件設(shè)計(jì)也談不上設(shè)計(jì),都是copy成熟代碼。試問(wèn)有幾個(gè)軟件開(kāi)發(fā)人員不移植別人的代碼?再深入點(diǎn),有幾個(gè)軟件工程師能隨意更改uboot、kernel,不百度C語(yǔ)言語(yǔ)法,不移植業(yè)務(wù)程序,不去問(wèn)芯片廠商的技術(shù)支持?
即使都是成熟的東西,實(shí)際上工作過(guò)程中我并沒(méi)有發(fā)現(xiàn)哪個(gè)項(xiàng)目做得很快,同樣一套電路和代碼,成熟產(chǎn)品沒(méi)問(wèn)題,新產(chǎn)品為什么就有問(wèn)題??最后還是是硬件設(shè)計(jì)去解決。
對(duì)于這上述問(wèn)題,我也曾經(jīng)困惑過(guò),總是感覺(jué)硬件設(shè)計(jì)沒(méi)有什么好搞的了,不就是抄抄參考設(shè)計(jì),就跟組裝一臺(tái)電腦一樣組裝一個(gè)單板嘛。當(dāng)然隨著項(xiàng)目經(jīng)驗(yàn)的增多,尤其從事現(xiàn)在硬件系統(tǒng)級(jí)設(shè)計(jì)的角色,感覺(jué)原來(lái)自己考慮更多是從一名原理圖設(shè)計(jì)工程師的角度考慮問(wèn)題,看問(wèn)題總是很片面。就像開(kāi)始說(shuō)的,一個(gè)成功的硬件設(shè)計(jì),功能Function只是一小部分,至于其他的因素和能力,一個(gè)HWE的能力取決于能考慮因素越多,越深入,就越是一個(gè)優(yōu)秀的HWE工程師。
所以HWE是吃經(jīng)驗(yàn)的,對(duì)公司來(lái)說(shuō)培養(yǎng)一個(gè)HWE成本很高,硬件不會(huì)像軟件一樣代碼錯(cuò)了修改一下幾分鐘就可以搞定,硬件設(shè)計(jì)錯(cuò)了,那有可能全部都要重來(lái),整個(gè)項(xiàng)目周期可能就要延遲3周甚至一個(gè)月以上。比如最近遇到的SENSOR出圖像,效果不好,亮壞點(diǎn)比較多,硬件電路這邊沒(méi)法跳線,這和布局布線有關(guān),只有改板。
有個(gè)觀點(diǎn)需要說(shuō)明一下,啥都不懂也可以做出事情,但對(duì)個(gè)人來(lái)說(shuō)會(huì)有發(fā)展天花板。硬件方面就像參考電路一樣,你不知道電路怎么工作的也能把他用起來(lái),軟件方面就像uboot和kernel一樣你看不懂也能用起來(lái),但一旦你懂,那就不一樣了。就像一談到硬件設(shè)計(jì),大家都認(rèn)為是電路設(shè)計(jì),好簡(jiǎn)單,沒(méi)什么難度,但實(shí)際上不是的,越到底層越難,責(zé)任越大,部門(mén)交流越多。懂得越多,學(xué)的越容易,就能夠走的越遠(yuǎn)。
3.什么是硬件電路設(shè)計(jì)?
顧名思義,硬件電路設(shè)計(jì)就是設(shè)計(jì)電路的,能夠熟練使用cadence繪制電路與查看PCB。硬件設(shè)計(jì)中的電路設(shè)計(jì)是HWE最重要的職責(zé)。電路設(shè)計(jì)考驗(yàn)的是HWE的設(shè)計(jì)基本功,即對(duì)一些硬件器件的理解以及靈活應(yīng)用,比如:
CPU
電阻,電容,電感,
二極管,三極管,
保護(hù)器件,接口器件,
邏輯芯片,邏輯功能,
小芯片
電源
因?yàn)楸救耸荅MC專業(yè)畢業(yè),所以對(duì)設(shè)計(jì)時(shí)考慮的東西深有感觸,我們上述討論的硬件設(shè)計(jì)的13條東西都應(yīng)該在設(shè)計(jì)時(shí)候考慮,目前大公司的各種流程保證了設(shè)計(jì)時(shí)各部門(mén)的聯(lián)動(dòng),還是很好的。
每個(gè)公司都會(huì)有自己的硬件電路設(shè)計(jì)規(guī)范,這個(gè)需要自己好好去看一下,并用在實(shí)踐中。硬件電路設(shè)計(jì)主要針對(duì)電路設(shè)計(jì),里面涉及的東西比較多,對(duì)電路模塊的設(shè)計(jì)后面會(huì)有單獨(dú)的章節(jié)討論。硬件電路設(shè)計(jì)需要足夠的經(jīng)驗(yàn)與理論知識(shí)。
4.硬件設(shè)計(jì)開(kāi)發(fā)流程
硬件部門(mén)開(kāi)發(fā)流程指定后,需要硬件部門(mén)人員嚴(yán)格按照開(kāi)發(fā)流程完成開(kāi)發(fā)工作。 硬件部開(kāi)發(fā)流程主要分為如下幾個(gè)步驟
1) 市場(chǎng)調(diào)研
對(duì)即將進(jìn)行的項(xiàng)目,需要進(jìn)行市場(chǎng)調(diào)研。
2) 立項(xiàng)
市場(chǎng)調(diào)研完成后后,首先需要進(jìn)行立項(xiàng)工作。
3) 硬件總體設(shè)計(jì)
項(xiàng)目立項(xiàng)后,需要進(jìn)行硬件總體設(shè)計(jì)。
4) 核心器件的實(shí)驗(yàn)及分模塊的詳細(xì)設(shè)計(jì)
總體設(shè)計(jì)完成后,需要對(duì)核心器件進(jìn)行實(shí)驗(yàn)并且開(kāi)始進(jìn)行分模塊的設(shè)計(jì)方案。
5) 電路、程序及外殼設(shè)計(jì)
核心器件的實(shí)驗(yàn)及分模塊的詳細(xì)設(shè)計(jì)完成后,進(jìn)行電路、程序及外殼設(shè)計(jì)。 電路、程序及外殼設(shè)計(jì)按照項(xiàng)目設(shè)。
6) 系統(tǒng)聯(lián)調(diào)
每個(gè)分塊部分調(diào)試完成后,即可進(jìn)行系統(tǒng)聯(lián)調(diào)。
7) 內(nèi)部審核、項(xiàng)目驗(yàn)收
系統(tǒng)聯(lián)調(diào)完成后,項(xiàng)目即可進(jìn)行內(nèi)部審核、項(xiàng)目驗(yàn)收。
5.什么是硬件工程師?
硬件工程師負(fù)責(zé)整個(gè)產(chǎn)品的硬件設(shè)計(jì)。
5.1.硬件工程師的職責(zé)
首先看下
大公司的研發(fā)分工如下圖所示,可以看到自己所處的部門(mén)與位置。
而一個(gè)硬件產(chǎn)品的研發(fā)流程,如下圖所示:
公司內(nèi)的所有崗位都同等重要的。
雖然各團(tuán)隊(duì)的重要性一致的,但研發(fā)團(tuán)隊(duì)在產(chǎn)品開(kāi)發(fā)中的位置應(yīng)該更加核心。研發(fā)人員可以轉(zhuǎn)去做市場(chǎng)、測(cè)試、供應(yīng)鏈或者質(zhì)量管理等,但市場(chǎng)等崗位的人卻很難轉(zhuǎn)做研發(fā)。一來(lái)研發(fā)門(mén)檻高,二來(lái)研發(fā)工作接觸面廣。而在整個(gè)研發(fā)團(tuán)隊(duì)中,硬件工程師做主導(dǎo)作用。
一般情況下我們所說(shuō)的研發(fā)不僅僅局限于軟件硬件,而是整個(gè)項(xiàng)目組,這里包括基本上所有部門(mén)的產(chǎn)品負(fù)責(zé)人。
而硬件工程師在研發(fā)團(tuán)隊(duì)中是重要的一員,硬件產(chǎn)品的研發(fā)團(tuán)隊(duì)可以如下圖所示:
當(dāng)然上圖中所展示的并不完全,比如熱設(shè)計(jì)也是非常重要的一員。但需要說(shuō)明的是,在整個(gè)項(xiàng)目研發(fā)團(tuán)隊(duì)中,有兩個(gè)人和所有人打交道,一個(gè)就是項(xiàng)目經(jīng)理,另一個(gè)就是硬件工程師。硬件工程師需要和各種研發(fā)人員打交道 、協(xié)調(diào)工作,這也要求硬件工程師具有豐富的知識(shí)面和強(qiáng)大的協(xié)調(diào)能力。
硬件工程師的本職工作,如下圖所示:
硬件工程師可以大致分為如下四個(gè)階段:
初級(jí)硬件工程師
在別人的指導(dǎo)下完成階段三、四的部分,這個(gè)是應(yīng)屆畢業(yè)生入職三個(gè)月基本可以達(dá)到。
普通的硬件工程師
獨(dú)立完成階段三、四的工作,一般工作1到2年即可。
資深的硬件工程師
主導(dǎo)完成階段三、四的工作,參與完成階段二總體設(shè)計(jì)的工作。
專家級(jí)硬件工程師
主導(dǎo)完成階段一、二的工作。
5.2.時(shí)間點(diǎn)把握
作為一個(gè)硬件工程師,負(fù)責(zé)整個(gè)產(chǎn)品的研發(fā)過(guò)程。所以必須對(duì)每個(gè)時(shí)間段進(jìn)行精確把握。項(xiàng)目都會(huì)有項(xiàng)目周期,雖然項(xiàng)目經(jīng)理在把控時(shí)間,但具體的操作還是硬件工程師來(lái)搞。因?yàn)楸救酥皇翘幱陔A段三,對(duì)階段二、一沒(méi)什么時(shí)間概念,對(duì)于正常進(jìn)度的項(xiàng)目來(lái)說(shuō):
原理圖和詳細(xì)設(shè)計(jì)方案:5周,包括參考設(shè)計(jì)以及原理圖評(píng)審。
PCB布板布線:4周,包括配合結(jié)構(gòu)、PCB進(jìn)行電路調(diào)整或者器件重新選型。
發(fā)板及等待回板:2周,這兩周是最閑的,發(fā)板同時(shí)必須完成BOM上傳,這個(gè)不能忘。多看自己的圖!
回板檢查:1周,將自己的板子跑起來(lái),能燒錄uboot,網(wǎng)口能ping通。檢查有無(wú)焊接問(wèn)題。聯(lián)系結(jié)構(gòu)進(jìn)行機(jī)器組裝,查看結(jié)構(gòu)有沒(méi)有問(wèn)題。
驅(qū)動(dòng)調(diào)試:5周,配合完成所有底層功能的調(diào)試。
媒體版本:2周,這個(gè)是驅(qū)動(dòng)調(diào)試之后第一個(gè)整機(jī)跑起來(lái)的版本,準(zhǔn)備拿給測(cè)試進(jìn)行測(cè)試。
信號(hào)測(cè)試:3周,配合信號(hào)測(cè)試人員完成信號(hào)測(cè)試。同時(shí)給做業(yè)務(wù)研發(fā)人員準(zhǔn)備板子給他們研發(fā)。
功能測(cè)試:2周,配合功能測(cè)試人員完成環(huán)境測(cè)試,防護(hù)靜電浪涌測(cè)試,以及其他功能測(cè)試,EMC測(cè)試等。
解BUG等待:2周,解決上述出現(xiàn)的所有BUG!
改板與發(fā)板:2周。
。。。。。。。。。
具體時(shí)間會(huì)隨著產(chǎn)品的復(fù)雜程度而變化,上述只是本人了解的大致時(shí)間=,不能一概而論。
5.3.硬件工程師的本質(zhì)工作
目標(biāo):產(chǎn)品零缺陷
過(guò)程:設(shè)計(jì)電路、解BUG、部門(mén)溝通交流。
能力:主要集中在解BUG能力。
結(jié)果:一個(gè)字-------忙?。。?!
5.4. 硬件工程師基本素質(zhì)與技術(shù)
這里給出華為硬件工程師手冊(cè)中的定位,看起來(lái)還是不錯(cuò)的。
6.硬件工程師需具備什么樣的性格?
溝通能力 要有邏輯,想法要全面點(diǎn),這樣才能與其他部門(mén)人員好好溝通,說(shuō)不清會(huì)導(dǎo)致吵架??!
性格溫和 因?yàn)槟銜?huì)和所有部門(mén)交流,不要拉著臉,也不要命令式的,性格偏激會(huì)導(dǎo)致吵架??!
謙虛謹(jǐn)慎 別人的意見(jiàn)即使不采納也要傾聽(tīng),然后說(shuō)出自己的見(jiàn)解與原因,一意孤行會(huì)導(dǎo)致吵架??!
認(rèn)真仔細(xì) 設(shè)計(jì)電路要認(rèn)真仔細(xì),解BUG要認(rèn)真仔細(xì),因?yàn)橐坏┏鰡?wèn)題這個(gè)責(zé)任只有自己背??!
要有耐心 不論是溝通還是解BUG還是檢查電路,一定要有耐心!
不會(huì)就問(wèn) 不會(huì)的東西就問(wèn),因?yàn)楫a(chǎn)品開(kāi)發(fā)時(shí)間比較短,不可能給你大把時(shí)間去研究?。?/span>
有責(zé)任心 對(duì)電路負(fù)責(zé),對(duì)產(chǎn)品負(fù)責(zé),對(duì)BUG負(fù)責(zé)??!
分清主次 出了問(wèn)題要先想怎樣去解決問(wèn)題,而不是先去追究誰(shuí)的責(zé)任?。?/span>
樂(lè)善好學(xué) 善于幫助別人,善于學(xué)習(xí),必須有扎實(shí)的經(jīng)驗(yàn)知識(shí)與理論知識(shí)?。。?/span>
其實(shí)總結(jié)出來(lái),上述是作為一個(gè)硬件工程師必須的性格,可以說(shuō)是缺一不可。性格偏激的人不適合做硬件研發(fā),甚至可以說(shuō)不適合做所有研發(fā)。所以一般情況下硬件工程師做產(chǎn)品經(jīng)理的人很多,因?yàn)檫@個(gè)職位本身要求就很高,良好的性格與經(jīng)驗(yàn)理論知識(shí)會(huì)讓你一直進(jìn)步的。
品略圖書(shū)館 http://www.pinlue.com/
版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/yihuliunian/article/details/92772576
免責(zé)聲明: 本文章轉(zhuǎn)自其它平臺(tái),并不代表本站觀點(diǎn)及立場(chǎng)。若有侵權(quán)或異議,請(qǐng)聯(lián)系我們刪除。謝謝!
矽源特科技ChipSourceTek
深圳中恒科技電子有限公司