吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

S3C2440的中斷寄存器的分類及中斷的過程分析

電子設計 ? 作者:電子設計 ? 2018-11-27 07:37 ? 次閱讀

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

1 S3C2440的中斷寄存器

中斷分兩大類:外部中斷和內部中斷。

1.1 外部中斷寄存器

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

寄存器:

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

EINTFLT0-EINTFLT3:控制濾波時鐘和濾波寬度。

EINTPEND:這個是中斷掛起寄存器,清除時要寫1,后面還有幾個是寫1清除。當一個外部中斷(EINT4-EINT23)發生后,那么相應的位會被置1。為什么沒有EINT0-EINT3,因為它們分別由SRCPND寄存器的后4位控制。

EINTMASK:這個簡單,是屏蔽中斷用的,也就是說位為1時,此次中斷無效。

1.2 內部中斷寄存器

內部中斷有8個寄存器。

寄存器:

SUBSRCPND:當一個中斷發生后,那么相應的位會被置1,表示一個中斷發生了。

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

SRCPND:當一個中斷發生后,那么相應的位會被置1,表示一個或一類中斷發生了。

INTMSK:用來屏蔽SRCPND寄存器所標識的中斷。但只能屏蔽IRQ中斷,不能屏蔽FIQ中斷。

INTMOD:當INTMOD中某位被設置為1時,它對應的中斷被設為FIQ,CPU將進入快速中斷模式。

PRIORITY:用于設置IRQ中斷的優先級。具體使用方法可參考芯片手冊。

INTPND:中斷優先級仲裁器選出優先級最高中斷后,這個中斷在INTPND寄存器中的相應位被置1,隨后,CPU進入中斷模式處理它。同一時間內,此寄存器只有一位被置1。

INTOFFSET:用來表示INTPND寄存器中哪位被置1了,即記錄INTPND中位[x]為1的位x的值。清除INTPND、SRCPND時自動清除。

S3C2440的中斷寄存器的分類及中斷的過程分析

1.3 各寄存器關系:

2 中斷過程

2.1 內部中斷過程

a 如果是不帶子中斷的內部中斷:發生后SRCPND相應位置1,如果沒有被INTMSK屏蔽,那么等待進一步處理。

b 如果是帶子中斷的內部中斷:發生后SUBSRCPND相應位置1,如果沒有被INTSUBMSK屏蔽,那么SRCPND相應位置1,等待進一步處理,幾個SUBSRCPND可能對應同一個SRCPND,對應表如下:

S3C2440的中斷寄存器的分類及中斷的過程分析

2.2 外部中斷過程

a 如果是外部中斷:EINT0-EINT3發生后SRCPND相應位置1,如果沒有被INTMSK屏蔽,那么等待進一步處理。EINT4-EINT23發生后EINTPEND相應位置1,如果沒有被EINTMASK屏蔽,那么SRCPND相應位EINT4-7 或EINT8-23置1,如果沒有被INTMSK屏蔽,等待進一步處理,幾個EINTPEND對應同一個SRCPND,對應表如下:

S3C2440的中斷寄存器的分類及中斷的過程分析

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

2.3 中斷的開啟

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

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

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

2.4 中斷的清除

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

b 如果是帶子中斷的內部中斷,需清除SRCPND和SUBSRCPND,注意先清除SUBSRCPND,再清除SRCPND。因為,如果你先清除SRCPND的話,然后在清除SUBSRCPND的過程中,SRCPND會以為又有中斷發生,又會置1。也就是說一次中斷會響應兩次。所以必須先掐斷源頭。

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5363

    瀏覽量

    121162
  • 濾波
    +關注

    關注

    10

    文章

    669

    瀏覽量

    56773
  • 中斷
    +關注

    關注

    5

    文章

    900

    瀏覽量

    41752
收藏 人收藏

    評論

    相關推薦

    深圳嵌入式學習為你破解ARM中斷寄存器

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

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

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

    為你破析ARM中斷寄存器

    S3C2440中斷寄存器:1.中斷分兩大類:內部中斷和外部中斷。2.外部中斷。24個外部
    發表于 09-26 16:57

    S3C2440存儲控制的相關寄存器

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

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

    )。清除SRCPND、INTPND寄存器時,INTOFFSET寄存器被自動清除。★S3C2410提供了以下外部中斷控制寄存器。24個外部
    發表于 08-30 08:28

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

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

    EXTI外部中斷寄存器

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

    s3c2440 pdf datasheet

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

    s3c2440 mmc和camera的linux驅動

    本站提供的s3c2440 mmc和camera的linux驅動資料,詳細講訴了s3c2440 mmc和camera的linux驅動的步驟,希望對你的學習有所幫助。
    發表于 05-25 15:53 ?54次下載
    <b class='flag-5'>s3c2440</b> mmc和camera的linux驅動

    s3c2440芯片中文手冊

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

    C51中斷寄存器

    C語言 中斷寄存器 學習單片機的可以看看,詳細資料可以去別的地方看
    發表于 06-27 14:41 ?2次下載

    裸機學習s3c2440

    裸機學習s3c2440
    發表于 10-13 14:23 ?29次下載
    裸機學習<b class='flag-5'>s3c2440</b>

    如何選擇51單片機的中斷寄存器

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

    S3C2440如何設置系統時鐘

    S3C2440如何設置系統時鐘 S3C2440是一款嵌入式處理,屬于SAMSUNG公司的ARM9系列。系統時鐘是嵌入式系統中非常重要的一個參數,它決定了系統的計算速度和精度,是系統穩定性的關鍵因素
    的頭像 發表于 09-02 15:12 ?1092次閱讀

    s3c2410中斷控制模塊的中斷源狀態寄存器是?

    S3C2410是一款由三星電子公司設計的具有多種功能的嵌入式處理。其中的中斷控制模塊用于管理系統的中斷請求和中斷服務程序。在
    的頭像 發表于 01-05 17:28 ?810次閱讀
    钱柜百家乐官网娱乐城| 百家乐色子玩法| 玩百家乐五湖四海娱乐城| 大发888的比赛怎么报名| 百家乐官网龙虎斗扎金花| 百家乐官网赢钱打| 最新百家乐网评测排名| 大发888娱乐场下载ypu rd| 来博百家乐官网游戏| 百家乐官网冼牌机| 顶级赌场 官方直营网络赌场| 在线百家乐官网博彩网| 网上百家乐官网内幕| 百家乐赌博器| 哈尔滨百家乐官网赌场| 百家乐偷吗| 南溪县| 金盈会百家乐官网现金网| 百家乐娱乐用品| 中西区| 唐人街百家乐官网的玩法技巧和规则| 天猫百家乐娱乐城| 百家乐官网投注法| 最新百家乐的玩法技巧和规则| 澳门百家乐官网21点| 百家乐赌博论坛| 百家乐官网怎样概率大| 金博士百家乐娱乐城| 百家乐官网真人大头贴| 百家乐怎么才能| 菲律宾百家乐官网试玩| 金樽百家乐的玩法技巧和规则 | 属狗与属鸡做生意| 威廉希尔| 大杀器百家乐官网学院| 永利高现金网| 金木棉百家乐官网网络破解| 威尼斯人娱乐城最新网址| 百家乐官网网上漏洞| 大发888 大发国际| 做生意的风水朝向|