地彈的形成: 芯片內(nèi)部的地和芯片外的PCB地平面之間不可避免的會(huì)有一個(gè)小電感。這個(gè)小電感正是地彈產(chǎn)生的根源,同時(shí),地彈又是與芯片的負(fù)載情況密切相關(guān)的。下面結(jié)合圖介紹一下地彈現(xiàn)象的形成。簡(jiǎn)單的構(gòu)造如上圖的一個(gè)小“場(chǎng)景”,芯片A為輸出芯片,芯片B為接收芯片,輸出端和輸入端很近。輸出芯片內(nèi)部的CMOS等輸入單元簡(jiǎn)單的等效為一個(gè)單刀雙擲開關(guān),RH和RL分別為高電平輸出阻抗和低電平輸出阻抗,均設(shè)為20歐。GNDA為芯片A內(nèi)部的地。GNDPCB為芯片外PCB地平面。由于芯片內(nèi)部的地要通過芯片內(nèi)的引線和管腳才能接到GNDPCB,所以就會(huì)引入一個(gè)小電感LG,假設(shè)這個(gè)值為1nH。CR為接收端管腳電容,這個(gè)值取6pF。這個(gè)信號(hào)的頻率取200MHz。雖然這個(gè)LG和CR都是很小的值,不過,通過后面的計(jì)算我們可以看到它們對(duì)信號(hào)的影響。先假設(shè)A芯片只有一個(gè)輸出腳,現(xiàn)在Q輸出高電平,接收端的CR上積累電荷。當(dāng)Q輸出變?yōu)榈碗娖降臅r(shí)候。CR、RL、LG形成一個(gè)放電回路。自諧振周期約為490ps,頻率為2GHz,Q值約為0.0065。使用EWB建一個(gè)仿真電路。(很老的一個(gè)軟件,很多人已經(jīng)不懈于使用了。不過我個(gè)人比較依賴它,關(guān)鍵是建模,模型參數(shù)建立正確的話仿真結(jié)果還是很可靠的,這個(gè)小軟件幫我發(fā)現(xiàn)和解決過很多實(shí)際模擬電路中遇到的問題。這個(gè)軟件比較小,有比較長(zhǎng)的歷史,也比較成熟,很容易上手。建議電子初入門的同學(xué)還是熟悉一下。)因?yàn)橹魂P(guān)注下降沿,所以簡(jiǎn)單的構(gòu)建下面一個(gè)電路。起初輸出高電平,10納秒后輸出低電平。為方便起見,高電平輸出設(shè)為3.3V,低電平是0V。(實(shí)際200M以上芯片IO電壓會(huì)比較低,多采用1.5-2.5V。)
電感兩端波形如下所示。電壓為2V/格,可以看到下沖可以到-600mV。
于是輸出低電平信號(hào)如下圖所示:
我們看到實(shí)際上由于RL的作用,接收端下沖只到71mV。
這個(gè)RL的作用很大。如果這個(gè)值是2歐的話,Q值增大10倍。(這是假設(shè),只為更形象的說明其作用,實(shí)際不會(huì)做到這么小的。)可以看到下沖可以到-2.6V。
而芯片B接收端信號(hào)也惡化很多。信號(hào)下沖已經(jīng)到了-2.5V。
前面我們只分析了一個(gè)輸出變化引起內(nèi)部地彈的情況。當(dāng)出現(xiàn)一組數(shù)據(jù)線同時(shí)由高電平翻轉(zhuǎn)為低電平時(shí)(假設(shè)為10根),則等效模型為RL為2歐,CR為60pF。電感兩端波形如下圖所示:(芯片內(nèi)部地最低到-1.69V,信號(hào)端下沖也達(dá)到-1.48V)
芯片加工過程中會(huì)采用各用工藝盡可能的縮小LG的值,并且通過增加地引線的方式減小LG的值(等效為并聯(lián))。比如一片1000腳左右的BGA封裝芯片。有一組輸出總線寬度為72bit,而芯片引出地引腳為200根。那么這個(gè)電路可以等效為下面的形式:
芯片內(nèi)部地的波形如下圖所示:(下沖只有320mV)
可以看到,一方面通過增加地引線數(shù)目,地彈現(xiàn)象得到了很大的改善;另一方面,72根數(shù)據(jù)線同時(shí)翻轉(zhuǎn)的幾率也很低,所以地彈得到了很有效的控制。然而,不是所有的芯片都能提供足夠多的地,除了BGA封裝,其它封裝地引線還是比較少的。如果一個(gè)芯片有18個(gè)輸出,只有4個(gè)地引腳。那么RL變?yōu)?.25歐,CR為96pF,LG為0.25nH,芯片地上的地彈情況就會(huì)比起初假設(shè)的情況更糟了。可以看到下沖已經(jīng)到了-1.23V。
地彈的影響: 看到了上面地彈分析和相關(guān)波形,我們第一感覺總會(huì)認(rèn)為地彈最大的危害是給輸出信號(hào)增加了下沖。其實(shí)不然,地彈最大的危害其實(shí)在于對(duì)輸入的影響――會(huì)形成二次觸發(fā)。下面結(jié)合圖分析一下二次觸發(fā)是怎么形成的。再構(gòu)造一個(gè)簡(jiǎn)單模型。在前面的模型基礎(chǔ)上給芯片A加入了一個(gè)輸入端――構(gòu)造一個(gè)觸發(fā)時(shí)鐘的上升沿。模擬場(chǎng)景為:在9.8ns的時(shí)候這個(gè)上升沿產(chǎn)生,上升時(shí)間大概為660ps。在10ns的時(shí)候時(shí)鐘信號(hào)達(dá)到高電平并觸發(fā)了所有輸出由高電平翻轉(zhuǎn)為低電平。
真實(shí)情況下,時(shí)鐘輸入端的6pF電容(管腳電容)下邊應(yīng)該接到芯片地的,但那樣波形會(huì)比較復(fù)雜(不是一個(gè)單調(diào)的上升沿),為獲得一個(gè)單調(diào)的上升沿,以更直觀的說明問題,暫把電容模型直接并在時(shí)鐘輸入與PCB的地之間。可以看到下面的波形情況:
而對(duì)芯片來說,接收端的信號(hào)是相對(duì)內(nèi)部地的。也就是說對(duì)于芯片A來說,它認(rèn)為輸入時(shí)鐘是信號(hào)與內(nèi)部地的差。即芯片理解的波形是下面的樣子:
可以看到芯片內(nèi)會(huì)認(rèn)為時(shí)鐘上有一個(gè)回溝,從而造成觸發(fā)器的二次觸發(fā)。如果是一個(gè)計(jì)數(shù)器時(shí)鐘輸入的話一個(gè)上升沿就會(huì)被計(jì)為兩個(gè)上升沿;如果是鎖存器的話,就會(huì)重新鎖存一下數(shù)據(jù),這里需要注意,這個(gè)回溝會(huì)疊加到每一個(gè)輸入信號(hào)端。也就是說二次觸發(fā)時(shí)鎖存到的數(shù)據(jù)可能是錯(cuò)誤的數(shù)據(jù)!這里仿真的回溝幅度比較大,主要是一次觸發(fā)后的那個(gè)下降沿(對(duì)應(yīng)電感兩端的上升沿)。如果情況真的如我們上面看到的波形一樣,那芯片怎么還能正常工作呢??下面來解釋一下:其實(shí),上面為了更好的理解對(duì)輸入的影響,對(duì)大家做了一個(gè)誤導(dǎo)。(今天愚人節(jié),說謊有理^_^)關(guān)鍵就在那個(gè)輸入端的6pF電容!把這個(gè)小電容按實(shí)際情況接到芯片內(nèi)部地上的話,情況就大不一樣了。 下面看一下相對(duì)PCB地平面輸入時(shí)鐘波形和芯片內(nèi)部地的電平變化:(高的一條線為輸入時(shí)鐘信號(hào),低的一條為芯片內(nèi)部地。在9.8ns和10ns分別有一次正向跳變。) 這時(shí),內(nèi)部認(rèn)為輸入信號(hào)電平低然是兩者之差: 怎么會(huì)這樣?回溝完全沒有了?。恐皇窃?0ns后出現(xiàn)了一個(gè)小臺(tái)階…下面我們分析一下原因^_^ 小臺(tái)階的出現(xiàn)是因?yàn)樾酒珺的輸入端積累的正電荷反灌了回來,而又不能馬上通過電感(電感的電流不能瞬間變化),于是在電感兩端產(chǎn)生了一個(gè)與輸出電壓相等的電勢(shì)。而在9.8ns的時(shí)候由于時(shí)鐘信號(hào)的高電平,已經(jīng)有電流通過輸入端小電容,然后又通過電感了。于是電感中已經(jīng)允許有電流通過,在10ns的時(shí)候電流再回灌的話就可以通過電感了,(這個(gè)時(shí)候前邊時(shí)鐘輸入端的小電容基本不過電容了,所以看到前一個(gè)波形里時(shí)鐘會(huì)有兩個(gè)跳變)于是回溝就看不到了(但并不是沒有了,圖上看不到回溝主要是因?yàn)?0ns的時(shí)候時(shí)鐘信號(hào)在中心電平附近,還和很多條件相關(guān),比如:把輸入時(shí)鐘端的電容設(shè)為4pF的話,就又有了一個(gè)小回溝,就不細(xì)說了,要不今天就甭吃晚飯了^_^)。下面再做一點(diǎn)很小的修改(在時(shí)鐘信號(hào)線或芯片管腳與PCB的地之間有一個(gè)小電容1.5pF): 呵呵,是不是有想吐的感覺?它又出來了… 地彈的測(cè)量: 地彈要測(cè)量芯片內(nèi)部的地電平變化,總不能割開芯片去測(cè)吧?確實(shí)是沒有辦法直接測(cè)到,不過,對(duì)CPLD或FPGA可以大致的測(cè)量?jī)?nèi)部地彈情況的??梢园涯骋粋€(gè)管腳設(shè)為低電平輸出。大多芯片內(nèi)部地與輸出低電平之間的壓差是基本不變的。測(cè)量這個(gè)低電平輸出的電壓波形就能反應(yīng)出內(nèi)部地彈情況了。示波器帶寬要夠?。?duì)測(cè)試技巧要求也比較高^_^ 地彈的規(guī)避:通過上面的分析,我們了解了地彈的機(jī)理,可以采取一些措施來規(guī)避(暫時(shí)只能想到這些了): 1、 設(shè)計(jì)CPLD或FPGA等邏輯器件的時(shí)候盡可能不要同時(shí)對(duì)大量的輸出進(jìn)行翻轉(zhuǎn)。 2、 輸出不要帶太多負(fù)載。 3、 加始端串阻匹配。相當(dāng)于增大了開始建的模型里的RL。 4、 終端并聯(lián)匹配也能起到很好的效果。(電流可以不單走電感了) 5、 對(duì)芯片前邊的輸入也不容忽視,可以看到例中1.5pF小電容的作用^_^(一個(gè)小過孔焊盤與地之間的電容也近0.3pF呢。) 芯片制造商也可以: 1、 引比較多的地線,減小LG。 2、 改進(jìn)制造工藝,減小LG。(幾乎是到頭了…) 3、 芯片內(nèi)部將輸入和輸出地分開,這樣輸出引起的地彈就不會(huì)影響到輸入端了。也就避免了二次觸發(fā)。 4、 采用差分結(jié)構(gòu)。差分結(jié)構(gòu)里也有電感,但是對(duì)差分結(jié)構(gòu)進(jìn)行分析的話,不難發(fā)現(xiàn)電感中的電流在0和1的邏輯狀態(tài)是方向和大小都不變的。不會(huì)有電平翻轉(zhuǎn)后電荷不能通過電感的現(xiàn)象。和地彈機(jī)理相同,還有電源彈射呢^_^機(jī)理相同,就不再重復(fù)了。本想花一上午搞定的,沒想到整整花了一天時(shí)間…有點(diǎn)奢侈了。當(dāng)過節(jié)了,希望對(duì)大家有用。水平有限,有理解錯(cuò)誤的地方還望提醒。 郵箱:zjd01@eyou.com BLOG:http://user.qzone.qq.com/37564275 全國(guó)電子工程師團(tuán)結(jié)起來!咱們沒理由輸給那些老外的。 下面附上一些常見封裝的引腳電感LG。 14腳DIP:8nH。 68腳DIP:35nH。 68腳PLCC:7nH。絲焊:1nH。(將一個(gè)未密封的管芯背向放在PCB板上,把芯片上的小焊盤和PCB之間的小焊盤用細(xì)線焊接起來,很少用) BGA:0.1nH。