亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Proteus的80X86 外部中斷電路的設(shè)計與仿真

        2020-06-18 04:06:24符曉玲
        實(shí)驗(yàn)室研究與探索 2020年3期

        王 超, 符曉玲, 李 斌

        (昌吉學(xué)院物理系,新疆昌吉831100)

        0 引 言

        中斷技術(shù)是微機(jī)原理課程中非常重要內(nèi)容,其應(yīng)用可大大提高CPU的效率,Intel 80X86 系列微機(jī)有一個靈活的中斷系統(tǒng),可以處理256 種中斷源,每個中斷源又對應(yīng)一定的中斷類型號供CPU識別[1-3]。中斷分為外部中斷和內(nèi)部中斷兩種,外部中斷主要由外部設(shè)備的請求引起,具有隨機(jī)性,內(nèi)部中斷有指令執(zhí)行引起,無隨機(jī)性。由于外部中斷執(zhí)行的隨機(jī)性,造成中斷執(zhí)行過程的突發(fā)事件比較多,比如:無法進(jìn)入中斷、中斷返回“跑飛”、中斷嵌套無法完成等。本文利用Proteus設(shè)計了80X86 中斷電路,并進(jìn)行了詳細(xì)的測試分析,可將抽象的中斷過程直觀化地展現(xiàn)了出來。

        1 80X86 中斷電路的設(shè)計

        80X86 中斷電路由8086CPU、數(shù)據(jù)/地址復(fù)用電路、片選電路、可屏蔽中斷請求(Interrupt Request,INTR)按鍵請求及顯示電路和非屏蔽中斷請求(Non Maskable Interrupt,NMI)按鍵請求及顯示電路組成[4-6],主要完成INTR、NMI 的中斷請求及處理,以及它們之間中斷嵌套功能的實(shí)現(xiàn),如圖1 所示。

        圖1 80X86中斷電路設(shè)計圖

        數(shù)據(jù)/地址復(fù)用電路由3 片74LS273 鎖存器組成,數(shù)據(jù)線用AD[0…15]表示,地址線用A[0…19]表示,用來在不同時刻分時使用總線;片選電路由4078 或非門和74LS138 譯碼器組成,可根據(jù)需要配置任意地址范圍的片選信號;INTR 按鍵請求及顯示電路由8259控制器、74LS373 驅(qū)動器等組成,用來對按鍵S1通斷的輸入信號進(jìn)行識別并以0 ~9 遞增的順序在數(shù)碼管上顯示;NMI按鍵請求及顯示電路由8255 可編程并行接口芯片、模擬中斷請求按鍵等組成,用來對按鍵S2-S4的輸入信號進(jìn)行識別并顯示在數(shù)碼管上,通過8255可擴(kuò)展了多個I/O口,根據(jù)需要外接多種I/O設(shè)備。

        2 程序設(shè)計

        根據(jù)圖1 要實(shí)現(xiàn)的功能,完成主程序和中斷服務(wù)程序的編寫。主程序完成初始化8255、8259 等任務(wù),之后循環(huán)等待外部中斷的發(fā)生,當(dāng)有可屏蔽中斷請求時,執(zhí)行加1 操作,當(dāng)有非屏蔽中斷請求時顯示對應(yīng)的按鍵值,中斷服務(wù)結(jié)束后返回主程序(見圖2)。

        圖2 軟件流程圖

        3 中斷電路的調(diào)試

        Proteus的虛擬仿真模式(Virtual Simulation Mode,VSM)包括交互式的動態(tài)仿真和基于仿真圖表的靜態(tài)仿真兩種,交互式動態(tài)仿真可在線實(shí)時觀察電路的仿真結(jié)果,仿真結(jié)果在運(yùn)行結(jié)束后立即消失,基于圖表的仿真結(jié)果可隨時刷新,以圖表的形式駐留在圖中,可供線下進(jìn)行分析。為了精確分析中斷的執(zhí)行過程,采用仿真圖表方式來觀察,在原理圖中分別添加CLK、M/和READY 等探針,并在仿真圖表中添加相應(yīng)的量。

        3.1 非屏蔽中斷

        非屏蔽中斷由CPU 的NMI 引腳出現(xiàn)上升沿觸發(fā)時向CPU提出中斷請求,不受IF的影響,也不能由軟件加以屏蔽[7-8],要想通過仿真圖表觀察NMI 請求的過程,是不能和電路進(jìn)行交互操作的,因此可以考慮在按鍵處加入一個等效的信號,使用虛擬仿真工具中的激勵源來完成,如圖3 所示。

        圖3 單脈沖激勵源

        圖3 中,添加了一個單脈沖激勵源,在60 ms時刻添加一寬度為50 μs 的脈沖,脈沖屬性為高、低、高的脈沖,用來模擬按鍵的通斷情況,并在上升沿觸發(fā)NMI的中斷請求。8086CPU 在當(dāng)前指令執(zhí)行完成后,立即無條件給予響應(yīng),中斷類型號為2,CPU 響應(yīng)后,在ALE的下降沿把出現(xiàn)在AD[0…15]上的地址信號0284H(8255 C口地址)進(jìn)行鎖存,在下一個T狀態(tài)有效時讀取總線AD[0…7]上的數(shù)據(jù)0FEH,如圖4所示。

        圖4 NMI中斷響應(yīng)讀時序

        在經(jīng)過若干個空閑周期Ti后,將要進(jìn)行總線寫周期,在T1 狀態(tài)ALE 下降沿有效時,將出現(xiàn)在總線AD[0…15]上的數(shù)據(jù)0280H進(jìn)行鎖存,下一個T狀態(tài),在有效時將計算得到的按鍵顯示碼0F9H 通過總線AD[0…7]寫入到8255 的A口,立即顯示對應(yīng)按鍵代碼為“1”,如圖5 所示。

        圖5 NMI中斷響應(yīng)寫時序

        3.2 可屏蔽中斷

        (1)CPU 訪問外設(shè)讀時序圖??善帘沃袛嗾埱笮盘柾ㄟ^INTR引腳送給CPU,在中斷允許標(biāo)志IF =1時,CPU在結(jié)束當(dāng)前指令周期后響應(yīng)中斷請求[9-11],中斷過程如圖6 所示,在T1 狀為低電平,表示CPU訪問的是外設(shè)8259A,多路復(fù)用總線上發(fā)出地址信息,A[16…19]不用,保持為低電平,AD[0-15]=02A2H,指示出要尋址的外設(shè)端口的地址,在ALE 信號的下降沿74LS273 鎖存器對地址進(jìn)行鎖存;在T2 狀態(tài),A[16…19]=0010B,代表CPU 的狀態(tài)信號線,分別表示8086CPU與總線相連、IF =0(中斷禁止)和正在使用的為CS段寄存器,AD[0 ~15]前期浮空,后期有有效,0060H 出現(xiàn)在數(shù)據(jù)總線上,該值為8259A的初始化字ICW2 =0110 0000 B,其功能為設(shè)置中斷類型號的高5 位;在T3 狀態(tài),A[16…19]繼續(xù)提供狀態(tài)信息,AD[0-15]為CPU 寫的數(shù)據(jù)0060H,CPU在T3 狀態(tài)的下降沿采樣READY信號,因該信號為高電平,表示外設(shè)8259A 已經(jīng)做好接收準(zhǔn)備,無需插入TW等待周期,直接進(jìn)入T4 狀態(tài),在T4 狀態(tài)和T3狀態(tài)交界處,完成數(shù)據(jù)的寫入操作,總線周期結(jié)束,當(dāng)CPU不執(zhí)行總線周期時,系統(tǒng)總線就處于空閑狀態(tài),執(zhí)行空閑周期Ti,在這期間,A[16…19]仍然驅(qū)動上一個總線周期的狀態(tài)信息,其值為0010B,AD[0…15]處于高阻狀態(tài)。

        圖6 CPU訪問外設(shè)讀時序圖

        (2)CPU 響應(yīng)可屏蔽中斷時序圖。當(dāng)發(fā)出中斷請求后,8086CPU在現(xiàn)行指令執(zhí)行完成之后將進(jìn)行響應(yīng),如圖7 所示,中斷響應(yīng)周期有2 個,每個響應(yīng)周期由4 個T狀態(tài)組成,在兩有效之間,插入了3個空閑周期Ti,以等待外設(shè)提供中斷類型號,每個中斷響應(yīng)周期CPU都會引腳發(fā)出1 個負(fù)脈沖,在第1 個響應(yīng)周期AD[0…7]一直處于浮空狀態(tài),在T1狀態(tài),ALE下降沿輸出地址鎖存信號,A[16…19]為低電平,在T2-T3 狀態(tài),A[16…19]=0110B,其含義為IF =1 表示允許中斷、CPU正在訪問CS段寄存器。在第2 個響應(yīng)周期,T1 狀態(tài),ALE下降沿再次有效1 次,外設(shè)8259A在收后,立即將中斷類型號63H送往數(shù)據(jù)總線的低8 bit AD[0…7]上,中斷請求信號INT一直維持到結(jié)束后終止。

        圖7 可屏蔽中斷響應(yīng)時序圖

        (3)設(shè)置硬件斷點(diǎn)和調(diào)試彈出窗口。為了提高調(diào)試效率,以便當(dāng)硬件條件發(fā)生時單步執(zhí)行觀察代碼下一步的執(zhí)行情況,可以設(shè)置硬件斷點(diǎn)來完成,例如:想觀察非屏蔽中斷時入口地址是否正確,可以將中斷請求信號INT作為硬件斷點(diǎn)設(shè)置點(diǎn),從模式選擇器中選擇電壓探針,單擊后放置到INT 引腳上,雙擊選擇屬性,如圖8 所示,在實(shí)時斷點(diǎn)類型選擇“數(shù)字的”,即INT引腳低電平觸發(fā),輸入“0”作為觸發(fā)值,裝備時間選擇“1”,當(dāng)INT引腳由高電平“1”變化到低電平“0”時進(jìn)行捕獲,觀察中斷向量表中的內(nèi)容。

        圖8 硬件斷點(diǎn)設(shè)置圖

        為方便觀察原理圖中某一小部分的變化情況,又不希望經(jīng)常在原理圖和VSM Studio 中來回切換,需要對調(diào)試彈出窗口進(jìn)行設(shè)置,例如:想觀察當(dāng)S1按鍵按下時可屏蔽中斷運(yùn)行結(jié)果顯示情況,可切換到ISIS 選項卡,選擇“調(diào)試彈出模式”,在原理圖中框選需要在VSM Studio 頁面中顯示的部分,這里框選了可屏蔽中斷顯示器、按鍵S1即可。按下仿真運(yùn)行按鈕,切換到VSM Studio選項卡,在IDE 的右邊顯示了剛才選擇的部分原理圖,如圖9 所示。

        圖9 中,按下S1按鈕,在硬件斷點(diǎn)INT控制下,程序立即暫停至可屏蔽中斷int3 PROC NEAR 處,單擊調(diào)試/8086/Memory Dump,即可打開存儲器窗口[12-16],通過圖7 可知,8259A 的IR3 可屏蔽中斷類型號為63H,乘以4 可以求得中斷向量表的地址為18CH,通過存儲器窗口可以觀察到在18CH 地址內(nèi)的內(nèi)容為5A 00 02 00,即IP =005AH,CS =0002H,與代碼段中可屏蔽中斷服務(wù)程序int3 的入口地址一致。

        圖9 可屏蔽中斷運(yùn)行圖

        3.3 中斷嵌套過程

        依據(jù)x86 所規(guī)定的NMI 中斷請求的優(yōu)先級高于INTR中斷請求,為用仿真圖表觀察中斷的嵌套過程,在S1按鍵處放置一個連續(xù)時鐘激勵源,類型為高、低、高,周期為500 μs,即:每隔500 μs 向8259 發(fā)出中斷請求,在數(shù)碼管上循環(huán)遞增顯示0 ~9,用來指示進(jìn)、出INTR中斷的過程。INTR中斷運(yùn)行期間,在按鍵S2置一單脈沖激勵源信號,脈沖屬性為高、低、高,脈沖寬度為20 μs,開始時刻加在1 ms處,用來模擬NMI請求,通過仿真圖表,觀察中斷嵌套過程,如圖10 所示。

        圖10 中斷嵌套處理過程

        將圖10 中斷嵌套時序分成4 部分,詳細(xì)分析如下所示:

        (1)此波形對應(yīng)的是8086 對8255、8259 等初始化操作過程。如圖11,圖中數(shù)據(jù)與程序中初始化數(shù)據(jù)一致。

        圖11 初始化操作時序圖

        (2)當(dāng)激勵源8259 有正跳變時,產(chǎn)生INTR 中斷請求。體現(xiàn)在ALE兩次有效有效,通過放大/縮小等工具發(fā)現(xiàn)該處中斷類型號為63H,如圖12。可屏蔽中斷電路數(shù)碼管接收到的字型碼為“F9”轉(zhuǎn)化為顯示字符“1”。

        圖12 INTR中斷請求

        (3)對應(yīng)的是在INTR 請求時,激勵源8255 有負(fù)跳變,產(chǎn)生NMI中斷請求。因NMI的中斷優(yōu)先級高于INTR信號,所以暫停INTR 過程轉(zhuǎn)去執(zhí)行NMI 中斷,體現(xiàn)在INTR中斷請求延長,ALE 兩次有效,NMI數(shù)碼管顯示“1”。NMI 執(zhí)行結(jié)束后,繼續(xù)響應(yīng)INTR 中斷,有效,ALE兩次有效,此處中斷類型碼仍是63H,可屏蔽中斷電路數(shù)碼管顯示為數(shù)字“2”,如圖13所示。

        圖13 中斷嵌套

        (4)對應(yīng)的是INTR中斷請求及響應(yīng)過程,與第2部分過程類似,INTR 數(shù)碼管顯示“2”,運(yùn)行過程如圖14 所示。

        圖14 運(yùn)行過程圖

        在仿真運(yùn)行時,也可以通過示波器觀察到中斷嵌套情況,如圖15 所示,當(dāng)不可屏蔽中斷與可屏蔽中斷同時發(fā)生時,首先執(zhí)行不可屏蔽中斷,當(dāng)其執(zhí)行完成后,執(zhí)行可屏蔽中斷請求。

        圖15 示波器觀察中斷嵌套時序圖

        4 結(jié) 語

        使用Proteus軟件的多種功能對X86 系列微機(jī)的中斷電路進(jìn)行了設(shè)計、和仿真、分析,用Proteus仿真工具中的激勵源,實(shí)現(xiàn)了交互式動態(tài)仿真向基于圖表的靜態(tài)仿真的轉(zhuǎn)換,有利于對中斷突發(fā)事件過程的精確分析,有助于快速發(fā)現(xiàn)存在的問題,提高解決問題的能力。

        国产麻豆剧传媒精品国产av蜜桃| 国产欧美va欧美va香蕉在线观 | 国产毛片三区二区一区| 一区二区三区av资源网| 永久免费看黄网站性色| 高潮精品熟妇一区二区三区| 无码一区二区三区久久精品| 日本一区二区亚洲三区| 麻豆成人久久精品二区三区91| 中文字幕在线亚洲三区| 日本在线 | 中文| 亚洲国产精品久久人人爱| 日本熟妇人妻xxxxx视频| 亚洲熟妇无码av不卡在线播放| 一本一道波多野结衣av中文| 亚洲欧洲国无码| 国产麻豆成人精品av| 男女视频网站在线观看| 亚洲国产av自拍一区| 玩弄丰满奶水的女邻居| 国产99久久精品一区二区| 国产人妖视频一区二区| 亚洲免费观看一区二区三区| 亚洲国产成人久久精品不卡| 国产猛烈高潮尖叫视频免费| 久久久老熟女一区二区三区 | 亚洲精品成人av观看| 国产在线观看网址不卡一区| 国产精品亚洲精品国产| 午夜三级a三级三点在线观看| 午夜内射中出视频| 麻豆精产国品| 国产精品一区二区久久毛片| 青青草视频在线观看绿色| 日本护士xxxxhd少妇| 自愉自愉产区二十四区| 天天综合久久| 蜜桃视频一区二区三区在线| 久久久精品国产亚洲av网麻豆| 国产特级毛片aaaaaa视频| 国产95在线 | 欧美|