《電子技術(shù)應用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動態(tài) > 用Protel99SE實現(xiàn)脈沖電路的仿真

用Protel99SE實現(xiàn)脈沖電路的仿真

2008-10-06
作者:趙柏樹

  摘? 要: 針對Protel99SE的數(shù)字電路模型" title="電路模型">電路模型不適用于脈沖電路" title="脈沖電路">脈沖電路仿真的缺陷,通過實例論述了用創(chuàng)建子電路模型和創(chuàng)建層次式模塊電路來實現(xiàn)脈沖電路的仿真測試。

  關(guān)鍵詞: 電子設計自動化? Protel99SE? 仿真? 子電路? 層次式電路

?

  Protel設計系統(tǒng)作為電子設計自動化(EDA)軟件中的佼佼者,一直受到廣泛的歡迎。Protel99SE是Protel公司2000年推出的最新版本,內(nèi)部集成了功能強大的模數(shù)混合仿真器,采用Spice仿真內(nèi)核,含有豐富的器件模型庫,能快速簡便地實現(xiàn)大部分模擬電路和數(shù)字電路" title="數(shù)字電路">數(shù)字電路的仿真[1~2]。且仿真結(jié)果十分精確,提高了電路設計的效率和效益。由于Protel99SE的數(shù)字電路(門電路" title="門電路">門電路)模型沒有采用Spice模型,而是采用類C語言(Digital Sim code)編寫,它只注意到電路的輸入與輸出邏輯電平值,而對門電路的輸入輸出阻抗考慮不夠,從而導致這些模型不適用于輸入、輸出電流較大的數(shù)字電路的仿真。在脈沖電路中,由門電路構(gòu)成的對稱式多諧振蕩器和微分型單穩(wěn)態(tài)觸發(fā)器等電路的輸入、輸出電流都較大,如果直接調(diào)用仿真庫內(nèi)的器件設計這些電路并進行仿真,結(jié)果將是失敗的。然而,Protel99SE提供了開放的仿真器件庫維護環(huán)境,用戶可創(chuàng)建新器件模型,它還支持層次式電路的設計與仿真。基于這兩點,筆者探索出兩種適合于脈沖電路的仿真方法,其結(jié)果是令人滿意的。

1 創(chuàng)建門電路的子電路模型

  直接調(diào)用仿真庫內(nèi)的器件導致仿真失敗的原因是Protel99SE仿真庫內(nèi)的模型不能完整和全面地描述電路的性能。為此,有必要為門電路建立符合要求的子電路模型。下面以TTL電路中的四二輸入與非門T1000為例,介紹子電路模型的建立步驟和方法。

  第一步,按圖1畫出門電路的內(nèi)部結(jié)構(gòu)。根據(jù)所選器件的有關(guān)參數(shù)(如門電路的延遲時間、功耗等)選取三極管及電阻等元件,畫出子電路圖。其中多發(fā)射極三極管用兩個三極管Q1和Q2并聯(lián)代替,RX是為了避免電氣規(guī)則檢查(ERC)出錯而設置的,若短路RX,則在進行電氣規(guī)則檢查時會報告出錯信息,但并不影響仿真。

  第二步,在電路中標出有關(guān)節(jié)點。如圖1中的a、b、c、d、e五個節(jié)點。

?

  第三步,創(chuàng)建器件電路符號并完成相關(guān)工作。Protel 99 SE仿真器件的電路符號、參數(shù)、管腳等信息存放在Design Explorer99SELibrarySchSim.ddb仿真元器件庫中。Protel99SE的仿真器將在此讀取器件的有關(guān)信息。需要做的工作有如下幾項:

  (1)創(chuàng)建仿真元件庫文件。打開數(shù)據(jù)庫文件Design Explorer 99 SELibrarySchSim.ddb,創(chuàng)建新文件T1000.Lib。

  (2)畫元器件符號并為器件命名。打開文件T1000.Lib,進入元器件符號編輯界面,單擊右鍵,用Tools—Rename Component將器件命名為T1000。畫出T1000的電路符號,并編排好引腳,用Tools—New Part創(chuàng)建四個子件1/4、2/4、3/4、4/4。各個子件的引腳排列與74LS00相同,即在一個封裝內(nèi)集成四個與非門,如圖2所示。

