加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 1 中斷基本概念
    • 2 中斷的分類
    • 3 中斷處理具體細(xì)節(jié)
    • 4 總結(jié)
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

嵌入式基礎(chǔ)知識(shí)-中斷處理過程

2023/08/21
2650
閱讀需 4 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

本篇來介紹中斷,這是計(jì)算機(jī)系統(tǒng)以及嵌入式系統(tǒng)的重要概念。

1 中斷基本概念

中斷是CPU對(duì)系統(tǒng)發(fā)生的某個(gè)事件作出的一種反應(yīng)。

中斷的一些基本概念:

中斷源:引起中斷的事件稱為中斷源

中斷請(qǐng)求:中斷源向CPU提出處理的請(qǐng)求稱為中斷請(qǐng)求

中斷向量:中斷源的識(shí)別標(biāo)志,中斷服務(wù)程序的入口地址

中斷向量表:按照中斷類型號(hào)從小到大的順序存儲(chǔ)對(duì)應(yīng)的中斷向量,總共存儲(chǔ)256個(gè)中斷向量

斷點(diǎn):發(fā)生中斷時(shí)被打斷程序的暫停點(diǎn)稱為斷點(diǎn)

中斷響應(yīng):CPU暫?,F(xiàn)行程序轉(zhuǎn)而為響應(yīng)中斷請(qǐng)求的過程稱為中斷響應(yīng)

關(guān)中斷:在保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)過程中都要先關(guān)閉中斷,避免堆棧錯(cuò)誤

保存現(xiàn)場(chǎng):保存程序當(dāng)前斷點(diǎn)執(zhí)行所需的寄存器和相關(guān)數(shù)據(jù)

中斷服務(wù)程序:處理中斷源的程序稱為中斷處理程序

中斷處理:CPU執(zhí)行有關(guān)的中斷服務(wù)函數(shù)稱為中斷處理

中斷返回:返回?cái)帱c(diǎn)的過程稱為中斷返回

2 中斷的分類

2.1 硬/軟中斷

按中斷源的不同,可分為:

硬件中斷:由CPU外部的硬件,引入的中斷,是隨機(jī)的

軟件中斷:軟件中斷其實(shí)并不是真正的中斷,它們只是可被調(diào)用執(zhí)行的一般程序,是預(yù)先設(shè)計(jì)的

2.2 外/內(nèi)中斷

根據(jù)中斷源所在的位置,可以分:

外部中斷:一般指由計(jì)算機(jī)外設(shè)發(fā)出的中斷請(qǐng)求,如:鍵盤中斷、打印機(jī)中斷、定時(shí)器中斷

內(nèi)部中斷:是指如運(yùn)算出錯(cuò)(除數(shù)為零、運(yùn)算溢出、單步中斷等)所引起的中斷

2.3 可/非屏蔽中斷

按是否可屏蔽,可分為:

可屏蔽中斷:通過INTR(Interrupt Require)線向CPU請(qǐng)求的中斷,此類中斷并不會(huì)影響系統(tǒng)運(yùn)行,可隨時(shí)處理,或不處理。此外,除受本身的屏蔽位控制外,還受一個(gè)總的中斷允許標(biāo)志位IF(Interrupt ?Flag)的控制

非屏蔽中斷(不可屏蔽中斷):非屏蔽中斷是出現(xiàn)在NMI(Non Maskable Interrupt)線上的請(qǐng)求 ,不受中斷標(biāo)志位IF的影響,內(nèi)部中斷是不可屏蔽的中斷

3 中斷處理具體細(xì)節(jié)

中斷的整個(gè)處理過程,由硬件和軟件共同完成,具體處理細(xì)節(jié)如下圖:

根據(jù)此圖,再來分析下各個(gè)過程:

關(guān)中斷:進(jìn)入不可響應(yīng)中斷請(qǐng)求的中斷,由硬件自動(dòng)完成

保存斷點(diǎn):把當(dāng)前的程序計(jì)數(shù)器PC中的內(nèi)容保存起來,用于中斷處理結(jié)束后能繼續(xù)執(zhí)行主程序

識(shí)別中斷源:有多個(gè)中斷源同時(shí)請(qǐng)求時(shí),只能響應(yīng)最高優(yōu)先級(jí)的,因此需進(jìn)一步判斷中斷源

保存現(xiàn)場(chǎng)和屏蔽字:進(jìn)入中斷服務(wù)程序后,要先保存現(xiàn)場(chǎng)

設(shè)置新的屏蔽字:用于改變中斷優(yōu)先級(jí)和控制中斷的產(chǎn)生

開中斷:執(zhí)行中斷程序時(shí),打開中斷可實(shí)現(xiàn)更高優(yōu)先級(jí)的中斷響應(yīng),實(shí)現(xiàn)中斷嵌套

執(zhí)行中斷服務(wù)程序:執(zhí)行中斷服務(wù)程序中的內(nèi)容

再次關(guān)中斷:使得恢復(fù)現(xiàn)場(chǎng)和屏蔽字時(shí)不會(huì)被中斷打斷

恢復(fù)現(xiàn)場(chǎng)和屏蔽字:使現(xiàn)場(chǎng)和屏蔽字恢復(fù)到中斷之前的狀態(tài)

再次開中斷:中斷執(zhí)行完,現(xiàn)場(chǎng)恢復(fù)完后,可以打開中斷

中斷返回:返回原程序繼續(xù)執(zhí)行

處理過程,會(huì)經(jīng)歷兩次的開/關(guān)中斷,也可用下圖描述

4 總結(jié)

本編介紹了中斷基本概念,中斷的分類,以及 中斷處理的具體細(xì)節(jié)

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
24LC256-I/ST 1 Microchip Technology Inc 32K X 8 I2C/2-WIRE SERIAL EEPROM, PDSO8, 4.40 MM, PLASTIC, TSSOP-8

ECAD模型

下載ECAD模型
$1.05 查看
ASV-50.000MHZ-EJ-T 1 Abracon Corporation XTAL OSC XO 50.0000MHZ HCMOS SMD

ECAD模型

下載ECAD模型
$0.82 查看
HFBR-1542ETZ 1 Foxconn Transmitter
$84.95 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

控制科學(xué)與工程碩士,日常分享單片機(jī)、嵌入式、C/C++、Linux等學(xué)習(xí)經(jīng)驗(yàn)干貨~