高手教你如何學(xué)習(xí)硬件設(shè)計(jì)——實(shí)踐篇
但也不用著急,這是需要慢慢積累的。同樣,不用擔(dān)心東西太多,不知道學(xué)到什么時(shí)候才能獨(dú)當(dāng)一面,因?yàn)楹芏鄸|西都是相通的。
下面介紹硬件設(shè)計(jì)的實(shí)踐路線
一、初級(jí)實(shí)踐篇1、焊接。
關(guān)鍵的地方視頻中也會(huì)提到,這里大概地說(shuō)一下(洞洞板的焊接就不說(shuō)了)。
拖焊的時(shí)候,先對(duì)齊芯片,再上錫固定一個(gè)角,然后在另一側(cè)加滿錫,最后整個(gè)芯片都加滿錫。把板子拿起來(lái),傾斜30度左右,再用烙鐵加熱,把變成液體的錫吸起來(lái),甩掉,直到把所有錫都吸走為止。烙鐵的溫度要調(diào)好,我一般用350攝氏度。重點(diǎn)要體會(huì),錫變成液體的時(shí)候,會(huì)像水一樣受重力作用向下流,還有,烙鐵頭表面是有吸力的,所以在整個(gè)焊接過(guò)程中,都不要用力刮錫的。如果焊的時(shí)候,操作起來(lái)不順手,可以轉(zhuǎn)動(dòng)板子。
關(guān)于BGA的焊接,一般是不建議手工操作的,因?yàn)槌晒β什桓撸扑]用返修臺(tái)。這里說(shuō)一下BGA手工植球的操作流程。
先用萬(wàn)能植錫鋼網(wǎng)(這是最落后的工具,除此之外還有植錫臺(tái),不過(guò)挺貴的),跟BGA對(duì)齊,再用膠布把BGA和鋼網(wǎng)粘住固定好。先加錫膏,再用風(fēng)槍吹一會(huì)(風(fēng)槍的風(fēng)速和溫度可以調(diào)低一點(diǎn)),錫變亮的時(shí)候,再用手術(shù)刀,把多余的錫刮走。如果錫球不均勻的話,再重復(fù)上一步,直接錫球均勻?yàn)橹?。撕掉膠布,用手術(shù)刀把BGA撬起來(lái)。
2、儀器儀表的使用。a、萬(wàn)用表。為什么起這個(gè)名字?因?yàn)閷?duì)于高手來(lái)說(shuō),萬(wàn)用表是幾乎是萬(wàn)能的。一般也是用它來(lái)測(cè)電壓、電流和電阻。
b、示波器?,F(xiàn)在都用數(shù)字示波器,一個(gè)auto鍵,可以輕松搞定,而且還帶FFT的功能,可以使用頻域分析法,是硬件工程師必須掌握的神兵利器。示波器還有個(gè)小眾的功能,就是李沙育圖(測(cè)相位差和測(cè)頻率用的)。此外,還要學(xué)會(huì)用示波器測(cè)開(kāi)關(guān)電源紋波。
c、數(shù)字電橋,也叫LCR、LCZ測(cè)試儀。用它可以測(cè)電感值、電容值、電阻值、Q值、D值等,精度比一般的萬(wàn)用表要高。
d、信號(hào)發(fā)生器,也叫函數(shù)信號(hào)發(fā)生器??梢暂敵稣也ā⒎讲?、三角波、已調(diào)信號(hào)。用法比較簡(jiǎn)單,但是射頻信號(hào)發(fā)生器,就要注意了,在輸出信號(hào)之前,一定要做好阻抗匹配,不然信號(hào)反射的話,有可能會(huì)損壞信號(hào)發(fā)生器。
f、頻率計(jì)。用法比較簡(jiǎn)單,不再多說(shuō)了,有的信號(hào)發(fā)生器還增加了頻率計(jì)的功能。
g、矢量網(wǎng)絡(luò)分析儀,也叫網(wǎng)分儀。用于測(cè)量射頻電路的S參數(shù)矩陣,還可以顯示史密斯圓圖。每次使用之前都要校正一下頻率點(diǎn)。
h、頻譜儀。也就看一下頻譜,也有示波器的功能。
還有一些小眾儀器就不說(shuō)了,像漏電流測(cè)試儀、電表等。
3、維修。首先肉眼觀察一下板子,看有沒(méi)有虛焊、短路或者缺少元件。有就修,沒(méi)有就下一步。
然后用萬(wàn)用表測(cè)一下各組電源,看有沒(méi)有短路。有就修,沒(méi)有就下一步。
給板子上電,看各組電源電壓是否正常。有就修,沒(méi)有就下一步。
到了這一步,你必須對(duì)板子的整體設(shè)計(jì)有一定的認(rèn)識(shí),或者你得背下前輩們的經(jīng)驗(yàn)(背經(jīng)驗(yàn)的往往覺(jué)得硬件很神秘,這是我不推薦的做法),不然沒(méi)法修好。先對(duì)板子的各個(gè)功能分好模塊,從現(xiàn)象判斷哪個(gè)模塊出問(wèn)題,斷開(kāi)可疑的模塊,來(lái)排除可疑點(diǎn)(像偵探一樣)。有一塊好板的話,就很好辦,直接對(duì)照著測(cè)各元件的電壓(或者對(duì)地的電阻值)就能解決了。用萬(wàn)用表只能解決一些簡(jiǎn)單的問(wèn)題,要想徹底修好,手上一定要有示波器,因?yàn)橄窬д袷艿礁蓴_之類的,用萬(wàn)用表是測(cè)不出來(lái)的。
4、調(diào)試。調(diào)試,一般是自主設(shè)計(jì)的電路,沒(méi)經(jīng)過(guò)驗(yàn)證,需要自己去驗(yàn)證,這是非常需要扎實(shí)的理論基礎(chǔ)。調(diào)試也是硬件工程師最容易累積經(jīng)驗(yàn)、含金量最高的技能之一。如果前期遇到棘手的問(wèn)題,可以暫時(shí)先放下,等后來(lái)水平再高一層,就會(huì)解決的了,所以千萬(wàn)不要鉆牛角尖,這只會(huì)浪費(fèi)更多的時(shí)間。調(diào)試的技巧需要長(zhǎng)時(shí)間的積累,放在前面,是讓大家有所重視。
調(diào)試方法,多種多樣,視情況而定,不能一概而論,筆者總結(jié)了以下幾個(gè)方法:
a、示波器測(cè)量。當(dāng)然,首先你得清楚你設(shè)計(jì)出來(lái)的電路,會(huì)出什么樣的波形,才知道測(cè)出來(lái)對(duì)不對(duì),也就是說(shuō),理論不行的,根本無(wú)法調(diào)試。
b、對(duì)照驗(yàn)證過(guò)的電路。如果手上有一塊好板,而需要調(diào)試的電路里面剛好有好板的電路,可以拿好板來(lái)飛幾根線驗(yàn)證一下,排除可疑點(diǎn),這里跟維修的方法一樣。
c、仿真。其實(shí)在設(shè)計(jì)電路的時(shí)候,能仿真就先仿真了,如果實(shí)物做出來(lái),還是有問(wèn)題,也可以仿真一下。如運(yùn)放電路的參數(shù)、不確定的電阻串并聯(lián)等等。
d、鑷子短路。在你懷疑時(shí)鐘是不是干擾到其它信號(hào)的時(shí)候,可以用鑷子把時(shí)鐘引腳跟地短路(只要是弱信號(hào),跟地短接一會(huì)都不會(huì)燒板子的,放心),以排除可疑點(diǎn)。還有復(fù)位的問(wèn)題,也可以用這個(gè)方法。
e、信號(hào)發(fā)生。比如一個(gè)運(yùn)放電路,輸入和輸出均受干擾了,那么你就可以用信號(hào)發(fā)生器或者開(kāi)發(fā)板,來(lái)輸出一路干凈的信號(hào),這樣可以排除可疑點(diǎn)。
f、軟件調(diào)試。如果板子上,有CPU就可以用串口調(diào)試,有FPGA就可以用嵌入式邏輯分析儀,這樣可以確定是芯片內(nèi)部還是外部的問(wèn)題。
g、觀察現(xiàn)象。信號(hào)都在板子上跑了,直接觀察是觀察不出來(lái)的,這個(gè)時(shí)候,可以引出信號(hào)線,接在可觀察的設(shè)備上。如:調(diào)試音頻放大器的時(shí)候,就可以接一路信號(hào),到一個(gè)現(xiàn)成完好的功放上面,通過(guò)聽(tīng)聲音來(lái)觀察現(xiàn)象。當(dāng)然,你可不要只想到功放,還有其它可觀察的設(shè)備或者元件,像LED燈、顯示器,甚至是收音機(jī),只要能派得上用場(chǎng)的都可以。
二、中級(jí)實(shí)踐篇1、仿真軟件的使用。常用的仿真軟件也就那幾個(gè),proteus、multisim、labview、pspice、ADS、saber等,其中大多數(shù)是用spice仿真模型。
a、proteus。這個(gè)軟件很適合仿真單片機(jī),元件庫(kù)也挺多的,但是有個(gè)致命的缺點(diǎn),就是太智能了。單片機(jī)不接電源、不接晶振也能正常工作,這跟實(shí)際有很大出入,所以筆者建議學(xué)單片機(jī),還是用開(kāi)發(fā)板吧。
b、multisim。這個(gè)軟件很適合仿真模擬電路,其實(shí)它本質(zhì)是spice仿真,只是界面做得簡(jiǎn)單很多,適合初學(xué)者使用。雖然有8051的庫(kù),但是,不適合仿真單片機(jī),仿真起來(lái)很慢。元件庫(kù)其實(shí)并不多,像0805的三極管,它都沒(méi)有,這時(shí)候只能用其它的三極管(2N2222等)代替一下,要不,就自己做這個(gè)元件庫(kù)。multisim還可以跟ultiboard配合使用,實(shí)際板級(jí)仿真(連同PCB,一起仿真)。
c、labview。這個(gè)軟件功能非常強(qiáng)大,可以仿真模擬、數(shù)字電路、也可以做上位機(jī)(如:虛擬儀器等)。最具特色的,就是圖形化輸入,鼠標(biāo)施幾個(gè)東西就 可以仿真了。
d、pspice。這個(gè)軟件是cadence或者叫SPB開(kāi)發(fā)套件中的一個(gè)軟件,一般是在capture中調(diào)出來(lái)的。使用capture就可以不用輸入spice的點(diǎn)命令,非常方便。其中,pspice的圖表要比multisim的要好看一些,比如,測(cè)幾個(gè)節(jié)點(diǎn)的電壓,在pspice一張圖就看得很清晰了。
e、ADS。這個(gè)ADS是指Agilent的Advanced.Design.System,而不是指ARM編譯器ADS1.2。ADS可是電路仿真的神器啊,功能非常強(qiáng)大,一般是仿真高頻、射頻、微波電路用的,當(dāng)然,集總參數(shù)電路也照樣可以仿真,但是不太適合初學(xué)者。
f、saber。這個(gè)軟件是專門仿真電源電路用的,筆者暫時(shí)沒(méi)用過(guò),不做評(píng)價(jià)。
2、電路設(shè)計(jì)軟件的使用。主流的電路設(shè)計(jì)軟件有三個(gè):altium designer、PADS、Cadence,當(dāng)然還有些小眾的,像eagle。這里只介紹主流的三款軟件。
altium designer(簡(jiǎn)稱AD),以前的版本是protel 99se,protel DXP,用法都大同小異,很適合初學(xué)者使用,3D渲染效果最好,同時(shí)也是學(xué)校里教得最多的軟件。但是,很多公司反而不用這軟件,因?yàn)橛盟?huà)多層板的話,電腦會(huì)很卡,而且公司里面用的人多的話,可能會(huì)收到altium的律師函。可以用它來(lái)做FPGA開(kāi)發(fā),并進(jìn)行板級(jí)仿真。適用于小規(guī)模的PCB。
PADS,以前的版本是power PCB,分成三個(gè)組件:logic(原理圖)、layout(布局和設(shè)置規(guī)則)、route(布線),最具特色的功能是:使用極坐標(biāo)放置元件和自動(dòng)布線(這個(gè)自動(dòng)布線可沒(méi)有AD那么爛)。適用于中小規(guī)模的PCB,但是logic相當(dāng)不好用,所以有些人用orcad PADS來(lái)彌補(bǔ)這個(gè)缺點(diǎn)。適用于中小規(guī)模的PCB。
Cadence(也叫SPB)是個(gè)系統(tǒng)級(jí)的套件,除了畫(huà)原理圖、PCB之外,還可以畫(huà)版圖、仿真電路、仿真SI/PI等。Cadence公司收購(gòu)了orcad,目前畫(huà)原理圖的是用capture(也叫orcad),畫(huà)PCB是用allegro,仿真電路的是pspice(從capture里面調(diào)出來(lái)的),仿真SI/PI的是Sigrity(需要另外安裝)。用capture畫(huà)原理圖是非常爽的,比如,畫(huà)個(gè)芯片的原理圖庫(kù),你可以用excel寫(xiě)好(引腳號(hào)和部分引腳名,像D0~D7,鼠標(biāo)拖一下就出來(lái)了),然后copy到capture里面,再做少量的調(diào)整就可以了。但是用allegro畫(huà)封裝就比較煩瑣,需要事先畫(huà)好焊盤(pán),才可以畫(huà)封裝。適用于中大規(guī)模的PCB。
3、其它軟件的使用。畫(huà)板框用的autoCAD、畫(huà)3D封裝的solidworks或者pro-e、科學(xué)計(jì)算的MATLAB。
autoCAD的基本用法還是比較簡(jiǎn)單的,在有人教的情況下,半小時(shí)可以入門,對(duì)于硬件工程師來(lái)說(shuō)就畫(huà)一下板框,保存為DXF格式,再導(dǎo)入到PCB設(shè)計(jì)軟件。同時(shí),DXF也是硬件工程師與結(jié)構(gòu)工程師交互的文件格式。
相對(duì)于pro-e來(lái)說(shuō),solidworks更加易學(xué)易用。用這兩個(gè)軟件都可以畫(huà)元器件的3D封裝,再把PCB導(dǎo)出為stp格式放到solidworks當(dāng)中,這樣,還沒(méi)打板就可以看到整機(jī)的效果圖了。學(xué)3D軟件還有個(gè)好處,讓你更清楚板子安裝的情況,像定位孔、插座、接線等,這樣設(shè)計(jì)出來(lái)的PCB不容易因?yàn)榻Y(jié)構(gòu)問(wèn)題而無(wú)法安裝,這是很多硬件工程師容易忽略的地方。
MATLAB,任何的計(jì)算,都可以用它。簡(jiǎn)單的計(jì)算,像電阻分壓、濾波器的截止頻率等,復(fù)雜一點(diǎn),像定向耦合器的參數(shù)計(jì)算、復(fù)雜運(yùn)放電路的建模等,用MATLAB都可以輕松解決。這里還推薦一個(gè)網(wǎng)頁(yè)版的計(jì)算工具。
三、進(jìn)階中級(jí)實(shí)踐篇1、基本電路單元的計(jì)算、仿真與驗(yàn)證。誠(chéng)然,不管一塊電路板有多復(fù)雜,都可以按照功能來(lái)劃分為若干個(gè)模塊,而這些模塊還可以再劃分為眾多的電路單元。所以,首先要掌握最基本的電路單元的設(shè)計(jì)。這些電路單元,都可以在數(shù)電、模電、電力電子技術(shù)、高頻電子線路、單片機(jī)、電子測(cè)量技術(shù)當(dāng)中學(xué)到,先搞懂教課書(shū)上經(jīng)典電路的計(jì)算、仿真與驗(yàn)證。不要以為書(shū)上的公式簡(jiǎn)單,但是實(shí)際操作起來(lái),又是另一回事。比如,書(shū)上的反相放大電路,是雙電源的,用單電源就要加偏置,還得考慮帶寬增益積、擺率等。這里主張先計(jì)算,再仿真,后實(shí)物的操作流程,同時(shí),這也是一個(gè)需要長(zhǎng)期累積的過(guò)程。
2、掌握單片機(jī)??梢詤⒖急静┛椭械摹度绾螌W(xué)習(xí)單片機(jī)》。
3、芯片的使用與互連。在理論篇里面沒(méi)有寫(xiě)到電子專業(yè)英語(yǔ),在這里就要用到專業(yè)英語(yǔ)了,你可以看英語(yǔ)教材,也可以用翻譯軟件。這里必須提到的一點(diǎn)是:英語(yǔ)不好導(dǎo)致無(wú)法閱讀datasheet的,都無(wú)法做電路設(shè)計(jì)。因?yàn)槟憧偟脮?huì)用到一塊陌生的芯片,總會(huì)遇到?jīng)]中文資料的情況。基本上能看懂datasheet的,都能把芯片用起來(lái),其實(shí)也是抄datasheet上面的參考電路的,剩下的,就是芯片互連。
芯片互連,就是接口技術(shù),也是單片機(jī)里面會(huì)講到的。5V的ADC跟3.3V的單片機(jī)互連,這就要看電平、和信號(hào)的傳輸速率了。3.3V單片機(jī)跟12V開(kāi)啟電壓的MOS管互連,加個(gè)三極管,做電平轉(zhuǎn)換就可以了。兩塊3.3V單片機(jī)IO口推挽輸出互連,串個(gè)100R電阻,防止代碼操作不當(dāng)而燒壞IO口。
此外,還要掌握常用的總線協(xié)議。比如RS233、RS485、SPI、IIC、CAN、LIN、zmodem、USB、PCIE、TCP/IP等。
四、高級(jí)實(shí)踐篇在這里,相信你已經(jīng)把一些基本電路,熟捻于心,也會(huì)分析一些簡(jiǎn)單的電路。但是,你總會(huì)遇到一些奇葩的現(xiàn)象。沒(méi)錯(cuò),你是時(shí)候要考慮SI、PI、EMC、EMI了。不要被這些貌似很高端的名詞嚇倒,分析起來(lái),也是前面學(xué)到的電路原理,只是考慮問(wèn)題的角度不同罷了。
五、總結(jié)1、千萬(wàn)不要以為把某些口訣當(dāng)秘笈地記下來(lái),就以為練成了神功,這都是不現(xiàn)實(shí)的。前期的學(xué)習(xí)都必須以理論為核心,少量的實(shí)踐以幫助理解理論,后面就可以逐漸增加實(shí)踐,理論和實(shí)踐是相輔相成,缺一不可的。
2、當(dāng)硬件電路出了問(wèn)題,工程師每一步的操作,都是以理論作為指導(dǎo)思想的。
3、千萬(wàn)不要害怕出錯(cuò)而不敢做板。硬件工程師都是不斷地犯錯(cuò)、改正、總結(jié),才慢慢地成熟起來(lái),減少犯錯(cuò)的概率。不知道錯(cuò)的話,也意味著不能積累經(jīng)驗(yàn)。
4、本文沒(méi)有提及生產(chǎn)、測(cè)試方面的問(wèn)題,如:線材、PCBA、BOM、拼板、測(cè)試夾具等。
5、因?yàn)榇蠖鄶?shù)的電路功能都依靠于芯片來(lái)實(shí)現(xiàn),畫(huà)原理圖幾乎都是抄datasheet的,所以硬件工程師最具含金量的技能是PCB和調(diào)試能力。
6、因?yàn)橛布こ處熞渤3P枰蛙浖こ處熃涣?,所以,為了方便交流,你還得學(xué)習(xí)ARM、FPGA、DSP等相關(guān)知識(shí),只是側(cè)重點(diǎn)有所不同而已,不然會(huì)給工作上帶來(lái)一定的麻煩。