DSP入门:中断PIE

1、DSP中断管理分为3个层次:外设级,PIE级,CPU级。 
其中,外设级中断管理负责具体外设中断源的允许与禁止,PIE级中断管理负责对外设级中断分组并按照优先级管理,CPU内核级中断管理则负责处理直接向CPU申请的中断请求。 
 
   DSP控制器的外设中断扩展模块(PIE),对中断进行集中化扩展,使每一级CPU中断均可以响应多个中断源。

2、PIE级中断及管理: 
      CPU内核级中断(INT1–INT14),INT1-INT12被PIE模块用来进行中断扩展,有12组,每组8个中断源。

各中断的优先级自上而下,由右到左逐步降低,总体优先级INT1最高,INT12最低。 
INT13由CPU定时器1和外部中断XINT13复用,INT14由定时器2独占。

3、中断响应过程 
                 

4、中断寄存器介绍

  • PIEIFRx (1-12)中断标志寄存器
  • PIEIERx (1-12)中断屏蔽寄存器 
    各有12个,每个16位宽,只用了前8位分别表示8个中断源;IFR标志中断到来,IER表示是否要响应(PIEIFRx.1-8,PIEIERx.1-8)
  • PIEACKx (1-12)应答位 
    CPU是否响应给位的中断,为0中断送入CPU,为1等待
  • PIECTRL PIE控制寄存器,只读 
    读取中断向量

  • XINTnCR (n为1-7) 7个外部中断 
    选择中断边沿,01上升沿;外部中断允许位

5、代码片

PieCtrlRegs.PIEIFR1.bit.INTx4=1;//在PIE中断组1设置XINT1的中断标志位
PieCtrlRegs.PIEIER1.bit.INTx4=1;//允许PIE中断组1的XINT1 中断PieCtrlRegs.PIEACK.all = 0x0004;//清除中断组3的ACK位,以便再次响应
PieCtrlRegs.PIECTRL.bit.ENPIE=1;//允许从向量表中读取中断向量
  • 1
  • 2
  • 3
  • 4
  • 5

6、定时器中断实例

