一般缺乏經驗的工程師或者學生,拿著一個項目任務書,或者一個成品的電路板的時候,往往會感覺到,根本無從下手。主要原因是,知識儲備不足,少實踐少動手。
但也不用著急,這是需要慢慢積累的。同樣,不用擔心東西太多,不知道學到什么時候才能獨當一面,因為很多東西都是相通的。
下面介紹硬件設計的實踐路線:
一、初級實踐篇
1、焊接。
首先看一下杜洋前輩的焊接視頻。我當年也是看了他的視頻才學會焊接的。
關鍵的地方視頻中也會提到,這里大概地說一下(洞洞板的焊接就不說了)。
拖焊的時候,先對齊芯片,再上錫固定一個角,然后在另一側加滿錫,最后整個芯片都加滿錫。把板子拿起來,傾斜30度左右,再用烙鐵加熱,把變成液體的錫吸起來,甩掉,直到把所有錫都吸走為止。烙鐵的溫度要調好,我一般用350攝氏度。重點要體會,錫變成液體的時候,會像水一樣受重力作用向下流,還有,烙鐵頭表面是有吸力的,所以在整個焊接過程中,都不要用力刮錫的。如果焊的時候,操作起來不順手,可以轉動板子。
關于BGA的焊接,一般是不建議手工操作的,因為成功率不高,推薦用返修臺。這里說一下BGA手工植球的操作流程。
先用萬能植錫鋼網(這是最落后的工具,除此之外還有植錫臺,不過挺貴的),跟BGA對齊,再用膠布把BGA和鋼網粘住固定好。先加錫膏,再用風槍吹一會(風槍的風速和溫度可以調低一點),錫變亮的時候,再用手術刀,把多余的錫刮走。如果錫球不均勻的話,再重復上一步,直接錫球均勻為止。撕掉膠布,用手術刀把BGA撬起來。
2、儀器儀表的使用。
a、萬用表。為什么起這個名字?因為對于高手來說,萬用表是幾乎是萬能的。一般也是用它來測電壓、電流和電阻。
b、示波器。現在都用數字示波器,一個auto鍵,可以輕松搞定,而且還帶FFT的功能,可以使用頻域分析法,是硬件工程師必須掌握的神兵利器。示波器還有個小眾的功能,就是李沙育圖(測相位差和測頻率用的)。此外,還要學會用示波器測開關電源紋波。
c、數字電橋,也叫LCR、LCZ測試儀。用它可以測電感值、電容值、電阻值、Q值、D值等,精度比一般的萬用表要高。
d、信號發生器,也叫函數信號發生器。可以輸出正弦波、方波、三角波、已調信號。用法比較簡單,但是射頻信號發生器,就要注意了,在輸出信號之前,一定要做好阻抗匹配,不然信號反射的話,有可能會損壞信號發生器。
f、頻率計。用法比較簡單,不再多說了,有的信號發生器還增加了頻率計的功能。
g、矢量網絡分析儀,也叫網分儀。用于測量射頻電路的S參數矩陣,還可以顯示史密斯圓圖。每次使用之前都要校正一下頻率點。
h、頻譜儀。也就看一下頻譜,也有示波器的功能。
還有一些小眾儀器就不說了,像漏電流測試儀、電表等。
3、維修。
首先肉眼觀察一下板子,看有沒有虛焊、短路或者缺少元件。有就修,沒有就下一步。
然后用萬用表測一下各組電源,看有沒有短路。有就修,沒有就下一步。
給板子上電,看各組電源電壓是否正常。有就修,沒有就下一步。
到了這一步,你必須對板子的整體設計有一定的認識,或者你得背下前輩們的經驗(背經驗的往往覺得硬件很神秘,這是我不推薦的做法),不然沒法修好。先對板子的各個功能分好模塊,從現象判斷哪個模塊出問題,斷開可疑的模塊,來排除可疑點(像偵探一樣)。有一塊好板的話,就很好辦,直接對照著測各元件的電壓(或者對地的電阻值)就能解決了。用萬用表只能解決一些簡單的問題,要想徹底修好,手上一定要有示波器,因為像晶振受到干擾之類的,用萬用表是測不出來的。
4、調試。
調試,一般是自主設計的電路,沒經過驗證,需要自己去驗證,這是非常需要扎實的理論基礎。調試也是硬件工程師最容易累積經驗、含金量最高的技能之一。如果前期遇到棘手的問題,可以暫時先放下,等后來水平再高一層,就會解決的了,所以千萬不要鉆牛角尖,這只會浪費更多的時間。調試的技巧需要長時間的積累,放在前面,是讓大家有所重視。
調試方法,多種多樣,視情況而定,不能一概而論,筆者總結了以下幾個方法:
a、示波器測量。當然,首先你得清楚你設計出來的電路,會出什么樣的波形,才知道測出來對不對,也就是說,理論不行的,根本無法調試。
b、對照驗證過的電路。如果手上有一塊好板,而需要調試的電路里面剛好有好板的電路,可以拿好板來飛幾根線驗證一下,排除可疑點,這里跟維修的方法一樣。
c、仿真。其實在設計電路的時候,能仿真就先仿真了,如果實物做出來,還是有問題,也可以仿真一下。如運放電路的參數、不確定的電阻串并聯等等。
d、鑷子短路。在你懷疑時鐘是不是干擾到其它信號的時候,可以用鑷子把時鐘引腳跟地短路(只要是弱信號,跟地短接一會都不會燒板子的,放心),以排除可疑點。還有復位的問題,也可以用這個方法。
e、信號發生。比如一個運放電路,輸入和輸出均受干擾了,那么你就可以用信號發生器或者開發板,來輸出一路干凈的信號,這樣可以排除可疑點。
f、軟件調試。如果板子上,有CPU就可以用串口調試,有FPGA就可以用嵌入式邏輯分析儀,這樣可以確定是芯片內部還是外部的問題。
g、觀察現象。信號都在板子上跑了,直接觀察是觀察不出來的,這個時候,可以引出信號線,接在可觀察的設備上。如:調試音頻放大器的時候,就可以接一路信號,到一個現成完好的功放上面,通過聽聲音來觀察現象。當然,你可不要只想到功放,還有其它可觀察的設備或者元件,像LED燈、顯示器,甚至是收音機,只要能派得上用場的都可以。
二、中級實踐篇
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、電路設計軟件的使用。
主流的電路設計軟件有三個: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。
3、其它軟件的使用。
畫板框用的autoCAD、畫3D封裝的solidworks或者pro-e、科學計算的MATLAB。
autoCAD的基本用法還是比較簡單的,在有人教的情況下,半小時可以入門,對于硬件工程師來說就畫一下板框,保存為DXF格式,再導入到PCB設計軟件。同時,DXF也是硬件工程師與結構工程師交互的文件格式。
相對于pro-e來說,solidworks更加易學易用。用這兩個軟件都可以畫元器件的3D封裝,再把PCB導出為stp格式放到solidworks當中,這樣,還沒打板就可以看到整機的效果圖了。學3D軟件還有個好處,讓你更清楚板子安裝的情況,像定位孔、插座、接線等,這樣設計出來的PCB不容易因為結構問題而無法安裝,這是很多硬件工程師容易忽略的地方。
MATLAB,任何的計算,都可以用它。簡單的計算,像電阻分壓、濾波器的截止頻率等,復雜一點,像定向耦合器的參數計算、復雜運放電路的建模等,用MATLAB都可以輕松解決。這里還推薦一個網頁版的計算工具。
三、進階中級實踐篇
1、基本電路單元的計算、仿真與驗證。
誠然,不管一塊電路板有多復雜,都可以按照功能來劃分為若干個模塊,而這些模塊還可以再劃分為眾多的電路單元。所以,首先要掌握最基本的電路單元的設計。這些電路單元,都可以在數電、模電、電力電子技術、高頻電子線路、單片機、電子測量技術當中學到,先搞懂教課書上經典電路的計算、仿真與驗證。不要以為書上的公式簡單,但是實際操作起來,又是另一回事。比如,書上的反相放大電路,是雙電源的,用單電源就要加偏置,還得考慮帶寬增益積、擺率等。這里主張先計算,再仿真,后實物的操作流程,同時,這也是一個需要長期累積的過程。
2、掌握單片機。可以參考本博客中的《如何學習單片機》。
3、芯片的使用與互連。
在理論篇里面沒有寫到電子專業英語,在這里就要用到專業英語了,你可以看英語教材,也可以用翻譯軟件。這里必須提到的一點是:英語不好導致無法閱讀datasheet的,都無法做電路設計。因為你總得會用到一塊陌生的芯片,總會遇到沒中文資料的情況。基本上能看懂datasheet的,都能把芯片用起來,其實也是抄datasheet上面的參考電路的,剩下的,就是芯片互連。
芯片互連,就是接口技術,也是單片機里面會講到的。5V的ADC跟3.3V的單片機互連,這就要看電平、和信號的傳輸速率了。3.3V單片機跟12V開啟電壓的MOS管互連,加個三極管,做電平轉換就可以了。兩塊3.3V單片機IO口推挽輸出互連,串個100R電阻,防止代碼操作不當而燒壞IO口。
此外,還要掌握常用的總線協議。比如RS233、RS485、SPI、IIC、CAN、LIN、zmodem、USB、PCIE、TCP/IP等。
四、高級實踐篇
在這里,相信你已經把一些基本電路,熟捻于心,也會分析一些簡單的電路。但是,你總會遇到一些奇葩的現象。沒錯,你是時候要考慮SI、PI、EMC、EMI了。不要被這些貌似很高端的名詞嚇倒,分析起來,也是前面學到的電路原理,只是考慮問題的角度不同罷了。
1、SI,信號完整性。這部分的內容對PCB的布局、布線影響較大。
a、使用阻抗匹配減弱過沖、下沖、振鈴的影響(某些射頻電路也對阻抗有要求,如:天線等)。
b、差分線應該盡量靠近以減少差模干擾。
c、去耦電容要盡量靠近芯片的電源管腳。
d、繼電器等大功率器件應該遠離晶振等易被干擾的元件。
e、對重要的信號線,包地。
f、盡量遠離時鐘線(時鐘也可能成為干擾源)。
g、信號線的返回路徑應該盡量短。
信號完整性要注意的地方,還是挺多的,具體可以參考王劍宇的《高速電路設計實踐》。
2、PI,電源完整性。要保證電源的完整,就是防止電源電壓的波動,具體可以參考本博客的《去耦電容的作用》。
3、EMC/EMI,電磁兼容性和電磁干擾。這兩個名詞看起來有點高大上,其實就是不干擾別人和防止被別人干擾的問題。EMC/EMI的問題可以歸結為SI的問題,但是EMC有一套驗證的標準,所以還是起了不同的名字。
推薦《Cadence高速電路設計:Allegro Sigrity SI/PI/EMC設計指南》。
五、總結
1、千萬不要以為把某些口訣當秘笈地記下來,就以為練成了神功,這都是不現實的。前期的學習都必須以理論為核心,少量的實踐以幫助理解理論,后面就可以逐漸增加實踐,理論和實踐是相輔相成,缺一不可的。
2、當硬件電路出了問題,工程師每一步的操作,都是以理論作為指導思想的。
3、千萬不要害怕出錯而不敢做板。硬件工程師都是不斷地犯錯、改正、總結,才慢慢地成熟起來,減少犯錯的概率。不知道錯的話,也意味著不能積累經驗。
4、本文沒有提及生產、測試方面的問題,如:線材、PCBA、BOM、拼板、測試夾具等。
5、因為大多數的電路功能都依靠于芯片來實現,畫原理圖幾乎都是抄datasheet的,所以硬件工程師最具含金量的技能是PCB和調試能力。
6、因為硬件工程師也常常需要和軟件工程師交流,所以,為了方便交流,你還得學習ARM、FPGA、DSP等相關知識,只是側重點有所不同而已,不然會給工作上帶來一定的麻煩。
-
示波器
+關注
關注
113文章
6240瀏覽量
184799 -
電路板
+關注
關注
140文章
4952瀏覽量
97694 -
硬件設計
+關注
關注
18文章
396瀏覽量
44564
原文標題:干貨 | 高手教你如何學習硬件設計——實踐篇
文章出處:【微信號:電子Online,微信公眾號:電子Online】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論