時光飛逝,離俺最初畫第一塊電路已有3年。剛剛開始接觸電路板的時候,與大家一樣,俺充滿了疑惑同時又帶著些興奮。
在網上許多關於硬體電路的經驗、知識讓人目不暇接。像訊號完整性、EMI、PS設計準會把你搞暈。
別急,一切要慢慢來。一個硬體工程師到底需要做什麼,讀完這篇文章,相信你就懂了。
其實搞硬體主要體現在這幾方面,當然這是俺的總結,供大家參考:
1)總體思路。設計硬體電路,大的框架和架構要搞清楚,但要做到這一點還真不容易。有些大框架也許自己的老闆、老師已經想好,自己只是把思路具體實現;但也有些要自己設計框架的,那就要搞清楚要實現什麼功能,然後找找有否能實現同樣或相似功能的參考電路板。
2)理解電路。如果你找到了的參考設計,那麼恭喜你,你可以節約很多時間了(包括前期設計和後期除錯)。馬上就copy?NO,還是先看懂理解了再說,一方面能提高我們的電路理解能力,而且能避免設計中的錯誤。
3)沒有找到參考設計?沒關係。先確定大IC晶片,找datasheet,看其關鍵引數是否符合自己的要求,哪些才是自己需要的關鍵引數,以及能否看懂這些關鍵引數,都是硬體工程師的能力的體現,這也需要長期地慢慢地積累。這期間,要善於提問,因為自己不懂的東西,別人往往一句話就能點醒你,尤其是硬體設計。
4)硬體電路設計主要是三個部分,原理圖、pcb 、物料清單(BOM)表。原理圖設計就是將前面的思路轉化為電路原理圖。
pcb涉及到實際的電路板,它根據原理圖轉化而來的網表(網表是溝通原理圖和pcb之間的橋樑),而將具體的元器件的封裝放置在電路板上,然後根據飛線連線其電訊號。完成了pcb佈局佈線後,要用到哪些元器件應該有所歸納,所以我們將用到BOM表。
5)用什麼工具?Protel,也就是altium容易上手,在國內也比較流行,應付一般的工作已經足夠,適合初入門的設計者使用。
補充一下,其實無論用簡單的protel或者複雜的cadence工具,硬體設計大環節是一樣的(protel上的操作類似windwos,是post-command型的;而cadence的產品concept & allegro 是pre-command型的,用慣了protel,突然轉向cadence的工具,會不習慣就是這個原因)。設計大環節都要有:1)原理圖設計。2)pcb設計。3)製作BOM表。現在簡要談一下設計流程(步驟):
1)原理相簿建立。要將一個新元件擺放在原理圖上,我們必須得建立改元件的庫。應搞清楚ic body,ic pins,input pin,output pin, analog pin, digital pin, power pin等區別。
2)有了充足的庫之後,就可以在原理圖上畫圖了,按照datasheet和系統設計的要求,透過wire把相關元件連線起來。
3)做完這一步,我們就可以生成netlist了,這個netlist是原理圖與pcb之間的橋樑。
4)得到netlist,馬上畫pcb?別急,先做ERC先。ERC是電氣規則檢查的縮寫。它能對一些原理圖基本的設計錯誤進行排查,如多個output接在一起等問題。
5)從netlist得到了pcb,一堆密密麻麻的元件,和數不清的飛線是不是讓你嚇了一跳?呵呵,別急還得慢慢來。
6)確定板框大小。在keepout區(或mechanic區)畫個板框,這將限制了你佈線的區域。需要根據需求好考慮板長,板寬(有時,還得考慮板厚)。
確定完板框之後,就該元件佈局(擺放)了,佈局這步極為關鍵。它往往決定了後期佈線的難易。哪些元器件該擺正面,哪些元件該擺背面,都要有所考量。
但是這些都是一個仁者見仁,智者見智的問題;從不同角度考慮擺放位置都可以不一樣。其實自己畫了原理圖,明白所有元件功能,自然對元件擺放有清楚的認識(如果讓一個不是畫原理圖的人來擺放元件,其結果往往會讓你大吃一驚^_^)。對於初入門的,注意模擬元件,數字元件的隔離,以及機械位置的擺放,同時注意電源的拓撲就可以了。
接下來就是佈線。這與佈局往往是互動的。有經驗的人往往在開始就能看出哪些地方能佈線成功。用DRC檢查檢查先,這是一定要檢查的。DRC對於佈線完成覆蓋率以及規則違反的地方都會有所標註,按照這個再一一的排查,修正。
結下來,要裝配pcb,準備bom表吧,一般能直接從原理圖中匯出。但是需要注意的是,原理圖中哪些部分元件該上,哪些部分元件不該上,要做到心理有數。對於小批次或研究板而言,用excel自己管理倒也方便。
而對於新手而言,第一個版本,不建議直接交給裝配工廠或焊接工廠將bom的料全部焊上,這樣不便於排查問題。最好的方法就是,根據bom表自己準備好元件。等到板來了之後,一步步上元件、除錯。
談談除錯
1)拿到板第一步做什麼,不要急急忙忙供電看功能,硬體除錯不可能一步除錯完成的。先拿萬用表看看關鍵網路是否有不正常,主要是看電源與地之間有否短路(儘管生產廠商已經幫你做過測試,這一步還是要自己親自看看,有時候看起來某些步驟挺繁瑣,但是可以節約你後面不少時間!),其實短路與否不光pcb有關,在生產製作的任何一個環節可能導致這個問題,IO短路一般不會造成災難性的後果,但是電源短路就。
2)電源網路沒短路?那麼好,那就看看電源輸出是否是自己理想的值,對於初學者,除錯的時候最好IC一件件晶片上,第一個要上的就是電源晶片。
3)電源網路短路了?這個比較麻煩,不過要仔細看看自己原理圖是否有可能這樣的情況,同時結合割線的方法一步步排查倒底是什麼地方短路了,是pcb的問題(一般比較爛的pcb廠就可能出現這種情況),還是裝配的問題,還是自己設計的問題。關於檢查短路還有一些技巧,這在今後登出。
3)電源晶片沒有輸出?檢查檢查你的電源晶片輸入是否正常吧,還需要檢查的地方有使能訊號,分壓電阻,反饋網路。
4) 電源晶片輸出值不在預料範圍?如果超過很離譜,比如到了10%,那麼看看分壓電阻先,這兩個分壓電阻一般要用1%的精度,這個你做到了沒有,同時看看反饋網路吧,這也會影響你的輸出電源的範圍。
5)電源輸出正常了,別高興,如果有條件的話,拿示波器看看吧,看看電源的輸出跳變是否正常。也就是抓取開電的瞬間,看看電源從無到有的情況(至於為什麼要看著個,嘿嘿。。.專業人士還是要看的~)
另外,提醒大家的是,高速看的是訊號沿,不是時鐘頻率。
1) 一般而言,時鐘頻率高的,其訊號上升沿快,因此一般我們把它們當成高速訊號;但反過來不一定成立,時鐘頻率低的,如果訊號上升沿依然快的,一樣要把它當成高速訊號來處理。
根據訊號理論,訊號上升沿包含了高頻資訊(用傅立葉變換,可以找出定量表達式),因此,一旦訊號上升沿很陡,我們應該按高速訊號來處理,設計不好,很可能出現上升沿過於緩慢,有過沖,下衝,振鈴的現象。比如,I2C訊號,在超快速模式下,時鐘頻率為1MHz,但是其規範要求上升時間或下降時間不超過120ns!確實有很多板I2C就過不了關!
時光飛逝,離俺最初畫第一塊電路已有3年。剛剛開始接觸電路板的時候,與大家一樣,俺充滿了疑惑同時又帶著些興奮。
在網上許多關於硬體電路的經驗、知識讓人目不暇接。像訊號完整性、EMI、PS設計準會把你搞暈。
別急,一切要慢慢來。一個硬體工程師到底需要做什麼,讀完這篇文章,相信你就懂了。
其實搞硬體主要體現在這幾方面,當然這是俺的總結,供大家參考:
1)總體思路。設計硬體電路,大的框架和架構要搞清楚,但要做到這一點還真不容易。有些大框架也許自己的老闆、老師已經想好,自己只是把思路具體實現;但也有些要自己設計框架的,那就要搞清楚要實現什麼功能,然後找找有否能實現同樣或相似功能的參考電路板。
2)理解電路。如果你找到了的參考設計,那麼恭喜你,你可以節約很多時間了(包括前期設計和後期除錯)。馬上就copy?NO,還是先看懂理解了再說,一方面能提高我們的電路理解能力,而且能避免設計中的錯誤。
3)沒有找到參考設計?沒關係。先確定大IC晶片,找datasheet,看其關鍵引數是否符合自己的要求,哪些才是自己需要的關鍵引數,以及能否看懂這些關鍵引數,都是硬體工程師的能力的體現,這也需要長期地慢慢地積累。這期間,要善於提問,因為自己不懂的東西,別人往往一句話就能點醒你,尤其是硬體設計。
4)硬體電路設計主要是三個部分,原理圖、pcb 、物料清單(BOM)表。原理圖設計就是將前面的思路轉化為電路原理圖。
pcb涉及到實際的電路板,它根據原理圖轉化而來的網表(網表是溝通原理圖和pcb之間的橋樑),而將具體的元器件的封裝放置在電路板上,然後根據飛線連線其電訊號。完成了pcb佈局佈線後,要用到哪些元器件應該有所歸納,所以我們將用到BOM表。
5)用什麼工具?Protel,也就是altium容易上手,在國內也比較流行,應付一般的工作已經足夠,適合初入門的設計者使用。
補充一下,其實無論用簡單的protel或者複雜的cadence工具,硬體設計大環節是一樣的(protel上的操作類似windwos,是post-command型的;而cadence的產品concept & allegro 是pre-command型的,用慣了protel,突然轉向cadence的工具,會不習慣就是這個原因)。設計大環節都要有:1)原理圖設計。2)pcb設計。3)製作BOM表。現在簡要談一下設計流程(步驟):
1)原理相簿建立。要將一個新元件擺放在原理圖上,我們必須得建立改元件的庫。應搞清楚ic body,ic pins,input pin,output pin, analog pin, digital pin, power pin等區別。
2)有了充足的庫之後,就可以在原理圖上畫圖了,按照datasheet和系統設計的要求,透過wire把相關元件連線起來。
3)做完這一步,我們就可以生成netlist了,這個netlist是原理圖與pcb之間的橋樑。
4)得到netlist,馬上畫pcb?別急,先做ERC先。ERC是電氣規則檢查的縮寫。它能對一些原理圖基本的設計錯誤進行排查,如多個output接在一起等問題。
5)從netlist得到了pcb,一堆密密麻麻的元件,和數不清的飛線是不是讓你嚇了一跳?呵呵,別急還得慢慢來。
6)確定板框大小。在keepout區(或mechanic區)畫個板框,這將限制了你佈線的區域。需要根據需求好考慮板長,板寬(有時,還得考慮板厚)。
確定完板框之後,就該元件佈局(擺放)了,佈局這步極為關鍵。它往往決定了後期佈線的難易。哪些元器件該擺正面,哪些元件該擺背面,都要有所考量。
但是這些都是一個仁者見仁,智者見智的問題;從不同角度考慮擺放位置都可以不一樣。其實自己畫了原理圖,明白所有元件功能,自然對元件擺放有清楚的認識(如果讓一個不是畫原理圖的人來擺放元件,其結果往往會讓你大吃一驚^_^)。對於初入門的,注意模擬元件,數字元件的隔離,以及機械位置的擺放,同時注意電源的拓撲就可以了。
接下來就是佈線。這與佈局往往是互動的。有經驗的人往往在開始就能看出哪些地方能佈線成功。用DRC檢查檢查先,這是一定要檢查的。DRC對於佈線完成覆蓋率以及規則違反的地方都會有所標註,按照這個再一一的排查,修正。
結下來,要裝配pcb,準備bom表吧,一般能直接從原理圖中匯出。但是需要注意的是,原理圖中哪些部分元件該上,哪些部分元件不該上,要做到心理有數。對於小批次或研究板而言,用excel自己管理倒也方便。
而對於新手而言,第一個版本,不建議直接交給裝配工廠或焊接工廠將bom的料全部焊上,這樣不便於排查問題。最好的方法就是,根據bom表自己準備好元件。等到板來了之後,一步步上元件、除錯。
談談除錯
1)拿到板第一步做什麼,不要急急忙忙供電看功能,硬體除錯不可能一步除錯完成的。先拿萬用表看看關鍵網路是否有不正常,主要是看電源與地之間有否短路(儘管生產廠商已經幫你做過測試,這一步還是要自己親自看看,有時候看起來某些步驟挺繁瑣,但是可以節約你後面不少時間!),其實短路與否不光pcb有關,在生產製作的任何一個環節可能導致這個問題,IO短路一般不會造成災難性的後果,但是電源短路就。
2)電源網路沒短路?那麼好,那就看看電源輸出是否是自己理想的值,對於初學者,除錯的時候最好IC一件件晶片上,第一個要上的就是電源晶片。
3)電源網路短路了?這個比較麻煩,不過要仔細看看自己原理圖是否有可能這樣的情況,同時結合割線的方法一步步排查倒底是什麼地方短路了,是pcb的問題(一般比較爛的pcb廠就可能出現這種情況),還是裝配的問題,還是自己設計的問題。關於檢查短路還有一些技巧,這在今後登出。
3)電源晶片沒有輸出?檢查檢查你的電源晶片輸入是否正常吧,還需要檢查的地方有使能訊號,分壓電阻,反饋網路。
4) 電源晶片輸出值不在預料範圍?如果超過很離譜,比如到了10%,那麼看看分壓電阻先,這兩個分壓電阻一般要用1%的精度,這個你做到了沒有,同時看看反饋網路吧,這也會影響你的輸出電源的範圍。
5)電源輸出正常了,別高興,如果有條件的話,拿示波器看看吧,看看電源的輸出跳變是否正常。也就是抓取開電的瞬間,看看電源從無到有的情況(至於為什麼要看著個,嘿嘿。。.專業人士還是要看的~)
另外,提醒大家的是,高速看的是訊號沿,不是時鐘頻率。
1) 一般而言,時鐘頻率高的,其訊號上升沿快,因此一般我們把它們當成高速訊號;但反過來不一定成立,時鐘頻率低的,如果訊號上升沿依然快的,一樣要把它當成高速訊號來處理。
根據訊號理論,訊號上升沿包含了高頻資訊(用傅立葉變換,可以找出定量表達式),因此,一旦訊號上升沿很陡,我們應該按高速訊號來處理,設計不好,很可能出現上升沿過於緩慢,有過沖,下衝,振鈴的現象。比如,I2C訊號,在超快速模式下,時鐘頻率為1MHz,但是其規範要求上升時間或下降時間不超過120ns!確實有很多板I2C就過不了關!