硬體設計還可以這樣學?

XYD漫漫發表於2022-02-23
遲遲沒寫實踐篇的教程,是因為操作類的東西,很難用文字來表達。那隻能把最關鍵的口訣寫下來,讓大家在實踐中體會了。


那麼,一般缺乏經驗的工程師或者學生,拿著一個專案任務書,或者一個成品的電路板的時候,往往會感覺到,根本無從下手。主要原因是,知識儲備不足,少實踐少動手。

但也不用著急,這是需要慢慢積累的。同樣,不用擔心東西太多,不知道學到什麼時候才能獨當一面,因為很多東西都是相通的。

下面介紹硬體設計的實踐路線。

一、初級實踐篇


1.1  焊接
拖焊的時候,先對齊晶片,再上錫固定一個角,然後在另一側加滿錫,最後整個晶片都加滿錫。把板子拿起來,傾斜30度左右,再用烙鐵加熱,把變成液體的錫吸起來,甩掉,直到把所有錫都吸走為止。烙鐵的溫度要調好,我一般用350攝氏度。重點要體會,錫變成液體的時候,會像水一樣受重力作用向下流,還有,烙鐵頭表面是有吸力的,所以在整個焊接過程中,都不要用力刮錫的。如果焊的時候,操作起來不順手,可以轉動板子。

關於BGA的焊接,一般是不建議手工操作的,因為成功率不高,推薦用返修臺。這裡說一下BGA手工植球的操作流程。

先用萬能植錫鋼網(這是最落後的工具,除此之外還有植錫臺,不過挺貴的),跟BGA對齊,再用膠布把BGA和鋼網粘住固定好。先加錫膏,再用風槍吹一會(風槍的風速和溫度可以調低一點),錫變亮的時候,再用手術刀,把多餘的錫颳走。如果錫球不均勻的話,再重複上一步,直接錫球均勻為止。撕掉膠布,用手術刀把BGA撬起來。


1.2  儀器儀表的使用
a、萬用表。為什麼起這個名字?因為對於高手來說,萬用表是幾乎是萬能的。一般也是用它來測電壓、電流和電阻。

b、示波器。現在都用數字示波器,一個auto鍵,可以輕鬆搞定,而且還帶FFT的功能,可以使用頻域分析法,是硬體工程師必須掌握的神兵利器。示波器還有個小眾的功能,就是李沙育圖(測相位差和測頻率用的)。此外,還要學會用示波器測開關電源紋波。

c、數字電橋,也叫LCR、LCZ測試儀。用它可以測電感值、電容值、電阻值、Q值、D值等,精度比一般的萬用表要高。

d、訊號發生器,也叫函式訊號發生器。可以輸出正弦波、方波、三角波、已調訊號。用法比較簡單,但是射頻訊號發生器,就要注意了,在輸出訊號之前,一定要做好阻抗匹配,不然訊號反射的話,有可能會損壞訊號發生器。

f、頻率計。用法比較簡單,不再多說了,有的訊號發生器還增加了頻率計的功能。

g、向量網路分析儀,也叫網分儀。用於測量射頻電路的S引數矩陣,還可以顯示史密斯圓圖。每次使用之前都要校正一下頻率點。

h、頻譜儀。也就看一下頻譜,也有示波器的功能。

還有一些小眾儀器就不說了,像漏電流測試儀、電錶等。


1.3  維修
首先肉眼觀察一下板子,看有沒有虛焊、短路或者缺少元件。有就修,沒有就下一步。

然後用萬用表測一下各組電源,看有沒有短路。有就修,沒有就下一步。

給板子上電,看各組電源電壓是否正常。有就修,沒有就下一步。

到了這一步,你必須對板子的整體設計有一定的認識,或者你得背下前輩們的經驗(背經驗的往往覺得硬體很神祕,這是我不推薦的做法),不然沒法修好。先對板子的各個功能分好模組,從現象判斷哪個模組出問題,斷開可疑的模組,來排除可疑點(像偵探一樣)。有一塊好板的話,就很好辦,直接對照著測各元件的電壓(或者對地的電阻值)就能解決了。用萬用表只能解決一些簡單的問題,要想徹底修好,手上一定要有示波器,因為像晶振受到干擾之類的,用萬用表是測不出來的。


