李穎宏,羅 勇
(北方工業(yè)大學(xué)機電工程學(xué)院自動化系,北京100144)
隨著通信設(shè)備電路板上大量使用高集成度的高速數(shù)字芯片,同步開關(guān)噪聲(Simultaneous Switching Noise,SSN)問題成為制約高速PCB設(shè)計的一個瓶頸[1]。SSN是指當(dāng)器件上多個邏輯電路或I/O管腳同時處于開關(guān)狀態(tài),產(chǎn)生瞬間變化的電流,在經(jīng)過回流路徑上存在電感時,形成交流壓降,從而引起噪聲。如果引起地平面的波動,造成芯片地和系統(tǒng)地不一致,這種現(xiàn)象稱為地彈。同樣,如果引起的芯片電源和系統(tǒng)電源差異,就稱為電源反彈。
根據(jù)電源完整性的理論[2],產(chǎn)生SSN的一個主要原因是電源分配系統(tǒng)存在阻抗。具體講就是從電源的輸出端到芯片的輸入端存在著一段距離,在這段路徑上存在著阻抗。從集中模型來看,相當(dāng)于串聯(lián)了集中分布的電阻和電感元件,當(dāng)一定數(shù)量的輸出驅(qū)動電路同時打開時,就會有很大的電流瞬間涌入這些感性元件中,這種瞬間快速變化的電流會在感性元件上產(chǎn)生感應(yīng)電動勢,引起芯片電源輸入端的供給凈電壓不足或過高。同樣,根據(jù)信號完整性的理論[3],造成SSN的另一個重要原因是互感耦合,尤其是在芯片封裝、PCB邊沿周圍產(chǎn)生的互感耦合。芯片BGA封裝上的焊球與PCB上的過孔都屬于緊耦合的多導(dǎo)線結(jié)構(gòu),每個I/O焊球及其相應(yīng)的PCB過孔與離它最近的接地焊球和接地過孔構(gòu)成一個閉合環(huán)路,當(dāng)多個I/O口的狀態(tài)同時發(fā)生變化時,會有瞬態(tài)I/O電流流過這些信號環(huán)路,這種瞬態(tài)I/O電流又會產(chǎn)生變化的磁場,從而侵入鄰近的信號環(huán)路造成感應(yīng)電壓噪聲。
SSN危害是非常大的,會增加電源噪聲,影響信號質(zhì)量和時序,從而導(dǎo)致數(shù)字電路誤采樣。另外,SSN引起的問題一般隱藏很深,只是在器件多個邏輯單元同時開關(guān)時才發(fā)生,用正常的業(yè)務(wù)測試方法很難發(fā)現(xiàn),容易漏測,這給設(shè)備可靠運行帶來了巨大風(fēng)險。
本文基于同步開關(guān)噪聲的機理,設(shè)計了一種暴露SSN問題的可靠性測試方法,并利用這種方法發(fā)現(xiàn)一個具體的Serdes鏈路異常問題,針對該問題,借助噪聲和阻抗分析等實驗驗證方法找到了PCB設(shè)計上存在的缺陷并進行了修改。最后,總結(jié)輸出PCB設(shè)計過程中抑制同步開關(guān)噪聲的一些方法。
可靠性測試就是讓設(shè)備暴露在各種可能的極限工作狀態(tài)下進行驗證,找到系統(tǒng)的設(shè)計缺陷,對同步開關(guān)噪聲來說,我們可以從產(chǎn)生的機理和常見的危害來設(shè)計測試用例。例如,當(dāng)大量總線在同一時刻切換,會在相鄰的管腳上引入串?dāng)_噪聲,對這種情況,在測試設(shè)計時需要對被測設(shè)備施加一種特殊的業(yè)務(wù)負荷,讓總線暴露在盡可能大的串?dāng)_條件下,并用示波器觀察總線信號質(zhì)量和時序是否可接受。以16位并行總線為例,為了將這種影響極端化,設(shè)計測試報文時讓16根信號中有15根線的跳變方向一致,即15根信號線都同時從0跳變到1,同時讓另一根被干擾的信號線從1下跳到0??梢栽O(shè)計一個循環(huán)程序,讓16根線依次遍歷這種測試場景。
另外,同步開關(guān)噪聲也可能影響回流路徑上的敏感信號,這是并行總線非常惡劣的一種工作狀態(tài),為了驗證產(chǎn)品在這種工作條件下工作是否可靠,必須在被測設(shè)備加上一種特殊的SSN測試報文進行驗證。如果被測總線為16位寬,要使所有16根信號線同步翻轉(zhuǎn),報文內(nèi)容應(yīng)該為:FFFF 0000;如果被測總線為32位寬,要使所有32根信號線同步翻轉(zhuǎn),測試報文內(nèi)容應(yīng)該為:FFFF FFFF 00000000。
當(dāng)然,設(shè)備的工作環(huán)境也可能有高溫或低溫的情況,而溫度對電路的影響是十分顯著的,比如低溫和高溫時電容的容值會發(fā)生變化,低溫時器件內(nèi)部的時序參數(shù)會發(fā)生漂移,高溫時PCB走線的阻抗變大等,因此在進行上述SSN可靠性測試時,還需要增加溫度應(yīng)力來驗證系統(tǒng)的可靠性。
某PCB單板上的邏輯芯片連接關(guān)系如圖1所示,芯片之間的數(shù)據(jù)通道都是高速Serdes信號,邏輯芯片A/B外圍都掛著10片用來緩存報文的隨機存儲器DDR和3片用來進行流量管理的QDR,邏輯芯片A/B和DDR之間通過高速并行總線互連,該并行總線的工作時鐘頻率高達400 MHz,并且信號數(shù)量眾多,拓撲結(jié)構(gòu)復(fù)雜。在PCB上器件布局密度越來越高的情況下,這些高速信號可能會遇到同步開關(guān)噪聲等問題,對于這些可能存在的風(fēng)險,從硬件可靠性角度,我們按照SSN可靠性測試方法設(shè)計了測試報文,讓被測單板在高溫60°、低溫-10°的溫度條件下帶業(yè)務(wù)進行環(huán)境試驗。發(fā)現(xiàn)在邏輯芯片A/B的DDR總線上運行偽隨機二進制序列(PRBS)報文時,Serdes鏈路業(yè)務(wù)傳輸正常;而當(dāng)運行按SSN報文時,Serdes鏈路業(yè)務(wù)傳輸出錯,其中,邏輯芯片A出現(xiàn)異常的Serdes鏈路為鏈路6、鏈路4、鏈路0,邏輯芯片B出現(xiàn)異常的Serdes鏈路為鏈路10、鏈路8、鏈路4、鏈路2、鏈路0。
圖1 邏輯芯片連接關(guān)系Fig.1 The connected relation of the logic chip
根據(jù)SSN報文設(shè)計原理,由于總線同時開關(guān),按照公式 V=N·L·(di/dt),N就是總線的位寬,此時同步開關(guān)噪聲V是最大的。而PRBS碼流是偽隨機碼,同步開關(guān)的驅(qū)動器小于總線位寬,產(chǎn)生的噪聲V要遠小于SSN碼流。運行SSN報文時,產(chǎn)生的過大同步開關(guān)噪聲可能使高速Serdes信號受到干擾,噪聲裕量降低導(dǎo)致數(shù)據(jù)采樣出錯。
SSN報文翻轉(zhuǎn)時通常情況下最直接的表現(xiàn)是DDR供電1.8 V的噪聲會較大,但是從實測結(jié)果來看,運行PRBS碼流時噪聲為24 mV,運行SSN報文時噪聲為32 mV,兩者之間差別并不大,說明1.8 V電源平面的電源完整性比較好,對問題Serdes鏈路影響應(yīng)該不大。那么DDR接口的同步開關(guān)噪聲怎么影響到了邏輯芯片間的Serdes鏈路呢?查看PCB版圖,出問題的Serdes鏈路和DDR接口的同步翻轉(zhuǎn)數(shù)據(jù)信號線均布在15層和17層,兩者空間上物理距離比較近,串?dāng)_比較大。另外,該兩層到16層的1.5 V電源平面間距比到14層和18層要近,因此,15層和17層上的信號回流都將以16層作為參考平面,根據(jù)信號回流原理,當(dāng)運行SSN碼流時,DDR的數(shù)據(jù)信號同步翻轉(zhuǎn)的同時,在數(shù)據(jù)信號線上產(chǎn)生瞬間變化的大電流,其參考平面上返回電流也將產(chǎn)生瞬間大的波動,噪聲將會瞬間增大。很明顯,DDR接口在同步翻轉(zhuǎn)時,在參考平面16層1.5 V電源平面產(chǎn)生較大的回流。同時,出問題的Serdes鏈路參考的1.5 V平面局部地區(qū)只有一個100 μ F的電容(C1),沒有足夠濾波電容,大的回流波動就產(chǎn)生了波動的噪聲,在該位置測試1.5 V電源的噪聲,當(dāng)運行SSN報文時C1處的噪聲達到140 mV,運行PRBS碼流時噪聲為42 mV,變化很大,用頻譜分析儀測得該噪聲頻點為400MHz,正好為DDR工作時鐘。相反,有大量濾波電容的QDR接口處1.5V電源平面,在SSN報文情況下噪聲僅有16 mV左右。結(jié)合前面的分析,由此可以明確,正是由于問題Serdes鏈路以1.5 V電源平面噪聲比較大的局部地區(qū)為參考平面,平面上的高頻噪聲耦合到Serdes鏈路上,降低了時序裕量,導(dǎo)致鏈路傳輸異常。
另外,仔細分析單板的層疊設(shè)計,發(fā)現(xiàn)15層更靠近16層的1.5 V電源平面,理論上在15層的鏈路應(yīng)該更加容易出問題。邏輯芯片A模塊的鏈路6、鏈路4和邏輯芯片B模塊的鏈路10布在15層,從測試中也發(fā)現(xiàn)這幾條鏈路出錯的概率最高,進一步驗證了DDR數(shù)據(jù)總線的同步開關(guān)噪聲導(dǎo)致了Serdes鏈路傳輸異常。
既然明確Serdes鏈路異常是由于DDR數(shù)據(jù)信號的SSN造成1.5V電源平面噪聲偏大影響的,那么就降低干擾源,優(yōu)化1.5 V電源平面濾波,保證敏感信號參考平面盡量干凈。改善噪聲主要有以下手段:
(1)在不影響信號時序及噪聲裕量的情況下,降低邏輯芯片A/B的DDR接口輸出驅(qū)動能力;
(2)調(diào)整邏輯芯片A/B的DDR接口的輸出相位,使10個DDR接口錯相輸出;
(3)DDR的SSN主要體現(xiàn)在數(shù)據(jù)信號上,15層和17層數(shù)據(jù)信號目前都以16層的1.5 V電源平面為參考平面,將15層、17層DDR的數(shù)據(jù)信號分別和4層、8層的DDR地址信號調(diào)換,降低噪聲源,避免問題serdes鏈路信號都參考噪聲大的16層1.5V電源平面;
(4)在DDR模塊周圍添加100 nF的電源濾波電容,為回路電流提供低阻抗通路;
(5)在Serdes信號路徑參考的16層1.5 V電源平面上放置濾波電容;
(6)在不影響通流的情況下,優(yōu)化1.5 V電源平面阻抗,沒有使用該電源的地方都鋪地平面。
根據(jù)芯片資料,芯片更改驅(qū)動能力會影響時序,更改邏輯芯片A/B的10個DDR接口輸出相位,配置比較繁瑣,最好能從PCB濾波方面去優(yōu)化解決問題。所以在Version B版本PCB設(shè)計時,我們重點從優(yōu)化Serdes信號參考的16層1.5 V電源平面噪聲的角度去優(yōu)化PCB設(shè)計,在1.5 V電源平面上增加了回流濾波電容。
Version B版本單板回板后,使用了和Version A版本單板相同的SSN報文在溫箱里進行帶業(yè)務(wù)驗證,驗證結(jié)果基本上也證明了我們上面分析的正確性,但是仍然沒有徹底解決問題。邏輯芯片A模塊所有鏈路在SSN測試報文下,高低溫不再出問題,表明優(yōu)化到位;但是邏輯芯片B模塊鏈路10在高溫下仍然會出問題,出錯概率相比Version A版本單板降低。
為了對比A/B模塊問題Serdes鏈路信號受到的耦合噪聲大小,我們關(guān)閉了Version B版本單板A模塊的鏈路10和B模塊的鏈路10,去掉交流耦合電容,測試耦合電容前后Serdes信號線上的靜態(tài)噪聲大小,如表1所示。
表1 Serdes信號線上靜態(tài)噪聲Table 1 The static noise of Serdes signal line
從上面的對比測試數(shù)據(jù)可以很清楚地看到,在由PRBS碼流變成SSN碼流下,電容前這段走線耦合到的噪聲變化非常明顯,增加近60 mV。從噪聲頻譜上也可以看出明顯的噪聲頻點在400MHz左右,如圖2所示。
圖2 Serdes信號線上噪聲頻譜Fig.2 The noise spectrum of Serdes signal line
很明顯,在Version B版本PCB上,我們優(yōu)化了耦合電容后這段走線的參考平面噪聲,但是卻忽略了耦合電容前這段走線受到干擾的可能性,導(dǎo)致我們沒有優(yōu)化徹底。鏈路10電容前這段走線走在11層,參考的電源平面主要是12層的1.0 V,相應(yīng)位置上的濾波電容也很少,同時也有大量的DDR接口的數(shù)據(jù)信號線走在11層,所以在SSN碼流下電容前這段走線耦合的噪聲相比PRBS碼流變化非常大。
因此,決定直接優(yōu)化12層的1.0 V電源平面,在Serdes信號沿路添加100 nF的去耦電容。共計添加10枚電容,加工了Version C版本單板。Version C版本單板回板驗證,測試結(jié)果和預(yù)料的一樣,采用Version B單板相同的參數(shù)配置,多塊單板順利通過溫度應(yīng)力試驗,Serdes誤碼問題完美解決。
通過Serdes鏈路異常問題的分析,可見同步開關(guān)噪聲對電路可靠性的影響越來越大,隨著器件速率的不斷提高,這一影響將更加明顯,那么,如何盡量避免SSN問題帶來的危害呢?一般我們在單板PCB設(shè)計時可以參照如下規(guī)則進行設(shè)計。
(1)DDR存儲類器件,數(shù)據(jù)總線最好不要走在同一層,降低SSN情況下對參考平面噪聲的影響;可以考慮和地址總線布在同一層,數(shù)據(jù)總線優(yōu)先參考其I/O電源。
(2)Serdes等敏感信號盡量避免走在參考平面邊緣。
(3)Serdes等敏感信號和RAM數(shù)據(jù)總線在PCB上盡量拉開距離,布在不同走線層,避免參考同一電源平面。
(4)在滿足通流的情況下,電源平面不要鋪得太大。在有高速I/O信號或者Serdes敏感信號參考該平面情況下,在沒有使用該電源的地方做鋪地處理。
(5)電源平面不能大面積沒有高頻去耦電容,尤其是平面邊緣有高速信號跨分割的地方推薦添加去耦電容,去耦電容可以使用分立電容或埋容[4]。
(6)進行電源平面諧振仿真分析評估,盡量避免和存儲類器件工作頻率產(chǎn)生諧振。
(7)在緊靠芯片的電源輸入端加足夠的退耦電容,可以起到穩(wěn)壓的作用,并最好使用L型或π型LC濾波電路。
(8)I/O的布線層優(yōu)先靠近TOP面,減小信號換層引起的環(huán)路電感。
(9)邏輯芯片的pin排布時,將堆在一起的同步I/O散開,減小空間耦合引起的環(huán)路電感,未使用的pin腳接地或電源處理,增加返回路徑。
(10)在芯片內(nèi)加旁路電容或選用低阻抗特性封裝的芯片。
(11)對于抑制甚高頻的同步開關(guān)噪聲,可以考慮采用高阻抗電磁表面結(jié)構(gòu)(EBG)[5],采用EBG結(jié)構(gòu)作為PCB襯底時,可以實現(xiàn)在微帶電路襯底中集成具有很寬阻帶的濾波器,當(dāng)和其他電路元件有機地結(jié)合起來時,可節(jié)省電路空間。
總的來說,文中提到的根據(jù)單板上邏輯單元或I/O接口的總線結(jié)構(gòu),在測試階段構(gòu)造特殊報文,讓這些接口同步翻轉(zhuǎn)的測試方法,能快速發(fā)現(xiàn)設(shè)計缺陷,暴露電路板上潛在的同步開關(guān)噪聲問題,提升單板的可靠性。同時,根據(jù)具體問題總結(jié)出的抑制同步開關(guān)噪聲的方法既是前期設(shè)計階段需要遵循的原則,也是后期解決問題的方案。后續(xù)我們還可以通過等效模型的方法,在前期對單板可能存在的同步開關(guān)噪聲風(fēng)險進行仿真分析,提前規(guī)避問題。也可以設(shè)計出可編程的SSN測試程序,讓芯片廠家內(nèi)嵌在控制器里,可以在可靠性測試階段直接調(diào)用驗證,增強單板的可測試性。
[1]Altera Corp.Simultaneous Switching Noise(SSN)Analysis and Optimizations[M]//Quartus II Handbook(Version 11.1,Volume 2).San Jose′,CA:Altera Corp.,2011.
[2]Brain Young.Digital Signal Integrity Modeling andSimulation with Interconnects andPackage[R].New York:Prentice Hall PTR,2000.
[3]Steve Sharp,Panch Chandrasekaran.Managing signal Integrity[J].Xcell Journal,2005(3):82-85.
[4]侯紅英.埋容在高速傳輸板卡設(shè)計中的應(yīng)用[J].電訊技術(shù),2011,51(5):123-126.HOU Hong-ying.Applicationg of Buried Capacitance in Design of High-Speed Transmission Board[J].Telecommunication Engineering,2011,51(5):123-126.(in Chinese)
[5]黃小龍.一種抑制同步開關(guān)噪聲的新穎電磁帶隙結(jié)構(gòu)[J].電子科技,2010(5):55-57.HUANG Xiao-long.A Novel EBG Structure for SSN Suppression[J].Electronic Science and Technology,2010(5):55-57.(in Chinese)