硬件工程師技術(shù)要求究竟是要到什么程度呢?
整理自網(wǎng)絡(luò)信息
對(duì)于硬件工程師來說,技術(shù)要求究竟是要到什么程度呢?
當(dāng)然,從從小受到的教育中我們知道對(duì)于知識(shí)要理解透徹,越深入越好,對(duì)于任何一個(gè)知識(shí)點(diǎn),通過基本公式,用數(shù)學(xué)工具推導(dǎo)到最后來驗(yàn)證高級(jí)定律和公式。我想對(duì)于這一點(diǎn),高考物理是達(dá)到了極點(diǎn),高中物理知識(shí)其實(shí)不難,但是我們?yōu)榱诉x拔的目的,把物理各種定律糅合在一起,結(jié)合一些腦筋急轉(zhuǎn)彎,復(fù)雜的運(yùn)算,造成高考物理是最難的科目了。
如果我們拿著解高考物理難題的精神來解決硬件問題,當(dāng)然精神可嘉,工作之余還是值得鼓勵(lì)這種學(xué)習(xí)和探索精神的;但是對(duì)于項(xiàng)目開發(fā)卻是沒有多少好處,畢竟硬件工程師的工作是工程開發(fā),在規(guī)定的時(shí)間和預(yù)算之內(nèi)完成硬件項(xiàng)目,而不是你在這個(gè)時(shí)間呢自己推導(dǎo)出來了什么公式和計(jì)算結(jié)果,那是科學(xué)家的工作,那是Research的工作。
工程開發(fā)一個(gè)重要特點(diǎn)就是“踩在前人的足跡”,就是通過過去幾十上百年的工程實(shí)踐,對(duì)于各種情況有了很多經(jīng)驗(yàn)數(shù)據(jù)和經(jīng)驗(yàn)方法,比如對(duì)于PCB layout來說,基本上每個(gè)公司都有自己的design guidelines/check list,這就是公司在過去很多項(xiàng)目中總結(jié)出來的,每一條可以說都付出了“血”的代價(jià),這是對(duì)于板級(jí)設(shè)計(jì)來說了;對(duì)于核心芯片和器件,就更是如此了,芯片或器件公司幾十?dāng)?shù)百人歷時(shí)數(shù)年搞出來的一款芯片和器件,又豈是你通過幾百頁datasheet可以徹底理解的。
大多數(shù)情況下,知道主要接口,參數(shù),功能和性能就足夠了,尤其是芯片/器件公司提供的design guidelines或者application notes,里面一般都是芯片/器件工程師的肺腑之言,經(jīng)驗(yàn)之談,一般來說沒有個(gè)十年二十年工作經(jīng)驗(yàn)的工程師是寫不了這些東西的。
看起來雖然很簡(jiǎn)單,看起來像是廢話,但是細(xì)細(xì)分析,結(jié)合電路定理和電磁定律,略微分析,就會(huì)發(fā)現(xiàn)簡(jiǎn)直字字珠璣。剛畢業(yè)的好學(xué)生(一般來說學(xué)習(xí)好,喜歡啃難題,學(xué)習(xí)能力強(qiáng),求知欲強(qiáng))初干硬件設(shè)計(jì),就會(huì)發(fā)現(xiàn)涉及的知識(shí)點(diǎn)和技術(shù)要點(diǎn)太多了,如果這個(gè)知識(shí)點(diǎn)想要理解透徹,那個(gè)知識(shí)點(diǎn)也要理解透徹,會(huì)發(fā)現(xiàn)一天24小時(shí)根本不夠用,但是對(duì)不起,公司請(qǐng)你過來不是讓你學(xué)習(xí)的,是要干硬件設(shè)計(jì)的,過一個(gè)月就要見原理圖了,你還在這捧著OrCAD手冊(cè)一個(gè)命令一個(gè)命令學(xué)習(xí)OrCAD使用技巧,研究為啥要有串行電阻呢,研究這個(gè)電容是取0.1uF還是0.01uF... 。
有求知欲是好事,但是那是在工作之余,項(xiàng)目之余,虛心向前輩學(xué)習(xí),盡量利用各種design guidelines,盡快完成設(shè)計(jì)工作,記錄自己的知識(shí)缺點(diǎn),在業(yè)余時(shí)間努力學(xué)習(xí),理解透徹,通過設(shè)計(jì)驗(yàn)證/測(cè)試,加深對(duì)于知識(shí)點(diǎn)的了解,這才是正確的工作方法。
我在剛畢業(yè)的時(shí)候欣喜的發(fā)現(xiàn)傳輸線理論太重要了,遂花了一個(gè)月把傳輸線理論努力了一把,并推導(dǎo)了大量公式進(jìn)行驗(yàn)證,其實(shí)總結(jié)起來就是幾句話,阻抗匹配,如果接收端阻抗大于發(fā)送端,信號(hào)會(huì)怎么樣;如果小于,信號(hào)會(huì)怎么樣;如果開路,會(huì)怎么樣;如果短路,會(huì)怎么樣,這幾條基本每本信號(hào)完整性的書上都會(huì)介紹,也不會(huì)有很復(fù)雜的數(shù)學(xué)公式推導(dǎo),知道就行了,然后就是如何平衡發(fā)射端的阻抗,串行電阻,PCB阻抗,匹配阻抗等等,都是簡(jiǎn)單的數(shù)學(xué)公式。
所以說,對(duì)于求知欲特別強(qiáng)的人(比如我),有時(shí)候一定要學(xué)會(huì)“淺嘗輒止”,充分利用前輩經(jīng)驗(yàn),避免陷入技術(shù)的誤區(qū),比如放著公式不用,非得自己用二重積分推導(dǎo)一遍。硬件開發(fā)最主要的特點(diǎn)就是“廣博”,什么東西都要知道,一個(gè)好的硬件工程師就要什么都要懂一點(diǎn),當(dāng)然對(duì)于某些方面能夠深入一些到原理層次就更好了。
關(guān)于硬件設(shè)計(jì)的各種技術(shù)/標(biāo)準(zhǔn)/芯片/器件都要知道,需要的時(shí)候,能夠信手拈來,功能性能,參數(shù)特性,優(yōu)點(diǎn)缺點(diǎn)。
1. 快速學(xué)習(xí)的能力:
一方面,通信技術(shù),標(biāo)準(zhǔn),芯片更新的太快了,快到你根本來不及系統(tǒng)的了解它,只能通過特定的項(xiàng)目,需求進(jìn)行了解;另一方面對(duì)于公司來說,需要做的硬件產(chǎn)品也是變化很快,客戶需要T1, E1, PDH, SDH,Ethernet, VoIP, Switch, Router, 沒有人是什么都懂的,都需要能夠結(jié)合客戶的需求,選擇的芯片方案進(jìn)行詳細(xì)了解,尤其對(duì)于接口協(xié)議和電氣特性。?
2. 通信協(xié)議和標(biāo)準(zhǔn)的理解:
通信設(shè)備,顧名思義,就是用來實(shí)現(xiàn)多種通信協(xié)議(比如T1, E1, V.35,PDH, SDH/SONET, ATM, USB, VoIP, WiFi, Ethernet, TCP/IP,RS232等等常用協(xié)議)實(shí)現(xiàn)通信的設(shè)備,各種電路,PCB板,電源都是為了通信協(xié)議服務(wù)的。?
通信協(xié)議一般都是由芯片實(shí)現(xiàn),要么是成熟的 ASIC,要么是自己開發(fā)的FPGA/CPLD,芯片工程師或者FPGA工程師比硬件工程師跟靠近通信協(xié)議,他們需要對(duì)于通信協(xié)議理解很透徹,實(shí)現(xiàn)各種邏輯上的狀態(tài)機(jī)以及滿足協(xié)議規(guī)定的電氣參數(shù)標(biāo)準(zhǔn)。按照OSI的七層模型,硬件工程師尤其需要專注于一層物理層和二層數(shù)據(jù)鏈路層的協(xié)議標(biāo)準(zhǔn),以 Ethernet距離,物理層是由PHY/transceiver芯片完成,數(shù)據(jù)鏈路層是由MAC/switch 芯片完成,對(duì)于從事Ethernet相關(guān)開發(fā)的硬件工程師來說,需要對(duì)于PHY和Switch芯片理解透徹,從編碼方式,電氣參數(shù),眼圖標(biāo)準(zhǔn),模板,信號(hào)頻率到幀格式,轉(zhuǎn)發(fā)處理邏輯,VLAN等等。?
對(duì)于傳統(tǒng)PDH/SDH/SONET設(shè)備就更是如此,PDH/SDH/SONET是更硬件的設(shè)備,就是說主要協(xié)議都是通過ASIC實(shí)現(xiàn)的,軟件的功能主要是管理,配置,監(jiān)視,告警,性能,對(duì)于硬件工程師來說,必須要熟悉使用的相關(guān)協(xié)議和接口標(biāo)準(zhǔn),尤其對(duì)于電氣規(guī)范,眼圖模板,這樣在設(shè)計(jì)驗(yàn)證的時(shí)候才能胸有成竹。?
3. 寫文檔的能力:
誠(chéng)如軟件設(shè)計(jì)一樣,好的軟件設(shè)計(jì)需要好的設(shè)計(jì)文檔,明確需求,實(shí)現(xiàn)什么功能,達(dá)到什么驗(yàn)收標(biāo)準(zhǔn),隨著芯片集成度的增加,接口速率的提高,單板復(fù)雜度的提高,硬件設(shè)計(jì)也越來越復(fù)雜以及對(duì)應(yīng)熱穩(wěn)定性,可靠性,電磁兼容,環(huán)境保護(hù)的要求,已經(jīng)不是通過小米加步木.倉的游擊戰(zhàn)可以解決了,每一個(gè)硬件項(xiàng)目都是一場(chǎng)戰(zhàn)爭(zhēng),都需要好好的規(guī)劃,好好的分析,這就需要好好做文檔。
對(duì)于硬件工程師來說,最重要的文檔有兩個(gè):一個(gè)是硬件設(shè)計(jì)規(guī)范(HDS : hardware design specification)和硬件測(cè)試報(bào)告(一般叫EVT:Engineering Validation& Test report或者DVT: Design Validation & Test report),對(duì)于HDS的要求是內(nèi)容詳實(shí),明確,主芯片的選擇/硬件初始化,CPU的選擇和初始化,接口芯片的選擇/初始化/管理,各芯片之間連接關(guān)系框圖(Block Diagram),DRAM類型/大小/速度,F(xiàn)LASH類型/大小/速度,片選,中斷,GPIO的定義,復(fù)位邏輯和拓?fù)鋱D,時(shí)鐘/晶振選擇/拓?fù)洌琑TC的使用,內(nèi)存映射(Memory map)關(guān)系, I2C器件選擇/拓?fù)洌涌谄骷?線序定義,LED的大小/顏色/驅(qū)動(dòng),散熱片,風(fēng)扇,JTAG,電源拓?fù)?時(shí)序/電路等等。
對(duì)于DVT來說,要求很簡(jiǎn)單也很復(fù)雜:板卡上有什么接口,芯片,主要器件,電路,就要測(cè)試什么,尤其在板卡正常工作的情況下的電源/電壓/紋波/時(shí)序,業(yè)務(wù)接口的眼圖/模板,內(nèi)部數(shù)據(jù)總線的信號(hào)完整性和時(shí)序(如MII, RGMII, XAUI, PCIe,PCM bus, Telecom Bus, SERDES, UART等等),CPU子系統(tǒng)(如時(shí)鐘,復(fù)位,SDRAM/DDR,F(xiàn)LASH接口)。
好的硬件工程師無論是做的文檔還是報(bào)道都是令人一目了然,這個(gè)硬件系統(tǒng)需要用什么方案和電路,最后驗(yàn)證測(cè)試的結(jié)果如何。內(nèi)容詳實(shí),不遺漏各種接口/電路;簡(jiǎn)單名了,不說廢話;圖文并茂,需要的時(shí)候一個(gè)時(shí)序圖,一個(gè)示波器抓圖就很能說明問題了。?
4. 儀表/軟件的使用能力:
儀表包括電烙鐵,萬用表,示波器,邏輯分析儀,誤碼儀,傳輸分析儀,以太網(wǎng)測(cè)試儀Smartbits/IXIA,熱量計(jì),衰減器,光功率計(jì),射頻信號(hào)強(qiáng)度計(jì)等等;軟件包括Office(Outlook,Word, Excel, PowerPoint, Project, Visio),PDF,常用原理圖軟件Pads或者OrCAD,常用PCB軟件Pads或者Allegro,Allegro Viewer,電路仿真軟件PSPICE,信號(hào)仿真軟件HyperLynx等等。
無論儀表還是軟件,在政治經(jīng)濟(jì)學(xué)里說都是生產(chǎn)工具,都是促進(jìn)生產(chǎn)力提高的,作為硬件工程師來說,這些儀表和軟件就是手中的木.倉炮,硬件工程師很大一部分能力的體現(xiàn)都在與儀表和軟件的使用上,尤其對(duì)于原理圖軟件和示波器的使用,更是十分重要,原理圖軟件的使用是硬件設(shè)計(jì)的具體實(shí)現(xiàn),通過一個(gè)個(gè)器件的擺放,一個(gè)個(gè)NET的連接,構(gòu)成了是十分復(fù)雜的硬件邏輯軟件,是整個(gè)硬件設(shè)計(jì)的核心工作,任何一個(gè)原理圖上的失誤和錯(cuò)誤造成的損失都是巨大的,真是“如履薄冰,戰(zhàn)戰(zhàn)兢兢”。
另外,原理圖軟件的使用還體現(xiàn)在原理圖的美觀上,好的設(shè)計(jì),簡(jiǎn)單明了,注釋明確,無論是誰,順著思路就能很快搞清楚設(shè)計(jì)意圖,需要特別注意之處,不好的設(shè)計(jì),東一個(gè)器件,西一個(gè)器件,沒有邏輯,命名怪異,難以理解,日后維護(hù)起來相當(dāng)麻煩;示波器在所有測(cè)試儀表之中,對(duì)于硬件工程師是最重要的,無論原理圖還是PCB都是設(shè)計(jì)工作,但是任何設(shè)計(jì)都需要仔細(xì)的驗(yàn)證測(cè)試,尤其在信號(hào)方面,都需要大量的示波器工作,不會(huì)正確的使用示波器根本談不上正確的驗(yàn)證,接地有沒有接好,測(cè)試點(diǎn)的選擇,觸發(fā)的選擇,延時(shí)的選擇,幅度、時(shí)間的選擇,都決定著測(cè)試的結(jié)果。如果錯(cuò)誤的使用示波器必然帶來錯(cuò)誤的測(cè)試結(jié)果,這種情況下,有可能本來是錯(cuò)誤的設(shè)計(jì)被誤認(rèn)為是正確的,帶來巨大的隱患;本來是正確的設(shè)計(jì)被誤認(rèn)為是錯(cuò)誤的,帶來大量的時(shí)間精力浪費(fèi)。
5. 電路設(shè)計(jì)的能力:
隨著芯片集成度的提高,硬件設(shè)計(jì)似乎變簡(jiǎn)單了。首先是邏輯連接,其次考慮信號(hào)完整性需要的串行電阻選擇和并行電容選擇,電源濾波,退耦。不過對(duì)于好的硬件工程師來說,簡(jiǎn)單的邏輯連接(這個(gè)芯片的同樣總線的輸出接另一個(gè)芯片的輸入,等等),只是硬件設(shè)計(jì)的最基本技能,電路是芯片功能,通信協(xié)議和各種軟件的載體,沒有對(duì)電路的深入理解,根本談不上對(duì)硬件設(shè)計(jì)的深入理解,尤其對(duì)于芯片后面列的電氣性能參數(shù)或者離散器件各種參數(shù)的理解,胡亂亂接,可能在3.3V的總線上可以工作,但是現(xiàn)在工作電壓已經(jīng)降到1V了,什么概念,信號(hào)線上的噪聲都已經(jīng)大到可以使采樣出現(xiàn)誤判了,隨著信號(hào)速率的提高和工作電壓的降低,數(shù)字信號(hào)已經(jīng)越來越模擬化了,這就需要對(duì)于PCB的阻抗,容抗,感抗,離散器件(電阻,電容,電感,二極管,三極管,MOSFET,變壓器等),ASIC的接口電氣參數(shù)深入了解,這都需要對(duì)電路原理,模擬電路甚至電磁場(chǎng)理論深入學(xué)習(xí),電路可以說是電磁場(chǎng)理論的子集,沒有電磁場(chǎng)理論的理解,根本談不上對(duì)于電容,電感,串?dāng)_,電磁輻射的理解。
尤其對(duì)于電源電路設(shè)計(jì)上,現(xiàn)在芯片電壓多樣化,電壓越來越低,電流越來越大,運(yùn)營(yíng)商對(duì)于通信設(shè)備功耗的嚴(yán)格要求,散熱要求,對(duì)于電源設(shè)計(jì)的挑戰(zhàn)越來越大??梢哉f,對(duì)于一個(gè)硬件設(shè)計(jì)來說,40%的工作都是在于電源電路的原理圖/PCB設(shè)計(jì)和后期測(cè)試驗(yàn)證,電源電路設(shè)計(jì)是硬件工程師電路能力的集中體現(xiàn),各種被動(dòng)器件、半導(dǎo)體器件、保護(hù)器件、DC/DC轉(zhuǎn)換典型拓?fù)?,都有很多參?shù),公式需要考慮到,計(jì)算到。?
6. 溝通和全局控制的能力:
硬件工程師在一個(gè)硬件項(xiàng)目中,一般處于Team leader的作用,要對(duì)這個(gè)硬件項(xiàng)目全權(quán)負(fù)責(zé),需要協(xié)調(diào)好PCB工程師,結(jié)構(gòu)工程師,信號(hào)完整性工程師,電磁兼容工程師等各種資源,并與產(chǎn)品經(jīng)理,項(xiàng)目經(jīng)理,軟件工程師,生產(chǎn)工程師,采購(gòu)工程師緊密配合,確保各個(gè)環(huán)節(jié)按部就班,需要對(duì)整個(gè)項(xiàng)目計(jì)劃了然于胸,各個(gè)子任務(wù)的發(fā)布時(shí)間,對(duì)于可能出現(xiàn)的技術(shù)難題和風(fēng)險(xiǎn)的估計(jì),控制。
對(duì)于外部來說,硬件工程師還要與芯片的分銷商,F(xiàn)AE處理好關(guān)系,爭(zhēng)取獲得更大的技術(shù)支持和幫助;與EMC實(shí)驗(yàn)室,外部實(shí)驗(yàn)室打好交道,獲得更靈活的測(cè)試時(shí)間和更多的整改意見。