解析嵌入式系統(tǒng)串?dāng)_問(wèn)題
引言
在嵌入式系統(tǒng)硬件設(shè)計(jì)中,串?dāng)_是硬件工程師必須面對(duì)的問(wèn)題。特別是在高速數(shù)字電路中,由于信號(hào)沿時(shí)間短、布線密度大、信號(hào)完整性差,串?dāng)_的問(wèn)題也就更為突出。設(shè)計(jì)者必須了解串?dāng)_產(chǎn)生的原理,并且在設(shè)計(jì)時(shí)應(yīng)用恰當(dāng)?shù)姆椒?,使串?dāng)_產(chǎn)生的負(fù)面影響降到最小。
1 串?dāng)_理論分析
串?dāng)_主要源自兩個(gè)相鄰導(dǎo)體之間所形成的互感與互容。在高速數(shù)字電路中,互感通常比互容的問(wèn)題更嚴(yán)重。
1.1 互容
一個(gè)電路產(chǎn)生電場(chǎng),該電場(chǎng)會(huì)影響第二個(gè)電路,這種相互影響的系數(shù)稱為它們的互容。
式中,CM為互容,ΔV為驅(qū)動(dòng)波形的階躍幅度,TR是驅(qū)動(dòng)波形的上升時(shí)間,RB是接收電路的接地阻抗。
由式1可知,互容串?dāng)_電壓與CM、ΔV/TR 、成正比,因此,減小互容串?dāng)_電壓的方法有:
② 減小ΔV/TR。在確保信號(hào)時(shí)序的前提下,盡可能選擇信號(hào)沿較緩的器件。
③ 減小RB。減小被干擾電路接地阻抗,對(duì)被干擾電路進(jìn)行末端端接,為被干擾電路并接去耦電容。
1.2 互感
兩個(gè)信號(hào)回路相互靠近時(shí),一個(gè)信號(hào)回路的磁場(chǎng)變化將影響另一個(gè)信號(hào)回路,這種影響就是互感?;ジ械拇笮∪Q于信號(hào)回路的自感與兩個(gè)信號(hào)回路耦合的程度。
式中,LM為互感,ΔV為驅(qū)動(dòng)波形的階躍幅度,TR是驅(qū)動(dòng)波形的上升時(shí)間,RA是驅(qū)動(dòng)電路的源端阻抗。
由式(2)可知,互感串?dāng)_電壓與LM、ΔV/TR 成正比,與RA成反比。因此,減小互感串?dāng)_電壓有如下方法。
(1) 減小LM
① 增大信號(hào)走線間距(因?yàn)長(zhǎng)M隨著間距平方的增加而下降,關(guān)鍵信號(hào)可采用3W原則)。
② 為信號(hào)提供完整的參考平面。在低速電路中,電流沿著電阻最小路徑前進(jìn),而高速信號(hào)沿著電感最小路徑前進(jìn)。電感最小的返回路徑就緊貼在一個(gè)信號(hào)導(dǎo)體下面,它使輸出電流路徑與返回電流路徑之間的總回路面積最小,從而使輸出電流路徑與返回電流路徑的干擾磁場(chǎng)相互抵消。
③ 減小信號(hào)到參考平面的距離,從而減小環(huán)路面積,達(dá)到減小LM的目的。
④ 盡可能地減小相鄰信號(hào)間的平行長(zhǎng)度。平行長(zhǎng)度越短,則總的LM越小。
⑤ 無(wú)參考平面隔離的相鄰信號(hào)層走線方向應(yīng)該垂直,可減小磁場(chǎng)耦合程度。
⑥ 對(duì)串?dāng)_較敏感的信號(hào)線盡量布在內(nèi)層,以減小磁場(chǎng)耦合程度。
(2) 減小ΔV/TR
在確保信號(hào)時(shí)序的前提下,盡可能選擇信號(hào)沿較緩的器件。
(3) 增大RA
在干擾電路源端串接電阻,減小電流變化斜率,同時(shí)要兼顧與傳輸線阻抗匹配,避免信號(hào)反射。
1.3 近端串?dāng)_和遠(yuǎn)端串?dāng)_
圖1 兩條傳輸線的耦合
如圖1所示,假設(shè)位于A點(diǎn)的驅(qū)動(dòng)器是干擾源,而位于D點(diǎn)的接受器為被干擾對(duì)象,那么驅(qū)動(dòng)器A所在的傳輸線被稱為“干擾源網(wǎng)絡(luò)”或“侵害網(wǎng)絡(luò)(Agreessor)”,相應(yīng)的接收器D所在的傳輸線網(wǎng)絡(luò)被稱為“靜態(tài)網(wǎng)絡(luò)”或“受害網(wǎng)絡(luò)”。靜態(tài)網(wǎng)絡(luò)靠近干擾源一端的串?dāng)_稱為“近端串?dāng)_”(也稱后向串?dāng)_),而遠(yuǎn)離干擾源一端的串?dāng)_稱為“遠(yuǎn)端串?dāng)_”(也稱前向串?dāng)_)。根據(jù)產(chǎn)生的原因不同,可將串?dāng)_分為容性耦合串?dāng)_和感性耦合串?dāng)_兩類。
受侵害線上近端和遠(yuǎn)端串?dāng)_噪聲的波形可以通過(guò)圖2得出。當(dāng)一個(gè)數(shù)字脈沖上升沿進(jìn)入傳輸線,它將不斷地在受侵害線上感應(yīng)出噪聲,一部分串?dāng)_噪聲將傳向近端,另一部分將傳向遠(yuǎn)端。遠(yuǎn)端串?dāng)_脈沖與侵害線上的信號(hào)經(jīng)過(guò)時(shí)間TD(信號(hào)在傳輸線上的延遲時(shí)間)后同步到達(dá)終端。近端串?dāng)_脈沖將起始于侵害線上信號(hào)變化沿出現(xiàn)的時(shí)刻,而侵害信號(hào)到達(dá)終端前產(chǎn)生的最后一部分近端串?dāng)_信號(hào)將在t=2TD時(shí)刻才到達(dá)近端,這是因?yàn)檫@部分信號(hào)要經(jīng)過(guò)整條傳輸線才能被傳回近端。所以,近端串?dāng)_起始于t=0,并且持續(xù)2TD的時(shí)間。遠(yuǎn)端串?dāng)_起始于t=TD,持續(xù)時(shí)間為數(shù)字信號(hào)的上升或者下降時(shí)間。
圖2 串?dāng)_噪聲示意圖
近端和遠(yuǎn)端傳播的容性耦合電流都是正向的。具體的容性耦合如圖3所示,圖中的TP是干擾信號(hào)在傳輸線上的延遲時(shí)間,Tr是干擾信號(hào)的上升時(shí)間。
流向近端的感性耦合電流與近端容性耦合電流同向,流向遠(yuǎn)端的感性耦合電流與遠(yuǎn)端容性耦合電流反向。具體的感性耦合如圖4所示。
圖3 容性耦合的近端、遠(yuǎn)端串?dāng)_波形
[!--empirenews.page--]
圖4感性耦合的近端、遠(yuǎn)端串?dāng)_波形
正常條件下,在一個(gè)完整平面上,感性和容性的串?dāng)_電壓大小基本相等。遠(yuǎn)端的串?dāng)_分量(在D點(diǎn)的電壓)相互抵消,近端的串?dāng)_分量(在C點(diǎn)的電壓)相互增強(qiáng)。帶狀線電路具有很好的感性和容性耦合平衡性,因此其遠(yuǎn)端耦合系數(shù)極??;對(duì)于微帶線路,與串?dāng)_相關(guān)的電場(chǎng)大部分穿過(guò)空氣(而不是其他的絕緣材料),介電常數(shù)較小,因此容性串?dāng)_比感性串?dāng)_小,導(dǎo)致其遠(yuǎn)端串?dāng)_是一個(gè)小的負(fù)數(shù)。在開(kāi)槽和其他不完整的參考平面上,感性耦合比容性耦合更大,使遠(yuǎn)端串?dāng)_變大。
1.4 串?dāng)_的反射
電壓反射系數(shù)ρ的計(jì)算公式:
式中,RL是終端負(fù)載電阻,Z0是傳輸線特性阻抗。若RL =Z0,則ρ=0;若終端開(kāi)路(RL=∞),則ρ=1;若終端短路(RL=0),則ρ=-1。在圖1中,若近端阻抗與傳輸線特性阻抗不匹配,會(huì)使近端串?dāng)_在遠(yuǎn)端造成反射。為了消除近端串?dāng)_反射到遠(yuǎn)端,可以通過(guò)在近端接入正確的匹配電阻使ρ=0,消除反射。
2 串?dāng)_理論的應(yīng)用實(shí)例
在工作實(shí)踐中,筆者遇到了很多有關(guān)串?dāng)_的實(shí)際案例,通過(guò)運(yùn)用上述分析的結(jié)論,均較好地得以解決?,F(xiàn)將幾個(gè)代表性問(wèn)題的解決方法與大家分享。
2.1 增大信號(hào)走線間距
現(xiàn)象:Linux操作系統(tǒng)在加載過(guò)程中,出現(xiàn)偶然性意外錯(cuò)誤而終止,系統(tǒng)提示訪問(wèn)了非法地址。
分析:操作系統(tǒng)從NAND Flash解壓到SDRAM中并執(zhí)行。SDRAM的CLK信號(hào)頻率較高、沿斜率較大,本身就是一個(gè)干擾源。同時(shí),由于CLK信號(hào)對(duì)于SDRAM時(shí)序控制的重要性,若受到周圍信號(hào)的干擾,則可能影響SDRAM的正常讀寫(xiě)。用示波器測(cè)試SDRAM的CLK信號(hào),發(fā)現(xiàn)信號(hào)上偶爾會(huì)出現(xiàn)一些很小的干擾,但系統(tǒng)加載卻正常了。經(jīng)分析,這應(yīng)與示波器探頭自帶的電容有關(guān)。嘗試在CLK信號(hào)與地之間并接10 pF去耦電容,系統(tǒng)加載即正常。可見(jiàn),CLK信號(hào)確實(shí)是受到了干擾,并接去耦電容正是將干擾濾除了一部分。
解決:由于SDRAM是高速器件,時(shí)序要求較高,CLK并接電容后,信號(hào)沿變緩,時(shí)序參數(shù)較為臨界,通過(guò)增大信號(hào)走線間距的方法解決串?dāng)_問(wèn)題更為合適。重新設(shè)計(jì)PCB時(shí),將CLK與信號(hào)其他信號(hào)的中心距增大到3W(即3倍線寬),問(wèn)題得以解決。
2.2 在信號(hào)源端串接電阻
現(xiàn)象:CPU通過(guò)總線外擴(kuò)一個(gè)以太網(wǎng)芯片,但程序無(wú)法正常初始化該芯片,網(wǎng)絡(luò)不通。
分析:用示波器測(cè)試“讀”、“寫(xiě)”、“片選”、“數(shù)據(jù)”、“地址”等總線信號(hào),發(fā)現(xiàn)這些信號(hào)上升、下降沿時(shí)間很短,信號(hào)過(guò)沖較嚴(yán)重,信號(hào)間距受空間所限無(wú)法增大,因此,總線信號(hào)間必然存在串?dāng)_問(wèn)題。各總線信號(hào)既是干擾源,又是被干擾對(duì)象。在信號(hào)源端串接電阻有兩個(gè)好處:作為干擾源,源端阻抗變大,電流變化率降低,與其他信號(hào)的互感耦合減小;作為被干擾對(duì)象,源端阻抗與傳輸線匹配,有利于吸收近端串?dāng)_,避免將近端串?dāng)_反射到遠(yuǎn)端。
解決:將總線信號(hào)源端串聯(lián)電阻的阻值從10 Ω增大到50 Ω,重新運(yùn)行程序,網(wǎng)卡芯片初始化正常,串?dāng)_問(wèn)題解決。
2.3 為信號(hào)提供完整的參考平面
現(xiàn)象:CPU總線上增加點(diǎn)陣液晶設(shè)備,發(fā)現(xiàn)網(wǎng)口通信時(shí)網(wǎng)口1經(jīng)常出現(xiàn)丟包現(xiàn)象,網(wǎng)口2甚至無(wú)*INK UP成功。
分析:系統(tǒng)主板為兩層板,沒(méi)有完整的信號(hào)參考平面,由于液晶連接線較長(zhǎng),使數(shù)據(jù)總線的長(zhǎng)度增加,從而使串?dāng)_變得更加嚴(yán)重。網(wǎng)卡芯片與點(diǎn)陣液晶共用低8位數(shù)據(jù)總線與讀、寫(xiě)控制信號(hào),因此信號(hào)受到干擾、通信受到影響。
解決:重新設(shè)計(jì)PCB時(shí),將2層板改為4層板,增加地層、電源層,為總線信號(hào)提供完整的參考平面,串?dāng)_減小。
2.4 減小被干擾電路接地阻抗
現(xiàn)象:SPI通信時(shí),從SPI設(shè)備讀回的數(shù)據(jù)不是期望的數(shù)據(jù)。
分析:用示波器測(cè)試SPI總線信號(hào),發(fā)現(xiàn)CLK信號(hào)的上升沿、下降沿產(chǎn)生高頻振蕩,并兩次跨過(guò)高、低門(mén)限電平。這將引起SPI數(shù)據(jù)的誤觸發(fā),使CPU得到不正確的數(shù)據(jù),因此需要濾除該高頻干擾信號(hào)。
解決:在CLK信號(hào)與地之間并接1000 pF去耦電容,為高頻干擾信號(hào)提供對(duì)地的低阻抗通道,干擾問(wèn)題解決。
結(jié)語(yǔ)
串?dāng)_在高速電路設(shè)計(jì)中是一個(gè)不可忽視的問(wèn)題,會(huì)影響系統(tǒng)的時(shí)序、降低噪聲容限,導(dǎo)致系統(tǒng)無(wú)法正常工作。本文介紹了串?dāng)_產(chǎn)生的原理,通過(guò)對(duì)串?dāng)_電壓的計(jì)算推導(dǎo)得到影響串?dāng)_的關(guān)鍵因素,根據(jù)這些因素提出一系列解決串?dāng)_問(wèn)題的方法,并在實(shí)例中進(jìn)行驗(yàn)證應(yīng)用,對(duì)于解決串?dāng)_問(wèn)題有一定的借鑒、指導(dǎo)意義。