- 本课程为精品课,您可以登录eeworld继续观看:
- MSP432产品培训(二):中断管理
- 登录
- 课程目录
- 相关资源
- 课程笔记
接下来我们看一下Cortex-M
这个内核当中一个独有的可嵌套的一个中断向量管理器NVIC一些具体情况
那所有的以Cortex-M内核2架构为内核的微控制器
它所有的中断处理都要通过这个NVIC来进行
那NVIC将整个系统当中的所有的事件分为异常和中断两种
那我们的432产品 它支持7个异常和71个中断
那所有的中断它分成了8个可编程的优先级组
它是一个组
然后在组里面还可以区分优先级
那我们在进入中断和退出中断的时候呢
我们硬件是自动对环境进行保持和恢复的
我们会保存一些内核寄存器一些链接寄存器状态 以及PC指针
这些信息都会由硬件来自动进行出站入站管理
并且产生中断的时候 硬件也是自动载入一个向量表的中断服务程序地址
那我们这个中断管理也是支持一个可嵌套可占据的
这样的一个中断性能
另外我们非常有特色的一点呢我们称之为尾链技术
那尾链技术什么意思呢
就是我们进出中断的时间
它是拥有一个可确定性
就是我们产生了中断
我们需要进行环境的保存
然后是中断服务程序的掉路
那所有这些过程在我们Cortex-M的架构下
永远是12个周期进入中断
退出中断也是12个周期
这是没有产生尾链的情况
如果产生尾链 所谓的尾链就是我们在处理一个中断的时候呢
这个中断被打断了对另外一个中断抢占了
那么我们需要从这个中断来切换到另外一个中断的服务程序的时候
同样要进行当前的环境的保存和恢复
那这个被抢断的情况下 我们进出中断的时间是6个周期
这都是一个非常短的时间并且它是一个可确定性的时间
那它对于一些实时性要求比较高的应用来说是一个非常有意义的特色
那我们这里具体看一下尾链
假设我们系统当中有两个中断 一个IRQ1 一个是IRQ2
然后这两个中断它同时发生了
那由于IRQ1的它的优先级 高于IRQ2
那我们系统就将先执行IRQ1的中断服务程序
接着执行IRQ2的中断服务程序
那我们看到这个列表 第一行是我们传统的处理器
它将进行的一个出入站管理
首先是push 我们把需要保存的寄存器信息 PCB信息把它压榨
进行push
然后执行IRQ1的中断程序
等执行完了之后 我们把入站的东西pop出来
接着我们去执行第二个中断之前我们同样进行这个push操作
实际上我们等于把刚刚pop出来的寄存器或输出来数据 我重新把它压榨
然后执行ISR2中断2的服务程序
最后等完毕之后 我们再把压榨的内容pop出来
这是传统的控制器它会进行的中断处理
那来看一下我们新的有尾链技术的Cortex-M4内核它是怎么处理
首先当然要push把要保存的环境变量来把它入站
这个push 我们刚才说了是一个固定周期的 它是12个cycles
固定周期的一个入站过程
入站之后我们就执行ISR1等ISR1执行完毕之后呢
它不会pop 因为我们pop之后我们要执行ISR2
那我们出站的这些东西我们又要把它重新入站
这段时间其实是可以节省的
如果不节省就等于又需要12个cycles 把数据pop出来
再需要12个cycles把这个数据push进去
那在尾链技术下 我们只需要6个cycles就可以从ISR1切换到ISR2来进行执行
一直到ISR这些完毕 我们再通过12个cycles把入站信息给pop出来 恢复
所以首先它的入站和出站的时间是固定的
其次它是非常节省的它一共节省了18个周期
就是原先需要24个周期来进行push和pop现在只要6个周期来进行尾链处理
我们节省了18个周期
这也是非常可观的一个实时性的性能
好 现在我们来看一下在用MSP432进行开发的时候
我们怎么样来进行这个中断向量表的处理
我们这两种方法都是可以的
一种就是我们声明整个中断向量表
这是我们比较通用的原先430产品通用的这种方法
我们在向量表当中会定义每个中断服务程序的入口地址
这些代码类似一个标准的函数它会位于用户应用程序当中
这是我们惯有的一个MSP系列产品的中断向量表的声明方法
那现在由于我们是用ARM内核
我们也可以用一种新的方法来进行中断向量表的定义
我们可以使用关键字vector这个关键字来进行中断向量表的定义
我们可以同时把中断向量和它的处理函数一起进行定义
就按照这个图上的地址示例就可以了
那可以看到 我们其实减少很多的代码处理的过程
好 第二部分关于我们Cortex-M内核这样一个简单的介绍就到此结束
谢谢大家的观看
课程介绍
共计13课时,2小时30分32秒
猜你喜欢
换一换
推荐帖子
- 【我与WEBENCH】基于TMS320VC33DSP控制板卡的电源方案对比(实物对比测试)
- 本帖最后由 fengye5340 于 2014-1-6 13:41 编辑 一、【原始方案介绍】 该DSP控制板卡采用多层板设计,已经用于项目中,工作比较稳定。首先说一下DSP器件TMS320VC33。它是美国TI公司推出的TMS320C3X系列新一代浮点式数字信号处理器。它以高速、低功耗、低成本、易于开发为显著特点。是通信、手机、MODEM、...
- fengye5340 模拟与混合信号
- 如何着手电源设计
- 本帖最后由 qwqwqw2088 于 2019-6-24 14:40 编辑 从不同方面深入介绍降压、升压和降压-升压拓扑结构。 降压转换器 图1是非同步降压转换器的原理图。降压转换器将其输入电压降低为较低的输出电压。当开关Q1导通时,能量转移到输出端。 图1:非同步降压转换器原理图 公式1计算占空比: ...
- qwqwqw2088 模拟与混合信号
- dsp与pcb
- 作为制版,这个是小不了,玩dsp肯定要和protel打交道,eda的软件可定要熟悉!先把这个话题开着,接着慢慢的丰富内容哈!...
- gaoxiao 微控制器 MCU
- 新手报道
- 我是一名MSP430学习的新手,感觉这东西好复杂,看了好多天的视频和书之后,也算有一点点的收获,可是现在遇到一个比较棘手的问题,程序的编写发现自己无法下手,大神求教...
- 七弟 微控制器 MCU