第一篇:網絡仿真軟件調研
網絡仿真也被稱為網絡模擬,因為對各種網絡仿真過程來說,其中也有 “模擬”的含義,即,網絡仿真既可以取代真實的應用環境得出可靠的運行結果和數據,也可以模仿一個系統過程中的某些行為和特征。顧名思義,網絡模擬,就是用計算機程序對通信網絡進行模型化,通過程序的運行模仿通信網絡的運行過程。那么,為什么要進行通信網絡的仿真呢?
在網絡迅速膨脹的今天,網絡研究人員一方面要不斷思考新的網絡協議和算法,為網絡發展做前瞻性的基礎研究;另一方面也要研究如何利用和整合現有的資源,使網絡達到最高效能。無論是哪一方面都需要對新的網絡方案進行驗證和分析。進行網絡技術的研究一般有以下3種手段:
(1)分析方法,就是對所研究的對象和所依存的網絡系統進行初步分析,根據一定的限定條件和合理假設,對研究對象和系統進行描述,抽象出研究對象的數學分析模型,利用數學分析模型對問題進行求解
(2)實驗方法,就是設計出研究所需要的合理硬件和軟件配置環境,建立測試床和實驗室,在現實的網絡上實現對網絡協議、網絡行為和網絡性能的研究。
(3)仿真方法,應用網絡仿真軟件建立所研究的網絡系統的模擬模型,在計算機上運行這個模型,并分析運行的輸出結果。
然而,前兩種方法都存在很大的局限性。分析方法的有效性和精確性受假設限制很大。當一個系統很復雜時,就無法用一些限制性假設來對系統進行詳細描述。實驗方法的局限性在于成本很高,重新配置或共享資源很難,運用起來不靈活。而仿真方法在很大程度上可以彌補前兩種方法的不足。仿真方法可以根據需要設計所需的網絡模型,用相對較少的時間和費用了解網絡在不同條件下的各種特性,獲取網絡研究的豐富有效的數據。網絡仿真無疑提供了一個方便、高效的驗證和分析方法,因此網絡仿真技術在現代通信網絡設計和研究中的作用正變得越來越大。
對幾款主流網絡仿真軟件的評價
當前有許多優秀的網絡仿真軟件,其中有 Opnet、NS2、Matlab等,這為網絡研究人員提供了很好的網絡仿真平臺。主流的網絡仿真軟件都采用了離散事件模擬技術,并提供了豐富的網絡仿真模型庫和高級語言編程接口,這無疑提高了仿真軟件的靈活性和使用方便性。下面將對各種主流的網絡仿真軟件進行簡要評價。
OPNET Modeler
OPNET Modeler是OPNET Technology公司的四個系列網絡仿真軟件產品的其中之一,它主要面向的用戶為網絡設計專業人士,能夠滿足大型復雜網絡的仿真需要。OPNET Modeler有如下特點:
(1)提供三層建模機制,最底層為Process模型,以狀態機來描述協議;其次為Node模型,由相應的協議模型構成,反映設備特性;最上層為網絡模型。三層模型和實際的網絡、設備、協議層次完全對應,全面反映了網絡的相關特性;
(2)提供了一個比較齊全的的基本模型庫,包括:路由器、交換機、服務器、客戶機、ATM設備、DSL設備、ISDN設備等等。同時,OPNET Technology公司會對不同的企業用戶提供附加的專用模型庫,但需另外付費;
(3)采用離散事件驅動的模擬機理(discrete event driven),與時間驅動相比,計算效率得到很大提高。
(4)采用混合建模機制,把基于包的分析方法和基于統計的數學建模方法結合起來,既可得到非常細節的模擬結果,又大大提高了仿真效率。
(5)OPNET具有豐富的統計量收集和分析功能。它可以直接收集常用的各個網絡層次的性能統計參數,能夠方便地編制和輸出仿真報告。
(6)提供了和網管系統、流量監測系統的接口,能夠方便的利用現有的拓撲和流量數據建立仿真模型,同時還可對仿真結果進行驗證。
NS
2NS2(Network Simulator, version 2)是一種面向對象的網絡仿真器,本質上是一個離散事件模擬器。NS2由UC Berkeley開發而成。它本身有一個虛擬時鐘,所有的仿真都由離散事件驅動的。目前NS2可以用于仿真各種不同的IP網,已經實現的一些仿真有:網絡傳輸協議,比如TCP和UDP;業務源流量產生器,比如FTP、Telnet、Web CBR和VBR;路由隊列管理機制,比如Droptai、RED和CBQ;路由算法,比如Dijkstra等。NS2也為進行局域網的仿真而實現了多播以及一些MAC子層協議。
NS2使用C++和Otcl作為開發語言。NS可以說是Otcl的腳本解釋器,它包含仿真事件調度器、網絡組件對象庫以及網絡構建模型庫等。事件調度器計算仿真時間,并且激活事件隊列中的當前事件,執行一些相關的事件,網絡組件通過傳遞分組來相互通信,但這并不耗費仿真時間。所有需要花費仿真時間來處理分組的網絡組件都必須要使用事件調度器。它先為這個分組發出一個事件,然后等待這個事件被調度回來之后,才能做下一步的處理工作。事件調度器的另一個用處就是計時。NS是用Otcl和C++編寫的。由于效率的原因,NS將數據通道和控制通道的實現相分離。為了減少分組和事件的處理時間,事件調度器和數據通道上的基本網絡組件對象都使用C++寫出并編譯的,這些對象通過映射對Otcl解釋器可見。
當仿真完成以后,NS將會產生一個或多個基于文本的跟蹤文件。只要在Tcl腳本中加入一些簡單的語句,這些文件中就會包含詳細的跟蹤信息。這些數據可以用于下一步的分析處理,也可以使用NAM將整個仿真過程展示出來。Matlab
MATLAB軟件是由美國Mathworks公司推出的用于數值計算和圖形處理的科學計算系統環境。MATLAB是英文MATrix LABoratory(矩陣實驗室)的縮寫。MATLAB環境下,用戶集成了程序設計、數值計算、圖形繪制、輸入輸出、文件管理等各項功能。MATLAB提供了一個人機交互的數學系統環境,該系統的基本數據結構是矩陣,在生成矩陳對象時,不要求作明確的維數說明。與利用C
語言或FORTRAN 語言作數值計算的程序設計相比,利用MATLAB可以節省大量的編程時間。
MTALAB系統由五個主要部分組成:
(1)MATALB語言體系。MATLAB是高層次的矩陣/數組語言。具有條件控制、函數調用、數據結構、輸入輸出、面向對象等程序語言特性。利用它既可以進行小規模端程,完成算法設計和算法實驗的基本任務,也可以進行大規模編程,開發復雜的應用程序。
(2)MATLAB工作環境包括管理工作空間中的變量據輸入輸出的方式和方法,以及開發、調試、管理M文件的各種工具。
(3)圖形圖像系統。這是MATLAB圖形系統的基礎,包括完成2D和3D數據圖示、圖像處理、動畫生成、圖形顯示等功能的高層MATLAB命令,也包括用戶對圖形圖像等對象進行特征控制的低層MATLAB命令,以及開發GUI應用程序的各種工具。
(4)MATLAB數學函數庫。這是對MATLAB使用的各種數學算法的總稱。包括各種初等函數的算法,也包括矩陣運算、矩陣分析等高層次數學算法等。
(5)MATLAB應用程序接口。這是MATLAB為用戶提供的一個函數庫,使得用戶能夠在MATLAB環境中使用C程序或FORTRAN程序,包括從MATLAB中調用程序(如動態鏈接庫),讀寫MAT文件的功能。
由此可見,MATLAB是一個功能十分強大的系統,是集數值計算、圖形管理、程序開發為一體的環境。除此之外,MATLAB還具有很強的功能擴展能力,與它的主系統一起,可以配備各種各樣的工具箱,以完成一些特定的任務。CASSAP
CASSAP是美國Synopsys(新思科技)公司開發了一款仿真軟件,主要應用于數字信號處理和網絡通信領域,它可以在概念、體系結構、算法三個層次上實現
仿真。CASSAP采用了數據流驅動仿真器,它比基于時鐘周期的仿真器速度提高了8-16倍。CASSAP提供了1000多個高層模塊,并可對其中所需模塊自動生成行為級或RTL級VHDL,也可生成各種風格的DSP代碼,供DSP處理器作軟件實現。CASSAP可廣泛應用于需分析和評估算法、實現方式的數字傳輸系統,如通訊、圖像、多媒體等,并提供了針對GSM、CDMA、DECT等標準的專用開發平臺。
SPW
SPW仿真軟件是Cadence公司的產品,它提供了面向電子系統的模塊化設計、仿真及實施環境,是進行算法開發,濾波器設計,C代碼生成,硬 /軟件結構聯合設計和硬件綜合的理想環境。SPW的一個顯著特點是他提供了HDS接口和Matlab接口。Matlab里面的很多模型可以直接調入 SPW,然后利用HDS生成C語言仿真代碼或者是HDL語言仿真代碼。SPW通常可以應用于無線和有線載波通信、多媒體和網絡設計與分析等領域。
比較分析
通過對NS2和Opnet Modeler的操作和數據觀察結果的對比,我們可以從軟件功能和操作易用性兩個方面對這兩個軟件進行分析。
在軟件功能方面,Opnet Modeler做的比較完備,可以對分組的到達時間分布、分組長度分布,網絡節點類型和鏈路類型等進行很詳細的設置,而且可以通過不同廠家提供的網絡設備和應用場景來設計自己的仿真環境,用戶也可以方便的選擇庫中已有的網絡拓撲結構。而NS2在這方面的選擇不如Opnet Modeler豐富,只能根據實際仿真的環境通過腳本建立邏輯的網絡結構,而查看結果需要其他軟件的輔助。
在操作易用性方面,Opnet Modeler的優越性是毋庸置疑的,因為它可以使用比較少的操作就可以得到比較詳盡和真實的仿真結果。而NS2則要通過編寫腳本和C++代碼來實現網絡仿真,而且用這種方式建立復雜的網絡結果則變的非常困難。
當然,NS2是自由軟件,免費,這是與OPNET相比最大的優勢,而且,作為用戶,可以相對比較容易地對NS2進行功能擴展。
總結
本文通過對5款當前主流網絡仿真軟件的簡要分析,介紹了網絡仿真的概念和當前網絡仿真軟件的技術特點和應用范圍;并通過在NS2和Opnet Modeler對同一個網絡結構進行仿真的過程給讀者提供了網絡仿真過程的感性認識。網絡仿真提供了從設想到實現的橋梁,因此它是一個計算機網絡設計與分析過程中的一個重要環節。
第二篇:機電仿真軟件介紹
天度機電仿真軟件
一、學習模式:
1、課件內容學習:機電一體化概述檢測與傳感器步進及伺服電機機械傳動,控制系統,接口技術,伺服系統
2、元器件(電器和儀表)學習:70多個電氣、儀表3D模型及性能參數,關鍵機電器件提供爆炸圖展示:
A電氣:控制盤柜、直流電源、單相交流電源、三相交流電源、保險絲、單排空開、雙排空開、三排空開、藍色鈕子開關、紅色鈕子開關、綠色方形按鈕、紅色方形按鈕、常閉按鈕、常開按鈕、轉換開關、旋轉開關、行程開關、三菱交流接觸器西門子交流接觸器、交流接觸器、變壓器、開關電源、熱繼、電機、電抗、電流互感器、電流表、東元TECO變頻器、偉創變頻器、3色燈、指示燈-紅、指示燈-黃、指示燈-藍、接地端子、魏德米勒接線端子、接線端子、盤柜風扇、電筆等
B儀表和元件:PLC、中間繼電器、時間繼電器,帶底座時間繼電器、調節閥、氣壓閥、截止閥,蝶閥、針型閥、單線圈電磁閥、雙線圈電磁閥,智能式變送器、亞德客接近開關、接近開關PNP,接近開關NPN朗鴻接近開關、壓力表、單減壓過濾器、減壓過濾器
二、仿真接線:
學生參照老師設定的電氣原理圖,從元器件庫中拖入對應的3D元器件到元器件庫中,按電路圖要求,進行命名,參數設置,接線,系統會進行操作計時,提交后系統對操作結果進行檢測判斷。
7個機電典型電路接線自動判斷檢測功能:自耦降壓起動,雙重互鎖正反轉控制,時間繼電器控制,生產機械行程控制電路,具有過載保護的正轉控制,接觸器星形三角形控制,接觸器控制的雙速電動機調速電路。
三、PLC編程:仿真三菱(FX2N系列)PLC編程,通過編輯工具,可編輯修改或載入PLC程序,PLC程序能夠進行仿真運行,運行時具有輸入輸出狀態指示。支持PLC程序與指令表間切換,支持PLC信息狀態仿真測試
四、理論考核:
1、試卷管理:老師可對考場進行管理、試卷編輯和試卷審核,可以從題庫里自由選擇各類型題目,設置分數,并組成試卷,在指定的時間和考場對指定的學員進行考試。最后對學生提交的試卷進行自動評分,并對試卷考核結果進行綜合分析。
2、題庫管理題型包括填空題、單選題、多選題、判斷題、問答題和實驗題,老師可以導入或導出各種題型的題目,或者直接在平臺上進行添加。并對各個題型進行歸類。
3、自我考核:
老師可以選擇課后練習題,讓學生進行課后自我考核,系統自動評分,老師可以隨時了解學生每堂課學習和復習的情況。
第三篇:Digsilent仿真軟件優缺點分析
Digsilent仿真軟件優缺點分析
1.digsilent仿真軟件優點
1.1功能強大
DIgSILENT/PowerFactory軟件包含了幾乎常用的所有電力系統分析的功能,如潮流、短路計算、機電暫態及電磁暫態計算、諧波分析、小干擾穩定分析等。
DIgSILENT/PowerFactory軟件能夠實現的功能有:
1、AC/DC潮流計算分析
DIgSILENT/PowerFactory可以描述復雜的單相和三相AC系統及各種交直流混合系統。潮流求解過程提供了3 種方法以供選擇:經典的牛頓—拉夫遜算法、牛頓—拉夫遜電流迭代法和線性方程法(直接將所有模型作線性化處理)。在進行潮流計算的同時,DIgSILENT/PowerFactory 還有變電站控制、網絡控制和變壓器分接頭調整控制可供選擇。仿真結果可查看過載元件,可在圖中以不同顏色顯示對各元件的電壓和負荷大小,仿真結果直觀,便于對潮流結果進行分析。
2、故障分析
DIgSILENT/PowerFactory故障分析功能既可以分別根據IEC 909、IEEE std141/ ANSI e37.5 以及德國的VDE102/ 103 標準進行,也可以根據DIgSILENT/PowerFactory自身所提供的綜合故障分析(General Fault Analysis-GFA)方法進行。DIgSILENT/PowerFactory故障分析功能支持幾乎所有的故障類型(包括復故障分析)。
3、動態仿真
DIgSILENT/PowerFactory軟件提供的仿真語言(DIgSILENT Simulation Language – DSL),使用戶可以自定義模型:任何類型的靜態/動態的多輸入/多輸出模型,例如電壓控制器、PSS 等。該軟件既可以進行短期(電磁)暫態仿真,也可以進行中期(機電)暫態仿真和長期暫態仿真。DIgSILENT/PowerFactory幾乎可以仿真各種類型的故障。仿真過程中的
任何變量(包括DSL 所提供的)都可以被觀察,并可將其通過虛擬表計功能(VirtualInstrument-VI)繪制成曲線圖。此曲線圖可以被保留,以便于與其他仿真過程進行比較。
4、諧波分析
DIgSILENT/PowerFactory可以模擬各種諧波電流源和電壓源,并提供計及集膚效應和內在自感的與頻率相關的元件模型。在綜合考慮網絡中所有元件后,計算出三相諧波電壓和電流的分布(非平衡諧波潮流),確定和分析諧波失真系數,并以合適的步長繪制網絡頻率響應圖。
5、保護分析
DIgSILENT/PowerFactory多額外的原件如CT、VT、繼電器等,同時還允許用戶自定義保護方案。所有這些保護元件在靜態、暫態情況下都能夠使用。在所有可能的仿真模式如潮流分析、故障分析、機電暫態和電磁暫態等情況下這些保護元件都能夠響應。
6、可靠性分析
DIgSILENT/PowerFactory提供的可靠性計算將系統充裕性和安全性進行了綜合考慮,主要包括三個方面:預想事故分析、發電可靠性估計和網絡可靠性估計。
7、最優潮流計算
最優潮流計算是對基本潮流計算的有效補充。最優潮流計算主要采用內點法,并提供了多種約束條件和控制手段,其考慮的目標函數主要有最小網損、最小燃料費用、最大利潤及最小區域交換潮流。
8、配網優化
DIgSILENT/PowerFactory能夠實現以下三種優化功能:電容器選址優化、解環點優化、電纜補強優化。電容器最優選址用于確定電容器在安裝至配網時的最優位置、型號以及容量,使用梯度搜索或Tabu搜索方法。解環點優化能夠在滿足電網電壓和負荷要求的同時通過改變網絡拓撲最小化網損。電纜補強優化能夠對過載電纜實現最經濟有效的升級,針對給定的電纜成本和電壓跌落限值能夠自動選出相應的電纜。
9、低壓網絡分析
DIgSILENT/PowerFactory的低壓網絡分析使用戶能夠實現:根據連接到某一線路上的用戶數量來定義負荷、考慮負荷的多樣性、在進行潮流計算時考慮負荷多樣性并計算電壓最大跌落值和最大支路電流、自動進行電纜補強、電壓跌落和電纜負載率分析等。低壓網絡分析是DIgSILENT/PowerFactory軟件的標準特征之一。
1.2數據兼容性好
(1)可與PSSE/E和PSS/U等電力系統仿真軟件的數據進行轉換。(2)可以通過Excel進行數據的輸入和輸出。
選擇―編輯計算相關對象‖,再選擇相應的元件,可對電網拓撲中元件的參數人工地進行大面積修改。如圖1-1所示,電網有888個低壓負荷,可通過excel表對基本參數中的一列或者幾列參數進行修改。潮流計算后的各節點電壓標幺值也可進行拷貝。有助于配電網潮流計算和分析。
圖1-1 電網低壓負荷基本參數
(3)可與matlab進行聯合仿真。1)新建一個block
2)在classification中選中matlab m_file 選項,并連接.m 文件(在調用m文件時應注意輸入和輸出變量要對應)如圖1-2所示。
圖1-2 2.digsilent仿真軟件缺點
(1)在配電網潮流計算時,同一網絡拓撲中各節點的負荷是不斷變化的,對同一拓撲進行多次重復仿真時,人工修改網絡中各元件的參數工作量很大,需要讓仿真軟件自動調用和修改各元件的參數。digsilent訪問數據的方式有兩種,1)通過圖形用戶界面;2)通過數據管理器,如圖1-3中內容所示。數據能以dz的格式導出,dz文件其他軟件不能直接讀取和修改里面的數據。對自動讀取數據進行重復仿真帶來困難。
圖1-3 digsilent數據結構基本概念
3現正在解決的問題
3.1每個時刻各負荷的參數如何調用
以低壓配電網為例,進行準動態仿真,時間周期為一天,同一條線路分別以8小時為步長,3小時為步長和15分鐘為步長進行準動態仿真,一天中某線路負荷率的變化曲線如圖3-1所示。既然一天中某條線路的負荷是一條曲線,那么每個時刻該線路的負荷大小是變化的,而不是一個定值,那么各負荷不同時刻的參數存放在哪里,以什么格式存儲的,是怎么調用的?
圖3-1 某線路一天中不同時刻負荷率變化曲線 3.2負荷參數設置框圖中電壓實際值為什么不會發生變化
以節點2616為例,改變這條饋線上其他節點負荷的大小,該節點的電壓應該是會發生相應的改變的,如圖3-2所示,是三次改變饋線上其他負荷的大小時,該節點的電壓標幺值。但是在該節點處負荷的參數設置框中,顯示的當前實際電壓值一直是0.4kv,不發生改變。如圖3-3所示。
圖3-2 改變饋線負荷時節點2616的電壓標幺值
圖3-3 負荷參數設置框圖
第四篇:emu8086仿真軟件的應用
EMU8086 仿真軟件在《微機原理》課程教學中的應用
姓名: 專業: 學號:
摘要:微機原理與接口技術課程的主要內容是微機系統的工作原理。《微機原理與接口技術》作為計算機專業及其相關專業的一門基礎課,其重要性是不言而喻的,若在該門課程的教學中能靈活運用Emu8086仿真軟件進行演示及實驗教學,則能讓學生直觀地理解的工作原理和工作過程,提高學生的學習興趣,較好地解決了微機原理課程教學中存在的難題。在實際的教學中,實驗設備昂貴,造成實驗環節比重過少,不能充分發揮學習者的創造性和能動性。而實踐證明,做中學是一種非常高效的現代教育理論,做中學理論即“從活動中學”和“從經驗中學”。本文介紹一些基于仿真軟件 Emu8086 的虛擬微機系統實驗,使學習者容易達到做中學的目的。簡單介紹Emu8086功能,Emu8086的使用使得匯編語言程序的編譯、執行變得更加直觀和清晰,有助于提高初學者的學習興趣。針對微機原理學習中存在的問題,提出了用EMU8086仿真軟件來解決的辦法,并介紹了EMU8086的用法和一些指令常識,并通過兩個實例說明了該軟件在匯編程序設計和接口技術方面的應用。
關鍵詞:微機原理;EMU8086;應用
正文:
一、軟件介紹
Emu8086是Windows平臺的一款80x86CPU模擬。Emu8086為8086 microprocessor emulator(8086微處理器模擬器),它是Windows平臺的一款80x86CPU模擬器,可以用于8086CPU的模擬運行。Emu8086便是輸入80X86匯編語言的并模擬其真實CPU工作的軟件,不過這里的模擬并不是100%的和真實一模一樣,比如遇到中止的機器碼,模擬器不會中止退出,只會提醒輸入代碼程序halt。同樣,由于是模擬的,那么模擬器中的內存大小、CPU頻率等實際問題也是理想化的(可以自己設定,畢竟環境是模擬的嘛),而不是實際的。總而言之,由于它是一個模擬器,所以它提供了一個模擬的環境,可以使用匯編語言,并提供了一系列的功能可以了解CPU的實際工作
《微機原理》課程是目前高校計算機專業及其相關專業學生必修的一門專業基礎課,是學生學習后續課程、畢業設計和今后工作的重要技術基礎。該課程的任務是以美國Intel公司生產的16位 CPU8086 為主線,介紹微型計算機的硬件結構、工作原理、匯編語言程序設計方法及微型計算機的接口技術[1]。由于該門課程對實踐動手能力要求高,涉及的信息量大、知識點多、教學內容較抽象,學生普遍反映該門課很難學。
二、運用方法
1.在開始菜單選在它的圖標,或者直接運行Emu8086.EXE。
2.在"FILE"菜單中選擇"SAMPLE"。
3.點擊"Compile and Emulate"按紐(或者按快捷鍵F5)。
4.點擊"Single Step"按紐(或者按快捷鍵F8),可以查看代碼如何運行。通用寄存器。
三、EMU8086與微機原理的銜接
在匯編中,EMU8086是必要使用的軟件,對于微機原理中的所有指令都支持,在8086CPU有8個通用寄存器,每一個寄存器都有自己的名稱:
1、AX 累加寄存器(分為 AH / AL)。2、BX 基址寄存器(分為 BH / BL)。
3、CX 計數寄存器(分為 CH / CL)。
4、DX 數據寄存器(分為 DH / DL)。
5、SI 源變址寄存器
6、DI 目的變址寄存器。
7、BP 基址指針寄存器。
8、SP 堆棧寄存器。
1、寄存器 編程中,各通用寄存器的具體用途是由自己決定的。寄存器的主要目的是保存數值(變量)。上面提到的寄存器是16位的,4個通用寄存器(AX, BX, CX, DX)在使用時分為兩個8位寄存器。當修改其中任意8位值,整個16位寄存器的值同樣改變。同樣對于其他的3個寄存器,“H”表示高8位,“L”表示低8位。寄存器在CPU內部,訪問中它們速度遠遠超過內存。因為,訪問內存需要經過系統總線,所以時間要長一些。而訪問寄存器中的數據幾乎不需要時間。于是,編程中,應當盡量在寄存器中保存數據。雖然寄存器很小,并且這些寄存器都有具體用途,但他們依然是存放計算中臨時數據的好地方。
段寄存器
2、CS 代碼段寄存器,用來存放當前正在運行的指令 DS 數據段寄存器,用來存放當前運行程序所用的數據 ES 附加段寄存器,由自己決定用途 SS 堆棧段寄存器,指出堆棧所在區域。而由兩個寄存器生成的地址被稱為有效地址。
但是默認下,BX, SI 及 DI 與 DS協同工作,BP SP 與 SS 寄存器協同工作。其余的通用寄存器不能形成有效地址。同樣,盡管BX可以形成有效地址,但是BH BL不能!IP 始終同CS 協同工作,指出當前執行的指令。Flags Register 完成一次數學運算后,由CPU自動修改,通過它可以得到當前結果類型,也可以作為跳轉語句條件。
3、尋址方式,可以通過下面的四個寄存器來尋址 BX, SI, DI, BP。通過計算[]符號中的值,我們可以訪問到不同內存單元的值。偏移量可以是一個立即數或者是一個變量的偏移,或者二者兼備。偏移量可以在[]符號里面或者外面。偏移量是一個有符號數,可以是正數或者負數。默認下,DS 寄存器應用在除了BP寄存器之外的所有物理地址計算中,寄存器是和SS寄存器一起工作的。
4、調用中斷,中斷是一系列功能調用。比如,在打印機上輸出一個字符,只需要簡單的操作它將完成所有的事情。另外還有控制磁盤和其他硬件工作的中斷。這些功能調用稱作軟件中斷。不同的硬件同樣可以觸發中斷,這些中斷稱作硬件中斷。在調用一個中斷的子功能之前,需要設置AH寄存器。每一個中斷最多可
以擁有256個子功能。一般情況下使用AH寄存器,但是一些情況下可能使用另外的寄存器。通常,其他的寄存器是用來傳遞數據和參數的。
5、控制程序,控制程序走向是非常重要的事情,它是你的程序根據條件作出判斷,跳轉到相應的位值。無條件跳轉控制程序轉向的最基本的指令是JMP。
四、實例應用
實例 1:EMU8086 用于匯編程序設計的典型實例:用匯編程序實現將表達式5+10-1 的結果 14 用二進制形式(00001110)在屏幕上顯示出來。
分析:本程序通過 8086CPU 內的寄存器及加法指令ADD減法指令 SUB 可方便地實現表達式的計算,再通過調用 21H 中斷將結果對應的二進制數的每一位顯示出來。利用EMU8086仿真軟件可通過模擬的方式快速地進行編譯、調試及運行,實現表達式結果的顯示。操作過程如下:
(1)打開 EMU8086,在用戶工作區輸入源程序。
code segment
assume cs:code
start: mov al,5
mov bl,10
add bl,al
sub bl,1
mov cx,8
print: mov ah,2
mov dl,'0'
test bl,10000000b
jz zero
mov dl,'1'
zero: int 21h
shl bl,1
loop print
mov dl,'b'
int 21h
mov ah,0
int 16h
code ends
end start
(2)將輸入的源程序存盤,然后點擊Emulate按鈕,EMU8086自動完成對源程序的編譯、連接,若有錯則給出錯誤信息。正確連接后,自動進入到指令的調試界面。
(3)在該窗口單擊 single step 按鈕可方便地觀察到指令單步執行后 CPU 內部所有通用寄存、段寄存器、標志寄存器和算術邏輯單元ALU 中的值和數據的傳遞,還可看到匯編后生成的機器碼及每條指令在內存中所占存儲單元的物理地址,非常形象直觀地展示了 CPU 工作的狀態變化和工作原理。用戶也可以單擊 run 按鈕運行該匯編程序。
實例2:CPU與外設間的信息交換是通過接口來實現的,EMU8086內置用java,visual basic等編程語言編寫的虛擬外設,CPU對它們的訪問可通過圖1交通燈示意圖
端口地址來進行。如EMU8086內置的外設交通燈,其端口地址為4,對應圖1中十字路口東西南北四個方向的紅綠黃共12 盞燈,通過對交通燈端口送l6位控制字控制相應燈的開或關,控制字的低12位對應圖1中12盞燈,高4位無實際意義全置為0,對低12位的相應位置1可設置對應的燈為開,置0為關。現要求編程實現先讓4個方向的紅燈全亮,然后讓南北方向綠燈全亮,讓南北方向車輛可通行,同時東西方向的紅燈全亮,禁止東西方向車輛通行,E述狀態延時5秒后,交換為南北紅燈全亮而東西方向綠燈全亮,再南北綠燈亮東西紅燈亮,這樣循環往復,實現對十字路口的交通控制。
該程序源代碼如下:
#start=Trafic—
Lights.exe#
mov,all—
red
out 4,ax
mov si,offset situation
next:
mov ax,[si]
out 4,ax
mov CX,4Ch ; ~ C4B40h =
5,000,000
mov dx,4B40h
UlOV ah,86h
int 15h
add si,2 ;next situation
cmp si,sit_
end
jb next
mov si,offset situation
jmp next
; FEDC— BA98_
7654_ 3210
situation dw 0000_
001 1
_
0000_ 1 100b
sl dw 0000
_ 01 10—
1001— —
1010b
s2 dw 0000_ 1000_
01 10_
0001b
s3 dw 0000_
1000_ 01 10_
0001b
s4 dw 0000_
0100—101_
001 lb
sit— end=$
all—
red equ 0000_ 0010_ 0100_
1001b
在EMU8086用戶工作區錄入源碼并運行后
總結:
基于 EMU8086 可完成多項微機原理及接口實驗,主要有匯編語言、并行 I/O 接口、硬件中斷、軟盤讀寫、系統啟動代碼、操作系統等實驗。虛擬的外設主要有五位七段數碼管、并行接口打印機、移動障礙物機器人、并口數據收發器、步進電機、溫度控制模型。其中匯編語言、并行 I/O 接口、硬件中斷是信息類本科生基本的學習內容,數碼管、電機等外設是實驗中典型的外設。通過這些基本接口和外設,可輔助學生學習微機原理及接口技術。較復雜的接口和外設可組合出不同的拓展實驗,提高學生的綜合應用能力。這些接口和外設所對應的實驗在 4.08 版本中驗證通過。
EMU8086 的工作界面為很簡潔,它能模擬真實微處理器工作的每一步驟,通過單步調試顯示指令執行后 CPU 內部寄存器、存儲器、堆棧、變量和標志寄存器的當前值,操作簡單直觀,通過它我們可以很快掌握匯編程序設計和接口技術等知識。在實驗過程中也是我們學習到了很多知識,很多課堂上不是很了解的知識也得到了清晰地理解。與實驗室里的星研比較,EMU8086有著很大的優勢,在編譯、運行的步驟上尤為簡單。因此實驗過程中,我們一直用的是EMU8086來編寫實驗代碼,然后進行相應的分析,很少用到星研。
致謝:
在微機原理課程的學習過程中,丁老師給我們細心講解了一個個重要的知識點,并為我們一一解答了我們學習過程中遇到的問題及疑惑。因此在本學期結束之際,再三感謝丁老師給予我及同學們在學習上的幫助和支持!
參考文獻:
[1] DAVID C.Virtualization for Windows:A Technology Over-view
[EB/OL].(2009-08-03).http:///writing/white_ papers.php.[2] 孫 衛.虛擬技術綜述[J].數字圖書館論壇,2009(7):34-38.[3] 谷兆麟.基于 EMU8086 的微機系統的輔助學習方法[J].天津工程師范
學院學報,2006,16(4):26-27.[4] 戴梅鄂.微型計算機原理及接口技術[M].4 版.北京:清華大學出版社,2003:1-20.[5]周荷琴,吳秀清 微型計算機原理與接口技術.合肥:中國科技大學出版社,2008
第五篇:ADS_版圖仿真軟件經驗總結
1、momentum求解模式有:常規mode(MW mode)和RF mode,其中RF mode適用于頻率較低時,仿真速度較快。兩種mode的切換在momentum RF菜單的enable RF mode和disable RF mode。
2、momentum中substrate的設置:分為介質層(substrate layer)的設置和金屬層(metallization)的設置。介質層的設置比較簡單,在金屬層的設置中采用映射(map)的概念,將layout中畫的各個層(比如cond,cond2,resi,hole等)映射到電路板中具體的金屬層中。每個層的屬性可以為strip(帶狀線)或slot(開槽線),還有一種是過孔(via),過孔層應將其映射到對應的兩個金屬層之間的介質層中。
3、momentum中options preference的常用設置:網格(Grid)的間距和顯示,端口(port)和地(ground)在layout中的顯示大小,layout窗口背景色(background color),絲印層文字的顯示大小,layout的單位(unit)等。基本上我就只用到這些,不過還有很多其他的設置。
4、在 momentum RF菜單的Post processing->Visualization中可以觀看所建模型的3D效果圖,并可以直觀的看電流的分布,S參數等。不過這個3D操作起來還是沒有HFSS爽
5、momentum網格剖分(mesh):可以對不同層,不同的單元(primitive)進行不同規格的網格剖分,以節省仿真時間。
6、momentum S parameter仿真中的頻率掃描:這里需要注意的是選擇自適應(adaptive)掃描(AFS:adaptive frequency Sweep)時,將生成兩個數據文件,一個是以 layout名字_mom 命名的文件,其中只包含所設置的頻率掃描點,在顯示時默認顯示這些點的連線,也可以修改trace options只讓他顯示掃描的幾個點,還有一個以 layout名字_mom _a命名,這里除了上述頻點以外,還內插了很多頻點。而且在一段頻段內掃描的同時,還可以對其中感興趣的頻點(single)進行仿真。如果要看遠場輻射,只能進行單頻點仿真,再選擇Post processing->Radiation Pattern.7、momentum中port的設置:port一般默認設置為single,因為對于掃描的各個頻點,每個port會需要額外的二分之一波長的空間,因此如果沒有足夠的空間,軟件會把single自動變為internal。每個port進過port editor設置以后都會在layout中出現一條白色的校準線(calibrate line)。port還有差分,共模,參考地等類型,其中差分和共模需要成對出現,在port的associate port number中設定成對的端口號
8、ADS原理圖和layout聯合仿真的幾種方法:
第一種方法是通過look alike,在layout的momentum的component->creat/update中進行設置,包括其在原理圖中顯示的大小(size),基板(substrate)設置等。的其中需要注意的是momentum中只能繪制微帶線,帶狀線之類能用于矩量法剖分的元件,而對帶封裝的電阻,電容,電感等其他器件不能在layout中進行矩量法仿真,我在仿真一個濾波器的時候將電感電容加在一起進行矩量法仿真,結果完全不對,估計是軟件將電感電容也進行剖分了,而不是調用其S參數。layout中繪制的應該就像一塊沒有焊接任何元件的電路板,需要通過look alike調進原理圖,再在每個焊點連上各種元件,進行仿真。其中需要在layout的每個元件的焊點都加上port。通過look alike 既可以對無源,有源電路進行仿真,還能考慮到連線,布局的分布參數效應,這正是ADS的強大所在,我剛發現這一功能的時候曾經相當激動,呵呵
第二種方法是通過SNP,在data item中的SNP控件可以導入layout仿真所得到的S參數模型,格式為xxx.ds。不過這個只適用于layout圖中不用連接電阻,電容等元件的情況下,所以我更喜歡第一種。
9、momentum繪制導線或各種其他形狀是可以點擊insert->cordinate entry,通過輸入坐標,使得繪制更加精確
10、momentum中元件的參數設置和參數優化:這部分至今沒有搞明白,感覺momentum的參數設置相當麻煩。待以后繼續學習,這方面懂的人麻煩多多賜教啊。