?

?

  (3)在Browse schlib頁面,單擊Description按鈕,并切換到Designator頁面,在Default區(qū)域中填人放置器件的缺省名稱“U?”,在Designator域中填入TTLGATE,在Foot Print 1域中填入Dip14。再切換到Library Fields頁,為Text Field 1—Text Field 5各個區(qū)域填寫如下相應內(nèi)容:

  Text Field 1:Type=SUBCKT(X); 此域定義T1000為子電路。

  Text Field 2:model=T1000;??? 此域?qū)⒋俗与娐返哪P兔x為T1000。

  Text Field 3:file={model_path}TTLGATET1000.ckt;此域指出模型文件存放的路徑及文件名。

  Text Field 4:pins=1:[1,2,3,14,7]2:[4,5,6,14,7]3:[10,9,8,14,7]4:[13,12,11,14,7];此域定義各子件的管腳分配及管腳排列順序。引腳排列順序必須與模型文件中子電路定義語句所定義的節(jié)點排列順序相對應。

  Text Field 5:netlist = %D%1%2%3%4%5%M;此域包含Spice網(wǎng)絡表的網(wǎng)絡數(shù)據(jù)。其含義可參見參考文獻[4]~[5];該頁的其余區(qū)域可不填。Part Field Name項不用設置。

  第四步,創(chuàng)建器件模型文件。

  Protel 99SE的模型文件存放在Design Explorer 99 SELibrarySimSimulation? Model.ddb仿真文件夾中。首先在此數(shù)據(jù)庫中創(chuàng)建文件夾TTLGATE,再創(chuàng)建文件T1000.ckt。Spice語言規(guī)定子電路的擴展名為ckt。根據(jù)圖1按Spice模型文件規(guī)范編寫此文件是一件較煩瑣的事情,未能體現(xiàn)Protel的優(yōu)點。下面介紹一種簡便方法:將圖1中的節(jié)點e的標號“e”去掉,并在此節(jié)點上放置接地符號(0),單擊Simulate/Create Spice Netlist按鈕,系統(tǒng)會自動生成Spice網(wǎng)表文件T1000.nsx。將文件中的注釋行和命令行刪除,將節(jié)點0改為節(jié)點e,在文件的最前面添加一行子電路命令語句:.SUBCKT T1000 a b c d e,將文件的最后一句由.END改為.ENDS T1000(子電路結(jié)束語句),最后將此文件內(nèi)容復制到新建的子電路模型文件T1000.ckt之中。得到的新器件的模型文件如下所示:

?

  

?

????修改后的模型文件需重新啟動一次系統(tǒng)才能生效。

  通過以上幾步即建立了可用于仿真的新器件T1000(T1000系列四二輸入與非門),用同樣的方法可創(chuàng)建其它門電路及其仿真模型。

2 用新建的器件模型仿真調(diào)試對稱式多諧振蕩器

  由與非門構(gòu)成的對稱式多諧振蕩器如圖3所示,圖中的與非門T1000就是新建的器件。電路的繪制必須符合Protel99SE仿真電路圖的規(guī)范。

?

?

  在仿真設置對話框中選擇仿真類型(瞬態(tài)分析)并完成仿真步長(盡量小一些為好)及收集信號等設置,單擊RUN按鈕,得到仿真結(jié)果如圖4所示。由圖可測出振蕩周期約為98.768μs(啟動測量光標測量),與理論計算及硬件實驗結(jié)果相符,其它指標也與理論分析及硬件實驗結(jié)果相符。

?

?

  新建的電路模型不僅可用于脈沖電路的仿真與調(diào)試,它同樣適用于組合電路和時序電路的仿真與測試,比Protel99SE仿真庫中的門電路模型有更廣泛的適用性。當然,模型的精度對仿真的精度有較大的影響,要提高精度,則要對子電路進行測試并調(diào)整元件及參數(shù)使之滿足要求。

