- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
K60芯片NVIC模块中断相关寄存器配置以及应用举例
飞思卡尔 Kinetis芯片中 NVIC模块的中断寄存器的介绍及其应用举例
喻宁宁
IMM 现场应用工程师
飞思卡尔半导体
一、NVIC 模块的中断寄存器简介
嵌套式向量中断控制器(NVIC)是 Cortex内核不可分割的一部分,它与 CPU紧密结
合,可对系统异常和外设中断进行控制。如图 1所示,NVIC右端连接到各个外围模块,
负责对外设中断进行处理;左端连接到内核,负责对内核系统异常进行处理。本文重点介
绍 NVIC对外围模块的中断控制。通常,在配置某个外围模块的中断功能时,除了需要设
置此模块本身的寄存器中的中断使能位外,还需要配置 NVIC模块中对应的中断控制寄存
器,系统才会响应此外围模块的中断请求。
图 1 NVIC的连接框图
ARM Cotex-M4的 NVIC模块中相关寄存器的地址、名称、功能描述如图 2所示,它
们可分为两种类型:非优先级中断寄存器(non-IPR register)和优先级中断寄存器(IPR
register)。其中,非优先级中断寄存器有以下几种:
NVICISERx:中断使能设置寄存器;
NVICICERx:中断使能清除寄存器;
NVICISPRx:中断挂起设置寄存器;
NVICICPRx:中断挂起清除寄存器;
NVICIABRx;中断激活状态寄存器;
其中 x为 0 - 7,称为寄存器的组号,表示每种寄存器都有 8个。这些寄存器都是 32位
的。因此,如果每一位控制一个中断源,则可以分别控制 256个中断源。通常,
NVICISERx(中断使能设置寄存器)用于去使能某个中断,而 NVICICPRx(中断挂起清
除寄存器)用于配合 NVICISERx寄存器来使能这个中断;NVICIABRx(中断激活状态寄
存器)为只读寄存器,用于判断某个中断是否处于激活的状态。
图 2 NVIC寄存器描述
而优先级中断寄存器只有一种: NVICIPRx,用于设定每个中断源的优先级。从图 3
可以看到,每个中断源的优先级控制字要占用 4位,再加上保留位,则每个 32位的寄存
器可以配置 4个中断源的优先级。因此,如果要配置 256个中断源的优先级,则需要 256
÷ 4 = 64个 32位的寄存器。但是 Kinetis系列 MCU的中断源一般都没有这么多,也就不需
要这么多的寄存器。
图 3 中断优先级控制寄存器位域分布
下面以 K60为例进行具体说明。K60支持 16级中断控制,所以在 NVIC中,对应于不
同的中断源,在优先级中断寄存器 NVICIPRx中都有 4个相应的位来控制其优先级,另外
还有 4位是保留位,如图 3所示。
从图 2可以看出,每种非优先级中断寄存器都是一个包含 8个 32位寄存器的寄存器组。
那么在应用过程中,对应于 K60的 90多种不同的中断源,应该配置这些寄存器组中的哪
一个寄存器(组号)和该 32位寄存器的那一位(位号)呢?简单来说,就是组号和位号
的确定。例如 NVICICER2[21],它的组号就是 2,位号就是 21。这就需要借助芯片厂商在
CPU中为不同中断源定义的中断请求号 IRQ。需要特别注意的是,中断向量号和中断请求
号 IRQ号不同,中断请求号 IRQ = 中断向量号-16,因为有 16个 ARM内核中断请求是没
有分配 IRQ号的。在 K60的 Reference Manual 的 P74页可以看到 CPU中断向量分配表,
定义了各种不同的中断源所对应的中断入口地址、中断向量号、中断请求号、寄存器号以
及彼此之间的关系,如图 4所示。
图 4 LPTMR中断向量的分配
这里结合 K60的中断向量分配表,以 LPTMR(低功耗定时器)模块为例介绍一下
NVIC寄存器的配置。LPTMR模块的中断向量分配如图 4所示,可以看到 LPTMR中断入
口地址为 0x0000_0194,中断向量号为 101,中断请求号 IRQ为 85。那么如何确定配置
LPTMR中断所对应的 NVIC寄存器的组号和位号呢?即 LPTMR使用 NVIC寄存器组中的
哪一个寄存器,以及该寄存器的哪个位呢?它们又和中断向量号 IRQ有什么关系呢,下面
分非优先级中断寄存器和优先级中断寄存器分别介绍。
对于非优先级中断寄存器,如上面提到的 NVICISERx、NVICICERx、NVICSPRx、
NVICCPRx以及 NVICABRx,组号的计算公式为 IRQ / 32,所以可以得到 LPTMR的
NVIC非优先级中断寄存器的组号为 85 / 32 = 2,从而得到 LPTMR需要使用的非优先级中
断寄存器为 NVICISER2、 NVICICER2、 NVICISPR2、N
您可能关注的文档
- How to find the main idea of a paragraph.doc
- How to be healthy.ppt
- HOW TO MAKE AN EFFECTIVE SPEECH.ppt
- How to Split a Flow_.pdf
- how to be a succesful man.pptx
- How to use Elcomsoft Advanced Attacks - Powered by Kayako Help Desk Software.pdf
- HOW TO MAKE MY FAVORITE FOOD.ppt
- How+to+use+RSS+to+track+literature.ppt
- HP-UX Fibre Channel (fcd, fclp) and FlexFabric FCoE (fcoc) Host Bus Adapter Support Matrix, March 25.pdf
- HP StorageWorks MSL2024 Tape Library getting started (AK378-96028, March 2010).pdf
- Kadoorie Farm and Botanic Garden CorporationNative Tree Nursery.pdf
- Kang 2013 QI Extreme drought events.pdf
- keep dialects alive.pptx
- Kapustin - Variations, Op. 41.pdf
- Keep The Drive Alive.pdf
- kellog essay crack.ppt
- KEEPING OPTIMISTIC.pptx
- keynote_narahari_talk_basna-15dec2010.pdf
- KF系列安全栅应用选型简明手册.pdf
- Keys to u3.ppt
最近下载
- 3DMax中英文对照表2.doc
- 2024年四川省德阳市中考生物试题卷(含答案解析).docx
- 苏教版四下简便计算练习题.doc VIP
- 北京市第一零一中学2023-2024学年八年级下学期期中数学试题(原卷版).pdf VIP
- 2025年单招生活常识题目答案大全 .pdf VIP
- 湖北省武汉市2025届高三上学期元月调考数学试题(学生版+解析版).docx
- 卡萨帝 洗衣机 双子云裳洗干一体机 C8 HU12G1 使用说明.pdf
- 2023届高考英语新时政热点阅读 10 人工智能(含解析).docx
- 马尔测长仪使用说明ULM Manual_Chinese.pdf VIP
- OA系统运维项目方案.docx VIP
文档评论(0)