1.4  除錯
除錯,一般是自主設計的電路,沒經過驗證,需要自己去驗證,這是非常需要紮實的理論基礎。除錯也是硬體工程師最容易累積經驗、含金量最高的技能之一。如果前期遇到棘手的問題,可以暫時先放下,等後來水平再高一層,就會解決的了,所以千萬不要鑽牛角尖,這隻會浪費更多的時間。除錯的技巧需要長時間的積累,放在前面,是讓大家有所重視。

除錯方法,多種多樣,視情況而定,不能一概而論,筆者總結了以下幾個方法:

a、示波器測量。當然,首先你得清楚你設計出來的電路,會出什麼樣的波形,才知道測出來對不對,也就是說,理論不行的,根本無法除錯。

b、對照驗證過的電路。如果手上有一塊好板,而需要除錯的電路里面剛好有好板的電路,可以拿好板來飛幾根線驗證一下,排除可疑點,這裡跟維修的方法一樣。

c、模擬。其實在設計電路的時候,能模擬就先模擬了,如果實物做出來,還是有問題,也可以模擬一下。如運放電路的引數、不確定的電阻串並聯等等。

d、鑷子短路。在你懷疑時鐘是不是干擾到其它訊號的時候,可以用鑷子把時鐘引腳跟地短路(只要是弱訊號,跟地短接一會都不會燒板子的,放心),以排除可疑點。還有復位的問題,也可以用這個方法。

e、訊號發生。比如一個運放電路,輸入和輸出均受干擾了,那麼你就可以用訊號發生器或者開發板,來輸出一路乾淨的訊號,這樣可以排除可疑點。

f、軟體除錯。如果板子上,有CPU就可以用串列埠除錯,有FPGA就可以用嵌入式邏輯分析儀,這樣可以確定是晶片內部還是外部的問題。

g、觀察現象。訊號都在板子上跑了,直接觀察是觀察不出來的,這個時候,可以引出訊號線,接在可觀察的裝置上。如:除錯音訊放大器的時候,就可以接一路訊號,到一個現成完好的功放上面,通過聽聲音來觀察現象。當然,你可不要只想到功放,還有其它可觀察的裝置或者元件,像LED燈、顯示器,甚至是收音機,只要能派得上用場的都可以。


二、中級實踐篇

2.1  模擬軟體的使用
常用的模擬軟體也就那幾個,proteus、multisim、labview、pspice、ADS、saber等,其中大多數是用spice模擬模型。

a、proteus。這個軟體很適合模擬微控制器,元件庫也挺多的,但是有個致命的缺點,就是太智慧了。微控制器不接電源、不接晶振也能正常工作,這跟實際有很大出入,所以筆者建議學微控制器,還是用開發板吧。

b、multisim。這個軟體很適合模擬類比電路,其實它本質是spice模擬,只是介面做得簡單很多,適合初學者使用。雖然有8051的庫,但是,不適合模擬微控制器,模擬起來很慢。元件庫其實並不多,像0805的三極體,它都沒有,這時候只能用其它的三極體(2N2222等)代替一下,要不,就自己做這個元件庫。multisim還可以跟ultiboard配合使用,實際板級模擬(連同PCB,一起模擬)。

c、labview。這個軟體功能非常強大,可以模擬模擬、數位電路、也可以做上位機(如:虛擬儀器等)。最具特色的,就是圖形化輸入,滑鼠施幾個東西就 可以模擬了。

d、pspice。這個軟體是cadence或者叫SPB開發套件中的一個軟體,一般是在capture中調出來的。使用capture就可以不用輸入spice的點命令,非常方便。其中,pspice的圖表要比multisim的要好看一些,比如,測幾個節點的電壓,在pspice一張圖就看得很清晰了。