#include "DSP2833x_Device.h"
#include "DSP2833x_Examples.h"interrupt void cpu_timer0_isr(void);//声明中断服务函数void main()
{//step1:初始化系统控制、PLL、看门狗、允许外设时钟InitSysCtrl();//step2:初始化GPIOInitGpio();//step3:清除所有中断,初始化PIE向量表DINT;InitPieCtrl();   //初始化PIE控制器IER = 0x0000;    //禁止CPU中断IFR = 0x0000;    //清除所有CPU中断标志InitPieVectTable();   //初始化PIE中断向量表EALLOW;PieVectTable.TINT0 = &cpu_timer0_isr;   //重映射中断向量,指向中断服务程序EDIS;//step4:初始化外设模块InitCpuTimers();ConfigCpuTimer(&CpuTimer0,150,1000000);  //150MHz,周期1秒CpuTimer0Regs.TCR.all = 0x4001;          //允许定时器中断,且设置TSS为0启动定时器工作//step5:IER |= M_INT1;                          //允许CPU的INT1中断,该中断连接至TINT0PieCtrlRegs.PIEIER1.bit.INTx7 = 1;      //在PIE中断组1中允许TINT0中断EINT;           //清除全局屏蔽ERTM;           //允许全局实时中断//step6:循环while(1);}interrupt void cpu_timer0_isr(void)
{CpuTimer0.InterruptCount++;PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;   //清除PIE中断组1的应答位,以便CPU再次响应}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52

7、外部中断实例

后续实例,先占个坑
  • 1
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tian43/article/details/80368727

DSP入门:中断PIE相关推荐

  1. dsp指令ixh_第一章 DSP入门教程(非常经典).pdf

    DSP 入门教程 1.TI DSP 的选型 主要考虑处理速度.功耗.程序存储器和数据存储器的容量.片内的资源,如定时器的数量. I/O 口数量.中断数量.DMA 通道数等.DSP 的主要供应商有 TI ...

  2. 献给初学者-DSP入门教程【转】

    献给初学者-DSP入门教程 helloDSP论坛 前言:此资料也是来源于网络,并不是我们原创,但是希望这些资料能够给初学DSP的 朋友们一点帮助,也希望你们能够把这里当成是你们学习DSP技术的一个家园 ...

  3. TI DSP入门学习

    本FAQ是针对刚刚进入DSP硬件和软件设计领域的网友,希望能够帮助大家快速入门.在设计和调试时少走弯路. 水平有错误和不完善的地方,大家一定指出,免得流毒无穷.欢迎大家补充!! 1.TI DSP的选型 ...

  4. DSP入门必看(下)

    文章来自:http://doggo.blog.sohu.com/4401860.html eXpressDSP是什么?  eXpressDSP是一种实时DSP软件技术,它是一种DSP编程的标准,利用它 ...

  5. TI C28x DSP的中断嵌套

    介绍 一个常见的问题是 C28x 中断是否可以嵌套.本文解释了如何通过对中断服务例程 (ISR) 代码进行简单更改来实现中断嵌套. 本文假设读者已经熟悉以下内容: C28x PIE 模块:控制寄存器. ...

  6. DSP入门小白学习日记第三篇

    信号采集 首先我们要知道dsp芯片是用来处理信号数据的,那这个信号源怎么来呢?一般是通过传感器外设采集连接高速接口啥的(等以后买了再说吧),但是目前学习的时候只有一块开发板,所以只能自己模拟数据了,呜 ...

  7. highcharts入门之Pie:如何让Pie饼状图的图例内显示百分比(转)

    有很多人都在询问如何在highcharts的pie 饼状图内显示百分比,通过不断琢磨最后得出了一个结论,只需要简单配置即可实现这样一个需求. 完整核心代码如下所示: $(function () {va ...

  8. DSP中断介绍及其应用

    本章节的学习来自于TMS320F28377D参考手册和研旭例程. 学习DSP的中断,使用定时器产生中断. 目录 什么是中断: TMS320F2837xD的中断架构: 外设阶段: PIE阶段: CPU阶 ...

  9. 【DSP开发】C6000非多核非KeyStone系列DSP中断系统

    C6000系列DSP的中断系统 上一篇介绍了C6455的GPIO系统,最后把GPIO4配置成了中断/事件模式,本文将介绍C6455的中断系统,介绍完基本概念后,给出把GPIO4映射到INT4的代码. ...

最新文章

  1. HTML解析原理概括(转载)
  2. 数学建模学习笔记——主成分分析
  3. ERP选型 SAP PK Oracle
  4. 撤销操作 —— Git 学习笔记 12
  5. mysql数据库指定ip远程访问
  6. 《机器学习》 周志华学习笔记第五章 神经网络(课后习题) python实现
  7. PHP中的逆波兰式应用
  8. ROS笔记(17) Gazebo
  9. 跟我一起写一个chrome扩展程序
  10. JavaScript 从入门到放弃(二)模块化工具requirejs
  11. Yii --EClientScript 扩展,css,js文件代码压缩合并加载
  12. java实现socket连接,向指定主机指定端口发送socket数据,并获取响应数据
  13. JS图片自动或者手动滚动效果(支持left或者up)
  14. 如何在Hexo中对文章md文件分类
  15. Word插入带打勾图标的方框
  16. 阿里云企业邮箱有免费的吗?如何申请?
  17. 服务器被ddos攻击?分析如何防止DDOS攻击?
  18. Telegram图文详解-- 编程机器人(谷歌脚本服务)
  19. Swagger 接口分组
  20. CF, SD, MiniSD, HPI,

热门文章

  1. epoll实现压测工具
  2. SoC嵌入式软件架构设计之二:虚拟内存管理原理、MMU硬件设计及代码分块管理...
  3. MVC+JSON 无限滚动翻页
  4. wtl for duilib 运行良好
  5. php bigpipe实现,如何通过php 实现BigPipe分块输出
  6. 自动发现_清华发布首个自动图学习框架,或有助于蛋白质建模和新药发现
  7. 命令行 笔记本键盘禁用_宏碁发布Enduro系列三防笔记本电脑和平板电脑
  8. java code viewer_Java CodeView类代码示例
  9. 克鲁斯卡尔(Kruskal)算法求最小生成树
  10. 解决magento保存产品时耗时很长的问题