摘 要:Proteus動態(tài)仿真性能依賴于動態(tài)仿真模型。但有些實用的動態(tài)元器件,庫中沒有相應(yīng)的仿真模型,必須自己創(chuàng)建。通過創(chuàng)建撥碼盤動態(tài)仿真模型,論述在Proteus中創(chuàng)建單片機(jī)交互式動態(tài)器件仿真模型的技術(shù)。撥碼盤仿真運行狀態(tài)與實際元器件表現(xiàn)一致,驗證了所建模型的正確性。展示了Proteus 動態(tài)模型在單片機(jī)應(yīng)用系統(tǒng)的實時交互式仿真中的作用。
關(guān)鍵詞:Proteus;動態(tài)仿真模型;建模;單片機(jī)
中圖分類號:TP368.1文獻(xiàn)標(biāo)識碼:A
文章編號:1004-373X(2009)12-152-04
Technology ofDynamic Simulation Model for Proteus
ZHOU Lingbin,ZHANG Jingwu
(Shaoxing TOP Vocational Institute of Information and Technology,Shaoxing,312000,China)
Abstract:Dynamic simulation performance of Proteus depends on the dynamic simulation model.Creating dynamic simulation model for some practical dynamic components where has no corresponding simulation model in the library,modeling techniques of dynamic and interactive components simulation model in the environment of Proteus by the example of creating code wheel model are discussed.Its simulation states are in conformity with the actual performance,which verified the model is correct.It shows the effect of dynamic model in real-time interactive simulation of single chip computer application system.
Keywords:Proteus;dynamic simulation model;modeling;single chip computer
0 引 言
Proteus是英國Labcenter electronics公司研發(fā)的EDA。其不僅是模擬電路、數(shù)字電路、模/數(shù)混合電路的設(shè)計與仿真平臺;更是目前世界上最先進(jìn)、最完整的多種型號單片機(jī)(微控制器)應(yīng)用系統(tǒng)的設(shè)計與仿真平臺。Proteus擁有類型多、數(shù)量大的元器件仿真模型;它們是Proteus設(shè)計與實現(xiàn)實時、交互、動態(tài)仿真的基礎(chǔ)[1-6]。一般可將仿真模型分為:原理圖模型、動態(tài)模型、SPICE模型、VSM模型。
動態(tài)模型是具有動畫效果的真實器件的仿真模型。如LED發(fā)光管、按鍵開關(guān)等。是Proteus的特色。但有些動態(tài)模型在庫中沒有,這就要求自己創(chuàng)建動態(tài)模型。
在此以“BCD撥碼盤”為例詳細(xì)敘述動態(tài)器件仿真模型的制作技術(shù)(這里采用Proteus 7.2SP6正版)。
1 Proteus建模流程
創(chuàng)建不同類型的元器件仿真模型,其流程大致一樣。如圖1所示。
圖1 建模流程
若無需設(shè)計元器件封裝,則跳過與設(shè)計封裝有關(guān)的步驟;若無需設(shè)計模型內(nèi)電路,則可跳過與內(nèi)電路設(shè)計有關(guān)的步驟。
2 創(chuàng)建BCD撥碼盤模型
BCD撥碼盤[1]是將10進(jìn)制數(shù)轉(zhuǎn)換為BCD碼的鍵控器件,可與單片機(jī)直接連接,提供簡便的0~9的數(shù)據(jù)輸入功能,是實際應(yīng)用較廣的電子器件。
2.1 繪制撥碼盤動態(tài)圖符
在Proteus ISIS中選擇2D繪圖工具,繪制10個表示動態(tài)效果的圖符如圖2所示。依次選中,通過菜單Library→Make Symbol 進(jìn)入圖3所示的制作符號對話框,選擇符號類型(Type)為圖形(Graphic),逐個取名(BOPAN_0,BOPAN_2,…,BOPAN_9)存入用戶符號庫(USERSYM)中。
圖2 撥碼盤動態(tài)圖符
圖3 圖符入庫
2.2 繪制撥碼盤原理圖符號
在ISIS中選擇2D繪圖工具,繪制如圖4所示的撥碼盤原理圖符號。其中有兩個與鼠標(biāo)關(guān)聯(lián)的圖符MKRINCREMENT,MKRDECREMENT,可從系統(tǒng)仿真模型中取得。放置引腳后,雙擊引腳彈出如圖5所示的引腳編輯框(Edit Pin),按表1設(shè)置引腳屬性。
圖4 撥碼盤原理圖符號
表1 撥碼盤引腳屬性
引腳名稱引腳序號電氣類型
Q01OP
Q12OP
Q23OP
Q34OP
A5IP
圖5 撥碼盤引腳編輯
2.3 撥碼盤Make Device
選中整個撥碼盤原理圖符號,右擊彈出菜單,選擇“Make Device”,彈出對話框“Device Properties”,如圖6所示,并按該圖6所示設(shè)置相應(yīng)屬性。撥碼盤名稱命名為BOPAN;前綴為BP;動態(tài)圖符名主干為BOPAN,動態(tài)圖符數(shù)目為10。按NEXT鍵直到出現(xiàn)“定義元器件所在庫(Indexing and Library Selection)”,選擇元器件分類、子類及存放庫,如圖7所示設(shè)置分類為“Switches & Relays”,子類為“Switches”,存放庫為“USERDVC”。按“OK”鍵完成“Make Device”。此時新的元器件模型原理圖符號就存入指定的庫。同時在對象列表框中出現(xiàn)“BOPAN”。
圖6 “Device Properties”設(shè)置
2.4 設(shè)計模型內(nèi)電路
經(jīng)以上步驟創(chuàng)建的撥碼盤模型只是原理圖符號,還沒有仿真功能。還需建立它的內(nèi)電路。將對象列表框中的“BOPAN”放入編輯區(qū)中。其編號自動為BP1,對BP1右擊再左擊,在出現(xiàn)的屬性框(見圖8)中選中捆綁內(nèi)電路(Attach Hierarchy Module)選項。此時系統(tǒng)自動新建撥碼盤的內(nèi)電路子頁。操作菜單Design→ Goto Sheet,出現(xiàn)如圖9所示的樹型結(jié)構(gòu)圖,“Root sheet1”為根頁(即元器件原理圖符號所在頁), “BP1”為原理圖符號內(nèi)電路子頁。點擊圖9中“BP1”,再點擊“OK”進(jìn)入內(nèi)電路子頁(也可直接按計算機(jī)鍵盤上“PgDn”進(jìn)入)。并在內(nèi)電路子頁中設(shè)計如圖10所示的內(nèi)電路。設(shè)計操作與根頁中設(shè)計電路一樣。
圖7 設(shè)置元器件所在的庫
內(nèi)電路中的元器件是VSWITCH,RTDSTATE_4,NOT,TRIBUFFER。其中RTDSTATE_4的屬性設(shè)置為{STATE=
圖8 捆綁內(nèi)電路
圖9 進(jìn)入內(nèi)電路子頁
2.5 模型測試
模型內(nèi)電路設(shè)計好后,要進(jìn)行模型測試驗證。按計算機(jī)鍵盤上“PgUp”鍵返回根頁,在根頁中設(shè)計如圖11所示的兩個測試電路。電路元器件列于對象選擇器中。
圖10 撥碼盤內(nèi)電路
圖11 撥碼盤分別主國正邏輯狀態(tài)和負(fù)邏輯狀態(tài)時的測試與仿真片段
圖11中左為撥碼盤工作在正邏輯狀態(tài)的電路;圖11中右為撥碼盤工作在負(fù)邏輯狀態(tài)的電路。設(shè)計如圖11左下方的控制程序(兩單片機(jī)采用程序相同)。經(jīng)編譯生成Hex文件,分別加載到兩單片機(jī)屬性中,并設(shè)置合適的晶振頻率[1,2](例12 MHz)。啟動仿真,兩電路與控制程序配合,兩AT89C51單片機(jī)分別讀入各自撥碼盤的數(shù)據(jù),并顯示在各自的BCD數(shù)碼管上。可用鼠標(biāo)單擊(增1)或(減1)改變撥碼盤的數(shù)字輸出。左撥碼盤輸出數(shù)字0~9,經(jīng)單片機(jī)處理后送數(shù)碼管對應(yīng)顯示0~9。右撥碼盤輸出數(shù)字0~9,經(jīng)單片機(jī)處理后送數(shù)碼管對應(yīng)顯示出0~9的反碼F、E~6。圖11為仿真片段(右側(cè)圖中E是1的反碼),這就是人通過撥碼盤與單片機(jī)的交互式仿真。由此也驗證了所建撥碼盤模型是正確的。
2.6 模型存庫
點擊計算機(jī)鍵盤上“PgDn”進(jìn)入內(nèi)電路子頁。操作菜單Tools→Model Compiler…,彈出“Compile Model”對話框,選擇存儲模型文件的路徑(本例為默認(rèn)路徑,即Proteus安裝路徑下MODELS文件夾),在文件名一欄中輸入內(nèi)電路模型文件名(本例取名為“BOPAN.MDF”),點擊保存。該模型文件就保存在默認(rèn)的模型文件夾中。按計算機(jī)鍵盤上“PgUp”鍵返回根頁,選中一撥碼盤模型,取消其內(nèi)電路捆挷選項,再次啟動“Make Device”,按圖1的步驟進(jìn)行到第三步“元器件屬性及定義(Component Properties & Definitions)”,點擊對話框左下角的“NEW”按鈕,從彈出菜單中選擇MODFILE,按圖12進(jìn)行設(shè)置。設(shè)置后,第二次點擊“NEW”按鈕,選擇STATE,其屬性保持默認(rèn)狀態(tài)。以后的步驟按上面第2.3節(jié)操作。至此撥碼盤的仿真模型創(chuàng)建完成。
圖12 Make Device時設(shè)置元器件屬性
3 創(chuàng)建動態(tài)仿真模型的調(diào)用
啟動Proteus,在ISIS窗口中,點擊器件選擇按鈕“P”,彈出選取元器件對話框,在其左上方的“Keywords”欄中輸入模型名“BOPAN”則可選出創(chuàng)建的BCD撥碼盤仿真模型,如圖13所示。從該圖還可看出動態(tài)模型所在庫為USERDVC。
圖13 動態(tài)仿真模型的調(diào)用
4 結(jié) 語
動態(tài)元器件仿真模型是Proteus的特色。Proteus在創(chuàng)建動態(tài)模型方面給予用戶廣闊的創(chuàng)作與發(fā)揮空間;展現(xiàn)出Proteus在動態(tài)仿真方面的無限魅力。它不但使人機(jī)交互式仿真得以實現(xiàn),而且使仿真形象、生動。應(yīng)用它可創(chuàng)造出極為接近現(xiàn)實的課程教學(xué)與產(chǎn)品研發(fā)的情境。
參考文獻(xiàn)
[1]張靖武,周靈彬.單片機(jī)系統(tǒng)的Proteus設(shè)計與仿真[M].北京:電子工業(yè)出版社,2007.
[2]張靖武,周靈彬.單片機(jī)原理、應(yīng)用與Proteus仿真[M].北京:電子工業(yè)出版社,2008.
[3]周靈彬,張靖武.創(chuàng)建Proteus原理圖仿真模型的制作技術(shù)[J].現(xiàn)代電子技術(shù),2008,31(8):9-11.
[4]周靈彬,張靖武.單片機(jī)應(yīng)用產(chǎn)品的Proteus設(shè)計與仿真[J].今日電子,2008(1):64-68.
[5]周靈彬,張靖武.Proteus的單片機(jī)教學(xué)與應(yīng)用仿真 [J].單片機(jī)與嵌入式系統(tǒng),2008(1):76-79.
[6]深圳風(fēng)標(biāo)科技有限公司.Proteus在電類教學(xué)與科研中的應(yīng)用[A].北京研討會??痆C].2006.
[7]寧成軍,張江霞.基于Proteus和Keil接口的單片機(jī)外圍硬件電路仿真[J].現(xiàn)代電子技術(shù),2006,29(18):142-143,146.