e、ADS。這個ADS是指Agilent的Advanced.Design.System,而不是指ARM編譯器ADS1.2。ADS可是電路模擬的神器啊,功能非常強大,一般是模擬高頻、射頻、微波電路用的,當然,集總引數電路也照樣可以模擬,但是不太適合初學者。

f、saber。這個軟體是專門模擬電源電路用的,筆者暫時沒用過,不做評價。


2.2電路設計軟體的使用
主流的電路設計軟體有三個:altium designer、PADS、Cadence,當然還有些小眾的,像eagle。這裡只介紹主流的三款軟體。

altium designer(簡稱AD),以前的版本是protel 99se,protel DXP,用法都大同小異,很適合初學者使用,3D渲染效果最好,同時也是學校裡教得最多的軟體。但是,很多公司反而不用這軟體,因為用它畫多層板的話,電腦會很卡,而且公司裡面用的人多的話,可能會收到altium的律師函。可以用它來做FPGA開發,並進行板級模擬。適用於小規模的PCB。

PADS,以前的版本是power PCB,分成三個元件:logic(原理圖)、layout(佈局和設定規則)、route(佈線),最具特色的功能是:使用極座標放置元件和自動佈線(這個自動佈線可沒有AD那麼爛)。適用於中小規模的PCB,但是logic相當不好用,所以有些人用orcad+PADS來彌補這個缺點。適用於中小規模的PCB。

Cadence(也叫SPB)是個系統級的套件,除了畫原理圖、PCB之外,還可以畫版圖、模擬電路、模擬SI/PI等。Cadence公司收購了orcad,目前畫原理圖的是用capture(也叫orcad),畫PCB是用allegro,模擬電路的是pspice(從capture裡面調出來的),模擬SI/PI的是Sigrity(需要另外安裝)。用capture畫原理圖是非常爽的,比如,畫個晶片的原理相簿,你可以用excel寫好(引腳號和部分引腳名,像D0~D7,滑鼠拖一下就出來了),然後copy到capture裡面,再做少量的調整就可以了。但是用allegro畫封裝就比較煩瑣,需要事先畫好焊盤,才可以畫封裝。適用於中大規模的PCB。


2.3  其它軟體的使用。
畫板框用的autoCAD、畫3D封裝的solidworks或者pro-e、科學計算的MATLAB。

autoCAD的基本用法還是比較簡單的,在有人教的情況下,半小時可以入門,對於硬體工程師來說就畫一下板框,儲存為DXF格式,再匯入到PCB設計軟體。同時,DXF也是硬體工程師與結構工程師互動的檔案格式。

相對於pro-e來說,solidworks更加易學易用。用這兩個軟體都可以畫元器件的3D封裝,再把PCB匯出為stp格式放到solidworks當中,這樣,還沒打板就可以看到整機的效果圖了。學3D軟體還有個好處,讓你更清楚板子安裝的情況,像定位孔、插座、接線等,這樣設計出來的PCB不容易因為結構問題而無法安裝,這是很多硬體工程師容易忽略的地方。

MATLAB,任何的計算,都可以用它。簡單的計算,像電阻分壓、濾波器的截止頻率等,複雜一點,像定向耦合器的引數計算、複雜運放電路的建模等,用MATLAB都可以輕鬆解決。這裡還推薦一個網頁版的計算工具。


三、進階中級實踐篇

3.1  基本電路單元的計算、模擬與驗證
誠然,不管一塊電路板有多複雜,都可以按照功能來劃分為若干個模組,而這些模組還可以再劃分為眾多的電路單元。所以,首先要掌握最基本的電路單元的設計。這些電路單元,都可以在數電、模電、電力電子技術、高頻電子線路、微控制器、電子測量技術當中學到,先搞懂教課書上經典電路的計算、模擬與驗證。不要以為書上的公式簡單,但是實際操作起來,又是另一回事。比如,書上的反相放大電路,是雙電源的,用單電源就要加偏置,還得考慮頻寬增益積、擺率等。這裡主張先計算,再模擬,後實物的操作流程,同時,這也是一個需要長期累積的過程。

