【摘要】
本文結(jié)合某單板(下文中統(tǒng)一稱M單板)FPGA調(diào)試過(guò)程中發(fā)現(xiàn)地彈噪聲造成某重要時(shí)鐘信號(hào)劣化從而導(dǎo)致單板業(yè)務(wù)丟包的故障,來(lái)談下如何最大程度地降低地彈噪聲對(duì)單板信號(hào)完整性影響。
一、故障現(xiàn)象
M單板在進(jìn)行業(yè)務(wù)調(diào)試時(shí)發(fā)現(xiàn):如果只有上行方向有業(yè)務(wù),上行業(yè)務(wù)正常無(wú)丟包;如果只有下行方向有業(yè)務(wù),下行業(yè)務(wù)也正常無(wú)丟包;如果雙向都有業(yè)務(wù),下行業(yè)務(wù)丟包嚴(yán)重,上行業(yè)務(wù)正常。同時(shí)高溫情況下比常溫下丟包更加嚴(yán)重。
二、故障分析
通過(guò)邏輯內(nèi)部定位發(fā)現(xiàn)丟包地點(diǎn)為下行SSRAM讀寫處,即下行業(yè)務(wù)包寫入SSRAM,再讀出后包內(nèi)容出錯(cuò)導(dǎo)致報(bào)文丟棄。FPGA外掛SSRAM結(jié)構(gòu)框圖見(jiàn)圖1,進(jìn)入FPGA內(nèi)部的上行業(yè)務(wù)和下行業(yè)務(wù)都需要通過(guò)各自的SSRAM進(jìn)行緩存來(lái)實(shí)現(xiàn)一些功能。其中上行SSRAM的讀寫使用的是125M的本地晶振時(shí)鐘,而下行SSRAM使用的是38M系統(tǒng)時(shí)鐘。
圖1 FPGA外掛SSRAM原理框圖
從故障現(xiàn)象來(lái)看,不是簡(jiǎn)單的時(shí)序問(wèn)題,因?yàn)閱为?dú)只有上行業(yè)務(wù)或下行業(yè)務(wù)時(shí),業(yè)務(wù)都正常。而上下行同時(shí)有業(yè)務(wù)處理時(shí),下行業(yè)務(wù)就會(huì)丟包,因此懷疑是上行的業(yè)務(wù)干擾了下行的業(yè)務(wù)。而下行業(yè)務(wù)受到干擾的最大可能就是下行SSRAM的時(shí)鐘信號(hào)受到了干擾。為了驗(yàn)證此猜測(cè),我們做的如下實(shí)驗(yàn):使用高速示波器測(cè)量CLK_38M時(shí)鐘,比較只有下行業(yè)務(wù)和上下行業(yè)務(wù)同時(shí)都有時(shí)的信號(hào)波形,看是否有區(qū)別。測(cè)試結(jié)果見(jiàn)圖2和圖3。比較可看出,只有下行業(yè)務(wù)時(shí),時(shí)鐘信號(hào)質(zhì)量很好,而上行業(yè)務(wù)也有時(shí),時(shí)鐘的上升沿有一個(gè)明顯的回溝,而回溝的位置在2.0V左右,而2.0V是VIH的臨界電平,該回溝會(huì)導(dǎo)致FPGA誤判,這樣就會(huì)出現(xiàn)采樣點(diǎn)錯(cuò)誤而導(dǎo)致采樣數(shù)據(jù)出錯(cuò)。
圖2 只有下行業(yè)務(wù)時(shí)CLK_38M波形
圖3 上下行業(yè)務(wù)都有時(shí)CLK_38M波形
上行業(yè)務(wù)是怎樣影響到下行時(shí)鐘CLK_38M的呢?查看M單板的原理圖,發(fā)現(xiàn)CLK_38M和上行SSRAM的36根數(shù)據(jù)線在同一個(gè)I/O bank。那么最大可能便是上行SSRAM的數(shù)據(jù)線對(duì)CLK_38M進(jìn)行了干擾。那么該干擾是FPGA內(nèi)部的地彈噪聲造成的還是FPGA外部PCB走線造成的呢?為了驗(yàn)證此問(wèn)題,又做了2個(gè)實(shí)驗(yàn)。實(shí)驗(yàn)1:將圖4中的R141去掉,然后在跟FPGA相連的電阻焊盤上飛一根線直接到SSRAM的時(shí)鐘管腳,經(jīng)示波器測(cè)量后發(fā)現(xiàn)仍然存在干擾。實(shí)驗(yàn)2:將圖4中的R141去掉,在FPGA內(nèi)部將系統(tǒng)來(lái)的38M時(shí)鐘從另外一個(gè)bank的空余I/O口(該I/O本身有串阻引出)輸出,同時(shí)將引出的38M時(shí)鐘通過(guò)飛線連接到R141中與SSRAM相連的焊盤。經(jīng)過(guò)示波器測(cè)試,發(fā)現(xiàn)干擾消失,同時(shí)進(jìn)行業(yè)務(wù)測(cè)試時(shí)發(fā)現(xiàn)上下行業(yè)務(wù)同時(shí)發(fā)包時(shí),下行業(yè)務(wù)正常。 通過(guò)上面兩個(gè)實(shí)驗(yàn)可以確認(rèn)此故障確定是在FPGA內(nèi)部上行SSRAM的數(shù)據(jù)線翻轉(zhuǎn)時(shí)帶來(lái)的地彈噪聲,干擾了下行了CLK_38M時(shí)鐘,導(dǎo)致該時(shí)鐘質(zhì)量劣化而使得下行SSRAM讀寫出錯(cuò),最終導(dǎo)致下行業(yè)務(wù)丟包。
圖4 M單板原理圖截圖
三、原因分析
所謂“地彈”(ground bounce),是指芯片內(nèi)部“地”電平相對(duì)于PCB板“地”電平的變化現(xiàn)象。以PCB板“地”為參考,就像是芯片內(nèi)部的“地”電平不斷的跳動(dòng),因此形象的稱之為地彈。地彈是同步開(kāi)關(guān)噪聲(Simultaneous Switching Noise,簡(jiǎn)稱SSN)的一種,SSN是指當(dāng)器件處于開(kāi)關(guān)狀態(tài),產(chǎn)生瞬間變化的電流,在經(jīng)過(guò)回流途徑上存在電感,形成交流壓降,從而引起噪聲。如果是由于封裝電感引起地平面的波動(dòng),造成芯片地和系統(tǒng)地不一致便是地彈。對(duì)于任何封裝的芯片,其引腳會(huì)存在電感電容等寄生參數(shù)。而地彈正是由于引腳上的電感引起的。我們可以用圖5來(lái)直觀的解釋下。圖中開(kāi)關(guān)Q的不同位置代表了輸出的“0”和“1”兩種狀態(tài)。假定由于電路狀態(tài)轉(zhuǎn)換,開(kāi)關(guān)Q接通RL的低電平,負(fù)載電容對(duì)地放電,隨著負(fù)載電容電壓下降,它積累的電荷流向地,在接地回路上形成一個(gè)大的電流浪涌。隨著放電電路建立然后衰減,這以電流變化作用于接地引腳的電感,這樣在芯片外的PCB板“地”GNDPCB與芯片內(nèi)的地GNDA之間,會(huì)形成一定的電壓差,如圖中的VG。這種由于輸出電平轉(zhuǎn)換導(dǎo)致芯片內(nèi)部參考地點(diǎn)位漂移就是地彈。SSN噪聲主要是伴隨著器件的同步開(kāi)關(guān)輸出(SSO,即Simultancous Switch Output)而產(chǎn)生,開(kāi)關(guān)速度越快,瞬間電流變化越顯著,電流回路上的電感越大,則產(chǎn)生的SSN越嚴(yán)重。此外考慮得更廣一點(diǎn),除了信號(hào)本身回流路徑的電感之外,離的很近的信號(hào)互連線之間的串?dāng)_也是加劇SSN的原因之一。
圖5 地彈噪聲產(chǎn)生原理圖
而此故障確定是在FPGA芯片引腳有寄生電感。內(nèi)部上行SSRAM的數(shù)據(jù)線翻轉(zhuǎn)時(shí)帶來(lái)了地彈噪聲,干擾了下行了CLK_38M時(shí)鐘,導(dǎo)致該時(shí)鐘質(zhì)量劣化而使得下行SSRAM讀寫出錯(cuò),最終導(dǎo)致下行業(yè)務(wù)丟包。
四、解決與預(yù)防措施
了解了地彈噪聲的原理,就可以針對(duì)地彈產(chǎn)生的機(jī)制制定相應(yīng)的措施。1)降低芯片內(nèi)部驅(qū)動(dòng)器的開(kāi)關(guān)速率和同時(shí)開(kāi)關(guān)的數(shù)目。2)為了減輕近距離信號(hào)互連線直接串?dāng)_,盡量減少被干擾信號(hào)周圍信號(hào)線的翻轉(zhuǎn)。3)增大芯片地平面面積。對(duì)于1)和2),考慮到SSRAM的讀寫帶寬有一定要求,讀寫的時(shí)鐘速率和數(shù)據(jù)線位寬不能隨意降低或減少。根據(jù)計(jì)算,做了如下調(diào)整:保持時(shí)鐘速率125M不變,將SSRAM的36根數(shù)據(jù)線減少到29根,減少的9根數(shù)據(jù)線為離CLK_38M最近的幾根。對(duì)于3),將CLK_38M所在的I/O bank中沒(méi)有使用的I/O管腳在邏輯內(nèi)部都設(shè)置為輸出接地。通過(guò)改進(jìn),CLK_38M時(shí)鐘質(zhì)量有所改善,回溝電平位置上升到2.3V左右。在常溫下只配置單路的雙向業(yè)務(wù)時(shí),業(yè)務(wù)正常無(wú)丟包。但是當(dāng)配置4路的雙向業(yè)務(wù)時(shí),下行還是有少量丟包,高溫下丟包更加嚴(yán)重。配置4路業(yè)務(wù)和配置1路業(yè)務(wù)的區(qū)別是,配置4路業(yè)務(wù)時(shí),由于數(shù)據(jù)包的增多,SSRAM的數(shù)據(jù)線翻轉(zhuǎn)更加頻繁,導(dǎo)致地彈噪聲更加嚴(yán)重,因此回溝也越深,如圖6所示。
圖6 配置4路雙向業(yè)務(wù)時(shí)CLK_38M波形
通過(guò)查證,該FPGA芯片的抗噪能力這么差的原因是該芯片公司為了降成本,將芯片的封裝進(jìn)行了簡(jiǎn)化,芯片中原來(lái)4層的PCB簡(jiǎn)化為2層,去掉了專有的電源層和地層,同時(shí)將金線變成了銅線。因此在現(xiàn)有的芯片和PCB硬件設(shè)計(jì)上已經(jīng)沒(méi)有辦法再降低地彈噪聲了。正在無(wú)助的時(shí)候,思維轉(zhuǎn)了個(gè)方向。既然沒(méi)法降低地彈噪聲,那有沒(méi)有辦法降低地彈噪聲對(duì)時(shí)鐘信號(hào)的干擾呢?如圖6所示,芯片之所以會(huì)產(chǎn)生誤判是因?yàn)檎迷跁r(shí)鐘的上升沿上偶爾會(huì)出現(xiàn)回溝,如果回溝的位置不在上升沿,而是在高電平或是低電平的位置,不就可以避免誤判了嗎?而回溝偶爾出現(xiàn)在CLK_38M時(shí)鐘的上升沿,原因是上行SSRAM的數(shù)據(jù)線都在CLK_125M時(shí)鐘的上升沿翻轉(zhuǎn),而CLK_125M與CLK_38M時(shí)鐘不是同源的時(shí)鐘,會(huì)周期性的出現(xiàn)CLK_125M與CLK_38M同時(shí)翻轉(zhuǎn)的情況,也就是上行SSRAM的數(shù)據(jù)線在CLK_38M的上升沿處同時(shí)翻轉(zhuǎn)而產(chǎn)生翻轉(zhuǎn)噪聲。為了將翻轉(zhuǎn)噪聲移到CLK_38M的高電平處,邏輯做了改動(dòng)。即上行SSRAM不再采用CLK_125M時(shí)鐘,而是將下行的38M時(shí)鐘進(jìn)行3倍PLL倍頻后得到116M時(shí)鐘,然后將116M時(shí)鐘進(jìn)行移相80°(經(jīng)過(guò)示波器測(cè)量后得出的移向方案),由于116M時(shí)鐘38M是同源時(shí)鐘,因此相位關(guān)系是一定的,這樣可以保證116M時(shí)鐘和38M時(shí)鐘不同時(shí)翻轉(zhuǎn)。修改后CLK_38M時(shí)鐘波形如圖7所示,回溝移到了高電平處。
圖7 上行SSRAM時(shí)鐘改為116M并移相后的CLK_38M波形
同時(shí)為了改善CLK_38M時(shí)鐘上升沿變緩的問(wèn)題,在硬件上將時(shí)鐘線的33歐姆串阻改為了0歐姆,且在邏輯內(nèi)部將時(shí)鐘線進(jìn)行了上拉。經(jīng)過(guò)改進(jìn)后,時(shí)鐘的上升時(shí)間明顯變短。
六、總結(jié)
經(jīng)過(guò)以上改進(jìn)后,CLK_38M時(shí)鐘質(zhì)量有明顯改善,上升沿光滑,上升時(shí)間短。配置4路雙向業(yè)務(wù),48小時(shí)長(zhǎng)期常溫和高低溫情況下進(jìn)行測(cè)試,業(yè)務(wù)正常,沒(méi)有再出現(xiàn)下行丟包的情況。通過(guò)M單板調(diào)試過(guò)程中出現(xiàn)的地彈噪聲干擾38M時(shí)鐘信號(hào)的故障及解決方法??偨Y(jié)出以下幾點(diǎn):
1)在FPGA硬件設(shè)計(jì)中,比較重要的信號(hào),例如時(shí)鐘和復(fù)位線等,盡量不要和多根翻轉(zhuǎn)頻繁的信號(hào)線放置在同一個(gè)I/O bank。
2)在FPGA硬件設(shè)計(jì)中,比較重要的信號(hào),例如時(shí)鐘和復(fù)位線等,在其臨近的周圍I/O中不要安排翻轉(zhuǎn)比較頻繁的信號(hào)線,避免線間干擾。3)在FPGA邏輯設(shè)計(jì)中,沒(méi)有使用的I/O空余管腳最好設(shè)置為輸出接地,以增大地平面面積。
4)如果地彈噪聲無(wú)法避免,可以通過(guò)避免其他大量信號(hào)線和重要信號(hào)線同時(shí)翻轉(zhuǎn)的方式,降低地彈對(duì)重要信號(hào)線的影響。
5)對(duì)于地彈造成的重要信號(hào)線上升沿變緩的情況,可以通過(guò)加大被干擾信號(hào)的驅(qū)動(dòng)電流,降低干擾信號(hào)的驅(qū)動(dòng)電流的方法。同時(shí)將被干擾信號(hào)線在邏輯內(nèi)部上拉。這些方法可以大大減小被干擾信號(hào)的上升時(shí)間,改善信號(hào)質(zhì)量。
審核編輯:湯梓紅
-
FPGA
+關(guān)注
關(guān)注
1629文章
21736瀏覽量
603385 -
信號(hào)完整性
+關(guān)注
關(guān)注
68文章
1408瀏覽量
95488 -
地彈
+關(guān)注
關(guān)注
0文章
11瀏覽量
6647
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論