Proteus SDK模型創(chuàng)建教程.doc_第1頁(yè)
Proteus SDK模型創(chuàng)建教程.doc_第2頁(yè)
Proteus SDK模型創(chuàng)建教程.doc_第3頁(yè)
Proteus SDK模型創(chuàng)建教程.doc_第4頁(yè)
Proteus SDK模型創(chuàng)建教程.doc_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

ProteusProteus SDKSDK 模型模型 來(lái)自來(lái)自 http jamsan blhttp jamsan blo 目錄目錄 1 第一章第一章 介紹介紹 3 第二章第二章 SPICE 工作原理工作原理 3 2 1 簡(jiǎn)介 3 2 2 電路表示 3 2 3 電阻 受控電流 電壓源 4 2 4 非線性 4 第三章第三章 DSIM 工作原理工作原理 4 3 1 引言 4 3 2 啟動(dòng)過(guò)程 4 3 3 穩(wěn)定過(guò)程 5 3 4 事件處理循環(huán) 5 3 6 九狀態(tài)模型 6 3 7 未定義狀態(tài) 6 3 9 毛剌處理 7 第四章第四章 混合模式仿真分析原理混合模式仿真分析原理 9 4 1 概述 9 4 2 混合模式接口模型 9 4 3 使用 ITFMOD 屬性 11 第五章第五章 模型類(lèi)型模型類(lèi)型 11 概述 11 5 1 電氣模型 11 5 2 圖形模型 12 5 3 原理模型 12 5 4 SPICE 模型 13 5 5 VSM 模型 13 第六章第六章 模擬元件建模教程模擬元件建模教程 14 6 1 簡(jiǎn)介 14 6 2 設(shè)置測(cè)試用例 14 6 3 線圈元素建模 15 6 4 線圈電路概述 16 6 5 開(kāi)關(guān)部件建模 18 6 6 開(kāi)關(guān)電路概述 19 6 7 測(cè)試并編譯模型 19 6 8 在其它設(shè)計(jì)中使用模型 20 第七章第七章 數(shù)字元件建模教程數(shù)字元件建模教程 21 7 1 簡(jiǎn)介 21 7 2 74123 單穩(wěn)多諧振蕩器 21 7 3 設(shè)置測(cè)試環(huán)境 22 7 4 進(jìn)入等價(jià)電路 23 7 5 等價(jià)電路概述 24 7 5 1 功能建模 24 7 6 測(cè)試與編譯模型 28 7 7 在其它設(shè)計(jì)中使用模型 28 第八章第八章 混合模式建模教程混合模式建模教程 29 8 1 簡(jiǎn)介 29 8 2 設(shè)置測(cè)試環(huán)境 30 8 4 等價(jià)電路 31 8 5 使用模型 33 第九章第九章 VSM 建模教程建模教程 33 9 1 簡(jiǎn)介 33 9 2 創(chuàng)建 VOLTMETER 部件 33 9 3 VOLTMETER 的屬性定義的屬性定義 34 9 4 VOLTMETER 的的 Active 模型設(shè)置模型設(shè)置 34 9 5 創(chuàng)建 C 工程 34 9 6 頭文件 35 9 7 創(chuàng)建模型及許可 35 9 8 模型初始化 36 9 9 組合圖形 電氣模型 36 9 11 事件處理 38 第一章第一章 介紹介紹 這個(gè)文檔包含了怎樣創(chuàng)建你自己的 Proteus VSM 模型介紹 它針對(duì)這個(gè)系統(tǒng)的高級(jí) 用戶(hù)并假定你深知怎樣用 ISIS 和 PROSPICE 創(chuàng)建原理和運(yùn)行仿真 我們也假定你具有必須 的電子知識(shí)來(lái)創(chuàng)建完全符合你器件行為的仿真模型 這并不總是個(gè)小事情 涉及很多技和 恰入其分的判斷 已經(jīng)充在的模型資料 可以訪問(wèn) www labcenter co uk 你也可能申請(qǐng)由我們或者第 三方開(kāi)發(fā)新的模型 第二章第二章 SPICE 工作原理工作原理 2 1 簡(jiǎn)介簡(jiǎn)介 本節(jié)將簡(jiǎn)要介紹 SPICE 如何進(jìn)行電路仿真 如果您希望創(chuàng)建復(fù)雜的模擬電路元件模型 建議您閱讀 SPICE3F5 相關(guān)文獻(xiàn) 下面僅就暫態(tài)分析進(jìn)行討論 2 2 電路表示電路表示 一般來(lái)說(shuō) 電路由節(jié)點(diǎn)與支路組成 其中 節(jié)點(diǎn)為兩條以上的支路的共同連接點(diǎn) 在 SPICE 術(shù)語(yǔ)中只有節(jié)點(diǎn)電壓 在支路已知的情況下 這就足以求解出所需的支路電流 電路中 有三種基本的元器件 即 電阻 理想電流源 VCCS 或 CCCS 理想電壓源 VCVS 或 CCVS 可使用矩陣與向量來(lái)表示電路 當(dāng)前狀態(tài)及其結(jié)果 向量可看成是單維矩陣 或者是 一個(gè)簡(jiǎn)單的數(shù)列 在各計(jì)算階段 均需計(jì)算表達(dá)式 I Y V 其中 I 與 V 為向量 而 Y 為一個(gè)二維矩陣 請(qǐng)注意該表達(dá)式與歐姆定律相類(lèi)似 該表達(dá)式還代表了以下形式的方程組 IaYa IbYb IcYc V 這樣可以求解 V V 也經(jīng)常表示 RHS 向量 它位于上述方程右手端 Right Hand Side RHS 根據(jù)構(gòu)成電路的支路 可設(shè)置 I 與矩陣 Y 中的值 從而求得矩陣方程的各個(gè)解 即 V 的 各個(gè)分量 這些值可能是來(lái)自元件模型中的特定值 它們可以表示該模型的一些狀態(tài) 因 此 I 與 Y 一起將確定電路狀態(tài) 而 V 表示了結(jié)果 來(lái)自 2 3 電阻 受控電流電阻 受控電流 電壓源電壓源 可視一個(gè)電阻為一個(gè)線性電壓控制電流源 且其輸入輸出節(jié)點(diǎn)包含相同管腳 實(shí)際上 SPICE 就是通過(guò)將 I 與 Y 中的不同元素設(shè)置為常量這種方式來(lái)處理一個(gè)線性受控電流 電 壓源 從另一角度來(lái)說(shuō) 若注意到矩陣 Y 的特定行或列的值表示相應(yīng)節(jié)點(diǎn)間的電流與它們之 間的電勢(shì)差之間的關(guān)系 該數(shù)越大 電壓值越大 因此 支路電流與節(jié)點(diǎn)電壓之間的任意 線性關(guān)系可用矩陣 Y 中的常量來(lái)表示 同樣 特定節(jié)點(diǎn)間的電流也可直接用 I 向量中的值 來(lái)表示 來(lái)自 2 4 非線性非線性 在前面 我們?cè)?jīng)提到過(guò) 各計(jì)算階段 這些計(jì)算階段是如何定義的呢 OK 讓我們 先考慮簡(jiǎn)單的情況 如果我們面對(duì)的電路全是由線性時(shí)不變支路所構(gòu)成 在所有時(shí)刻 均 可求得矩陣方程中節(jié)點(diǎn)電壓向量 V 的唯一解 一條線性支路遵守歐姆定律 包括 R V 0 時(shí) Y I 0 的情況 這也是可經(jīng)由方程組 I Y V 求解的電路的唯一形式 但我們?nèi)绾翁幚硐蠖O管與三極管這樣的非線性元件呢 我們構(gòu)造與非線性電路狀態(tài) 一致的虛假電路 讓我們花點(diǎn)時(shí)間來(lái)理解這些概念 考慮一個(gè)電路中的一個(gè)二極管 假定 我們已經(jīng)知道電路穩(wěn)態(tài)時(shí)的各節(jié)點(diǎn)電壓 從二極管的理論函數(shù)可以知道二極管的狀態(tài) 第三章第三章 DSIM 工作原理工作原理 3 1 引言引言 可采用事件驅(qū)動(dòng)仿真 Event Driven Simulation 技術(shù)來(lái)進(jìn)行數(shù)字瞬態(tài)分析 它與 SPICE 中的模擬電路瞬態(tài)分析不同 后者僅當(dāng)電路某些元素的狀態(tài)發(fā)生改變時(shí)才進(jìn)行 另外 數(shù) 字瞬態(tài)分析只考慮離散邏輯 而元件功能則表示為一種更高層次的邏輯 例如 我們可以 認(rèn)為計(jì)數(shù)器是一個(gè)寄存器 它的值在每次時(shí)鐘沿加一 而不認(rèn)為計(jì)數(shù)器是幾百個(gè)晶體管電 路元件 這樣 針對(duì)同一個(gè)電路 采用事件驅(qū)動(dòng)仿真分析比模擬電路仿真分析來(lái)說(shuō) 速度 要快上幾個(gè)數(shù)量級(jí) 3 2 啟動(dòng)過(guò)程啟動(dòng)過(guò)程 啟動(dòng)過(guò)程的目的是定義電路中所有網(wǎng)絡(luò)的初始狀態(tài) 且每個(gè)模型的分析函數(shù)被至少調(diào) 用一次 啟動(dòng)模塊將進(jìn)行以下處理 a 所有與 VCC 和 或 VDD 相連的輸入管腳的電平置為高 b 所有與 GND 和 或 VSS 相連的輸入管腳的電平置為低 c 所有與信號(hào)發(fā)生器相連的輸入管腳的電平狀態(tài)與信號(hào)發(fā)生器的初始屬性值相同 d 所有其它的管腳初始化為懸空 e 所有模型都必須根據(jù)其邏輯 將輸入變換求得輸出 模型調(diào)用無(wú)固定順序 f 如果網(wǎng)絡(luò)的狀態(tài)發(fā)生改變 則與其相關(guān)聯(lián)的模型將被要求重新計(jì)算得到它們的輸出 該過(guò)程將重復(fù)進(jìn)行直到系統(tǒng)確認(rèn)出現(xiàn)穩(wěn)態(tài) 3 3 穩(wěn)定過(guò)程穩(wěn)定過(guò)程 考慮以下的三個(gè)非門(mén)電路 在啟動(dòng)過(guò)程中 除 U1 A 以外的非門(mén)都將得到一個(gè)未定義的輸入狀態(tài) 則它們將產(chǎn)生 一個(gè)未定義的輸出狀態(tài) 然而 因?yàn)檎{(diào)用了本過(guò)程即穩(wěn)定過(guò)程 U1 A 的輸出將改變 即由 未定義狀態(tài)變?yōu)楦唠娖?之后 將要求 U1 B 進(jìn)行重新計(jì)算 這次的結(jié)果是輸入邏輯 1 而 輸出為邏輯 0 這將改變另一個(gè)網(wǎng)絡(luò)狀態(tài) 導(dǎo)致另一個(gè)穩(wěn)定過(guò)程運(yùn)行 最后 當(dāng) U1 C 改變 其輸出狀態(tài)為高時(shí) 再?zèng)]有其它的改變發(fā)生 這時(shí) 可認(rèn)為電路達(dá)到穩(wěn)定 請(qǐng)注意 應(yīng)假定在仿真分析開(kāi)始之前電路已經(jīng)穩(wěn)定 且在模型內(nèi)部的任何延時(shí)都將被 忽略 在一個(gè)混合模式的仿真分析中 在 SPICE 試圖求得電路的 DC 工作點(diǎn)時(shí) 也會(huì)調(diào)用穩(wěn) 定過(guò)程 3 4 事件處理循環(huán)事件處理循環(huán) 穩(wěn)定過(guò)程之后 DSIM 才開(kāi)始嚴(yán)格意義上的仿真分析過(guò)程 該過(guò)程在一個(gè)循環(huán)中調(diào)用 而該循環(huán)重復(fù)進(jìn)行以下兩步操作 將當(dāng)前時(shí)刻所有狀態(tài)改變事件加入到一個(gè)隊(duì)列中 并交由相關(guān)網(wǎng)絡(luò)進(jìn)行處理 該 過(guò)程將得到新的網(wǎng)絡(luò)狀態(tài)集合 當(dāng)一個(gè)網(wǎng)絡(luò)狀態(tài)發(fā)生改變時(shí) 該網(wǎng)絡(luò)內(nèi)所有的包含輸入管腳的模型都將重新進(jìn)行 仿真分析 如果它們的輸出發(fā)生了改變 將產(chǎn)生新的事件 并被加入到事件隊(duì)列中 當(dāng)然 不同的模型將產(chǎn)生的事件需要在不同時(shí)刻進(jìn)行處理 因此 DSIM 內(nèi)核將在每次 循環(huán)時(shí)對(duì)隊(duì)列中新產(chǎn)生的事件進(jìn)行排序 需要指出的是 我們的方案可支持 0 時(shí)刻延遲模型 這里的含義是 根據(jù)事件產(chǎn)生的 方式 在事件產(chǎn)生的時(shí)刻 代碼也在進(jìn)行批處理 一批等價(jià)于循環(huán)體執(zhí)行一遍 本段翻譯得不好 原文如下 It is also worth pointing out that our scheme quite happily supports models which have a zero time delay In this context events generated with the same time code are processed in batches one batch equals one trip round the loop according to howthey were generated 3 5 結(jié)束條件 當(dāng)達(dá)到以下條件之一時(shí) 仿真將停止 a 到了指定的仿真結(jié)束時(shí)間 b 出現(xiàn)了邏輯矛盾 如當(dāng)前時(shí)刻停止不前 即使事件處理循環(huán)過(guò)程進(jìn)入了死循環(huán) c 出現(xiàn)了系統(tǒng)錯(cuò)誤 如事件隊(duì)列內(nèi)存異常 這在正常情況下不大可能會(huì)發(fā)生 除非在 您的設(shè)計(jì)中使用了某些不穩(wěn)定的因素 可能會(huì)導(dǎo)致某些地方的高頻振蕩 如 100MHz 3 6 九狀態(tài)模型九狀態(tài)模型 您可能會(huì)認(rèn)為一個(gè)數(shù)字仿真器僅會(huì)處理高低邏輯 但實(shí)際上 DSIM 處理了 9 個(gè)完全 不同的狀態(tài) 狀態(tài)類(lèi)型關(guān)鍵字說(shuō)明 電源高態(tài)PHI電源高邏輯 強(qiáng)電高態(tài)SHI主動(dòng)輸出高邏輯 弱電高態(tài)WHI被動(dòng)輸出高邏輯 懸空態(tài)FLT懸空輸出 高阻 未定義態(tài)WUD與模擬電壓混聯(lián) 競(jìng)爭(zhēng)態(tài)CON與數(shù)字電壓沖突 弱電低態(tài)WLO被動(dòng)輸出低邏輯 強(qiáng)電低態(tài)SLO主動(dòng)輸出低邏輯 電源低態(tài)PLO電源低邏輯 從根本上來(lái)說(shuō) 一個(gè)給定的狀態(tài)包含其極性信息 高 低或中間態(tài) 與強(qiáng)度信息 狀態(tài) 的強(qiáng)度表示電流的大小 從而決定輸出帶負(fù)載能力或吸收電流能力 若多于一個(gè)輸出連接到 同一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)時(shí)有用 例如 如果一個(gè)集電極開(kāi)路 OC 輸出通過(guò)一個(gè)電阻連接到 VCC 則當(dāng)輸出為低時(shí) 在 網(wǎng)絡(luò)中將同時(shí)出現(xiàn) WHI 與 SLO 狀態(tài) 結(jié)果 SLO 狀態(tài)競(jìng)爭(zhēng)獲勝 導(dǎo)致相應(yīng)節(jié)點(diǎn)為低電壓狀 態(tài) 相反 如果在網(wǎng)絡(luò)中同時(shí)出現(xiàn)兩個(gè)三態(tài)輸出 且來(lái)自不同的方向 則兩個(gè)輸出都無(wú)法 獲勝 導(dǎo)致出現(xiàn)競(jìng)爭(zhēng)狀態(tài) 該方案允許 DSIM 仿真包含 OC 與 OE 輸出 上拉電阻的電路 也可分析經(jīng)由電阻連 接的三態(tài)輸出 那些可憐的人設(shè)計(jì)的多路輸出 電路 然而 需要記得一點(diǎn) DSIM 是一個(gè)數(shù) 字仿真器 它不能處理模擬電路的模型現(xiàn)象 例如 將大電阻連接到 TTL 輸入端時(shí) DSIM 的分析過(guò)程不會(huì)出現(xiàn)問(wèn)題 但在實(shí)際工作中會(huì)因?yàn)椴荒芴峁┳銐虻碾娏鞫鴮?dǎo)致相應(yīng) 的問(wèn)題 3 7 未定義狀態(tài)未定義狀態(tài) 當(dāng)數(shù)字模型的輸入未定義時(shí) 它可能會(huì)沿著模型的普通常識(shí)規(guī)律進(jìn)行傳播 例如 如 果與門(mén)的一個(gè)輸入為低 則其輸出將為低 但如果只有一個(gè)輸入為高 而其它輸入未定義 則輸出也將為未定義 3 8 懸空輸入 一般認(rèn)為 未連接的 TTL 輸入看起來(lái)與它連接到邏輯 1 時(shí)所導(dǎo)致的現(xiàn)象一致 但不能 基于此就說(shuō)明這是實(shí)際事實(shí)情況 可能會(huì)在忽略導(dǎo)線 或輸入連接到一個(gè)非激活的三態(tài)輸 出時(shí)出現(xiàn)這種現(xiàn)象 DSIM 內(nèi)部進(jìn)行了一些處理 其內(nèi)部模型都假定了期望高或低的輸入 的真實(shí)邏輯響應(yīng) 要是您真的希望 DSIM 將未連接的輸入當(dāng)成高 低電平邏輯 您可以通過(guò)將 FLOAT 模 擬器控制屬性設(shè)置為 TRUE 或 FALSE 如果該屬性值未指定 則缺省處理方式為未連接輸 入會(huì)被當(dāng)成未定義狀態(tài) 3 9 毛剌處理毛剌處理 在設(shè)計(jì) DSIM 時(shí) 我們?cè)腿绾翁幚矸浅6痰拿}沖 毛剌 的模型仿真進(jìn)行了大量討論 問(wèn)題的本質(zhì)在于 在那些情況下 作為 DSIM 仿真分析的一個(gè)前提假設(shè) 模型的純數(shù)字化 表現(xiàn) 有點(diǎn)不大成立了 例如 一個(gè) 5ns 輸入脈沖時(shí)作用到 7400 芯片輸入端時(shí) 它將會(huì)其 輸出端產(chǎn)生某種形式的脈沖 但并不能滿(mǎn)足 TTL 規(guī)范所要求邏輯電平 這樣的輸出脈沖能 否作為下一級(jí)計(jì)數(shù)器的時(shí)鐘呢 這就基本上依賴(lài)于模擬計(jì)算的結(jié)果了 最好的處理方式考慮極端情況 即 一個(gè) 1ns 的輸入脈沖壓根不會(huì)在電路中傳播 一個(gè) 20ns 的輸入脈沖可以較好地在電路中傳播 在這之間的情況 門(mén)電路將不會(huì)正確地傳播脈沖 也可以說(shuō)是欠脈沖 這給了我們毛 剌閾值時(shí)間 Glitch Threshold Time 它可以與 TDLH 和 TDHL 一樣 作為模型的額外屬性 另一個(gè)需要關(guān)心的是 究竟毛剌能否抑制模型的輸入或輸出 要解決這點(diǎn)疑問(wèn) 我們 可以考慮一個(gè)受紋波計(jì)數(shù)器驅(qū)動(dòng)的 4 16 解碼器 見(jiàn)下圖所示 紋波計(jì)數(shù)器的輸入交錯(cuò)排列 這樣可能會(huì)導(dǎo)致解碼器的輸入經(jīng)過(guò)中間狀態(tài)時(shí)產(chǎn)生出寄 生脈沖 下圖所示為該仿真分析過(guò)程結(jié)果 以第一個(gè)毛剌為例來(lái)進(jìn)行說(shuō)明 因?yàn)?U1 QA 第一次觸發(fā)低電平 它勝過(guò) U1 QB 的高 電平而產(chǎn)生一個(gè)短時(shí)低電平脈沖 并成功地通過(guò)解碼器并持續(xù) 10ns 問(wèn)題是解碼器能否對(duì) 此做出正確的響應(yīng) 或更進(jìn)一步地說(shuō) 如果輸入毛剌只有 1ns 或 1ps 會(huì)出現(xiàn)什么情況呢 當(dāng)然 對(duì)于后面兩種情況 結(jié)果很清楚 即實(shí)際器件不會(huì)響應(yīng) 這也提示我們必須處理輸 出端的毛剌而不是輸入端的 這是因?yàn)?在上述例子中 輸入脈沖相對(duì)而言長(zhǎng)一些 對(duì)于 那些智能一些的準(zhǔn)則而言 不會(huì)被當(dāng)成是毛剌 但對(duì)于某些競(jìng)爭(zhēng)產(chǎn)品 它們?cè)诖俗隽舜罅?的無(wú)用功 最終的結(jié)果是居然能對(duì) 1ps 的毛剌產(chǎn)生響應(yīng) 真正讓人感興趣的部分在于 如果您構(gòu)建了上面的電路 可能沒(méi)有毛刺 說(shuō)實(shí)在的 這種設(shè)計(jì)令人不敢恭維 但 154 的 TDLH 與 TDHL 大約為 22ns 這使得它對(duì)于 10ns 的輸 入響應(yīng)而言是一個(gè)較高的障礙 對(duì)于我們所測(cè)試的單個(gè)元件而言 并沒(méi)有輸出脈沖 但在 供應(yīng)端可能還是有可測(cè)量的微小抖動(dòng) 為提供對(duì)毛刺的處理 所有的 DSIM 元件都應(yīng)提供一個(gè)用戶(hù)可定義的毛剌閾值時(shí)間 Glitch Threshold Time 屬性 即 TGxx 此處的 xx 為相應(yīng)的輸出名稱(chēng) 在我們所定義的 TTL 模型中 這些屬性都可以被 TTL 元件所覆蓋 它們的缺省值為主要的 L H 與 H L 傳 播延遲的平均值 設(shè)置毛剌閾值時(shí)間 Glitch Threshold Time 屬性為 0 將允許毛刺通過(guò) 或 許你喜歡這種效果吧 上面的圖示效果就是將 74154 的屬性 TGQ 設(shè)置為 0 的結(jié)果顯示 轉(zhuǎn)自 最后需重點(diǎn)指出的是 如果毛剌閾值時(shí)間 Glitch Threshold Time 屬性大于 L H 或 H L 傳播延遲時(shí)間 則該屬性值會(huì)被忽略掉 這是因?yàn)?在輸入邊沿時(shí)刻之后 經(jīng)過(guò)相關(guān)時(shí)間 延遲 元件就必須改變其輸出 它不會(huì)再檢查是否在不久的將來(lái)還有其它的事件會(huì)發(fā)生 哪怕該事件會(huì)取消本次輸出 考慮一個(gè)對(duì)稱(chēng)門(mén)器件 假定其傳播延遲為 10ns 而其毛剌閾 值時(shí)間 Glitch Threshold Time 屬性為 20ns 在 t 0ns 時(shí)刻 輸入變?yōu)楦唠娖?而 t 15ns 時(shí) 輸出變?yōu)榈碗娖?您可能會(huì)這樣認(rèn)為 輸入能傳播過(guò)去 即輸出在 t 10ns 時(shí)為高 而 t 25ns 時(shí)為低 從而產(chǎn)生一個(gè)寬度為 15ns 的脈沖 但因?yàn)樗∮诿蓍撝禃r(shí)間 所以該脈 沖會(huì)受到抑制 事實(shí)上并不是如此 原因在于在 t 10ns 時(shí)刻 輸出必須為高 它不能仍然 保持為低 等到 20ns 時(shí) 就象我們的例子所說(shuō)的那樣 才改變 使得第二個(gè)邊沿到來(lái)時(shí)產(chǎn)生 一個(gè)受抑制的脈沖 只要輸出在 t 10ns 時(shí)變?yōu)楦唠娖?則第二個(gè)邊沿 t 25ns 將自主地將 其復(fù)位 您需要仔細(xì)考慮并理解這點(diǎn) 第四章第四章 混合模式仿真分析原理混合模式仿真分析原理 4 1 概述概述 如果將各種數(shù)字器件用它們內(nèi)部電路來(lái)進(jìn)行建模 則任何電路都可以被當(dāng)成模擬電路 來(lái)對(duì)待 如將一個(gè) TTL 與非門(mén)分解為 8 個(gè)晶體管 通過(guò)這種方法可以得到非常精確的結(jié)果 并會(huì)告訴您 7400 門(mén)電路如何將 1 8V 的輸入確切地轉(zhuǎn)化成 4 3V 的輸出 然而 如果對(duì) 9 個(gè) 門(mén)組成的 J K 觸發(fā)器 再由 4 個(gè)觸發(fā)器組成的 4 位計(jì)數(shù)器 你就會(huì)發(fā)現(xiàn) 再采用這種方法 來(lái)建立較大的數(shù)字電路模型將成為一件折磨人的痛苦漫長(zhǎng)經(jīng)歷 來(lái)自 實(shí)際上 數(shù)字電路通常采用事件驅(qū)動(dòng)方式來(lái)進(jìn)行仿真分析 換句話說(shuō) 只有當(dāng)電路中 某部分狀態(tài)發(fā)生改變時(shí) 仿真器才工作 這與 SPICE 類(lèi)型的仿真器有極大不同 后者以相 對(duì)規(guī)律的時(shí)間間隔對(duì)整個(gè)電路進(jìn)行重復(fù)分析 另外 事件驅(qū)動(dòng)數(shù)字仿真器僅對(duì)三種邏輯感 興趣 即高 低與未定義 它并不關(guān)心真實(shí)波形究竟是如何上升或下降的 這兩種因素意 味著對(duì)給定電路的數(shù)字仿真分析將比相同電路的模擬仿真分析方式要快很多 但其代價(jià)是 電路真實(shí)結(jié)果現(xiàn)象的近似處理 特別是無(wú)法針對(duì)非標(biāo)準(zhǔn)的電壓邏輯輸入與短時(shí)脈沖輸入進(jìn) 行準(zhǔn)確建模 來(lái)自 最大的困難來(lái)自電路中包含不少的模擬與數(shù)字電路部分 即要求程序同時(shí)使用兩種類(lèi) 型的仿真器 也就是所謂的混合模式仿真器 有多種方法可以實(shí)現(xiàn)這種需求 我們的解決 方式是著眼于獲取數(shù)字分析的最高效率 如果數(shù)字部分以模擬方式工作時(shí)將付出一些準(zhǔn)確 性的代價(jià) 例如 4000 系列緩沖器在供電不足時(shí) 我們也不試圖將之當(dāng)成一個(gè)理想的放大 器 我們的觀點(diǎn)是 如果您對(duì)模擬響應(yīng)感興趣 您就應(yīng)該使用一個(gè)完全意義上的模擬模型 如 SPICE 庫(kù)中的適當(dāng)?shù)?MOSFET 管 總之 PROSPICE 混合模式仿真分析按以下方式進(jìn)行工作 分析電路中各網(wǎng)絡(luò) 以便確定與其相連的模擬 數(shù)字或混合類(lèi)型元件 如果是模擬器件驅(qū)動(dòng)數(shù)字輸入 則加入模數(shù)轉(zhuǎn)換 ADC 對(duì)象 反之亦然 這點(diǎn)說(shuō)得稍 簡(jiǎn)單了一些 擴(kuò)展開(kāi)來(lái)就是 如果是數(shù)字器件驅(qū)動(dòng)模擬輸入 則加入數(shù)模轉(zhuǎn)換 DAC 對(duì)象 陳斌文注 來(lái)自 之后 除 ADC 元件之外的對(duì)象在正常情況下會(huì)進(jìn)行 SPICE 仿真過(guò)程 而 ADC 元 件會(huì)監(jiān)視其輸入值 在它們認(rèn)為狀態(tài)發(fā)生改變時(shí)創(chuàng)建數(shù)字事件 這種處理會(huì)導(dǎo)致調(diào)用數(shù)字 分析過(guò)程 并在以后某個(gè)時(shí)刻創(chuàng)建影響 DAC 輸出的事件 根據(jù)這些事件而不是模擬信號(hào) 發(fā)生器電壓 DAC 對(duì)象產(chǎn)生輸出變化后 開(kāi)始進(jìn)行模擬仿真分析 當(dāng)然 事情還不止這些 因?yàn)檫€需考慮所創(chuàng)建的異步數(shù)字事件 如數(shù)字時(shí)鐘發(fā)生器 及 防止模擬仿真器運(yùn)行超過(guò)這些時(shí)間點(diǎn)等因素 但這些也是你應(yīng)該理解的本質(zhì)所在 來(lái)自 關(guān)鍵在于 在數(shù)字部分中可能會(huì)產(chǎn)生大量的活動(dòng) 這點(diǎn)與模擬仿真分析基本無(wú)關(guān) 除 非它們實(shí)際上改變了模擬網(wǎng)絡(luò)部分的電壓值 您可能會(huì)在任意模擬部分電路分析過(guò)程中 同時(shí)處理整個(gè)包含幾千個(gè)數(shù)字事件的微處理器模型 4 2 混合模式接口模型混合模式接口模型 ITFMOD 來(lái)自 為在 PROSPICE 中設(shè)計(jì)我們的混合模式仿真方案 我們需考慮應(yīng)如何給定器件系列的 模擬參數(shù)指標(biāo)問(wèn)題 這些指標(biāo)包括 器件的輸入輸出阻抗 器件的輸入邏輯閾值 輸出的高低電壓電平 器件輸出的上升下降時(shí)間 可以說(shuō) 指定 TTL 器件的的上述模擬參數(shù)指標(biāo)是一件相當(dāng)不爽的事 來(lái)自 另外 至少對(duì)于初學(xué)者而言 在定義供電時(shí)還有一個(gè)巨大的障礙問(wèn)題 就如下圖所示 的電路中 人們趨向于簡(jiǎn)化電路原理圖而期望得到適宜的結(jié)果 當(dāng)然 此處的問(wèn)題在于有 一個(gè)隱含的前提假設(shè)條件 即 7400 可從它的連接到 VCC GND 的隱藏電源管腳獲得 5V 供 電 可通過(guò)引入器件的 ITFMOD 屬性來(lái)解決上述問(wèn)題 它與 MODEL 屬性非常類(lèi)似 也提 供一系列屬性值的引用 也能激活網(wǎng)表編譯器中的特定機(jī)制 以下為它的必要工作步驟 對(duì)于任意擁有 ITFMOD 屬性的器件而言 在其取得網(wǎng)表結(jié)果過(guò)程中還會(huì)調(diào)用另外 一個(gè)模型定義 它將指定 ADC 與 DAC 對(duì)象的控制參數(shù) 以及正負(fù)供電管腳名稱(chēng) 如上圖 中 U1 A 的 ITFMOD 屬性值為 TTL 即 ITFMOD TTL 在得到了供電管腳名稱(chēng)后 即 VCC GND 等 ISIS 將創(chuàng)建一個(gè)特定的基本對(duì)象 并將其與供電管腳相連 ISIS 按類(lèi)似于對(duì)象的子模型或表單的方式來(lái)命名該對(duì)象 就如上 圖中 供電對(duì)象將取名為 U1 A P 當(dāng) PROSPICE 仿真一個(gè)混合模式電路時(shí) 它將創(chuàng)建 ADC 與 DAC 對(duì)象 并認(rèn)為它 們隸屬于與它們相連的對(duì)象 如上圖中 將創(chuàng)建一個(gè)名為 U1 A DAC 0000 的 DAC 對(duì)象 因?yàn)樗峁?U1 A 的輸出接口 來(lái)自 完成這些后 它還有一個(gè)巧妙的做法 即它會(huì)尋找擁有同一對(duì)象名稱(chēng)的供電接口對(duì)象 對(duì)于上例中的 U1 A 而言將可以找到 U1 A P 然后它將發(fā)出指令讓 U1 A DAC 0000 對(duì) 象從 U1 A P 對(duì)象中取得其屬性值 該屬性值繼承自其原始模型的 ITFMOD 屬性 因此 在上例中 DAC 對(duì)象將根據(jù)所定義的 TTL 邏輯屬性參數(shù)進(jìn)行后續(xù)工作 各供電接口對(duì)象都包含一個(gè)電池組件 在接口模型定義中擁有 VOLTAGE 屬性 TTL 接口模型定義中指定 VOLTAGE 5V 這意味著在上圖電路中 在 VCC 與 GND 之間插入了一個(gè) 5V 電池 因?yàn)檫@是 7400 器 件的供電管腳所要求的 電池的內(nèi)部阻抗可通過(guò) RINT 屬性來(lái)訪問(wèn) 其缺省值為 1 毫歐 這意味著如果您 將一個(gè)真實(shí)供電端賦值為 VCC VDD 可通過(guò)放置一個(gè)電源端或電壓端來(lái)實(shí)現(xiàn) 則它將作用 于所定義的電池內(nèi)部阻抗屬性所對(duì)應(yīng)的電阻 因此 在仿真世界里 電池可以流過(guò)大電流 如果要取消接口模型中的內(nèi)部電池作用 可簡(jiǎn)單地置 RINT 0 4 3 使用使用 ITFMOD 屬性屬性 現(xiàn)有的接口模型中已定義了如下的 ITFMOD 屬性 TTL標(biāo)準(zhǔn) TTL 74 系列 TTLLS低壓 Schottky TTL 74LS 系列 TTLS標(biāo)準(zhǔn) Schottky TTL 74S 系列 TTLHC高速 CMOS TTL 74HC 系列 TTLHCT輸出 TTL 的高速 CMOS TTL 74HCT 系列 CMOS4000 系列 CMOS MMOS微處理器類(lèi)型 MOS 電路 PLDPLD 類(lèi)型 MOS 電路 因此 任意新的數(shù)字模型中 可對(duì)一個(gè)元件系列添加一個(gè)屬性 如 ITFMOD TTL 這些定義保存在文件 ITFMOD MDF 中 該文件位于 models 目錄下 在每個(gè)定義中 可包含 ADC 與 DAC 對(duì)象相關(guān)的部分或全部屬性 即 可按如下方式 給出 V 正電管腳名稱(chēng) V 負(fù)電管腳名稱(chēng) VOLTAGE5V標(biāo)識(shí)缺省工作電壓 RINT1mA表示內(nèi)部電池阻抗 其值為 0 時(shí)將忽略電池作用 字號(hào) 大 中 小 以下文字內(nèi)容轉(zhuǎn)自 CSDN Arwen Blog 原 blog 無(wú)插圖 由 Jamsan 補(bǔ)上并整理 Arwen Blog 地址 第五章第五章 模型類(lèi)型模型類(lèi)型 概述概述 在 Proteus VSM 中 有兩類(lèi)基本模型 電氣模型與圖形模型 這也是以后模型劃分的 兩個(gè)大類(lèi) 5 1 電氣模型電氣模型 在傳統(tǒng)意義上 這類(lèi)模型與電路仿真分析有關(guān) 最常見(jiàn)的 畫(huà)出模擬一個(gè)真實(shí)器件的 電路圖時(shí)就創(chuàng)建了它的電氣模型 我們也叫它為原理模型 這些畫(huà)在模型電路中的基本對(duì) 象來(lái)自于內(nèi)建于仿真器的庫(kù) 這些基本對(duì)象不僅包括基本元件 如電阻 電容 二極管與 晶體管等 還包括許多理想化元件 如電壓控制電流源 理想運(yùn)放等 Proteus VSM 提供 大量的基本對(duì)象 包括模擬與數(shù)字器件 以及本文所涉及到它們的詳細(xì)信息 您也可以通過(guò)使用 VSM API 函數(shù)來(lái)編程實(shí)現(xiàn)電氣模型 該接口提供模擬 SPICE 與數(shù) 字 DSIM 模型 混合模式器件可通過(guò)實(shí)現(xiàn)這兩種接口的同一模型的 DLL 來(lái)完成建模工作 另外 利用 API 實(shí)現(xiàn)的電氣模型可以直接與圖形模型交互 并可實(shí)現(xiàn)許多讓人興奮的功能 與應(yīng)用 第三方電氣模型基于標(biāo)準(zhǔn) SPICE 網(wǎng)表格式 這是事實(shí)上存在的 它們可以描述模擬器 件模型 許多生產(chǎn)廠家現(xiàn)在都在他們的網(wǎng)站上提供其產(chǎn)品的 SPICE 模型 在 Proteus VSM 用戶(hù)手冊(cè)中說(shuō)明了如何使用這些模型的方法 5 2 圖形模型圖形模型 在進(jìn)行仿真分析時(shí)也可讓您與模型元件進(jìn)行交互 在這方面 Proteus VSM 是獨(dú)一無(wú) 二的 直觀例子包括 7 段 LED 管以及開(kāi)關(guān) 但更復(fù)雜的元件如數(shù)字 LCD 顯示屏也可以進(jìn) 行建模 簡(jiǎn)單器件的建模無(wú)需編程就可實(shí)現(xiàn) 系統(tǒng)提供了一種解決方案 它可以顯示與可 測(cè)量的節(jié)點(diǎn)電壓或邏輯狀態(tài)相應(yīng)的給定數(shù)目的圖形元素 我們稱(chēng)之為主動(dòng)元件 有源元件 Active Components 然而 使用 VSM API 能使系統(tǒng)的強(qiáng)大功能得到體現(xiàn) 它提供了一套接口 模型可以通 過(guò)這些接口完成 Windows 中幾乎所有的事情 它可以直接畫(huà)到原理圖上 或嵌入到一個(gè)彈 出式菜單中 或同時(shí)做這兩件事 更多的是 在同一個(gè) DLL 中 可將復(fù)雜圖形模型與電氣 模型同時(shí)實(shí)現(xiàn) 如數(shù)字 LCD 屏模型就是這樣的一個(gè)典型例子 仿真基本元素仿真基本元素 仿真基本元素是 PROSPICE 的內(nèi)建對(duì)象 要么屬于 SPICE3F5 模擬器件 要么屬于 DSIM 數(shù)字器件 仿真基本元素可在一些器件模型中直接使用 如電阻 電容 二極管 晶體管等 或者可作為更復(fù)雜器件的構(gòu)造模塊 如原理模型的一部分 一個(gè)仿真基本元素由仿真器通過(guò) PRIMITIVE 屬性定義 如 一個(gè) NPN 三極管可能按 如下方式賦值 PRIMITIVE ANALOG NPN 它告訴系統(tǒng) 晶體管將通過(guò) SPICE 進(jìn)行建模 在此過(guò)程中 使用 NPN 基本元素 類(lèi)似地 一個(gè)二輸入與非門(mén)可按如下方式 PRIMITIVE DIGITAL AND 2 ISIS 庫(kù)部分中可用的基本元素可以在 ASIMMDLS 與 DSIMMDLS 庫(kù)中找到 還有一 些特別的基本元素在 REALTIME LIB 庫(kù)中 它們用于構(gòu)造主動(dòng)元件 絕大多數(shù)的基本元素模型都具備一些屬性 它們可以通過(guò) Edit Component 對(duì)話框窗口 進(jìn)行編輯 各模型還鏈接到本文檔中相應(yīng)的幫助主題 來(lái)自 5 3 原理模型原理模型 針對(duì)復(fù)雜器件如運(yùn)放 較大的 TTL 與 CMOS 器件進(jìn)行建模時(shí) 最普通的方法是使用 原理模型 原理模型是構(gòu)造一個(gè)完全不使用基本元素的原理圖 它對(duì)外的電氣特性與待建 模對(duì)象完全相同 請(qǐng)注意它不必是待建模 IC 的內(nèi)部實(shí)現(xiàn)原理電路圖 在通常情況下確實(shí)也 不是 基于測(cè)試的目的 一個(gè)原理模型通常創(chuàng)建成為待建模對(duì)象的子電路 這使得在其父層 電路中畫(huà)出其測(cè)試電路成為可能 我們稱(chēng)這種策略為測(cè)試用例 Test Jig 當(dāng)證明模型的正 確性后 可使用 Model Compiler 命令將之編譯成為一個(gè) MDF 模型說(shuō)明格式 Model Description Format 文件 使用 MODFILE 屬性指明相應(yīng)的 ISIS 庫(kù)與 MDF 文件之間的關(guān)聯(lián)關(guān)系 如 OPAMP lib 中的 741 中 該屬性賦值語(yǔ)句為 MODFILE OA BIP 當(dāng)電路中出現(xiàn) 741 時(shí) ISIS 將之用 OA BIP MDF 中所描述的電路進(jìn)行替代 更另人叫 絕的是 該模型還帶有參數(shù) 父對(duì)象 此處為 741 的 VALUE 屬性用于為模型中的特定元素 選擇指定的屬性值 這有賴(lài)于模型中的一個(gè) MAP ON 腳本塊 且一個(gè)模型文件可用于多個(gè) 運(yùn)放實(shí)例 更多的信息請(qǐng)參閱 ISIS 文檔中的參數(shù)化電路 Parameterized Circuits 在模擬與數(shù)字建模教程中 有針對(duì)如何創(chuàng)建新的原理模型的詳細(xì)說(shuō)明 5 4 SPICE 模型模型 最初的 Berkeley SPICE 網(wǎng)表格式?jīng)Q定了它成為模擬器件模型的事實(shí)標(biāo)準(zhǔn) 大量生產(chǎn)廠 家現(xiàn)在都針對(duì)其產(chǎn)品提供了可用的 SPICE 模型 PROSPICE 中已有數(shù)千種這樣的模型 您 可以自己在 ISIS 庫(kù)中直接使用任意的 SPICE 模型 在 PROSPICE 的使用 SPICE 模型 USING SPICE MODELS 文檔中說(shuō)明了如何使用 因?yàn)檫@些模型由 SPICE 內(nèi)核處理 它們?cè)谙到y(tǒng)中用其余的基本元素進(jìn)行表示 典型地 它們可以按以下賦值語(yǔ)句方式使用 PRIMITIVE ANALOG SUBCKT SPICEMODEL LM741 NS SPICELIB NATOA 其中 SPICEMODEL 屬性表示所使用的 SPICE 模型名稱(chēng) 而 SPICELIB 屬性值為包 含它的 SML SPICE 模型庫(kù) 文件名稱(chēng) 如果 SPICE 模型在 ASCII 形式的普通 SPICE 文件中 您需要使用 SPICEFILE 屬性值 5 5 VSM 模型模型 VSM 模型與仿真基本元素相類(lèi)似 不同之處在于 VSM 模型存在于 DLL 中 而不是在 可執(zhí)行的 PROSPICE 仿真器中 對(duì)于非常復(fù)雜的器件如微處理器而言 使用基于 DLL 的 模型提供了另外一種建模途徑 Proteus VSM 是唯一還可實(shí)現(xiàn)這些模型的圖形功能 亦即 不僅向仿真器提供器件的電氣模型 而且包含其人機(jī)界面接口 該功能的應(yīng)用場(chǎng)合是相當(dāng) 的令人眼花繚亂 The possibilities that this unleashes are pretty much mind boggling 本文大部分內(nèi)容都在說(shuō)明 VSM API 即 ISIS 與 PROSPICE 與 VSM 模型通信的 C 編 程接口 另外 給出一個(gè)簡(jiǎn)單的模型例子 以便您能著手進(jìn)行這項(xiàng)工作 一般地 一個(gè) VSM 模型可以用以下賦值語(yǔ)句來(lái)實(shí)現(xiàn) PRIMITIVE DIGITAL 8052 MODDLL 8051 DLL 其中 PRIMITIVE 屬性值表示該器件將直接由 PROSPICE 直接進(jìn)行分析 這樣 ISIS 不會(huì)用 MDF 文件中的內(nèi)容來(lái)替換它 而 MODLL 屬性值表示包括 8052 模型的 DLL 文件 名稱(chēng) 請(qǐng)注意 PRIMITIVE 屬性的第二個(gè)參數(shù) 在此為 8052 將傳遞給 DLL 使得一個(gè) DLL 可以包括多個(gè)不同的器件 第六章第六章 模擬元件建模教程模擬元件建模教程 6 1 簡(jiǎn)介簡(jiǎn)介 在本教程中 我們將針對(duì)繼電器進(jìn)行建模操作 它包含兩個(gè)基本元素 一個(gè)繼電器線 圈與一個(gè)單端雙擲開(kāi)關(guān) SPDT 這兩個(gè)基本元素在 ISIS 設(shè)備庫(kù)中已經(jīng)存在 其中 RELAY A 為線圈對(duì)象 而 RELAY B 為開(kāi)關(guān)對(duì)象 其圖形顯示如下圖所示 繼電器操作很簡(jiǎn)單 當(dāng)線圈兩端電壓低于 Von 時(shí) 繼電器處于 關(guān)閉 狀態(tài) 則其開(kāi) 關(guān)的公共端 管腳 3 與正常接通 Normally Connected NC 端 管腳 4 相連 當(dāng)線圈兩端電壓 上升并超過(guò) Von 后 繼電器切換到 接通 狀態(tài) 其開(kāi)關(guān)的公共端 管腳 3 與正常斷開(kāi) Normally Open NO 端 管腳 5 相連 在線圈兩端電壓降到低于 Voff 之前 繼電器仍保持 接通 狀態(tài) 否則 繼電器切換回到 關(guān)閉 狀態(tài) 其開(kāi)關(guān)的公共端 管腳 3 與正常接通 Normally Connected NC 端 管腳 4 相連 因此 繼電器表現(xiàn)出磁滯現(xiàn)象 切換點(diǎn)電壓值相 比 on 比 off 要高 我們應(yīng)當(dāng)針對(duì)其等價(jià)電路的各個(gè)元素進(jìn)行建模 即實(shí)現(xiàn)與元素本身具有同樣的功能與 瞬時(shí)現(xiàn)象的電路 您可以在目錄 Samples Tutorials 下找到 AMODTUT DSN 這是本教程的 完全實(shí)現(xiàn)版本 6 2 設(shè)置測(cè)試用例設(shè)置測(cè)試用例 在開(kāi)始對(duì)繼電器建模之前 我們必須做的第一件事是設(shè)置一個(gè)測(cè)試環(huán)境 如下圖所示 測(cè)試環(huán)境包括一個(gè)繼電器線圈對(duì)象 來(lái)自 DEVICE 庫(kù)的 RELAY A 與一個(gè)繼電器開(kāi)關(guān)對(duì) 象 來(lái)自同一庫(kù)中的 RELAY B 線圈由一個(gè) Pwlin 信號(hào)發(fā)生器驅(qū)動(dòng) 而開(kāi)關(guān)連接到一個(gè) 10V 電池與兩個(gè)負(fù)載電阻 為了觀察繼電器的開(kāi)關(guān)動(dòng)作 將兩個(gè)電壓探針?lè)胖迷谄漭敵龆?并與 Pwlin 信號(hào)發(fā)生器一起加入到模擬圖表中 注意到 Pwlin 信號(hào)發(fā)生器的 V n 屬性值的 賦值集合 它可以產(chǎn)生一個(gè)簡(jiǎn)單的斜坡上升 保持 斜坡下降信號(hào) 這些值是隨意選取的 如果不滿(mǎn)足我們的需要 也可在以后進(jìn)行修改 6 3 線圈元素建模線圈元素建模 搭建測(cè)試環(huán)境后 我們現(xiàn)在可以開(kāi)始對(duì)繼電器的線圈進(jìn)行建模工作 在開(kāi)始之前 我 們必須首先為線圈元素創(chuàng)建一個(gè)子模塊 以便我們能放置其等價(jià)電路 可通過(guò)以下操作來(lái) 完成這項(xiàng)任務(wù) 先用鼠標(biāo)右鍵點(diǎn)擊線圈對(duì)象 然后在線圈對(duì)象上點(diǎn)擊鼠標(biāo)左鍵 這樣可調(diào) 出 Edit Component 對(duì)話框 在 Edit Component 對(duì)話框中 編輯元件元素名稱(chēng)為 RL1 A 置其值為 COIL 勾選附 加層次模塊 Attach hierarchy module 選項(xiàng) 之后點(diǎn)擊 OK 按鈕 ISIS 將為線圈對(duì)象創(chuàng)建一 個(gè)子模塊 當(dāng)設(shè)計(jì)方案生成網(wǎng)絡(luò)表之后 線圈對(duì)象將被替換為其子模塊上的內(nèi)容 而與線 圈管腳相連的任何連接將成為該子模塊上的相應(yīng)相似名稱(chēng)的接口端子 新模塊的名稱(chēng)將為 與線圈的 Reference 屬性值 RL1 A 這樣保證了它的唯一性 因?yàn)閺膩?lái)不會(huì)在同一設(shè)計(jì)中 出現(xiàn)兩個(gè)名為 RL1 A 的對(duì)象 類(lèi)似地 子模塊上的電路的名稱(chēng)將為 COIL 亦即為線圈對(duì) 象的 VALUE 屬性值 并可以為本設(shè)計(jì)中所有值為 COIL 且其附加層次模塊 Attach hierarchy module 選項(xiàng)被選中的那些對(duì)象所共用 為了查看與特定對(duì)象相關(guān)聯(lián)的子模塊 就象本電路中一樣 您必須放大進(jìn)入它 可以 通過(guò)將鼠標(biāo)指向該對(duì)象 然后按下 CTRL Z 放大 現(xiàn)在就嘗試吧 編輯窗口與概覽窗口 將被重畫(huà) 并顯示一個(gè)空白模塊 若要退出 則按 CTRL X 退出 這種方法太不通用了 一般而言 CTRL Z 為撤銷(xiāo)操作 而 CTRL X 為剪切操作 幸而 7 1 版本之后 軟件修改了 您可以通過(guò)右鍵菜單進(jìn)入 退出子模塊 陳斌文注 現(xiàn)在開(kāi)始處理我們的模型 進(jìn)入上面所描述的線圈子模塊 即其等價(jià)的電路圖 下圖 即為我們將用的線圈全部電路圖 上圖中所有對(duì)象均為 PROSPICE 基本元素 來(lái)自于 ASIMMDLS 庫(kù) 該庫(kù)可通過(guò)設(shè)備 庫(kù)選擇對(duì)話框進(jìn)行選擇 不要使用編輯菜單中的 Pick Device Symbol 菜單項(xiàng) 除非 DEVICE 庫(kù)中的器件被錯(cuò)誤放置時(shí) the Pick Device Symbol command on the Edit menu should not be used in case devices fromthe DEVICE library are picked by mistake 可通過(guò)選擇 Terminals 圖標(biāo)訪問(wèn)缺省終端 選擇 Script 圖標(biāo)時(shí)將放置 DEFINE 與注釋腳本 看來(lái)寫(xiě)這個(gè) SDK 的 2000 年確實(shí)離現(xiàn)在很遠(yuǎn)了 那時(shí)的軟件咋這么難用的呢 說(shuō)明書(shū) 繞口得很 操作也不直觀 幸虧現(xiàn)在的軟件好用了 這部分您能看明白就看 看不明白 也沒(méi)有關(guān)系 用用軟件習(xí)慣了就好了 陳斌文注 6 4 線圈電路概述線圈電路概述 線圈等價(jià)電路的目的在于取得線圈電壓 其 C1 與 C2 兩端之間的電壓 以及相應(yīng)的 Von 與 Voff 參數(shù) 根據(jù)線圈的 On 或 Off 狀態(tài)來(lái)產(chǎn)生一個(gè)正或負(fù)的門(mén)信號(hào)輸出 在其 GATE 與 GATE 端 模型的輸入端包括串聯(lián)的電感 L1 與電阻 R1 電感表示線圈的感應(yīng)系數(shù) 而電阻表示 線圈的阻抗 電感與電阻的值被設(shè)置為成對(duì)映射值 mapped values 一個(gè)映射值由簡(jiǎn)單的 屬性名稱(chēng)與成對(duì)的 符號(hào)組成 如 值 2 表示器件的值被設(shè)置為映射值的 2 倍 當(dāng) ISIS 在進(jìn)行仿真分析前 需將模型 的網(wǎng)絡(luò)表 即 MDF 文件 鏈接到設(shè)計(jì)網(wǎng)絡(luò)表 這時(shí) 它會(huì)將映射值 即及其之間的名稱(chēng) 用 相應(yīng)名稱(chēng)屬性的值進(jìn)行代替 這種代替是基于字面上直接進(jìn)行的 例如 如果 BETA 屬性 通過(guò)以下語(yǔ)句進(jìn)行賦值 BETA 10 20 則器件的映射值 2 將被替換為 10 20 2 字符串 直接用字符串 10 20 進(jìn)行替換 因?yàn)?ISIS 并不會(huì)試圖進(jìn)行映 射屬性的編譯解析 盡管該屬性被賦予了一個(gè)表達(dá)式 該賦值語(yǔ)句還是有用的 因?yàn)樗?的值與屬性賦值語(yǔ)句都將作為 PROSPICE 的表達(dá)式 在使用之前會(huì)自動(dòng)計(jì)算 但是 因?yàn)?PROSPICE 所使用的表達(dá)式計(jì)算器處理時(shí) 其乘法運(yùn)算的優(yōu)先級(jí)高于加法運(yùn)算 PROSPICE 將計(jì)算該表達(dá)式為 10 20 2 50 或許這不是您所期望的 如果您擔(dān)心會(huì)發(fā)生 這樣的錯(cuò)誤 您應(yīng)該聲明器件值為 2 這在展開(kāi)后成為 10 20 2 其運(yùn)算結(jié)果為正確的 30 2 60 映射屬性值可以通過(guò)以下兩種方式之一進(jìn)行賦值 作為父器件的一個(gè)屬性 或在等價(jià) 的電路圖中通過(guò)一個(gè) DEFINE 或 MAP ON 腳本 如果一個(gè)屬性同時(shí)實(shí)現(xiàn)這兩種方式的賦值 則其在父器件中的方式擁有最高的優(yōu)先級(jí) 這種優(yōu)先策略很重要 因?yàn)樗梢允沟糜脩?hù)能 修改那些缺省值 因此 在我們的模型中 我們通過(guò) DEFINE 腳本指定電感及串聯(lián)電阻的 值分別為 100mH 與 100 歐姆 然后 該模型的用戶(hù)可以指定其它值 其方法是在父器件的 屬性列表中添加一個(gè)賦值語(yǔ)句即可 模型的輸出端包括一個(gè)電壓控制開(kāi)關(guān) VSW2 兩個(gè)電池 GB1 與 GB2 以及一個(gè)串聯(lián)電 阻 R4 當(dāng)開(kāi)關(guān)斷開(kāi)時(shí) 輸出電壓為 2V 該值由 GB2 與 R4 確定 當(dāng)開(kāi)關(guān)接通時(shí) 輸出電 壓為 2V 由 GB1 確定 R4 作為 GB2 的小電流開(kāi)路支路 但不幸的是 若 PROSPICE 的 VSWITCH 模型的輸出阻抗在不低于 Von 時(shí)為 Ron 而 不高于 Voff 時(shí)為 Roff 則在這些線性電壓之間它是線性的 因此我們不能使用 VSW2 作 為磁滯現(xiàn)象的直接模型 當(dāng)然我們也不能自己去做這件事 這是由 R2 與 VSW1 并聯(lián)后與 R3 組成的分壓電路的任務(wù) R1 與 R2 的值被置為原來(lái)的 1 10 且不能使電感與電阻過(guò)載 基于后一種原因 R2 與 R3 均基于 R1 進(jìn)行參數(shù)化 成比例 設(shè)置 開(kāi)關(guān)的接通電壓 通過(guò) VON 屬性指定 設(shè)置為 0 1 因?yàn)檫@是當(dāng)輸入到線圈兩端 電壓為時(shí)通過(guò)分壓器后的輸出電壓 為使開(kāi)關(guān)能在其 接通 斷開(kāi) 狀態(tài)之間 干凈 地切換 其關(guān)斷電壓 通過(guò) VOFF 屬性指定 也設(shè)置為同樣的值 現(xiàn)在 我們必須確定 VSW1 的接通阻抗 因?yàn)橐坏┚€圈接通后 即 VSW1 與 VSW2 都 接通 分壓器上半部分的阻抗即為所求 假定線圈兩端電壓為線圈的值 則分壓 器的輸出為 0 1 開(kāi)關(guān)的斷開(kāi)電壓由 VOFF 屬性值設(shè)置 當(dāng)然 用下圖來(lái)解釋效果會(huì) 更好一些 應(yīng)用歐姆定律 或分壓原理 由上圖可知 其中與都是映射參數(shù) R2 與 R3 分別為 9 與 為線圈 映射阻抗 指定為 R1 的值 且 Ron 為我們所要求的 VSW1 的未知值 如果您進(jìn)行代數(shù)計(jì) 算 可求得 Ron 為 這也是賦給 VSW1 的 RON 屬性的表達(dá)式形式的值 等價(jià)電路通過(guò)與其父器件管腳同名的端口建立與父器件的連接關(guān)系 本例中為 C1 與 C2 因?yàn)楦钙骷械墓苣_為無(wú)源類(lèi)型 我們可以使用缺省端口 對(duì)于其它類(lèi)型的管腳 您 應(yīng)該使用相應(yīng)類(lèi)型的端口 在對(duì)一個(gè)設(shè)計(jì)生成網(wǎng)絡(luò)表時(shí) 如果 ISIS 發(fā)現(xiàn)某一個(gè)父器件的管 腳與其子模塊中的相應(yīng)端口不相匹配 如 我們忘記連接它們 或者我們連接了但卻設(shè)置 了一個(gè)不匹配的類(lèi)型 它就會(huì)報(bào)告一個(gè)警告 請(qǐng)注意 ISIS 對(duì)每個(gè)父器件的管腳僅檢查那些 至少有一個(gè)相似名稱(chēng)的端口 它不會(huì)報(bào)告其它那些名稱(chēng)不匹配的端口 如果您在子模塊中 有不止一個(gè)端口對(duì)象引用了父器件的同一個(gè)管腳 您應(yīng)特別注意 ISIS 不會(huì)處理其中的一 個(gè)或更多的終端名稱(chēng)錯(cuò)誤 因它只處理一個(gè) 您經(jīng)常會(huì)發(fā)現(xiàn) 你所要建模的元件或?qū)ο蟛⒉皇悄约核鶆?chuàng)建的 它的管腳名稱(chēng)還是 隱藏的 如本例中的繼電器線圈 現(xiàn)在問(wèn)題來(lái)了 您如何知道父器件的管腳名稱(chēng)呢 答案 是將鼠標(biāo)移動(dòng)到管腳末端 則在狀態(tài)欄中會(huì)顯示該管腳的相關(guān)信息 包括它的名稱(chēng) 數(shù)量 與電氣類(lèi)型等 為了與繼電器開(kāi)關(guān)的等價(jià)電路相連接 我們應(yīng)再次使用 Default 端口 但是這次 我們 將該端口的網(wǎng)絡(luò)名稱(chēng)設(shè)置成以星號(hào) 開(kāi)始 當(dāng) ISIS 創(chuàng)建仿真網(wǎng)絡(luò)表時(shí) 所有同一父部 件 本例中為 RL1 的不同子模塊中以星號(hào)開(kāi)始的類(lèi)似名稱(chēng)的網(wǎng)絡(luò)對(duì)象都將連接在一起 并 合并成為一個(gè)網(wǎng)絡(luò)對(duì)象 這種功能將為不同子模塊的對(duì)象之間的連接提供支持 尤其是在 對(duì)多元素器件進(jìn)行建模時(shí)有用 6 5 開(kāi)關(guān)部件建模開(kāi)關(guān)部件建模 完成線圈部件的建模工作后 開(kāi)關(guān)部件的等價(jià)電路相應(yīng)工作就顯得比較直觀了 其子 模塊如下圖所示 與處理繼電器線圈一樣 在我們編輯處理開(kāi)關(guān)的等價(jià)電路之前 我們應(yīng)先編輯 RELAY B 元件實(shí)例對(duì)象 設(shè)置其引用名稱(chēng)為 RL1 B 設(shè)置其值為 SWITCH 并選中其 Attach Hierarchy Module 復(fù)選框以創(chuàng)建其子模塊以便處理其等價(jià)電路 為進(jìn)入到等價(jià)電路 我們需要將鼠標(biāo)移動(dòng)到開(kāi)關(guān)對(duì)象上 按下 CTRL Z 之后就可以 按通常方式進(jìn)入到等價(jià)電路 該電路包括兩個(gè)電壓控制開(kāi)關(guān) VSW3 與 VSW4 兩個(gè)電容 C1 與 C2 以及 4 個(gè)二極管 D1 D4 所有器件都來(lái)自 ASIMMDLS 庫(kù) 它可通過(guò) Device Library Selector 對(duì)話框進(jìn)行選擇 同樣 當(dāng)錯(cuò)誤選擇 DEVICE 中的器件時(shí)不要使用 Edit 菜 單下的 Pick Device Symbol 子菜單項(xiàng) 選擇 Terminals 圖標(biāo)后 Default 端口才可用 最后 選中 Script 圖標(biāo)后可以放置 DEFINE 腳本 該腳本可以在 ISIS 中編輯 也可在外部文本編 輯器中進(jìn)行編輯 請(qǐng)參閱 ISIS 手冊(cè)中的 Placing ISPICEMODEL getspicemodel CHAR device IDSIMMODEL getdsimmodel CHAR device VOID plot ACTIVESTATE state VOID animate INT element ACTIVEDATA newstate BOOL actuate WORD key INT x INT y DWORD flags private ICOMPONENT component POINT textorg HTEXTSTYLE textstyle CHAR readout 10 您將會(huì)發(fā)現(xiàn) 類(lèi) READOUT 派生于 并實(shí)現(xiàn) 接口 IACTIVEMODEL 請(qǐng)?zhí)貏e注意 IACTIVEMODEL 是一個(gè)抽象類(lèi) 因此類(lèi) READOUT 必須實(shí)現(xiàn)其所有函 數(shù) 即使這些函數(shù)什么都不做 有關(guān)如何獲得一個(gè)由 READOUT KEY 所定義的產(chǎn)品 ID 的說(shuō)明信息 請(qǐng)參閱 Licencing Interface 一節(jié) 9 7 創(chuàng)建模型及許可創(chuàng)建模型及許可 在每一個(gè) VSM DLL 中均要求包括以下代碼 它用于 ISIS 與 PROSPICE 完成圖形與電 氣模型的創(chuàng)建工作 extern C IACTIVEMODEL export createactivemodel CHAR device ILICENCESERVER ils Exported constructor for active component models if ils authorize READOUT KEY return new READOUT else return NULL extern C VOID export deleteactivemodel IACTIVEMO

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論