0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32中斷和事件的對(duì)比差異分析

電子設(shè)計(jì) ? 作者:工程師飛燕 ? 2018-10-11 08:19 ? 次閱讀

STM32中斷和事件的區(qū)別!

事件是中斷的觸發(fā)源,開(kāi)放了對(duì)應(yīng)的中斷屏蔽位,則事件可以觸發(fā)相應(yīng)的中斷。

事件還是其它一些操作的觸發(fā)源,比如DMA,還有TIM中影子寄存器的傳遞與更新;而中斷是不能觸發(fā)這些操作的,所以要把事件與中斷區(qū)分開(kāi)。當(dāng)你只要產(chǎn)生中斷而不想觸發(fā)其它操作時(shí),就可以用事件屏蔽寄存器實(shí)現(xiàn)。
在STM32中,中斷與事件不是等價(jià)的,一個(gè)中斷肯定對(duì)應(yīng)一個(gè)事件,但一個(gè)事件不一定對(duì)應(yīng)一個(gè)中斷。

這張圖是一條外部中斷線或外部事件線的示意圖,圖中信號(hào)線上劃有一條斜線,旁邊標(biāo)志19字樣的注釋,表示這樣的線路共有19套.圖中的藍(lán)色虛線箭頭,標(biāo)出了外部中斷信號(hào)的傳輸路徑,首先外部信號(hào)從編號(hào)1的芯片管腳進(jìn)入,經(jīng)過(guò)編號(hào)2的邊沿檢測(cè)電路,通過(guò)編號(hào)3的或門(mén)進(jìn)入中斷掛起請(qǐng)求寄存器,最后經(jīng)過(guò)編號(hào)4的與門(mén)輸出到NVIC中斷檢測(cè)電路,這個(gè)邊沿檢測(cè)電路受上升沿或下降沿選擇寄存器控制,用戶可以使用這兩個(gè)寄存器控制需要哪一個(gè)邊沿產(chǎn)生中斷,因?yàn)檫x擇上升沿或下降沿是分別受2個(gè)平行的寄存器控制,所以用戶可以同時(shí)選擇上升沿或下降沿,而如果只有一個(gè)寄存器控制,那么只能選擇一個(gè)邊沿了.

按下來(lái)是編號(hào)3的或門(mén),這個(gè)或門(mén)的另一個(gè)輸入是軟件中斷/事件寄存器,從這里可以看出,軟件可以優(yōu)先于外部信號(hào)請(qǐng)求一個(gè)中斷或事件,即當(dāng)軟件中斷/事件寄存器的對(duì)應(yīng)位為"1"時(shí),不管外部信號(hào)如何,編號(hào)3的或門(mén)都會(huì)輸出有效信號(hào).

一個(gè)中斷或事件請(qǐng)求信號(hào)經(jīng)過(guò)編號(hào)3的或門(mén)后,進(jìn)入掛起請(qǐng)求寄存器,到此之前,中斷和事件的信號(hào)傳輸通路都是一致的,也就是說(shuō),掛起請(qǐng)求寄存器中記錄了外部信號(hào)的電平變化.

外部請(qǐng)求信號(hào)最后經(jīng)過(guò)編號(hào)4的與門(mén),向NVIC中斷控制器發(fā)出一個(gè)中斷請(qǐng)求,如果中斷屏蔽寄存器的對(duì)應(yīng)位為"0",則該請(qǐng)求信號(hào)不能傳輸?shù)脚c門(mén)的另一端,實(shí)現(xiàn)了中斷的屏蔽.

