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

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

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

S3C2440的中斷寄存器的分類(lèi)及中斷的過(guò)程分析

電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2018-11-27 07:37 ? 次閱讀

S3C2440一共有60個(gè)中斷源,其中有15個(gè)子中斷源,它們與SUBSRCPND寄存器中的每一位相對(duì)應(yīng),其他45個(gè)中斷源與SRCPND中的每一位相對(duì)應(yīng)。要注意的是EINT4~7對(duì)應(yīng)的是同一位SRCPND,而EINT8~23對(duì)應(yīng)的也是SRCPND一位。

1 S3C2440的中斷寄存器

中斷分兩大類(lèi):外部中斷和內(nèi)部中斷。

1.1 外部中斷寄存器

24個(gè)外部中斷占用GPF0-GPF7(EINT0-EINT7),GPG0-GPG15(EINT8-EINT23)。用這些腳做中斷輸入,則必須配置引腳為中斷,并且不要上拉。具體可參考datesheet數(shù)據(jù)手冊(cè)。

寄存器:

EXTINT0-EXTINT2:分別設(shè)置EINT0—EINT7、EINT8—EINT15、EINT16—EINT23的觸發(fā)方式(高電平觸發(fā)、低電平觸發(fā)、下降沿觸發(fā)、上升沿觸發(fā))。

EINTFLT0-EINTFLT3:控制濾波時(shí)鐘和濾波寬度。

EINTPEND:這個(gè)是中斷掛起寄存器,清除時(shí)要寫(xiě)1,后面還有幾個(gè)是寫(xiě)1清除。當(dāng)一個(gè)外部中斷(EINT4-EINT23)發(fā)生后,那么相應(yīng)的位會(huì)被置1。為什么沒(méi)有EINT0-EINT3,因?yàn)樗鼈兎謩e由SRCPND寄存器的后4位控制。

EINTMASK:這個(gè)簡(jiǎn)單,是屏蔽中斷用的,也就是說(shuō)位為1時(shí),此次中斷無(wú)效。

1.2 內(nèi)部中斷寄存器

內(nèi)部中斷有8個(gè)寄存器。

寄存器:

SUBSRCPND:當(dāng)一個(gè)中斷發(fā)生后,那么相應(yīng)的位會(huì)被置1,表示一個(gè)中斷發(fā)生了。

INTSUBMSK:與上一個(gè)是一樣的,中斷屏蔽寄存器。

SRCPND:當(dāng)一個(gè)中斷發(fā)生后,那么相應(yīng)的位會(huì)被置1,表示一個(gè)或一類(lèi)中斷發(fā)生了。

INTMSK:用來(lái)屏蔽SRCPND寄存器所標(biāo)識(shí)的中斷。但只能屏蔽IRQ中斷,不能屏蔽FIQ中斷。

INTMOD:當(dāng)INTMOD中某位被設(shè)置為1時(shí),它對(duì)應(yīng)的中斷被設(shè)為FIQ,CPU將進(jìn)入快速中斷模式。

PRIORITY:用于設(shè)置IRQ中斷的優(yōu)先級(jí)。具體使用方法可參考芯片手冊(cè)。

INTPND:中斷優(yōu)先級(jí)仲裁器選出優(yōu)先級(jí)最高中斷后,這個(gè)中斷在INTPND寄存器中的相應(yīng)位被置1,隨后,CPU進(jìn)入中斷模式處理它。同一時(shí)間內(nèi),此寄存器只有一位被置1。

INTOFFSET:用來(lái)表示INTPND寄存器中哪位被置1了,即記錄INTPND中位[x]為1的位x的值。清除INTPND、SRCPND時(shí)自動(dòng)清除。

S3C2440的中斷寄存器的分類(lèi)及中斷的過(guò)程分析

1.3 各寄存器關(guān)系:

2 中斷過(guò)程

2.1 內(nèi)部中斷過(guò)程

a 如果是不帶子中斷的內(nèi)部中斷:發(fā)生后SRCPND相應(yīng)位置1,如果沒(méi)有被INTMSK屏蔽,那么等待進(jìn)一步處理。

