IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> DSP的中断系统 -> 正文阅读

[嵌入式]DSP的中断系统


1. 什么是中断

????中断是硬件和软件驱动事件,它使得CPU暂停当前的主程序,转而去执行一个中断服务子程序。X281x的中断系统从上至下分成了三级,即CPU级中断、PIE级中断、外设中断。

2. CPU中断

????通常中断申请信号是由外围设备提出的,表示一个特殊的时间已经发生,请求CPU暂停正在执行的主程序,去处理相应的更为紧急的事件。

2.1 CPU中断的概述

????中断的触发有两种:一种是在软件中写指令,例如INTR、OR IFR或者TRAP指令;另一种是硬件方式触发,例如来自片内外设或者外设设备的中断信号,表示某个事件已经发生。
????无论是软件中断还是硬件中断,都可以归结为可屏蔽中断和不可屏蔽中断。

中断类型中断信号特点
不可屏蔽中断INTR指令和TRAP指令、硬件中断NMI、非法指令陷阱以及硬件复位中断一旦中断申请信号发出,CPU必须无条件的立即去响应
可屏蔽中断大部分的中断CPU检查这个中断的使能情况,决定是否响应中断

????接受到中断信号后,CPU会按照以下4个步骤来处理中断:

  1. 接收中断信号:外设或者其他方式向CPU提出中断请求。
  2. 响应中断:如果是个可屏蔽中断,会检查它的使能情况,决定是否响应,如果是不可屏蔽中断,就立即响应。
  3. CPU会完整地执行当前指令,为了记住当前主程序的状态,CPU必须做一些准备工作,例如将寄存器的内容存放到堆栈。
  4. 准备工作做完之后,CPU就取回中断向量,开始执行中断服务子程序。
    在这里插入图片描述

2.2 CPU中断向量和优先级

???? X2812支持32个CPU中断,其中每一个中断都是一个32位的中断向量,即两个16位的寄存器,里面存储的是相应中断服务子程序的入口地址,这个入口地址是个22位的地址。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3 CPU中断的寄存器

在这里插入图片描述
????CPU中断里,INT1-INT14是14个通用中断,DLOGINT数据标志中断和RTOSINT实时操作系统中断是为仿真而设计的两个中断。这16个中断都是可屏蔽中断,通过CPU中断使能寄存器IER就可以实现使能或者禁止中断。

寄存器位数功能
中断使能寄存器IER16使能或者禁止可屏蔽中断
标志寄存器IFR16表示对应CPU中断是否提出请求

2.4 可屏蔽中断的响应过程

在这里插入图片描述
????可屏蔽中断的响应过程如上图所示。、

  1. 某个可屏蔽中断提出请求时,将其在IFR中的对应位置位;
  2. CPU检测到中断标志位被置位后,接着检测该中断是否被使能;
  3. 如果IER中对应位被使能,CPU检查全局中断INTM是否被使能;
  4. 如果INTM被使能,CPU响应中断,暂停主程序并转向执行相应的中断服务子程序。

2.5 X2812的PIE中断

在这里插入图片描述
????上图是DSP的中断源,CPU共有16根中断线,包括2个不可屏蔽中断RS和NMI,以及14各个可屏蔽中断INT1-INT14。

3.1 PIE中断概述

????DSP内部有很多可以产生中断的外设,为了能够及时地处理好各个外设的请求,专门增添了处理外设中断的扩展模块,简称外设中断控制器PIE。
????PIE一共可以支持96个不同的中断,将这些中断分成了12个组,每个组8个中断,每个组都被反馈到CPU内核的INT1-INT12这12条中断线中的某一条线上。
在这里插入图片描述
????在12条中断线中,INT1的优先级最高,INT12的优先级最低,同一组内,INTx.1的优先级最高。

3.2 PIE中断寄存器

寄存器名称大小说明
PIECTRL16PIE控制寄存器,保存从PIE向量表取回的向量地址
PIEACK16PIE中断应答寄存器,表示每一组中断的CPU响应情况
PIEIER116PIE,INT1组使能寄存器
PIEIFR116PIE,INT1组标志寄存器
PIEIER1216PIE,INT12组使能寄存器
PIEIFR1216PIE,INT12组标志寄存器

3.3 PIE中断向量表

????PIE一共可支持96个中断,每个中断都有中断服务子程序ISR,将这些子程序的地址存储在一片连续的RAM空间内,就是PIE中断向量表,它由256x16的RAM空间组成。
????在DSP中,中断向量表可以映射到5个不同的存储空间,主要由以下几个信号来控制。
在这里插入图片描述
????M1向量和M0向量仅留给TI测试用,VMAP值上电后是默认取1的,而初始化PIE时,会将ENPIE的值设为1,即F2812芯片正常情况下只使用PIE向量映射表。

4. X281x的三级中断系统分析

在这里插入图片描述
????X281x采用的是如上图所示的三级中断机制,分为外设级、PIE级、CPU级,对于某一个具体的外设中断请求,只要有任一级不允许,CPU最终都不会响应该外设级中断。下面以CPU定时器0的周期中断为例。

4.1 外设级

  1. CPU定时器0的计数器寄存器TIMH:TIM计数到0时,就产生了一个T0INT时间,即CPU定时器0的周期中断;
  2. 若CPU定时器0的控制寄存器TIMER0TCR的第15位定时器中断标志TIF被置位为1,若第14位定时器中断使能位TIE也是1,就会向PIE控制器发出中断请求;

4.2 PIE级

  1. CPU定时器0的周期中断T0INT对应于PIEIFR1的第七位和PIEIER1的第七位;
  2. 由于PIE控制器是多路复用的,每一个组同一时间内只能有一个中断被响应,根据PIEACK各位的状态决定谁被响应;

4.3 CPU级

  1. CPU定时器0的周期中断T0INT发送到CPU,IFR的第0位INT1标志就会被置位,该状态锁存在IFR中;
  2. 检查IER寄存器中相关位的使能情况和CPU寄存器和CPU寄存器ST1中全局中断屏蔽位INTM的使能情况,如果都被置位,则响应中断;
  3. CPU将相应的IFR位进行清除,EALLOW清除,INTM置位,即不响应其他中断,存储返回地址并自动保存相关信息,例如将正在处理的数据放入堆栈;
  4. 从PIE向量表中取出对应的中断向量ISR,转而去执行中断服务子程序。
    在这里插入图片描述
  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-04-06 23:22:24  更:2022-04-06 23:23:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 4:43:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码