用Protel99SE實現脈衝電路的模擬

admin @ 2014-03-26 , reply:0

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

1 創建門電路的子電路模型
    直接調用模擬庫內的器件導致模擬失敗的原因是Protel99SE模擬庫內的模型不能完整和全面地描述電路的性能。為此,有必要為門電路建立符合要求的子電路模型。下面以TTL電路中的四二輸入與非門T1000為例,介紹子電路模型的建立步驟和方法。
    第一步,按圖1畫出門電路的內部結構。根據所選器件的有關參數(如門電路的延遲時間、功耗等)選取三極體及電阻等元件,畫面子電路圖。其中多發射極三極體用兩個三極體Q1和Q2並聯代替,Rx是為了避免電氣規則檢查(ERC)出錯而設置的,若短路Rx,則在進行電氣規則檢查時會報告出錯信息,但並不影響模擬。
 
    第二步,在電路中標出有關節點。如圖1中的a、b、c、d、e五個節點。
    第三步,創建器件電路符號並完成相關工作。Protel 99 SE模擬器件的電路符號、參數、管腳等信息存放在Design Explorer99SE.ddb模擬元器件庫中。Protel99SE的模擬器將在此讀取器件的有關信息。需要做的工作有如下幾項:
(1)創建模擬元件庫文件。打開資料庫文件Design Explorer 99 SE.ddb,創建新文件T1000.Lib。
(2)畫元器件符合併為器件命名。打開文件T1000.Lib,進入元器件符號編輯界面,單擊右鍵,用Tools-Rename Component將器件命名為T1000。畫面T1000的電路符號,並編排好引腳,用Tools-New Part創建四個子件1/4、2/4、3/4、4/4。各個子件的引腳排列與74LS00相同,即在一個封裝內集成四個與非門,如圖2所示。
 
(3)在Browse schlib頁面,單擊Description按鈕,並切換到Designator頁面,在Default區域中填入放置器件的預設名稱"U?",在Designator域中填入TTLGATE,在Foot Print 1域中填入Dip14。再切換到Library Fields頁,為Text Field 1-Text Field 5各個區域填寫如下相應內容:
Text Field 1:Type=SUBCKT(X);此域定義T1000為子電路。
Text Field 2:model=T1000;此域將此子電路的模型名定義為T1000。
Text Field 3:file={model_path}.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];此域定義各子件的管腳分配及管腳排列順序。引腳排列順序必須與模型文件中子電路定義語句所定義的節點排列順序相對應。
Text Field 5:netlist=%D%1%2%3%4%5%M;此域包含Spice網路表的網路數據。其含義可參見參考文獻[4]~[5];該頁的其餘區域可不填。Part Field Name項不用設置。
    第四步,創建器件模型文件。
    Protel 99SE的模型文件存放在Design Explorer 99 SEModel.ddb模擬文件中。首先在此資料庫中創建文件夾TTLGATE,再創建文件T1000.ckt。Spice語言規定子電路的擴展名為ckt。根據圖1按Spice模型文件規範編寫此文件是一種較煩瑣的事情,未能體現Protel的優點。下面介紹一種簡便方法:將圖1中的節點e的標號"e"去掉,並在此節點上放置接地符號(0),單擊Simulate/Create Spice Netlist按鈕,系統會自動生成Spice網表文件T1000.nsx。將文件中的註釋行和命令行刪除,將節點0改為節點e,在文件的最前面添加一行子電路命令語句:.SUBCKT T1000 a b c d e,將文件的最後一句由.END改為.ENDS T1000(子電路結束語句),最後將此文件內容複製到新建的子電路模型文件T1000.ckt之中。得到的新器件的模型文件如下所示:
 
    修改後的模型文件需重新啟動一次系統才能生效。
    通過以上幾步即建立了可用於模擬的新器件T1000(T1000系列四二輸入與非門),用同樣的方法可創建其它門電路及其模擬模型。

2 用新建的器件模型模擬調試對稱式多諧振蕩器
    由與非門構成的對稱式多諧振蕩器如圖3所示。圖中的與非門T1000就是新建的器件。電路的繪製必須符合Protel99SE模擬電路圖的規範。
  
    在模擬設置對話框中選擇模擬類型(瞬態分析)並完成模擬步長(盡量小一些為好)及收集信號等設置,單擊RUN按鈕,得到模擬結果如圖4所示。由圖可測出振蕩周期約為98.768μs(啟動測量游標測量),與理論計算及硬體實驗結果相符,其它指標也與理論分析及硬體實驗結果相符。
  
    新建的電路模型不僅可用於脈衝電路的模擬與調試,它同樣適用於組合電路和時序電路的模擬與測試,比Protel99SE模擬庫中的門電路模型有更廣泛的適用性。當然,模型的精度對仿具的精度有較大的影響,要提高精度,則要對子電路進行測試並調整元件及參數使之滿足要求。




[admin via 研發互助社區 ] 用Protel99SE實現脈衝電路的模擬已經有7449次圍觀

http://cocdig.com/docs/show-post-44187.html