解析嵌入式系統(tǒng)串擾問題
圖4感性耦合的近端、遠端串擾波形
正常條件下,在一個完整平面上,感性和容性的串擾電壓大小基本相等。遠端的串擾分量(在D點的電壓)相互抵消,近端的串擾分量(在C點的電壓)相互增強。帶狀線電路具有很好的感性和容性耦合平衡性,因此其遠端耦合系數極小;對于微帶線路,與串擾相關的電場大部分穿過空氣(而不是其他的絕緣材料),介電常數較小,因此容性串擾比感性串擾小,導致其遠端串擾是一個小的負數。在開槽和其他不完整的參考平面上,感性耦合比容性耦合更大,使遠端串擾變大。
1.4 串擾的反射
電壓反射系數ρ的計算公式:
式中,RL是終端負載電阻,Z0是傳輸線特性阻抗。若RL =Z0,則ρ=0;若終端開路(RL=∞),則ρ=1;若終端短路(RL=0),則ρ=-1。在圖1中,若近端阻抗與傳輸線特性阻抗不匹配,會使近端串擾在遠端造成反射。為了消除近端串擾反射到遠端,可以通過在近端接入正確的匹配電阻使ρ=0,消除反射。
2 串擾理論的應用實例
在工作實踐中,筆者遇到了很多有關串擾的實際案例,通過運用上述分析的結論,均較好地得以解決?,F將幾個代表性問題的解決方法與大家分享。
2.1 增大信號走線間距
現象:Linux操作系統(tǒng)在加載過程中,出現偶然性意外錯誤而終止,系統(tǒng)提示訪問了非法地址。
分析:操作系統(tǒng)從NAND Flash解壓到SDRAM中并執(zhí)行。SDRAM的CLK信號頻率較高、沿斜率較大,本身就是一個干擾源。同時,由于CLK信號對于SDRAM時序控制的重要性,若受到周圍信號的干擾,則可能影響SDRAM的正常讀寫。用示波器測試SDRAM的CLK信號,發(fā)現信號上偶爾會出現一些很小的干擾,但系統(tǒng)加載卻正常了。經分析,這應與示波器探頭自帶的電容有關。嘗試在CLK信號與地之間并接10 pF去耦電容,系統(tǒng)加載即正常??梢?,CLK信號確實是受到了干擾,并接去耦電容正是將干擾濾除了一部分。
解決:由于SDRAM是高速器件,時序要求較高,CLK并接電容后,信號沿變緩,時序參數較為臨界,通過增大信號走線間距的方法解決串擾問題更為合適。重新設計PCB時,將CLK與信號其他信號的中心距增大到3W(即3倍線寬),問題得以解決。
2.2 在信號源端串接電阻
現象:CPU通過總線外擴一個以太網芯片,但程序無法正常初始化該芯片,網絡不通。
分析:用示波器測試“讀”、“寫”、“片選”、“數據”、“地址”等總線信號,發(fā)現這些信號上升、下降沿時間很短,信號過沖較嚴重,信號間距受空間所限無法增大,因此,總線信號間必然存在串擾問題。各總線信號既是干擾源,又是被干擾對象。在信號源端串接電阻有兩個好處:作為干擾源,源端阻抗變大,電流變化率降低,與其他信號的互感耦合減??;作為被干擾對象,源端阻抗與傳輸線匹配,有利于吸收近端串擾,避免將近端串擾反射到遠端。
解決:將總線信號源端串聯電阻的阻值從10 Ω增大到50 Ω,重新運行程序,網卡芯片初始化正常,串擾問題解決。
2.3 為信號提供完整的參考平面
現象:CPU總線上增加點陣液晶設備,發(fā)現網口通信時網口1經常出現丟包現象,網口2甚至無*INK UP成功。
分析:系統(tǒng)主板為兩層板,沒有完整的信號參考平面,由于液晶連接線較長,使數據總線的長度增加,從而使串擾變得更加嚴重。網卡芯片與點陣液晶共用低8位數據總線與讀、寫控制信號,因此信號受到干擾、通信受到影響。
解決:重新設計PCB時,將2層板改為4層板,增加地層、電源層,為總線信號提供完整的參考平面,串擾減小。
2.4 減小被干擾電路接地阻抗
現象:SPI通信時,從SPI設備讀回的數據不是期望的數據。
分析:用示波器測試SPI總線信號,發(fā)現CLK信號的上升沿、下降沿產生高頻振蕩,并兩次跨過高、低門限電平。這將引起SPI數據的誤觸發(fā),使CPU得到不正確的數據,因此需要濾除該高頻干擾信號。
解決:在CLK信號與地之間并接1000 pF去耦電容,為高頻干擾信號提供對地的低阻抗通道,干擾問題解決。
結語
串擾在高速電路設計中是一個不可忽視的問題,會影響系統(tǒng)的時序、降低噪聲容限,導致系統(tǒng)無法正常工作。本文介紹了串擾產生的原理,通過對串擾電壓的計算推導得到影響串擾的關鍵因素,根據這些因素提出一系列解決串擾問題的方法,并在實例中進行驗證應用,對于解決串擾問題有一定的借鑒、指導意義。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論