今天看了下Altium Designer的電路仿真功能,發(fā)現(xiàn)它還是蠻強大的,按著help里面的文檔《TU0106 Defining & running Circuit Simulation analyses.PDF》跑了一下,覺得還行,所以就把這個文檔翻譯下。。。。。
其中包含了仿真功能的介紹,元件仿真模型的添加與修改,仿真環(huán)境的設(shè)置,等等。本人對SPICE仿真了解的不多,里面涉及到SPICE的文件如果有什么錯誤,歡迎提出! 一、電路仿真功能介紹Altium Designer的混合電路信號仿真工具,在電路原理圖設(shè)計階段實現(xiàn)對數(shù)?;旌闲盘栯娐返墓δ茉O(shè)計仿真,配合簡單易用的參數(shù)配置窗口,完成基于時序、離散度、信噪比等多種數(shù)據(jù)的分析。Altium Designer 可以在原理圖中提供完善的混合信號電路仿真功能 ,除了對XSPICE 標準的支持之外,還支持對Pspice模型和電路的仿真。 Altium Designer中的電路仿真是真正的混合模式仿真器,可以用于對模擬和數(shù)字器件的電路分析。仿真器采用由喬治亞技術(shù)研究所(GTRI)開發(fā)的增強版事件驅(qū)動型XSPICE仿真模型,該模型是基于伯克里SPICE3代碼,并于且SPICE3f5完全兼容。 SPICE3f5模擬器件模型:包括電阻、電容、電感、電壓/電流源、傳輸線和開關(guān)。五類主要的通用半導(dǎo)體器件模型,如diodes、BJTs、JFETs、MESFETs和MOSFETs。 XSPICE模擬器件模型是針對一些可能會影響到仿真效率的冗長的無需開發(fā)局部電路,而設(shè)計的復(fù)雜的、非線性器件特性模型代碼。包括特殊功能函數(shù),諸如增益、磁滯效應(yīng)、限電壓及限電流、s域傳輸函數(shù)精確度等。局部電路模型是指更復(fù)雜的器件,如用局部電路語法描述的操作運放、時鐘、晶體等。每個局部電路都下在*.ckt文件中,并在模型名稱的前面加上大寫的X。 數(shù)字器件模型是用數(shù)字SimCode語言編寫的,這是一種由事件驅(qū)動型XSPICE模型擴展而來專門用于仿真數(shù)字器件的特殊的描述語言,是一種類C語言,實現(xiàn)對數(shù)字器件的行為及特征的描述,參數(shù)可以包括傳輸時延、負載特征等信息;行為可以通過真值表、數(shù)學(xué)函數(shù)和條件控制參數(shù)等。它來源于標準的XSPICE代碼模型。在SimCode中,仿真文件采用ASCII碼字符并且保存成.TXT后綴的文件,編譯后生成*.scb模型文件。可以將多個數(shù)字器件模型寫在同一個文件中。 Altium Designer 可實現(xiàn)如下功能: 1、仿真電路建立及與仿真模型的連接 AD 中由于采用了集成庫技術(shù),原理圖符號中即包含了對應(yīng)的仿真模型,因此原理圖即可直接用來作為仿真電路,而99SE中的仿真電路則需要另行建立并單獨加載各元器件的仿真模型。 2、外部仿真模型的加入 AD中提供了大量的仿真模型,但在實際電路設(shè)計中仍然需要補充、完善仿真模型集。一方面,用戶可編輯系統(tǒng)自帶的仿真模型文件來滿足仿真需求,另一方面, 用戶可以直接將外部標準的仿真模型倒入系統(tǒng)中成為集成庫的一部分后即可直接在原理圖中進行電路仿真。 3、仿真功能及參數(shù)設(shè)置 Altium Designer的仿真器可以完成各種形式的信號分析,在仿真器的分析設(shè)置對話框中,通過全局設(shè)置頁面,允許用戶指定仿真的范圍和自動顯示仿真的信號。每一項分析類型可以在獨立的設(shè)置頁面內(nèi)完成。Altium Designer中允許的分析類型包括: 1) 直流工作點分析 2) 瞬態(tài)分析和傅立葉分析 3) 交流小信號分析 4) 阻抗特性分析 5) 噪聲分析 6) Pole-Zero(臨界點)分析 7) 傳遞函數(shù)分析 8) 蒙特卡羅分析 9) 參數(shù)掃描 10) 溫度掃描等 二、操作步驟2.1、使用Altium Designer仿真的基本步驟如下:1) 裝載與電路仿真相關(guān)的元件庫 2) 在電路上放置仿真元器件(該元件必須帶有仿真模型) 3) 繪制仿真電路圖,方法與繪制原理圖一致 4) 在仿真電路圖中添加仿真電源和激勵源 5) 設(shè)置仿真節(jié)點及電路的初始狀態(tài) 6) 對仿真電路原理圖進行ERC檢查,以糾正錯誤 7) 設(shè)置仿真分析的參數(shù) 8) 運行電路仿真得到仿真結(jié)果 9) 修改仿真參數(shù)或更換元器件,重復(fù)5~8的步驟,直至獲得滿意結(jié)果。 2.2、具體實現(xiàn)電路仿真的整個過程2.2.1、創(chuàng)建工程1) 在工具欄選擇 File ? New ? Project ? PCB Project ,創(chuàng)建一個PCB工程并保存。 2) 在工具欄選擇File ? New ? Schematic,創(chuàng)建一個原理圖文件并保存。 2.2.2、原理圖展示測試電路如圖 1:
圖1 2.2.3、編輯原理圖1、放置有仿真模型的元件根據(jù)上面的電路,我們需要用到元器件“LF411CN”,點擊左邊“Library”標簽,使用search功能查找LF411CN。找到LF411CN之后,點擊“Place LF411CN”,放置元件,若提示元件庫未安裝,需要安裝,則點擊“yes”,如圖 2:
圖2 在仿真元件之前,我們可以按“TAB”鍵打開元件屬性對話框,在“Designator”處填入U1;接著查看LF411CN的仿真模型:在左下角Models列表選中Simulation,再點擊“Edit”,可查看模型的一些信息,如圖 3。
圖3 從上圖可以看出,仿真模型的路徑設(shè)置正確且?guī)斐晒Π惭b。點擊“Model File”標簽,可查看模型文件(若找不到模型文件,這里會有錯誤信息提示),如圖 4。
圖4 點擊“Netlist Template”標簽,可以查看網(wǎng)表模板,如圖 5。
圖5 至此,可以放置此元件。 2、為元件添加SIM Model文件用于電路仿真的Spice模型(.ckt和.mdl文件)位于Library文件夾的集成庫中,我們使用時要注意這些文件的后綴。模型名稱是模型連接到SIM模型文件的重要因素,所以要確保模型名稱設(shè)置正確。查找Altium 集成庫中的模型文件步驟如下:點擊Library面板的Search按鈕,在提示框中填入:HasModel('SIM','*',False)進行搜索;若想更具體些可填入:HasModel('SIM','*LF411*',False)。 若我們不想讓元件使用集成庫中提供的仿真模型,而想用別的模型代替,我們最好將別的模型文件復(fù)制到我們的目標文件夾中。 如果我們想要用的仿真模型在別的集成庫中,我們可以: 1) 點擊File ? Open,打開包含仿真模型的庫文件(.intlib)。 2) 在輸出文件夾(打開集成庫時生成的文件夾)中找到仿真文件,將其復(fù)制到我們自己的工程文件夾中,之后我們可以進行一些修改。 復(fù)制好模型文件,再為元器件添加仿真模型。為了操作方便,我們直接到安裝目錄下的“Examples/CircuitSimulation/Filter”文件夾中,復(fù)制模型文件“LF411C.ckt”到自己的工程文件夾中,接下來的步驟: 1) 在Project面板中,右擊工程,選擇“Add Existing to Project”,將模型文件添加到本工程中。 2) 雙擊元件U1,打開元件屬性對話框,在Model列表中選擇Simulation,點擊Remove按鈕,刪除原來的仿真模型。 3) 點擊Model列表下方的Add下拉按鈕,選擇“Simulation” 4) 在Model Sub-Kind中選擇“Spice Subcircuit”,使得Spice的前綴為“X” 5) 在Model Name中輸入“LF411C”,此時AD會搜索所有的庫,來查詢是否有與這名稱匹配的模型文件。如果AD找到一個匹配的文件,則立即停止尋找。對于不是集成庫中的模型文件,AD會對添加到工程的文件進行搜索,然后再對搜索路徑(Project ? Project Options)中的文件進行搜索。如果找不到匹配的文件,則有錯誤信息提示。 6) 最后的步驟是檢查管教映射是否正確,確保原理圖中元件管腳與模型文件中管腳定義相匹配。點擊“Port Map”,如圖 6:
圖6 修改管腳映射,在Model Pin列表下拉選擇合適的引腳,使其和原先的SIM模型(LF411_NSC)相同。我們可以點擊Netlist Template 標簽,注意到其模型順序為1,2,3,4,5;如圖 7:
圖7 這些和Model File標簽中的.SUBCKT頭相對應(yīng),如圖 8:
圖8 因此,在“Port Map”標簽中的“Model Pin”列表中,我們可以看到1(1), 2(2), 3(3), 4(4), 5(5),被列舉出來,其中第一個數(shù)字就是模型管腳(就是Netlist Template中的%1,%2等),而subcircuit的頭則對應(yīng)著小括號里面的數(shù)字。在Spice netlist中,我們需要注意其中節(jié)點的連接順序,這些必須和.SUBCKT頭中的節(jié)點順序相匹配。 Netlist 頭描述了每個管腳的功能,根據(jù)這些信息我們可以將其連接到原理圖管腳,如:1(1)是同相輸入,故需連接到原理圖管腳3。 原先的管腳映射和修改的管腳映射如圖 9: 圖9 之后點擊“OK”,完成自定義仿真模型的添加。 3、放置有仿真模型的電阻電容放置電阻前,我們可以按“TAB”鍵,打開元件屬性窗口,設(shè)置電阻值;在Model列表中,選中“Simulation”,點擊“Edit”,查看仿真模型屬性。一般系統(tǒng)默認設(shè)置就是正確的,如果沒修改過,應(yīng)該有如圖 10屬性:
圖10
同理,放置電容的情況也一樣,先設(shè)置電容值,再查看仿真模型屬性,如圖 11:
圖11 4、放置電壓源1) 首先放置VDD電源。使用“Library”面板的search功能,檢索關(guān)鍵字“VSRC”;查找到“VSRC”之后,雙擊元件,若提示集成庫未安裝則安裝,其集成庫為“Simulation Sources.IntLib”。 2) 在放置元件前,按“TAB”鍵,打開元件屬性對話框,再編輯其仿真模型屬性,先確保其“Model Kind”為“Voltage Source”,“Model Sub-Kind”為“DC Source”。 3) 點擊“Parameters”標簽,設(shè)置電壓值,輸入“5V”,并使能“Component Parameter”,之后點擊OK,完成設(shè)置。如圖 12:
圖12 4) 同理放置VSS,并設(shè)置其電壓值為“-5V” 5) 最后添加正弦信號輸入:同樣是Simulation Sources.IntLib中的VSRC,打開其仿真模型屬性對話框,設(shè)置“Model Kind ”為“ Voltage Source ”,而 “Model Sub-Kind”設(shè)置為“Sinusoidal”。 6) 點擊“Parameters”標簽,設(shè)置電壓值,可按如圖 13設(shè)置:
圖13 之后點擊OK,設(shè)置完成,放置信號源。 5、放置電源端口。1) 點擊“Place ? Power Port”,在放置前按“TAB”鍵,設(shè)置端口屬性。 2) 其中對于標簽VDD和VSS,其端口屬性為“BAR”。 3) 對于標簽GND,其端口屬性為“Power Ground”。 4) 對于標簽OUT(網(wǎng)絡(luò)),其端口屬性為“Circle” 6、連線,編譯根據(jù)上面的原理圖連接好電路,并在相應(yīng)的地方放置網(wǎng)絡(luò)標簽,之后編譯此原理圖。 2.2.4、仿真設(shè)置點擊“Design ? Simulate ? Mix Sim”,或是點擊工具欄中(可通過“View ? Toolbars ? Mixed Sim”調(diào)出)的圖標,進入設(shè)置窗口。如圖 14:
圖14 按照圖中顯示設(shè)置好“Collect Data For”,“Sheets to Netlist”和“SimView Setup”等三個區(qū)域,并且我們可以看到有一系列的信號在“Available Signal”中,這些都是AD計算出來并可以進行仿真的信號。如果我們想要觀察某個信號,只需將其導(dǎo)入(雙擊此信號)到右邊的“Active Signal”中;同理,若想刪除“Active Signal”中的信號,也可以通過雙擊信號實現(xiàn)。 1、傳輸函數(shù)分析(包括傅立葉變換)設(shè)置傳輸函數(shù)分析會生成一個文件,此文件能顯示波形圖,計算時間變化的瞬態(tài)輸出(如電壓,電流)。直流偏置分析優(yōu)先于瞬態(tài)分析,此分析能夠計算出電路的直流偏置電壓;如果“Use Initial Conditions”選項被使能,直流偏置分析則會根據(jù)具體的原理圖計算偏置電壓。 首先應(yīng)該使能“Transient Analysis”;然后取消“Use Transient Defaults”選項,為了觀察到50Khz信號的三個完整波形,我們將停止時間設(shè)置為60u;并將時間增長步長設(shè)置為100n,最大增長步長為200n。最終設(shè)置如圖 15:
圖15 2、交流小信號分析設(shè)置交流小信號分析的輸出文件顯示了電路的頻率響應(yīng),即以頻率為變量計算交流小信號的輸出值(這些輸出值一般是電壓增益)。 1) 首先我們的原理圖必須有設(shè)置好參數(shù)的交流信號源(上面的步驟已經(jīng)設(shè)置好) 2) 使能“AC Small Signal Analysis”選項 3) 然后根據(jù)圖 16輸入?yún)?shù):
圖16 (注:如上圖,開始頻率點一般不設(shè)置為0,上圖100m表示0.1HZ,結(jié)束頻率點1meg表示1MHZ;“Sweep Type”設(shè)置為“Decade”表示每100測試點以10為底數(shù)增長,總共有701個測試點。) 至此,交流小信號分析設(shè)置完成。AD進行此電路仿真分析時,先計算電路的直流偏置電壓,然后以變化的正弦輸入代替原有的信號源,計算此時的電路的輸出,輸入信號的變化是根據(jù)“Test Points”和“Sweep Type”這兩個選項進行的。 3、電路仿真與分析設(shè)置完成之后,就可以進行電路仿真——點擊“”圖標。在仿真過程中,AD會將一些警告和錯誤信息顯示在“Message”面板,如有致命錯誤可根據(jù)面板提示信息修改原理圖;如果工程無錯誤,此過程還會生成一個SPICE Netlist(.nxs)文件,且此文件在每次進行仿真時都會重新生成。仿真分析結(jié)束會生成打開一個(.sdf)文件,里面顯示了電路的各種仿真結(jié)果(注:直流偏置最先執(zhí)行),如圖 17:
圖17 1) 創(chuàng)建波特圖 波特圖包括了增益和相位信息,我們可以根據(jù)交流小信號分析結(jié)果得到電路的波特圖。首先右擊上半部分坐標圖的“in”信號,選擇“Edit Wave”,打開編輯波形對話框,然后選擇左邊的“Magnitude (dB)”,再點擊“Creat”按鈕。如圖 18:
圖18 同理,對輸出增益,在上半部分的坐標圖中右擊,選擇“Add Wave to Plot”,在彈出的對話框中“Waveforms”列表選擇“out”信號,并在右邊的“Complex Functions”列表選擇“Magnitude (dB)”,然后點擊“Creat”按鈕,得到輸入輸出的增益圖。 之后重復(fù)上述步驟添加相位圖,注意在“Complex Functions”列表選擇“Phase (Deg)”,最后結(jié)果如圖 19:
圖19 (我們可以在同個坐標圖上顯示不同的Y軸,使不同的曲線對應(yīng)不同的Y坐標——只需在編輯或添加波形文件時,選中“Add to new Y axis”即可;若刪除坐標軸,相應(yīng)的曲線也會刪除,且在這模式下沒有Undo 功能,故誤刪的話需重新導(dǎo)入曲線。) 2) 使用光標工具分析 點擊“DB(out)”曲線,右擊選擇“Cursor A ”,再右擊選擇“Cursor B”,打開兩個測量光標,將光標按圖 20放置:
圖20 再點擊“Sim Data”標簽,可以看到此時B-A = -3,且光標B的頻率為“20kHz”,如圖 21:
圖21 故3dB點的頻率為20kHz。 2.2.5、參數(shù)掃描設(shè)置參數(shù)掃描功能使得我們能夠讓特定的元件在一個范圍內(nèi)變化;當(dāng)然相應(yīng)的交流、直流或瞬態(tài)分析也要使能,才能觀察相應(yīng)的特性曲線或數(shù)據(jù)。具體步驟如下: 1) 首先點擊圖標,打開設(shè)置窗口,使能“Parameter Sweep” 2) 接著選擇首要掃描參數(shù)元件C2,更改參數(shù);再使能第二參數(shù)掃描功能,選擇C1,更改參數(shù);參數(shù)設(shè)置如圖 22:
圖22 設(shè)置好之后,點擊Ok,進行電路仿真。仿真后的一些結(jié)果如圖 23,圖 24與圖 25:
圖23
圖24
圖25 點擊相應(yīng)的曲線,相應(yīng)的元件(電容)參數(shù)會在左下角顯示。 2.2.6、高級設(shè)置“Advanced Options”設(shè)置頁面包含一系列的內(nèi)部SPICE選項,這些選項會影響仿真計算速度,像錯誤容量和重復(fù)限制等。如圖 26
圖26 一般按著系統(tǒng)默認的設(shè)置就可以進行仿真,若想修改參數(shù)只需在相應(yīng)的條目修改Value值即可。設(shè)置“Integration method”從Trapezoidal 到 Gear,則計算時間變長,但仿真效果更好,若選擇更高的Gear值,效果更好,時間更長。 2.2.7、使用SPICE Netlist進行仿真上文提到軟件仿真時會生成SPICE Netlist(.nsx)文件,我們也可以根據(jù)這個文件進行電路仿真分析。我們也可以通過點擊圖標生成此文件,然后通過此文件進行仿真。設(shè)置更改時點擊Simulate ? Setup,進行仿真:Simulate ? Run。
原版的英文文件在安裝目錄的help文件夾中,命名為:TU0106 Defining & running Circuit Simulation analyses |
|