关于DSP TMS320F28335中断的理解

1、概述

        F28335 的中断采用的是 3 级中断机制, 分别是外设级中断、 PIE 级中断和 CPU级中断, 最内核部分为 CPU 级中断, 即 CPU 只能响应从 CPU 中断线上过来的中断请求, 但 F28335 中断源很多, CPU 没有那么多中断线, 在有限中断线的情况下,只能安排中断线进行复用, 其复用管理就有了中间层的 PIE 级中断, 外设要能够成功产生中断响应, 就要首先经外设级中断允许, 然后经 PIE 允许, 最终 CPU做出响应。 其工作原理流程图如下图所示:
在这里插入图片描述
从图中可以看到, 中断响应过程可以分为两块, 下半部分为 PIE 小组响应外设中断的过程, 上半部分为 CPU 响应 12 组 PIE 中断的过程。下面我们就来详细介绍下这 3 级中断。

2、外设级中断

        CPU 正常处理程序过程中, 外设产生了中断事件(比如定时器定时时间到,串口接收数据完成) , 那么该外设对应中断标志寄存器(IF) 响应的位将被自动置位, 如果该外设对应中断使能寄存器(IE) 中响应的使能位正好置位(需要软件控制) , 则外设产生的中断将向 PIE 控制器发出中断申请。 如果对应外设级中没有被使能, 就相当于该中断被屏蔽, 不会想 PIE 提出中断申请, 更不会产生CPU 中断响应, 但此时中断标志位寄存器的标志位将保持不变, 一直处在中断置位状态, 要使该中断信号消失, 中断标志寄存器复位, 就需要软件编程清楚, 如果没有被清楚, 中断产生以后, 一旦中断使能位被使能, 同样会向 PIE 申请中断。进入中断服务后, 有部分硬件外设会自动复位中断标志寄存器, 多数外设需要在中断服务中手动复位中断标志寄存器。

3、PIE 级中断

        F28335 处理器内部集成了多种外设, 每个外设都会产生一个或者多个外设级中断。 由于 CPU 没有能力处理所有外设级的中断请求, 因此 F28335 的 CPU 让出了 12 个中断线交给 PIE 模块进行复用管理。 PIE 模块内部结构图如下图所示:
在这里插入图片描述
从图中可以看出, PIE 将外设中断分成了 12 个组, 分别对应着 CPU 的 12 个可屏蔽中断线, 每 1 组由 8 个外设级中断组成, 这 8 个外设中断分别对应相应外设接口的中断引脚, PIE 通过一个 8 选 1 的多路选择器将这 8 个外设中断组成 1组。 具体连接关系如下图所示:
在这里插入图片描述
实际有效外设中断为 58 个, 其余为保留。 PIE 第一组中断分别为 WAKE、TIMER0、 ADC、 XINT2、 XINT1、 第三个中断保留、 SEQ2、 SEQ1。和外设级中断类似, 在 PIE 模块内每组中断有相应的中断标志位(PIEIFRx)和使能位(PIEIERx.y) 。 除此之外, 每组 PIE 中断(INT1~INT12) 有一个响应标志位(PIEACK) 。 下图给出了 PIEIFR 和 PIEIER 不同设置时的 PIE 硬件的操作流程。
在这里插入图片描述
一旦 PIE 控制器有中断产生, 相应的中断标志位(PIEIFRx.y) 将置 1。 如果相应的 PIE 中断使能位也置 1, 则 PIE 将检查相应的 PIEACKx 以确定 CPU 是否准备响应该中断。 如果相应的 PIEACKx 位清零, PIE 向 CPU 申请中断; 如果 PIEACKx置 1, PIE 将等待到相应的 PIEACKx 清零才向 CPU 申请中断。 PIE 通过对 PIEACKx的位控制来控制每 1 组中只有 1 个中断能被响应, 一旦响应后, 就需要将 PIEACKX相应位清零, 以让它能够响应该组中后边过来的中断。

4、CPU级中断

        一旦 CPU 申请中断,CPU 级中断标志位(IFR) 将置 1。 中断标志位锁存到标志寄存器后, 只有 CPU 中断使能寄存器(IER或中断调试使能寄存器(DBGIER)相应的使能位和全局中断屏蔽位(INTM) 被使能时才会响应中断申请。CPU 级使能可屏蔽中断采用 CPU 中断使能寄存器(IER) 还是中断调试使能寄存器(DBGIER) 与中断处理方式有关。 标准处理模式下, 不使用中断调试使能寄存(DBGIER) 。 只有当 F28335 使用实时调试(Real-time Debug) 且 CPU 被停止(Halt) 时, 才使用中断调试使能寄存器(DBGIER) , 此时 INTM 不起作用。如果 F28335 使用实时调试而 CPU 仍然工作运行, 则采用标准的中断处理。

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
TMS320F28335是一款数字信号处理器(DSP),它具有丰富的外设功能,包括串口通信功能。串口通信是一种常用的数据传输方式,可以实现设备之间的数据交换与通信。 TMS320F28335中的串口通信功能是通过中断来实现的。中断是一种处理器的特殊指令,当特定事件发生时,会中断正常的程序执行,转而执行中断服务程序。串口中断就是当接收到或发送完成一个字节的数据时,处理器会中断当前的程序执行,转而执行串口中断服务程序。 要使用TMS320F28335的串口中断功能,首先需要配置串口通信的参数,如波特率、数据位宽等。然后,需要编写中断服务程序,即处理接收或发送数据的具体操作。可以根据需求选择中断类型,如接收中断、发送中断或接收/发送中断等。 在中断服务程序中,可以通过读取或写入相应的寄存器与串口进行数据交互。例如,可以通过读取接收缓冲寄存器来获取接收到的数据,或者通过写入发送缓冲寄存器来发送数据。 使用串口中断可以更好地处理数据的实时性和可靠性,能够充分利用处理器的性能。通过合理地设计中断服务程序,可以实现稳定高效的数据传输和通信。 总结来说,TMS320F28335的串口中断功能能够实现可靠的数据传输与通信。通过配置串口参数和编写中断服务程序,可以灵活地使用串口中断功能,满足各种应用需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小灰灰搞电子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值