LTspice+C程序,如何改善有線網絡信號完整性?
在“如何使用LTspice獲得出色的EMC仿真結果"系列文章的第1分部中,我們介紹了針對電源器件、傳導輻射和抗擾度的LTspice仿真工具。在第2部分中,我們將介紹LTspice和C程序的組合,旨在幫助設計人員了解和改善有線網絡信號完整性。
本文引用地址:http://www.ex-cimer.com/article/202312/453956.htm>>點擊可閱讀《如何使用LTspice獲得出色的EMC仿真結果-第1部分》的完整文章
借助這些工具,設計人員無需多次進行實驗室測試迭代,也無需重新設計硬件。文中提供了符合以下標準的仿真模型:現場總線通信(RS-485、RS-232)、高速背板(LVDS)、無處不在的USB標準以及支持通過數據線供電(PoDL)的新型單對以太網(SPE)。
為什么設計人員應關心信號完整性?
信號完整性不僅指原型機擁有正常工作的鏈路。即使鏈路看起來有效,也建議您對信號質量進行深入分析檢查,原因如下:
■ 可靠性:距離、吞吐量和環境可能會導致二進制誤碼率提高,達到系統糾錯機制無法接受的程度。
■ IEEE標準合規性:符合IEEE建議可確保網絡成員之間無縫互聯。
■ EMC指令合規性:高擺率和過沖常常是不合規的原因,因為其含有高諧波成分。
圖1. 使用LTspice執行的分析示例
使用LTspice解決信號完整性問題?
本文將幫助設計人員回答若干關鍵問題,例如:
■ 系統是否具有足夠的信號完整性?
■ 首先應該改善信號的哪一方面?是否應該改善信號擺率、振鈴、抖動或匹配?
■ 系統正常工作,但隨著時間推移、溫度和元件容差的變化,它能否可靠地工作?
閱讀本文后,您應該能夠:
■ 在LTspice中實施信號完整性分析
■ 生成、導入和使用代表性測試向量,并產生類似圖1所示的分析和輸出
■ 使用多個隨機參數對系統進行統計驗證
執行眼圖仿真
眼圖提供了一種便捷的方法來評估發送器或接收器端信號是否一致。眼圖是基于時間的信號表示。
這種表示方法使用余輝方式來分析大量符號,并確保信號電平、抖動和上升時間是適當的。
LTspice具有眼圖分析所需的一些工具,但要執行全功能分析,需要實施一些額外的步驟。
使用測試向量生成PWL文件
LTspice提供了一種在仿真中使用測試向量的高效方法。為了更好地覆蓋可能導致不一致的情況,必須使用大量數據。
一些不一致情形會在非常特殊的情況下出現,例如:
■ 長連續位序列
■ 非零平衡序列
■ 來自附近其他傳輸通道的串擾
這意味著,假設數據是使用隨機函數生成的,為了確保遇到特定的11個連續高電平,可能必須使用數以千計的符號。
LTspice期望的PWL數據格式如圖2所示。
圖2. PWL測試向量的文件格式。
其中:
■ 第一個值是時間
■ 第二個值是輸出(電壓、電流、溫度等)
■ -> 是制表符(Ascii碼#09)
■ CR是回車符(Ascii碼#13)
■ LF是換行符(Ascii碼#10)
圖3. 用于生成測試向量的代碼摘錄
生成測試向量的方案有很多。這里,我們選擇C語言。
只需幾行代碼,就可以輕松生成大量可立即注入仿真的測試向量。圖3顯示了用于生成測試向量的代碼摘錄,圖4顯示了C程序生成的波形。
圖4. 使用C程序生成的測試向量
有線通信中使用的概念(如位填充)可以用幾行代碼來實現,如圖5所示。
圖5. 代碼參見本文提供的鏈接。
使用捕獲的測試向量生成PWL文件
也可以使用實際數據并將數據導入LTspice。使用常規實驗室設備采集數據后,只需幾個步驟即可將其導入。
例如,圖6是使用示波器捕獲的USB 1.0通信信號。
圖6. 使用實驗室設備捕獲的USB信號
圖7是示波器保存的數據集典型示例(具體格式可能有所不同,但將數據導入LTspice的規則仍然適用)。
圖7. 捕獲的USB信號的原始數據
要在LTspice仿真中使用此數據集,需要進行一些修改:
圖8. LTspice中導入的USB信號
使用測試向量PWL文件
要使用生成的PWL文件,可以向設計添加電壓源和文件路徑,如圖9所示。
圖9. 電壓源的PWL選項
絕對和相對文件路徑均可使用,但建議使用相對路徑,使仿真可移植,以便與同事分享。
圖10. 相對路徑示例
眼圖功能的啟用和調整
為了充分發揮LTspice這一隱藏功能的潛力,首先必須運行仿真。
圖11. 右鍵單擊該區域以啟用眼圖水平軸屬性
仿真完成并顯示信號后,右鍵單擊水平(時間)軸。
隨即彈出一個對話框,顯示如圖12所示的眼圖按鈕。
圖12. 眼圖選項的位置
在此彈出窗口中,可以啟用和調整眼圖顯示,其中參數通俗易懂,無需解釋。
圖13. 眼圖的設置
驗證后,顯示結果將如圖14所示。
圖14. 眼圖顯示
計算和顯示眼圖模板
為了簡化對信號完整性的評估,可以將眼圖與眼圖模板相關聯。眼圖模板不是標準的LTspice功能,但仍然可以實現(類似第一篇文章中的EMC限值線)。
眼圖規格是一個標準,因此大部分模板可以通過一組精簡的變量進行評估,如圖15所示。
圖15. 眼圖和眼圖模板
下面的列表給出了眼圖模板中字母A到E的定義:
■ A:眼圖平寬,在某些模板定義中它可以低至零。
■ B:眼寬,評估最大抖動、擺率和波特率等參數的關鍵。
■ C:眼高,根據您是在電纜的近端還是遠端評估此參數而有所不同。
■ D:眼圖中心,定義眼圖的中心電壓。
■ E:延遲,僅在LTspice中使用,以便在繪圖窗口內移動信號。
生成眼圖模板
在本系列文章的第1部分中,我們說明了如何使用繪圖元件在FFT頻譜上顯示EMC限值線。在本文中,我們將展示如何使用相同的工具來繪制眼圖模板。
與生成和添加EMC限值線相比,眼圖的生成更為復雜。對于眼圖,我們使用含有JavaScriptP2的網頁來生成眼圖定義,然后可以將其粘貼到LTspice信號顯示的繪圖設置文件(*.plt)中。如圖16所示,工程師可利用此JavaScript程序完成其設計。
圖16. 眼圖生成器的預設
常見有線接口標準的眼圖定義已作為預設提供。單擊每個單選按鈕,字段會自動填充典型值。
使用提供的字段也可以微調或實現您自己的眼圖定義。
圖17. 眼圖模板輸入字段
單擊更新按鈕就會生成相應的繪圖設置命令。您可以按照本系列文章第1部分所述的方法,將這些行添加到繪圖設置文件中。
圖18. 由網頁生成的繪圖設置
為了獲得比較理想的顯示效果,可能需要調整要繪制的眼圖數量和LTspice延遲設置,如圖19所示。
圖19. 由網頁生成的繪圖設置應用于波形
評估容差范圍內的一致性
設計中使用的元器件具有較寬的容差,我們可以通過計算檢查這些容差是否會有問題。但是,當設計包含數百個元器件時,使用紙筆或電子表格等手動方法會非常耗時,并且可能無法捕獲重要參數。對于某些器件,可以使用更窄的容差,但如果為整個物料清單挑選低容差元器件的話,將會帶來價格和供貨問題,而且不會考慮老化或溫度相關性的影響。
為了在容差范圍內驗證設計,spice及其擴展LTspice提供了幾個非常棒的工具。
以下部分介紹在LTspice中使用蒙特卡羅和高斯分布進行容差分析和最差情況分析的方法。
圖20. 三種主要方法的隨機值分布
高斯、最差情況和蒙特卡羅方法的通用測試電路
為了比較這些方法在實際用例中的相關性和窮盡性,我們選擇了以下基于Graber4工作的示例。此設置顯示了SPE 10Base-T1L標準(10SPE)物理層或MDI的仿真電路。
圖21所示的仿真電路包括100 Ω ±10%的端接電阻,用于ADI公司的 ADIN1110 或ADIN1100 10BASE-T1L以太網PHY/MAC-PHY。
圖21. 高斯、最差情況和蒙特卡羅方法的通用測試電路 — 基于參考文獻
信號耦合電容、功率耦合電感、共模扼流圈和其他EMC保護元件均進行建模仿真。對于某些元件,我們添加了建議的元件值和容差范圍。
回波損耗圖的語法為:
(100+1/I(V1))/(100-1/I(V1))
蒙特卡羅仿真
蒙特卡羅仿真從仿真電路中每個指定元件的容差范圍中取一個隨機值。對于電路仿真而言,元件容差范圍內的所有值都有相等的概率。
LTspice內置一個使用方便的蒙特卡羅功能,其語法很簡單。
例如,要創建一個容差為10%的100 Ω電阻,就需要使用以下語法:
{mc(100R, ToIA)}
.param ToIA = 0.10
表1. 使用蒙特卡羅方法定義元件值和容差
圖21所示的電路可用于仿真回波損耗,它衡量所有可能發生的信號反射。
回波損耗是由電纜鏈路上所有位置的阻抗不匹配引起的?;夭〒p耗以分貝為單位,對于10BASE-T1L中采用的高數據速率或長電纜距離(1700 m)通信尤為重要。
要將MDI回波損耗限值線添加到圖中(圖23中所示的紅線),請單擊Plot Settings(繪圖設置)菜單中的Save Plot Settings(保存繪圖設置)。
使用標準文本編輯器打開.PLT文件。復制并粘貼Excel文件所示的線定義語法(圖22)。
圖22. LTspice繪圖設置文件的線定義
圖23. SPE終端的差分回波損耗:蒙特卡羅分布參數的128次運行
要在仿真中得到理想的圖形,請右鍵單擊波形,然后單擊Don'tPlot Phase(不繪制相位)按鈕。
關于蒙特卡羅仿真的結論
蒙特卡羅仿真是評估電子設計在其容差范圍內的合規性的重要方法,很可能將滿足大多數設計人員的需求,同時仿真運行次數合理。
最差情況仿真
最差情況仿真功能不是LTspice的內置功能。但是,您可以用所需函數來模擬最差情況,如Joseph Spencer和Gabino Alonso的文章所述。根據最差情況執行仿真需要.func binary(run,index)和.func wc(nom,tol,index)函數,您需要將它們作為SPICE指令放在LTspice原理圖中。
.func binary(run,index) floor(run/(2**index))-2*floor(run/(2**(index+1)))
.func wc(nom,tol,index) if(run==numruns,nom,if(binary(run,index),nom*(1+ tol),nom*(1-tol)))
為了使用這些函數,您需要:
■ 使用numruns聲明所需的仿真運行次數,這些運行次數應覆蓋每個進行最差情況分析的元件的最大值、最小值和標稱值。運行次數為2N+1,其中N等于與元件容差相關的不同索引的數量。對于圖21,運行次數為129,因此語法為:
.param numruns = 129
■ 您必須聲明以下表達式,而不是使用元件的常規值:
{wc(100R, 0.1, 0)}
其中:
■ 100R為標稱值
■ 0.1為容差(此處為+或-10%)
■ 0為要改變的參數的索引,下一個要改變的元件將采用索引
使用下表中的表達式(而不是靜態元件值)運行圖21所示的仿真電路:
表2. 使用最差情況方法定義元件值和容差
結果顯示在圖24所示的波形圖中。
通過編輯繪圖設置文件來添加MDI回波損耗模板限值線,如前文所述。
關于最差情況分析的結論
Steve Knudtsen簡要說明3了系統設計使用最差情況分析的優點和局限性。
最差情況分析是一種常見方法,其中會將元件參數調整到其最大容差極限。
最差情況方法的局限性包括:結果與通常觀察到的結果不一致;要觀察系統表現出最差性能,將需要裝配非常多的系統。
如果系統針對最壞情況進行設計,那么選擇的元器件可能會很昂貴。
然而,將最差情況與蒙特卡羅或高斯仿真結合使用可以產生有價值的系統見解。
圖24. SPE終端的差分回波損耗:最差情況分布參數的128次運行
當仿真時間很長且標稱行為已經得到驗證時,最差情況分析非常適合對系統行為進行總體驗證。
高斯仿真
LTspice內置一個高斯函數,其中心值出現的概率較高。此高斯函數的語法很簡單。
{nominal_value*(1+gauss(tolerance/σ))}
要根據高斯分布的標準差參數σ進行調整,可以使用表3中的表達式。
表3. 使用高斯分布方法定義元件值和容差
或者使用更形象的表示:
圖25. 樣本的高斯分布與σ的關系
例如,要創建一個容差為10%的100 Ω電阻,并且值在容差內的概率為4σ,您需要使用以下語法:
{100R*(1+gauss(ToIA/4))}
.param ToIA = 0.10
圖26提供了圖19所示仿真運行128次的結果,其中高斯仿真如圖19所示,高斯分布參數使用4σ。
圖26. SPE終端的差分回波損耗:高斯分布參數的128次運行
關于高斯分布方法的結論
高斯分布通常是仿真電子設計變化的重要方法。
參數圍繞標稱值的高斯分布仍然是研究容差影響的較自然的方法。
遺憾的是,這種方法代價不菲。為了詳盡無遺,仿真運行次數需要非常多。
此分布還會選取容差范圍之外的值,省略元器件制造商執行的排序和分倉操作。
在10BASE-T1L鏈路分析中的應用
使用10BASE-T1L以太網標準的話,可以省去幾條現場總線。同一電纜既可用于傳統現場總線,也可用于10BASE-T1L;它是一種簡單的平衡銅線對,用于全雙工通信和為終端供電設備(PD)供電。雖然可以復用同一電纜,但必須更換物理層通信收發器(PHY)和無源元件以滿足10BASE-T1L標準。
LTspice中的大多數10BASE-T1L信號完整性驗證可以使用類似形狀的信號進行。
表4. 單對以太網的范圍取決于發送信號幅度
使用的編碼為PAM,用于脈沖幅度調制3級。根據端點期望的覆蓋范圍和能力,發送信號幅度可以調整為1 V或2.4 V。
在電纜側,-1至+1轉換的信號上升時間為53.33 ns,下降時間相同。
將擺率視為恒定,因此0至1、1至0、-1至0和0至-1轉換的標稱轉換時間應為26.66 ns。
為了生成這樣的測試向量,我們將使用圖27中的代碼。P3它將以PWL格式輸出含有5000個PAM3符號的測試向量。
將此測試向量輸入到原理圖中,我們就能驗證各種參數,例如最小耦合、繞組間電容等等。
圖28、29和30分別顯示了10BASE-T1L鏈路基于變壓器的端接、PWL源電壓文件的輸出以及PWL電壓源和電纜側差分電壓的眼圖。這可用于10BASE-T1L標準合規性測試。
圖27. 用于生成PAM3測試向量的代碼摘錄
圖28. 基于變壓器的端接,使用PAM3 PWL測試向量
圖29. PWL電壓源的輸出
圖30. PWL電壓源和電纜側差分電壓的眼圖
LTspice是一款功能強大且免費的仿真工具,可與使用標準C語言和JavaScript代碼的波形發生器結合使用。最終,我們得到一種強大的有線通信信號完整性分析工具,其可用于節省實驗時間、指導最終產品設計并縮短產品開發時間,加速產品上市。ADI和Würth Elektronik將為工程師提供該工具來設計有線鏈路,并幫助他們理解10BASE-T1L SPE等新標準。
評論