明白了外部中斷的請(qǐng)求機(jī)制,就很容易理解事件的請(qǐng)求機(jī)制了.圖中紅色虛線箭頭,標(biāo)出了外部事件信號(hào)的傳輸路徑,外部請(qǐng)求信號(hào)經(jīng)過(guò)編號(hào)3的或門(mén)后,進(jìn)入編號(hào)5的與門(mén),這個(gè)與門(mén)的作用與編號(hào)4的與門(mén)類似,用于引入事件屏蔽寄存器的控制;最后脈沖發(fā)生器的一個(gè)跳變的信號(hào)轉(zhuǎn)變?yōu)橐粋€(gè)單脈沖,輸出到芯片中的其它功能模塊.從這張圖上我們也可以知道,從外部激勵(lì)信號(hào)來(lái)看,中斷和事件的產(chǎn)生源都可以是一樣的.之所以分成2個(gè)部分,由于中斷是需要CPU參與的,需要軟件的中斷服務(wù)函數(shù)才能完成中斷后產(chǎn)生的結(jié)果;但是事件,是靠脈沖發(fā)生器產(chǎn)生一個(gè)脈沖,進(jìn)而由硬件自動(dòng)完成這個(gè)事件產(chǎn)生的結(jié)果,當(dāng)然相應(yīng)的聯(lián)動(dòng)部件需要先設(shè)置好,比如引起DMA操作,AD轉(zhuǎn)換等;

簡(jiǎn)單舉例:外部I/O觸發(fā)AD轉(zhuǎn)換,來(lái)測(cè)量外部物品的重量;如果使用傳統(tǒng)的中斷通道,需要I/O觸發(fā)產(chǎn)生外部中斷,外部中斷服務(wù)程序啟動(dòng)AD轉(zhuǎn)換,AD轉(zhuǎn)換完成中斷服務(wù)程序提交最后結(jié)果;要是使用事件通道,I/O觸發(fā)產(chǎn)生事件,然后聯(lián)動(dòng)觸發(fā)AD轉(zhuǎn)換,AD轉(zhuǎn)換完成中斷服務(wù)程序提交最后結(jié)果;相比之下,后者不要軟件參與AD觸發(fā),并且響應(yīng)速度也更塊;要是使用事件觸發(fā)DMA操作,就完全不用軟件參與就可以完成某些聯(lián)動(dòng)任務(wù)了。

總結(jié):

