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