b 如果是帶子中斷的內(nèi)部中斷:發(fā)生后SUBSRCPND相應(yīng)位置1,如果沒(méi)有被INTSUBMSK屏蔽,那么SRCPND相應(yīng)位置1,等待進(jìn)一步處理,幾個(gè)SUBSRCPND可能對(duì)應(yīng)同一個(gè)SRCPND,對(duì)應(yīng)表如下:

S3C2440的中斷寄存器的分類(lèi)及中斷的過(guò)程分析

2.2 外部中斷過(guò)程

a 如果是外部中斷:EINT0-EINT3發(fā)生后SRCPND相應(yīng)位置1,如果沒(méi)有被INTMSK屏蔽,那么等待進(jìn)一步處理。EINT4-EINT23發(fā)生后EINTPEND相應(yīng)位置1,如果沒(méi)有被EINTMASK屏蔽,那么SRCPND相應(yīng)位EINT4-7 或EINT8-23置1,如果沒(méi)有被INTMSK屏蔽,等待進(jìn)一步處理,幾個(gè)EINTPEND對(duì)應(yīng)同一個(gè)SRCPND,對(duì)應(yīng)表如下:

S3C2440的中斷寄存器的分類(lèi)及中斷的過(guò)程分析

三種中斷都等待進(jìn)一步處理了。接下來(lái)從SRCPND往下看,看INTMSK。如果中斷被屏蔽了,就不用說(shuō)了(注意:快中斷也能被屏蔽)。如果沒(méi)有被屏蔽,那么會(huì)進(jìn)一步到INTMOD。如果是快中斷,那么直接出來(lái),進(jìn)入FIQ(即CPU進(jìn)入快中斷模式處理)。如果是普通中斷,那么SRCPND可以有多為置1(FIQ只能有一個(gè)),這時(shí)就會(huì)經(jīng)過(guò)PRIORITY選出一個(gè)優(yōu)先級(jí)高的,然后把根據(jù)選出的中斷把INTPND相應(yīng)位置1(注意:只能選出一個(gè)),進(jìn)入IRQ,讓CPU處理。

2.3 中斷的開(kāi)啟

a.如果是不帶子中斷的內(nèi)部中斷,只需設(shè)置INTMSK,讓它不屏蔽中斷就可以了。

b 如果是帶子中斷的內(nèi)部中斷,需設(shè)置INTSUBMSK和INTMSK,讓它們不屏蔽中斷就可以了。

c 如果是外部中斷,對(duì)于EINT8-23需要設(shè)置EINTMASK和INTMSK。對(duì)于EINT0-EINT3只需設(shè)置INTMSK。

2.4 中斷的清除

a.如果是不帶子中斷的內(nèi)部中斷,只需清除SRCPND,注意清除需位置1。

b 如果是帶子中斷的內(nèi)部中斷,需清除SRCPND和SUBSRCPND,注意先清除SUBSRCPND,再清除SRCPND。因?yàn)?,如果你先清除SRCPND的話(huà),然后在清除SUBSRCPND的過(guò)程中,SRCPND會(huì)以為又有中斷發(fā)生,又會(huì)置1。也就是說(shuō)一次中斷會(huì)響應(yīng)兩次。所以必須先掐斷源頭。

c 如果是外部中斷,對(duì)于EINT8-23需要清除EINTPEND和SRCPND(同樣注意順序)。對(duì)于EINT0-EINT3只需清除SRCPND。