可以這樣簡(jiǎn)單的認(rèn)為,事件機(jī)制提供了一個(gè)完全有硬件自動(dòng)完成的觸發(fā)到產(chǎn)生結(jié)果的通道,不要軟件的參與,降低了CPU的負(fù)荷,節(jié)省了中斷資源,提高了響應(yīng)速度(硬件總快于軟件),是利用硬件來(lái)提升CPU芯片處理事件能力的一個(gè)有效方法;


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • STM32
    +關(guān)注

    關(guān)注

    2263

    文章

    10847

    瀏覽量

    353804
  • 中斷
    +關(guān)注

    關(guān)注

    5

    文章

    894

    瀏覽量

    41322
  • 事件
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    9907
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32中斷優(yōu)先級(jí)和開(kāi)關(guān)總中斷教程

    STM32中斷優(yōu)先級(jí)和開(kāi)關(guān)總中斷 教程
    發(fā)表于 11-23 18:03 ?0次下載

    STM32中斷與嵌套快速入門(mén)(NVIC)

    STM32中斷與嵌套快速入門(mén)(NVIC),喜歡的朋友可以下載來(lái)學(xué)習(xí)。
    發(fā)表于 01-15 17:45 ?41次下載

    STM32中斷管理函數(shù)

    STM32中斷管理函數(shù),感興趣的小伙伴們可以瞧一瞧。
    發(fā)表于 11-02 19:13 ?15次下載

    6410中斷分析,我的是tiny6410,的資料

    6410中斷分析,我的是tiny6410,的資料
    發(fā)表于 10-27 14:37 ?11次下載
    6410<b class='flag-5'>中斷</b><b class='flag-5'>分析</b>,我的是tiny6410,的資料

    中斷是什么?STM32中斷系統(tǒng)介紹和中斷配置步驟資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是中斷是什么?STM32中斷系統(tǒng)介紹和中斷配置步驟資料免費(fèi)下載。
    發(fā)表于 10-11 08:00 ?5次下載
    <b class='flag-5'>中斷</b>是什么?<b class='flag-5'>STM32</b><b class='flag-5'>中斷</b>系統(tǒng)介紹和<b class='flag-5'>中斷</b>配置步驟資料免費(fèi)下載

    STM32中斷及FreeRTOS中斷優(yōu)先級(jí)配置

    STM32中斷,及FreeRTOS中斷優(yōu)先級(jí)配置
    的頭像 發(fā)表于 03-04 11:45 ?8729次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>中斷</b>及FreeRTOS<b class='flag-5'>中斷</b>優(yōu)先級(jí)配置

    STM32關(guān)全局中斷的方法 STM32中斷類型

    STM32中斷很強(qiáng)大,STM32中斷可以嵌套,任何外設(shè)都可以產(chǎn)生中斷,其中中斷和異常是等價(jià)的。
    的頭像 發(fā)表于 07-22 10:52 ?2.8w次閱讀

    stm32f103中斷總結(jié)很詳細(xì)

    stm32f103中斷總結(jié)很詳細(xì)
    發(fā)表于 11-24 17:06 ?28次下載
    <b class='flag-5'>stm32</b>f103<b class='flag-5'>中斷</b>總結(jié)很詳細(xì)

    STM32中斷與DMA通信編程

    一、STM32中斷使用NVIC 中斷優(yōu)先級(jí)管理Nested Vectored Interrupt Controller,嵌套向量中斷控制器。CM3支持256個(gè)
    發(fā)表于 12-07 10:51 ?7次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>中斷</b>與DMA通信編程

    STM32中斷與DMA通信編程

    STM32中斷與DMA通信編程中斷模式編程CubeMx創(chuàng)建項(xiàng)目Keil修改代碼串口中斷cubeMX創(chuàng)建項(xiàng)目Keil修改代碼DMA方式Keil修改代碼總結(jié)參考
    發(fā)表于 12-24 19:06 ?10次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>中斷</b>與DMA通信編程

    STM32中斷原理

    、STM32CubeMX中斷串口通信3.1 項(xiàng)目?jī)?nèi)容3.2 工程設(shè)置3.3 代碼實(shí)操3.4 效果展示四、參考文獻(xiàn)本篇博客內(nèi)容包括 :1.介紹STM32
    發(fā)表于 12-24 19:11 ?17次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>中斷</b>原理

    stm32中斷初識(shí)與實(shí)踐(上)

    stm32中斷的講解我分為兩部分,即兩篇文章,上半部分做一個(gè)總結(jié)性的概覽,有一個(gè)初步認(rèn)識(shí),下半部分會(huì)通過(guò)一個(gè)實(shí)例來(lái)講解中斷的應(yīng)用。本文即為上半部分的總結(jié)性概覽。 所謂“中斷”,通俗地講
    發(fā)表于 02-11 15:26 ?4次下載
    <b class='flag-5'>stm32</b><b class='flag-5'>中斷</b>初識(shí)與實(shí)踐(上)

    STM32中斷系統(tǒng)的工作流程

    管理核心的STM32中斷系統(tǒng)有一個(gè)初步的了解,明白中斷的一些基本概念以及STM32中斷系統(tǒng)的一個(gè)大致的工作流程。 這一篇主要對(duì)
    的頭像 發(fā)表于 06-22 09:17 ?2321次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>中斷</b>系統(tǒng)的工作流程

    為什么有些STM32中斷沒(méi)有子優(yōu)先級(jí)?

    看到一個(gè)交流群在討論關(guān)于【關(guān)于STM32中斷優(yōu)先級(jí)的話題】,其中就有小伙伴提到:為什么有些STM32中斷沒(méi)有【子優(yōu)先級(jí)】?
    的頭像 發(fā)表于 10-17 15:50 ?762次閱讀
    為什么有些<b class='flag-5'>STM32</b><b class='flag-5'>中斷</b>沒(méi)有子優(yōu)先級(jí)?

    stm32中斷怎么處理的

    STM32是一款非常強(qiáng)大的微控制器系列,具有豐富的外設(shè)和功能。中斷STM32非常重要的部分,能夠幫助我們提高系統(tǒng)的響應(yīng)速度和效率。本文將詳細(xì)介紹
    的頭像 發(fā)表于 01-02 17:35 ?2321次閱讀