3 用層次式電路仿真" title="電路仿真">電路仿真脈沖電路

  Protel99SE具有創(chuàng)建層次式電路的功能,下面以微分型單穩(wěn)態(tài)電路為例介紹用層次式電路圖仿真脈沖電路的方法與步驟。

(1)按圖5、圖6、圖7創(chuàng)建層次式電路和次級電路,完成單穩(wěn)態(tài)電路的設計。在設計過程中,上層電路及下層電路的節(jié)點必須標出網(wǎng)絡標號,且網(wǎng)絡標號應與端口名稱相同;各次級電路的元件序號不能重復;各電路圖的圖號必須設置為不同的值(在Document options菜單中,選擇Organizition標簽頁進行設置),否則,進行電器規(guī)則檢查(ERC)時會報告錯誤,如沒有設置圖紙?zhí)枙r的錯誤報告為#1 Error Duplicate Sheet Numbers 0 *.sch And *.sch。當然,有些錯誤的存在并不影響仿真(如#1錯誤)。有關(guān)建立層次式電路的詳細介紹請參閱參考文獻[3]。

?

?

?

?

  (2)設置激勵源的屬性。激勵脈沖的幅度應符合TTL電平規(guī)范,AC和DC屬性及相應延遲可不設置;上升時間(Rise Time)、下降時間(Full Time)、延遲時間(Delay Time)必須設置為大于0的值,否則仿真失敗;激勵脈沖的周期必須根據(jù)電路輸出的脈沖寬度TW及電路的恢復時間Tre決定,其值必須大于電路的分辨時間。

  (3)設置好仿真類型(瞬態(tài)分析)、仿真步長和仿真時間等選項,并選取要觀察的信號。

  (4)單擊Simulate/Run按鈕,得仿真波形如圖8所示。

?

  由圖8可見,輸出脈寬為TW=7.0013μs(啟動測量光標測量),這與理論分析及硬件實驗結(jié)果相同。各點波形也與理論分析及硬件實驗的結(jié)果相同。

  層次式電路仿真脈沖電路的方法同樣適宜于其它電路的仿真。

  上述兩種方法各有優(yōu)缺點,用子電路模型仿真的方法適用于器件被重復多次調(diào)用的情況,有一勞永逸之感;缺點是建模較煩瑣。層次式電路仿真的方法的優(yōu)點是只需畫出電路圖而不需創(chuàng)建電路模型,其缺點是次級電路不能被重復使用,若要重復調(diào)用次級電路,則必須先將重復性層次式電路轉(zhuǎn)化為一般性層次式電路[6]。實驗表明,用上述兩種方法不僅能較好地實現(xiàn)脈沖電路的仿真,也能用于其它數(shù)字電路和數(shù)?;旌想娐返姆抡媾c調(diào)試,且仿真結(jié)果的誤差極小,能較好地指導電路設計和實驗。上述兩種方法也存在一點不足之處,那就是電路的傳輸延遲時間TPLH 較長。可仔細調(diào)整三極管等元件的參數(shù),從而減小延遲時間,使用時必須加以注意。

?

參考文獻

1 梁恩主. Protel99SE電路仿真.計算機自動測量與控制,2000;8(5):59~60

2 吳 霞,盧 颯.用Protel99實現(xiàn)電子電路仿真分析與設計.電子技術(shù),2001(11):60~62

3 梁恩主, 梁恩維. Protel99SE電路設計與仿真應用.北京:清華大學出版社,2000:311~322.

4 孫全意,丁立波,張 合.三種電路仿真軟件比較及器件模型加入方法. 半導體技術(shù),2001(6):42~45

5 程 涵.如何修改Protel99SE仿真庫及仿真模型. 計算機輔助設計與制造,2001;10:42~45.

6 清源計算機工作室. Protel99SE電路設計與仿真. 北京:機械工業(yè)出版社,2001:82~83

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。