聲明:本文內(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)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5253

    瀏覽量

    119206
  • 濾波
    +關(guān)注

    關(guān)注

    10

    文章

    652

    瀏覽量

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

    關(guān)注

    5

    文章

    889

    瀏覽量

    41220
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    深圳嵌入式學(xué)習(xí)為你破解ARM中斷寄存器

    EINT8-23需要清除EINTPEND和SRCPND(同樣注意順序)。對(duì)于EINT0-EINT3只需清除SRCPND。深圳專(zhuān)業(yè)嵌入式ARM、Linux技術(shù)實(shí)訓(xùn),課程顧問(wèn):郭老師 QQ754634522本文詳細(xì)分析S3C2440
    發(fā)表于 11-11 15:39

    教你如何設(shè)置S3C2440時(shí)鐘

    S3C2440 的時(shí)鐘設(shè)置時(shí)間:一個(gè)嵌入式系統(tǒng)中,晶振就像心臟。必須先確定晶振,設(shè)置好系統(tǒng)的時(shí)鐘, WDT,UART,PWM,TIMER 等模塊才能正常工作。 和51 系列單片機(jī)相比,S3C2440
    發(fā)表于 11-12 11:17

    S3C2440 中斷服務(wù)程序的寄存器SRCPND、INTPND配置

    本帖最后由 zhaxidelebsz 于 2014-4-21 15:56 編輯 大家都知道,S3C2440 中斷系統(tǒng)的寄存器配置中,為了在下次能正確的得到同一個(gè)中斷源的
    發(fā)表于 04-21 15:54

    為你破析ARM中斷寄存器

    S3C2440中斷寄存器:1.中斷分兩大類(lèi):內(nèi)部中斷和外部中斷。2.外部中斷。24個(gè)外部
    發(fā)表于 09-26 16:57

    S3C2440存儲(chǔ)控制的相關(guān)寄存器

    S3C2440存儲(chǔ)控制(memory controller)的寄存器使用
    發(fā)表于 09-24 14:25

    講下中斷寄存器(1)【2440

    )。清除SRCPND、INTPND寄存器時(shí),INTOFFSET寄存器被自動(dòng)清除?!?b class='flag-5'>S3C2410提供了以下外部中斷控制寄存器。24個(gè)外部
    發(fā)表于 08-30 08:28

    講下中斷寄存器(2)【2440

    2440中斷寄存器邏輯梳理如下:1.中斷分為兩大類(lèi)(1)外部中斷24個(gè)外部中斷占用GPF0-GPF7(EINT0-EINT7),GPG0-G
    發(fā)表于 08-30 08:35

    EXTI外部中斷寄存器

    EXTI 外部中斷寄存器...
    發(fā)表于 08-16 08:38

    s3c2440 pdf datasheet

    s3c2440 pd
    發(fā)表于 07-10 23:45 ?571次下載

    s3c2440芯片中文手冊(cè)

    ARM s3c2440中文手冊(cè),包括芯片信息,寄存器指令格式,外設(shè)信息,接口等等。
    發(fā)表于 04-06 11:45 ?4次下載

    C51中斷寄存器

    C語(yǔ)言 中斷寄存器 學(xué)習(xí)單片機(jī)的可以看看,詳細(xì)資料可以去別的地方看
    發(fā)表于 06-27 14:41 ?2次下載

    裸機(jī)學(xué)習(xí)s3c2440

    裸機(jī)學(xué)習(xí)s3c2440
    發(fā)表于 10-13 14:23 ?29次下載
    裸機(jī)學(xué)習(xí)<b class='flag-5'>s3c2440</b>

    如何選擇51單片機(jī)的中斷寄存器

    首先介紹一下51的寄存器組:通過(guò)設(shè)置PSW寄存器的第3位和第4位可以任意切換寄存器組。在進(jìn)入中斷前,切換
    發(fā)表于 04-17 17:27 ?0次下載
    如何選擇51單片機(jī)的<b class='flag-5'>中斷寄存器</b>組

    S3C2440如何設(shè)置系統(tǒng)時(shí)鐘

    S3C2440如何設(shè)置系統(tǒng)時(shí)鐘 S3C2440是一款嵌入式處理,屬于SAMSUNG公司的ARM9系列。系統(tǒng)時(shí)鐘是嵌入式系統(tǒng)中非常重要的一個(gè)參數(shù),它決定了系統(tǒng)的計(jì)算速度和精度,是系統(tǒng)穩(wěn)定性的關(guān)鍵因素
    的頭像 發(fā)表于 09-02 15:12 ?827次閱讀

    s3c2410中斷控制模塊的中斷源狀態(tài)寄存器是?

    S3C2410是一款由三星電子公司設(shè)計(jì)的具有多種功能的嵌入式處理。其中的中斷控制模塊用于管理系統(tǒng)的中斷請(qǐng)求和中斷服務(wù)程序。在
    的頭像 發(fā)表于 01-05 17:28 ?512次閱讀