性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

電源漫談
認(rèn)證:優(yōu)質(zhì)創(chuàng)作者
作者動(dòng)態(tài)
數(shù)字電源控制器大電流I/O pin特性解析
2024-01-03 08:17
SiC功率器件的H3TRB測(cè)試規(guī)范解析
2024-01-03 08:15
SiC MOSFET柵極電阻的影響分析
2024-01-03 08:14

MCU中斷處理的那些事(一)

大家好,我是電源漫談,很高興和各位一起分享我的35原創(chuàng)文章,喜歡和支持我的工程師,一定記得給我點(diǎn)贊、收藏、分享。

MCU在正常的運(yùn)行中,總是會(huì)遇到一些突然發(fā)生的事情,這些事情往往是MCU的硬件驅(qū)動(dòng)的,和MCU的運(yùn)行是異步關(guān)系的一些高優(yōu)先級(jí)事件,這些事件可以打斷MCU的正常代碼運(yùn)行,從而去操作另外的事情,這個(gè)事件就是中斷,它需要去做的事情就是中斷服務(wù)程序ISR.打個(gè)比方,一個(gè)人正在工作,突然口渴了想喝水,那么"喝水"這個(gè)比"工作"更優(yōu)先的事件就可以打斷工作。本文主要針對(duì)16MCUDSC的中斷處理系統(tǒng)進(jìn)行一些討論。

圖1 中斷向量的位置及執(zhí)行示意圖

首先我們簡(jiǎn)要介紹一下中斷處理系統(tǒng)。16MCU有一個(gè)中斷向量系統(tǒng),這個(gè)向量系統(tǒng)可以支持高達(dá)8個(gè)不可maskTraps源,及高達(dá)246個(gè)普通中斷源。有人會(huì)問(wèn),什么是Traps源?這里其實(shí)就是如前面所描述的那樣,它是不可屏蔽的中斷,這些中斷可以表示一些硬件或者軟件上的故障發(fā)生。

在這些芯片中,每一個(gè)中斷源都可以指定為7個(gè)不同的優(yōu)先級(jí),即從0-7的優(yōu)先級(jí)。大家都知道進(jìn)到中斷和出中斷是需要時(shí)間的,一般而言,基本的進(jìn)入中斷的延時(shí)為3個(gè)指令周期,而出中斷延時(shí)為四個(gè)指令周期。這就是16MCUDSC的中斷處理系統(tǒng)的一個(gè)基本認(rèn)識(shí)。

每一個(gè)中斷源,都可以觸發(fā)一個(gè)獨(dú)立的代碼段的執(zhí)行,這個(gè)獨(dú)立的代碼段就稱(chēng)之為中斷服務(wù)程序ISR,而每一個(gè)ISR代碼的起始地址是存儲(chǔ)在芯片Flash的主中斷向量表中,即IVT中。這里需要注意的是,每一個(gè)中斷向量都是一個(gè)24位的地址。

圖2 芯片F(xiàn)LASH存儲(chǔ)的中斷向量表及輔助中斷向量表

從上圖2可以看出,在MCU內(nèi)部,用戶的代碼是放在中斷向量表之后的,同時(shí),我們也可以看出,除了中斷向量表IVT之外,有的芯片還存在一個(gè)輔助中斷向量表AIVT.

圖3 輔助中斷向量的作用

輔助中斷向量AIVT的主要作用是提供一種在不同應(yīng)用之間切換的方式,這種切換不需要重新編程中斷向量,另一種情況,比如說(shuō)評(píng)估采用不同的軟件算法的兩個(gè)應(yīng)用的切換等。

圖4 輔助中斷向量的定義和使能

當(dāng)定義了Boot Segment后,并且AIVT使能之后,輔助中斷向量AIVT才可以使用。除了在配置位AIVTDIS上使能AIVT之外,還需要在特殊功能寄存器INTCON2中的AIVTEN位來(lái)使能它。當(dāng)使能AIVT后,所有的中斷和中斷處理過(guò)程都會(huì)使用AIVT而不是用IVT了,這一點(diǎn)需要注意。

圖5 輔助中斷向量表的FLASH位置

圖6 輔助中斷向量的位置

AIVTFLASH中的位置起始于Boot Segment的最后一個(gè)PAGE的第一個(gè)半頁(yè),這個(gè)起始位置由BSLIM來(lái)定義(具體某一個(gè)中斷向量的地址由頁(yè)地址和偏移地址決定),如圖5所示。第二個(gè)半頁(yè)實(shí)際上是不可以使用的,這里需要注意BSLIM的單位是PAGE。

圖7 Boot Segment和AIVT的關(guān)系

圖8 BOOT Segment中AIVT的實(shí)現(xiàn)

這里我們舉例說(shuō)明,當(dāng)我們?cè)O(shè)置三個(gè)PAGE作為BOOT Segment時(shí),這里將設(shè)置BSLIM<12:0>0x1FFC,最低的兩位是0,確保實(shí)現(xiàn)3個(gè)PAGE.具體的FLASH的位置在圖7中可以了解。

總結(jié),以上初步介紹了16MCU的中斷處理系統(tǒng)的一些基本的特性,后面我們將繼續(xù)介紹這一話題。

聲明:本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表電子星球立場(chǎng)。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請(qǐng)聯(lián)系:editor@netbroad.com
覺(jué)得內(nèi)容不錯(cuò)的朋友,別忘了一鍵三連哦!
贊 4
收藏 3
關(guān)注 434
成為作者 賺取收益
全部留言
0/200
成為第一個(gè)和作者交流的人吧