3.2  晶片的使用與互連
在理論篇裡面沒有寫到電子專業英語,在這裡就要用到專業英語了,你可以看英語教材,也可以用翻譯軟體。這裡必須提到的一點是:英語不好導致無法閱讀datasheet的,都無法做電路設計。因為你總得會用到一塊陌生的晶片,總會遇到沒中文資料的情況。基本上能看懂datasheet的,都能把晶片用起來,其實也是抄datasheet上面的參考電路的,剩下的,就是晶片互連。

晶片互連,就是介面技術,也是微控制器裡面會講到的。5V的ADC跟3.3V的微控制器互連,這就要看電平、和訊號的傳輸速率了。3.3V微控制器跟12V開啟電壓的MOS管互連,加個三極體,做電平轉換就可以了。兩塊3.3V微控制器IO口推輓輸出互連,串個100R電阻,防止程式碼操作不當而燒壞IO口。

此外,還要掌握常用的匯流排協議。比如RS232、RS485、SPI、IIC、CAN、LIN、zmodem、USB、PCIE、TCP/IP等。

四、高階實踐篇
在這裡,相信你已經把一些基本電路,熟捻於心,也會分析一些簡單的電路。但是,你總會遇到一些奇葩的現象。沒錯,你是時候要考慮SI、PI、EMC、EMI了。不要被這些貌似很高階的名詞嚇倒,分析起來,也是前面學到的電路原理,只是考慮問題的角度不同罷了。

4.1、SI,訊號完整性。這部分的內容對PCB的佈局、佈線影響較大。

a、使用阻抗匹配減弱過沖、下衝、振鈴的影響(某些射頻電路也對阻抗有要求,如:天線等)。

b、差分線應該儘量靠近以減少差模干擾。

c、去耦電容要儘量靠近晶片的電源管腳。

d、繼電器等大功率器件應該遠離晶振等易被干擾的元件。

e、對重要的訊號線,包地。

f、儘量遠離時鐘線(時鐘也可能成為干擾源)。

g、訊號線的返回路徑應該儘量短。

訊號完整性要注意的地方,還是挺多的,具體可以參考王劍宇的《高速電路設計實踐》。

4.2、PI,電源完整性。要保證電源的完整,就是防止電源電壓的波動,具體可以參考本部落格的《PCB線寬與電流的關係》、《去耦電容的作用 》。

4.3、EMC/EMI,電磁相容性和電磁干擾。這兩個名詞看起來有點高大上,其實就是不干擾別人和防止被別人干擾的問題。EMC/EMI的問題可以歸結為SI的問題,但是EMC有一套驗證的標準,所以還是起了不同的名字。


五、總結

1、千萬不要以為把某些口訣當祕笈地記下來,就以為練成了神功,這都是不現實的。前期的學習都必須以理論為核心,少量的實踐以幫助理解理論,後面就可以逐漸增加實踐,理論和實踐是相輔相成,缺一不可的。

2、當硬體電路出了問題,工程師每一步的操作,都是以理論作為指導思想的。

3、千萬不要害怕出錯而不敢做板。硬體工程師都是不斷地犯錯、改正、總結,才慢慢地成熟起來,減少犯錯的概率。不知道錯的話,也意味著不能積累經驗。

4、本文沒有提及生產、測試方面的問題,如:線材、PCBA、BOM、拼板、測試夾具、打磨晶片、包裝(QC標籤、易碎紙、說明書)等。

5、因為大多數的電路功能都依靠於晶片來實現,畫原理圖幾乎都是抄datasheet的,所以硬體工程師最具含金量的技能是PCB和除錯能力。

6、因為硬體工程師也常常需要和軟體工程師交流,所以,為了方便交流,你還得學習ARM、FPGA、DSP等相關知識,只是側重點有所不同而已,不然會給工作上帶來一定的麻煩。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70014179/viewspace-2857333/,如需轉載,請註明出處,否則將追究法律責任。

相關文章