【導(dǎo)讀】本文通過和大家探討一些自己關(guān)于硬件電路設(shè)計(jì)方面的心得,來個(gè)“拋轉(zhuǎn)引玉”,獻(xiàn)給那些剛開始或即將開始設(shè)計(jì)硬件電路的人,讓大家在“硬件電路設(shè)計(jì)”這條路上少走“彎路”。
1總體思路
設(shè)計(jì)硬件電路,大的框架和架構(gòu)要搞清楚,但要做到這一點(diǎn)還真不容易。有些大框架也許自己的老板、老師已經(jīng)想好,自己只是把思路具體實(shí)現(xiàn);但也有些要自己設(shè)計(jì)框架的,那就要搞清楚要實(shí)現(xiàn)什么功能,然后找找有否能實(shí)現(xiàn)同樣或相似功能的參考電路板(要懂得盡量利用他人的成果,越是有經(jīng)驗(yàn)的工程師越會懂得借鑒他人的成果)。
2理解電路
如果你找到了的參考設(shè)計(jì),那么恭喜你,你可以節(jié)約很多時(shí)間了(包括前期設(shè)計(jì)和后期調(diào)試)。馬上就copy?NO,還是先看懂理解了再說,一方面能提高我們的電路理解能力,而且能避免設(shè)計(jì)中的錯(cuò)誤。
3沒有找到參考設(shè)計(jì)?
先確定大IC芯片,找datasheet,看其關(guān)鍵參數(shù)是否符合自己的要求,哪些才是自己需要的關(guān)鍵參數(shù),以及能否看懂這些關(guān)鍵參數(shù),都是硬件工程師的能力的體現(xiàn),這也需要長期地慢慢地積累。
這期間,要善于提問,因?yàn)樽约翰欢臇|西,別人往往一句話就能點(diǎn)醒你,尤其是硬件設(shè)計(jì)。
4硬件電路的三個(gè)主要設(shè)計(jì)部分
原理圖、PCB、物料清單(BOM)表。
原理圖設(shè)計(jì)就是將前面的思路轉(zhuǎn)化為電路原理圖。它很像我們教科書上的電路圖。PCB涉及到實(shí)際的電路板,它根據(jù)原理圖轉(zhuǎn)化而來的網(wǎng)表(網(wǎng)表是溝通原理圖和PCB之間的橋梁),而將具體的元器件的封裝放置(布局)在電路板上,然后根據(jù)飛線(也叫預(yù)拉線)連接其電信號(布線)。
完成了PCB布局布線后,要用到哪些元器件應(yīng)該有所歸納,所以我們將用到BOM表。
5用什么工具?
Prote,也就是altimuml容易上手,在國內(nèi)也比較流行,應(yīng)付一般的工作已經(jīng)足夠,適合初入門的設(shè)計(jì)者使用。
其實(shí)無論用簡單的protel或者復(fù)雜的cadence工具,硬件設(shè)計(jì)大環(huán)節(jié)是一樣的(protel上的操作類似windwos,是post-command型的;而cadence的產(chǎn)品concept&allegro是pre-command型的,用慣了protel,突然轉(zhuǎn)向cadence的工具,會不習(xí)慣就是這個(gè)原因)。
設(shè)計(jì)大環(huán)節(jié)都要有:
1)原理圖設(shè)計(jì);
2)PCB設(shè)計(jì);
3)制作BOM表。
下面簡要談一下設(shè)計(jì)流程(步驟)
(1)原理圖庫建立。要將一個(gè)新元件擺放在原理圖上,我們必須得建立改元件的庫。庫中主要定義了該新元件的管腳定義及其屬性,并且以具體的圖形形式來代表(我們常??吹降氖且粋€(gè)矩形(代表其IC BODY),周圍許多短線(代表IC管腳))。
protel創(chuàng)建庫及其簡單,而且因?yàn)橛玫娜硕?,許多元件都能找到現(xiàn)成的庫,這一點(diǎn)對使用者極為方便。應(yīng)搞清楚icbody,icpins,inputpin,output pin,analog pin,digital pin,power pin等區(qū)別。
(2)有了充足的庫之后,就可以在原理圖上畫圖了,按datasheet和系統(tǒng)設(shè)計(jì)的要求,通過wire把相關(guān)元件連接起來。在相關(guān)的地方添加line和text注釋。
wire和line的區(qū)別在于,前者有電氣屬性,后者沒有。wire適用于連接相同網(wǎng)絡(luò),line適用于注釋圖形。這個(gè)時(shí)候,應(yīng)搞清一些基本概念,如:wire,line,bus,part,footprint,等等。
(3)做完這一步,我們就可以生成netlist了,這個(gè)netlist是原理圖與pcb之間的橋梁。原理圖是我們能認(rèn)知的形式,電腦要將其轉(zhuǎn)化為pcb,就必須將原理圖轉(zhuǎn)化它認(rèn)識的形式netlist,然后再處理、轉(zhuǎn)化為pcb。
(4)得到netlist,馬上畫pcb?別急,先做ERC先。ERC是電氣規(guī)則檢查的縮寫。它能對一些原理圖基本的設(shè)計(jì)錯(cuò)誤進(jìn)行排查,如多個(gè)output 接在一起等問題。
(但是一定要仔細(xì)檢查自己的原理圖,不能過分依賴工具,畢竟工具并不能明白你的系統(tǒng),它只是純粹地根據(jù)一些基本規(guī)則排查。)
(5)從netlist得到了pcb,一堆密密麻麻的元件,和數(shù)不清的飛線是不是讓你嚇了一跳?呵呵,別急還得慢慢來。
(6)確定板框大小。在keepout區(qū)(或mechanic區(qū))畫個(gè)板框,這將限制了你布線的區(qū)域。需要根據(jù)需求好考慮板長,板寬(有時(shí),還得考慮板厚)。當(dāng)然了,疊層也得考慮好。
(疊層的意思就是,板層有幾層,怎么應(yīng)用,比如板總共4層,頂層走信號,中間第一層鋪電源,中間第二層鋪地,底層走信號)。
先解釋一下(2)中的術(shù)語。post-command,例如我們要拷貝一個(gè)object(元件),我們要先選中這個(gè)object,然后按ctrl+C,然后按ctrl+V(copy命令發(fā)生在選中object之后)。這種操作windows和protel都采用的這種方式。
但是concept就是另外一種方式,我們叫做pre-command。同樣我們要拷貝一個(gè)東西,先按ctrl+C,然后再選中object,再在外面單擊(copy命令發(fā)生在選中object之前)。
1)確定完板框之后,就該元件布局(擺放)了,布局這步極為關(guān)鍵。它往往決定了后期布線的難易。哪些元器件該擺正面,哪些元件該擺背面,都要有所考量。
但是這些都是一個(gè)仁者見仁,智者見智的問題;從不同角度考慮擺放位置都可以不一樣。其實(shí)自己畫了原理圖,明白所有元件功能,自然對元件擺放有清楚的認(rèn)識(如果讓一個(gè)不是畫原理圖的人來擺放元件,其結(jié)果往往會讓你大吃一驚^_^)。
對于初入門的,注意模擬元件,數(shù)字元件的隔離,以及機(jī)械位置的擺放,同時(shí)注意電源的拓?fù)渚涂梢粤恕?/div>
2)接下來就是布線。這與布局往往是互動的。有經(jīng)驗(yàn)的人往往在開始就能看出哪些地方能布線成功。如果有些地方難以布線還需要改動布局。
對于fpga設(shè)計(jì)來說往往還要改動原理圖來使布線更加順暢。布線和布局問題涉及的因素很多,對于高速數(shù)字部分,因?yàn)闋砍兜叫盘柾暾詥栴}而變得復(fù)雜,但往往這些問題又是難以定量或即使定量也難以計(jì)算的。所以,在信號頻率不是很高的情況下,應(yīng)以布通為第一原則。
3)OK了?別急,用DRC檢查檢查先。這是一定要檢查的。DRC對于布線完成覆蓋率以及規(guī)則違反的地方都會有所標(biāo)注,按照這個(gè)再一一的排查,修正。
4)有些PCB還要加上敷銅(可能會導(dǎo)致成本增加),將出線部分做成淚滴(工廠也許會幫你加)。最后的PCB文件轉(zhuǎn)成gerber文件就可交付PCB生產(chǎn)了。(有些直接給PCB也成,工廠會幫你轉(zhuǎn)gerber)。
5)要裝配PCB,準(zhǔn)備bom表吧,一般能直接從原理圖中導(dǎo)出。但是需要注意的是,原理圖中哪些部分元件該上,哪些部分元件不該上,要做到心理有數(shù)。
對于小批量或研究板而言,用excel自己管理倒也方便(大公司往往要專業(yè)軟件來管理)。而對于新手而言,第一個(gè)版本,不建議直接交給裝配工廠或焊接工廠將bom的料全部焊上,這樣不便于排查問題。最好的方法就是,根據(jù)bom表自己準(zhǔn)備好元件。等到板來了之后,一步步上元件、調(diào)試。
本文內(nèi)容來源網(wǎng)絡(luò),版權(quán)歸原作者所有。