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