2 串擾理論的應用實例
在工作實踐中,筆者遇到了很多有關串擾的實際案例,通過運用上述分析的結論,均較好地得以解決。現將幾個代表性問題的解決方法與大家分享。
2.1 增大信號走線間距
現象:Linux作業系統在加載過程中,出現偶然性意外錯誤而終止,系統提示訪問了非法地址。
分析:作業系統從NAND Flash解壓到SDRAM中並執行。SDRAM的CLK信號頻率較高、沿斜率較大,本身就是一個幹擾源。同時,由於CLK信號對於SDRAM時序控制的重要性,若受到周圍信號的幹擾,則可能影響SDRAM的正常讀寫。用示波器測試SDRAM的CLK信號,發現信號上偶爾會出現一些很小的幹擾,但系統加載卻正常了。經分析,這應與示波器探頭自帶的電容有關。嘗試在CLK信號與地之間並接10 pF去耦電容,系統加載即正常。可見,CLK信號確實是受到了幹擾,並接去耦電容正是將幹擾濾除了一部分。
解決:由於SDRAM是高速器件,時序要求較高,CLK並接電容後,信號沿變緩,時序參數較為臨界,通過增大信號走線間距的方法解決串擾問題更為合適。重新設計PCB時,將CLK與信號其他信號的中心距增大到3W(即3倍線寬),問題得以解決。
2.2 在信號源端串接電阻
現象:CPU通過總線外擴一個乙太網晶片,但程序無法正常初始化該晶片,網絡不通。
分析:用示波器測試「讀」、「寫」、「片選」、「數據」、「地址」等總線信號,發現這些信號上升、下降沿時間很短,信號過衝較嚴重,信號間距受空間所限無法增大,因此,總線信號間必然存在串擾問題。各總線信號既是幹擾源,又是被幹擾對象。在信號源端串接電阻有兩個好處:作為幹擾源,源端阻抗變大,電流變化率降低,與其他信號的互感耦合減小;作為被幹擾對象,源端阻抗與傳輸線匹配,有利於吸收近端串擾,避免將近端串擾反射到遠端。
解決:將總線信號源端串聯電阻的阻值從10 Ω增大到50 Ω,重新運行程序,網卡晶片初始化正常,串擾問題解決。
2.3 為信號提供完整的參考平面
現象:CPU總線上增加點陣液晶設備,發現網口通信時網口1經常出現丟包現象,網口2甚至無PINK UP成功。
分析:系統主板為兩層板,沒有完整的信號參考平面,由於液晶連接線較長,使數據總線的長度增加,從而使串擾變得更加嚴重。網卡晶片與點陣液晶共用低8位數據總線與讀、寫控制信號,因此信號受到幹擾、通信受到影響。
解決:重新設計PCB時,將2層板改為4層板,增加地層、電源層,為總線信號提供完整的參考平面,串擾減小。
2.4 減小被幹擾電路接地阻抗
現象:SPI通信時,從SPI設備讀回的數據不是期望的數據。
分析:用示波器測試SPI總線信號,發現CLK信號的上升沿、下降沿產生高頻振蕩,並兩次跨過高、低門限電平。這將引起SPI數據的誤觸發,使CPU得到不正確的數據,因此需要濾除該高頻幹擾信號。
解決:在CLK信號與地之間並接1000 pF去耦電容,為高頻幹擾信號提供對地的低阻抗通道,幹擾問題解決。
結語
串擾在高速電路設計中是一個不可忽視的問題,會影響系統的時序、降低噪聲容限,導致系統無法正常工作。本文介紹了串擾產生的原理,通過對串擾電壓的計算推導得到影響串擾的關鍵因素,根據這些因素提出一系列解決串擾問題的方法,並在實例中進行驗證應用,對於解決串擾問題有一定的借鑑、指導意義。