F28335中断系统

一、中断介绍

1.1 中断概念

中断:是当CPU执行原来程序时,由于发生某种随机的事件(内部或外部),引起CPU暂时中断正在运行程序,转去执行一段特殊的服务程序(中断服务子程序或者中断处理程序),当执行完特殊的服务程序,CPU则返回继续执行原来程序。
中断源:引发中断称为中断源。
在这里插入图片描述

1.2 F28335中断概述

F28335有诸多中断源,可分为:
片内外设中断源,比如PWM、CAP、QEP、定时器等及片外中断源
F28335内部有16个中断线,其中:
两个不可屏蔽中断(RESET及NMI)与14个可屏蔽中断,而在14个可屏蔽中断中,其中TIM1及TIM2产生的中断请求通过INT13和INT14中断线到达CPU,这两个中断已经预留给了实时操作系统,故剩下的12个可屏蔽中断可供外部中断和处理器内部单元使用。
而F28335的外设中断源共58个,故需要将58个外设中断源分配给12个中断线,这就需要F28335的PIE外设中断扩展模块来完成。
F28335的中断源及连接如下图所示:

在这里插入图片描述
F28335中断源及IO复用结构图如下图所示:

在这里插入图片描述

1.3 中断机制

F28335的中断采用的是3级中断机制:外设级中断、PIE级中断、CPU级中断,其中CPU级中断最为内核,即CPU只能响应从CPU中断线上过来的中断请求,而F28335中断源很多,CPU没有那么多中断线,因此便有了中间层的PIE级中断,外设要能够成功产生中断响应,需满足:
1) 经过外设级中断允许;
2) 经过PIE允许;
3) 经过CPU允许,并作出响应;
其工作流程如下图所示:

在这里插入图片描述
从图中可以看到,中断响应过程可以分为两块,下半部分为PIE小组响应外设中断的过程,上半部分为CPU响应12组PIE中断的过程。

下面详细介绍这3级中断:
1) 外设级中断:当DSP硬件系统的某个外设因为软件或硬件产生一个中断,此时该中断事件对应的中断的标志位置1;如果此时,该中断事件对应的中断的使能位置1,则该外设就会向PIE控制器发出一个中断请求。相反如果中断事件发生,但如果该中断对应的使能位未置1,则该外设便不会向PIE控制器发出中断请求。

需要注意的是:当中断事件发生,中断标志位置1,但对应的中断使能位未置1,此时中断标志位会一直保持置位状态,直到用程序将其清除为止。当然,中断标志位保持置位状态时,一旦该中断使能位置1,则外设会立即向PIE控制器发送中断请求。

总结一下:当中断事件发生以后,其对应的中断标志位会无条件的置1,中断标志位的状态会通过中断使能位这个开关发送给PIE控制器。

并且,不管什么情况下,外设寄存器中的中断标志位都必须手工清除(这里指的是通过软件修改,区别于硬件置位方式)。

2) PIE级中断:F28335处理器内部集成了多种外设,每个外设都会产生一个或者多个外设级中断。由于CPU没有能力处理所有外设级的中断请求,因此F28335的CPU让出了12个中断线交给PIE模块进行复用管理。

当外设产生中断事件,其外设级中断标志位自动置1,若对应的中断使能位也置1,则该外设会向PIE控制器发送中断请求。

PIE将96个外设和外部引脚的中断进行了分区,每8个一组,共十二组,即PIE1-PIE12。每个组的中断被多路汇集进入了一个CPU中断。PIE控制器中每一个组都会有一个中断标志寄存器(PIEIFRx)和一个中断使能寄存器(PIEIERx)(x=1~12)。

PIE模块内部结构图如下图所示:
在这里插入图片描述
从图中可以看出,PIE将外设中断分成了12个组,分别对应着CPU的12个可屏蔽中断线,每一组由8个外设级中断组成,这8个外设中断分别对应相应外设接口的中断引脚,PIE通过一个8选1的多路选择器将这8个外设中断组成一组。具体关系如下:

在这里插入图片描述
实际有效外设中断为58个,其余为保留。在PIE模块内每组中断有相应的中断标志位(PIEIFRx)和使能位(PIEIERx.y)。除此之外,每组PIE中断(INT1~INT12)有一个响应标志位(PIEACK)。

在这里插入图片描述
一旦PIE控制器有中断产生,相应的中断标志位(PIEIFRx.y)将置1。如果相应的PIE中断使能位也置1,则PIE将检查相应的PIEACKx以确定CPU是否准备响应该中断。如果相应的PIEACKx位清零,PIE向CPU申请中断;如果PIEACKx置1,PIE将等待到相应的PIEACKx清零才向CPU申请中断。PIE通过对PIEACKx的位控制来控制每1组只有1个中断能被响应,一旦响应后,就需要将PIEACKx相应位清零,以让它能够响应该组中后边过来的中断。

当CPU响应某个中断时,该PIEACK寄存器中中断相应位就会置1,并且一直保持,直到手动清除这个标志位。该位置1,这是如果组内发生其他的外设中断,则暂时不会被PIE控制器响应并发送给CPU(置1是相当于开关打开),必须等到PIEACK中相应位复位之后,如果该中断请求还存在,那么PIE控制器会立刻把中断请求发送给CPU。所以每个外设中断被响应之后,一定要对PIEACK的相关位进行手动复位,以使得PIE控制器能够响应同组内其他中断。

当外设中断向PIE提出中断请求之后,PIE中断标志位会自动置1,当这时如果响应的PIEIERx相关的中断使能置位,PIEACK相应位的值为0,则PIE控制器便会将该外设中断请求提交给CPU;否则如果相应的PIEIERx相关的使能寄存器没有被置位,就是没有使能,或者PIEACK的相应位为1,则PIE控制器都暂时不会响应外设的中断请求。

通过上面的描述,在PIE级需要编程时手动处理的地方有两处:1、PIE中断的使能屏蔽,需要将对应组的使能寄存器PIEIERx的相应位置1或清零;2、PIEACK相关位的清除,以使得CPU能够响应同组内的其他中断。

外设的中断标志位是自动置位,手动清除;PIE的中断标志位是自动置位或者清除,但PIEACK需要手动置位;

3) CPU级中断:同外设级与PIE级相同,CPU同样也有中断标志位IFR和中断使能寄存器IER。当某一个外设中断请求通过PIE发送CPU时,CPU中断标志位IFR中对应的中断标志位INTx就会被置位。当标志位置1后,CPU不会立刻执行中断响应,而是检查IER寄存器中相关位的使能情况和CPU寄存器ST1中全局中断屏蔽位INTM的使能情况。

如果IER中的相关位被置位,并且INTM的值为0,则中断就会被响应。

CPU中断标志位的置位和清除都是自动完成的。

当CPU接到中断请求,并发现可以去响应时,就得暂停目前正在执行的程序,转而去响应中断程序,但此时,它必须做一些准备工作,以便在执行完中断程序之后回过头来还能找到原来的位置和原来的状态。CPU会将相应的IFR位进行清除,EALLOW也被清除,INTM被置位,即不能响应别的中断,等于CPU向别的中断发出通知,现在在忙,没有时间处理别的请求,等处理完该中断,再接收别的请求。

CPU 的中断优先级有高到低依次是从 INT1-INT12。每组 PIE 控制的 8 个中断优先级依次是从 INTx.1-INTx.8。

二、中断操作

2.1 复位中断操作过程

PIE模块8个中断分成一组与外部中断一起共用一个CPU中断,总共有12组中断(INT1-INT12)。每组中断有相应的中断标志(PIEIFR)和使能寄存器(PIEIER),这些寄存器控制PIE向CPU申请中断。同时CPU还根据PIEIFR和PIEIER寄存器确定执行哪个中断服务程序。在清除PIEIFR和PIEIER的位须遵循:
①不要用软件编程清除PIEIFR的位:清除PIEIFR寄存器的位时,有可能会使产生的中断丢失。要清除PIEIFR位时,还未被执行的中断必须被执行,如果用户希望在执行正常的服务程序之前就要清除PIEIFR时,需遵循一下步骤:
1) 设置EALLOW位为1,允许修改PIE向量表
2) 修改PIE向量表,使外设服务程序指针向量指向一个临时的ISR,这个临时的ISR只执行一个中断返回(IRET)操作。
3) 使能中断,使中断执行临时中断服务程序。
4) 在执行中断服务程序之后,PIEIFR位将被清除。
5) 修改PIE向量表,重新映射外设服务程序到正确的中断服务程序。
6) 清除EALLOW位。
CPU中断标志寄存器IFR在CPU内部,这样操作将不会影响任何向CPU申请的中断。

②软件设置中断优先级。使用 CPU IER 寄存器控制全部中断的优先级,PIEIER 寄存器控制每组中断的优先级,只有与被服务的中断在同一组时,修改 PIEIFR 寄存器的值才有意义,当 PIEACK 位保持来自 CPU 中断时,修改操作才被最终执 行。当来自无关本组的中断被执行时,禁止本组的 PIEIER 位没有意义。

③使用 PIEIER 禁止中断。如果 PIEIFR 寄存器用来使能一个中断,同样可以 禁止该中断。

2.2 使能/禁止复用外设中断的处理

应用外设中断的使能/禁止标志位使能/禁止外设中断,PIEIER 和 CPUIER 寄存器主要是在同一组中断内设置中断优先级。如果要修改 PIEIER 寄存器的设置,有两种方法。

第一种方法是保护相应的 PIE 标志寄存器标志位,防止中断丢失。
第二种方法是清除相应的 PIE 寄存器的标志位。

方法1:利用 PIEIERx 寄存器禁止中断保护相应的 PIEIERx 相关的标志位, 需要采取以下步骤:
1) 屏蔽全局中断(INTM=1);
2) 清除 PIEIERx.y 位,屏蔽给定的外设中断。这样可以屏蔽同一组中断的一个或多个外设中断。
3) 等待 5 个周期,这个延时是为了保证在 CPUIFR 寄存器中产生的任何中断都能向CPU 发出申请;
4) 清除 CPUIFRx 内相应外设中断组的标志位,在 CPUIFR寄存器上采用这样的操作是比较安全的;
5) 清除相应外设中断组的 PIEACKx 寄存器位;
6) 使能全局中断(INTM=0);
方法 2:使用 PIEIFRx 寄存器屏蔽中断并清除相应的 PIEIFRx 的标志位。为了完成外设中断的软件复位和清除 PIEIFRx 和 CPUIFR 内相应的标志位,需要采取以下的处理步骤:
1) 屏蔽全局中断(INTM=1);
2) 设置 EALLOW 位为 1;
3) 修改 PIE 向量表,使外设服务程序指针向量指向一个临时的 ISR,这个临时的ISR只执行一个中断返回(IRET)操作,这种方法能够清楚单个中断标志位 PIEIFRx.y,而且保证不会丢失同一组内其他外设产生的中断;
4) 屏蔽外设寄存器中的外设中断;
5) 使能全局中断(INTM=0);
6) 等待所有挂起外设中断由空的中断服务程序处理;
7) 屏蔽全局中断(INTM=1);
8) 调整 PIE 向量表,将外设中断向量映射到原来的中断服务程序;
9) 清除 EALLOW 位;
10)屏蔽给定的 PIEIER 位;
11)清除给定外设中断组的标志位 IFR(对 CPU IFR 寄存器操作比较安全);
12)清除 PIE 组的 PIEACK 位;
13)使能全局中断;

外设复用中断向CPU申请中断的流程

外设复用中断向 CPU 申请中断的流程,如下图所示:
在这里插入图片描述

1) 任何一个 PIE 中断组的外设或外部中断产生中断。如果外设模块内的中断被使能,中断请求将被送到 PIE 模块。
2) PIE 模块将识别出 PIE 中断组 x 内的 y 中断(INTx.y)申请,然后相应的 PIE 中断标志位被锁存:PIEIFRx.y=1。
3) PIE 的中断如要送到 CPU 需满足下面两个条件: ①相应的使能位必须被设置(PIEIFRx.y=1)。 ②相应的 PIEACKx 位必须被清除。
4) 如果满足步骤 3 中的两个条件,中断请求将被送到 CPU 并且相应的相应寄存器位被设置 1(PIEACKx=1)。PIEACKx 位将保持不变,除非为了使本组中的其他中断向 CPU 发出申请而清除该位。
5) CPU中断标志位被置位(CPU IFRx=1),表明产生一个 CPU 级的挂起中断。
6) 如果 CPU 中断被使能(CPU IERx=1 或者 DBGIERx=1),并且全局中断使能(INTM=0),CPU 将处理中断 INTx。
7) CPU 识别到中断并自动保存相关的中断信息,清除使能寄存器(IER)位, 设置 INTM,清除 EALLOW。CPU 完成这些任务准备执行中断服务程序。
8) CPU 从 PIE 中获取响应的中断向量。
9) 对于复用中断,PIE 模块用 PIEIERx 和 PIEIFRx 寄存器中的值确定响应中断的向量地址。有以下两种情况: ①在步骤 4 中若有更高优先级的中断产生,并使能了 PIEIERx 寄存器,且 PIEIERx 的相应位处于挂起状态,则首先响应优先级高的中断。 ②如果在本组内没有挂起的中断被使能,PIE 将响应组内优先级最高的中断, 调转地址使用 INTx.1。这种操作相当于处理器的 TRAP 或 INT 指令。 CPU 进入中断服务程序后,将清除 PIEIFRx.y 位。需要说明的是,PIEIFRx 寄存器用来确定中断向量,在清除 PIEIFRx 寄存器时必须注意。

2.4 可屏蔽中断处理

按照是否可以被屏蔽,可将中断分为两大类:不可屏蔽中断(又叫非屏蔽中 断,NMI)和可屏蔽中断。不可屏蔽中断源一旦提出中断请求,CPU 必须无条件 响应;而对可屏蔽中断源的请求,CPU 可以响应,也可以不响应。对于可屏蔽中断,除了受本身的屏蔽位控制外,还都要受一个总的控制,即 CPI 标志寄存器中 的中断允许标志位 IF 的控制。IF 位为 1,可以得到 CPU 响应,否则得不到响应。 IF 位可以由用户控制。

可屏蔽中断的响应过程实质上就是中断的产生、使能到处理过程,其结构如 下图所示。包括两个部分设置:CPU 级中断设置(INT1-INT4)和 PIE 级中断设 置(INTx.1-INTx.8)
在这里插入图片描述
1) CPU级中断
①CPU 级中断标志设置。除了系统初始化,一般不建议改变标志寄存器的状 态,否则可能清除某些有用的中断信息或者产生意外中断。但有时也可能希望通 过软件方式使某些中断标志位置位或者清零,在这种情况下可以通过以下 2 条指 令完成。
IFR|=0X0008;//INT4 位置位
IFR|=0XFFF7;//INT4 位清零
如果在清除中断标志寄存器中的某些状态位时刚好有中断产生,则此时中断 有更高的优先级,相应的标志位仍然为 1.在系统复位和 CPU 相应中断后,中断 标志位将自动清零。

②CPU 级中断使能。CPU 级中断使能寄存器的 16 位分别控制每个中断的使能 状态。当相应的位置 1 时,使能中断,写 0 禁止中断。在 C 语言中可采用下面代 码实现中断的控制,系统复位禁止所有中断。
IER|=0X0008;//使能中断 INT4
IER|=0XFFF7;//禁止中断 INT4

③全局中断使能。状态寄存器 ST1 的位 0(INTM)为全局中断使能控制位, 当该位等于 0 时全局中断使能,当该位等于 1 时禁止所有中断。CPU 要实现中断 处理必须在产生中断的前提下,相应的 IER 寄存器位使能并且需要全局使能位使能。可以采用以下代码实现全局中断使能控制。
asm(" clrc INTM");
asm(" setc INTM");

2) PIE级中断
当系统有中断请求到 PIE 模块时,相应的 PIE 中断标志寄存器(PIEIFRx.y) 置 1,如果相应的 PIE 中断使能寄存器(PIEIFRx.y)也已经置 1,则 PIE 开始检 查相应的中断响应寄存器(PIEACKx)来决定 CPU 是准备响应该组的中断。如果 该组的 PIEACKx 已经清零,PIE 送该中断请求到 CPU 级,否则 PIE 等待,直到 PIEACKx 已经清零,才送中断请求到 CPU 级。

2.5 不可屏蔽中断处理

不可屏蔽中断设置简单得多,以 XNMI_XINT13 引脚外部中断设置为例,只要配置好相应的引脚配置寄存器就可以,因为 NMI 优先级最高,CPU 必须响应,无需配置 CPU。

在这里插入图片描述

三、中断相关寄存器

3.1 PIE控制寄存器(PIECTRL)

PIE 控制寄存器(PIECTRL)各位信息如下图所示:

在这里插入图片描述在这里插入图片描述

3.2 PIE 中断应答寄存器(PIEACK)

PIE 中断应答寄存器(PIEACK)各位信息如下图所示:

在这里插入图片描述

3.3 PIE 中断标志寄存器(PIEIFRx)

PIE 中断标志寄存器 PIEIFRx(x=1-12)各位信息如下图所示:
在这里插入图片描述

3.4 PIE 中断使能寄存器(PIEIERx)

PIE 中断使能寄存器 PIEIERx(x=1-12)各位信息如下图所示:
在这里插入图片描述

3.5 CPU 中断标志寄存器(IFR)

CPU 中断标志寄存器(IFR)是一个 16 位的 CPU 寄存器,用于标志和清除被 执行的中断。CPU 中断寄存器(IFR)包含 CPU 级可屏蔽中断(INT1-INT14、DLOGINT 和 RTOSINT)的标志位。当 PIE 模块被使能,PIE 模块为中断组 INT1-INT12 提供 复用中断源。

当一个可屏蔽请求发生时,相应外设控制寄存器的标志位置 1,如果相应的 屏蔽位也是 1,则该中断请求被送到 CPU,并在 IFR 中相应的标志位置 1,这表 示中断未被执行或等待应答。

为识别未执行的中断,可利用 PUSH IFR 指令以测试堆栈的值,利用 OR IFR 指令去置位 IFR 位,利用 AND IFR 指令手动清除未被执行的指令。所有未执行的 中断用 ADN IFR #0 指令或硬件复位清除。

CPU 的应答中断和硬件复位也可以清除 IFR 标志。CPU 中断标志寄存器(IFR) 各位信息如下图所示:
在这里插入图片描述

3.6 CPU 中断使能寄存器(IER)

CPU 中断标志寄存器(IFR)是一个 16 位的 CPU 寄存器,包含 CPU 级可屏蔽 中断(INT1-INT14、DLOGINT 和 RTOSINT)的使能位。IER 中既不包含 NMI 也不 包含 XRS,这样 IER 不受这些中断的影响。

用户可以通过读 IER 来定义使能中断或设置中断的级别,也可以通过写 IER 来激活中断。利用 OR IER 指令将相应的 IER 位置 1 可以使能中断,利用 AND IER 指令将相应的 IER 位置 0 可以禁止一个中断。当一个中断被禁止,不管 INTM 位 的值是多少,它都不会应答,当一个中断被使能,如果相应的 IFR 位为 1,且 INTM 位是 0,那么中断就被响应了。

CPU 使能中断寄存器的各位信息如下图所示:
在这里插入图片描述

3.7 CPU调试中断使能寄存器(DBGIER)

CPU 在实时仿真模式下暂停中需要中断的时候就要用到 CPU 调试中断使能寄 存器 DBGIER,其中各位如下图所示:
在这里插入图片描述
CPU 在实时暂停模式时,中断服务也需要 IER 寄存器使能。在实时仿真模式 中,采用的是标准的中断服务进程,忽略 DBGIER。同 IER 一样,可以通过读 DBGIER 寄存器的值,使能或者禁止中断,采用 PUSH DBGIER 指令从 DBGIER 读取数据, 采用 POP DBGIER 将值写入 DBGIER,复位时,所有的 DBGIER 位均为 0。

3.8 外部中断控制寄存器(XINTnCR)

F28335 共支持 7 个外部中断 XINT1-XINT7,XINT13 还有一个不可屏蔽的外部 中断 XNMI 共用中断源。每一个外部中断可以被选择为正边沿或负边沿触发,也 可以被使能或者禁止(包括 XNMI)。可屏蔽中断单元包括一个 16 位增计数器, 该计数器在检测到有效中断边沿时复位为 0,同时用来准确记录中断发生的时间。

外部中断控制寄存器(XINTnCR n=1-7)各位信息如下图所示:

在这里插入图片描述

3.9 外部NMI中断控制寄存器(XNMICR)

外部 NMI 中断控制寄存器(XNMICR)各位信息如下图所示:
在这里插入图片描述

3.10 外部中断x计数器(XINTxCTR)

外部中断 x 计数器(XINTxCTR)各位信息如下图所示:

在这里插入图片描述

四、中断配置

要使用中断我们就 需要先配置它,通常都需经过这几步:
(1)使能外设对应的 PIE 中断,由于外设中断较多,它们是由 PIE 统一管 理,所以要根据你所使用的外设中断选择对应的组,比如外部中断 1,它是由 PIE 组 1 的第 4 线连接,这个在前面中断介绍时讲解过。因此可由 PIE 控制寄存器中 相应中断使能位来控制。其实现代码如下所示:
PieCtrlRegs.PIEIER1.bit.INTx4 = 1; // 使能 PIE 组 1 的 INT4

(2)使能外设中断,这个具体是由外设相关中断使能位来控制,比如外部 中断 1,这个可由外部中断 1 的控制寄存器中相应中断使能位来控制。其实现代 码如下:
XIntruptRegs.XINT1CR.bit.ENABLE= 1; // 使能 XINT1

(3)指定中断向量表中断服务函数地址,这个通过对 PIE 中断向量表寄存 器的相应位进行设置,中断服务函数名可自定义,但是要符合 C 语言标识符命名 规则,在中断函数名前需加上地址符“&”。在对 PIE 中断向量表寄存器设置时 要先声明 EALLOW,修改完成后还要声明 EDIS。比如外部中断 1,其设置如下:
EALLOW; // 修改被保护的寄存器,修改前应添加 EALLOW 语句
PieVectTable.XINT1 = &EXTI1_IRQn;
EDIS; // EDIS 的意思是不允许修改被保护的寄存器

(4)使能 CPU 中断及全局中断,这个通过对 IER 和 EINT 寄存器相应位设置 进行使能或者失能。比如外部中断 1,其代码如下:
IER |= M_INT1; // 使能 CPU 中断 1(INT1)
EINT; // 开全局中断

(5)编写中断服务函数
配置好中断后如果有触发,即会进入中断服务函数,中断服务函数名在前面 已定义好,所以要保证一致,否则将不会进入中断服务函数内执行。在 DSP28335 软件开发中,要在中断服务函数名前加上关键字 interrupt。例如外部中断 1 的 中断服务函数:

interrupt void EXTI1_IRQn(void)
{
…功能程序
}
在上面提到的 PieCtrlRegs、PIEIER1、PieVectTable、M_INT1 等,这些都 是 TI 公司为我们封装好的寄存器或者宏定义值,我们直接使用即可。中断相关 的 寄 存 器 及 函 数 可 在 DSP2833x_PieCtrl.c 、 DSP2833x_PieVect.c 、 DSP2833x_GlobalVariableDefs.c 文件及其对应的头文件内查找到。

五、中断向量

中断向量表及映射:
中断向量表:PIE一共支持96个中断,每个中断都会有中断服务子程序ISR,那CPU去响应中断时,如何找到对应的中断服务子程序呢?解决的方法是将DSP的各个中断服务子程序的地址存储在一片连续的RAM空间内,这就是PIE中断向量表。

向量表映射:在DSP28335器件中,中断向量表可以被映射到4个不同的存储区域。在实际中,只有PIE中断向量表映射被使用。向量映射被下列模式或信号控制:VMAP、M0M1MAP、ENPIE。

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TMS320F2833x TMS320F2823x DSC .................................................................................. 10 1.1 特性 ......................................................................................................................... 10 1.2 开始使用 .................................................................................................................... 11 2 .................................................................................................................................. 12 2.1 引脚分配 .................................................................................................................... 14 2.2 信号说明 .................................................................................................................... 23 3 ............................................................................................................................ 33 3.1 内存映射 .................................................................................................................... 34 3.2 简要说明 .................................................................................................................... 41 3.2.1 C28x CPU ....................................................................................................... 41 3.2.2 内存总线(哈弗总线架构) .................................................................................... 41 3.2.3 外设总线 ......................................................................................................... 41 3.2.4 实时 JTAG 和分析 .............................................................................................. 42 3.2.5 外部接口(XINTF) ................................................................................................ 42 3.2.6 闪存 ............................................................................................................... 42 3.2.7 M0,M1 SARAM ............................................................................................... 42 3.2.8 L0, L1, L2, L3, L4, L5, L6, L7SARAM ........................................................................ 43 3.2.9 引导 ROM ........................................................................................................ 43 3.2.9.1 引导加载器使用的外设引脚 ....................................................................... 44 3.2.10 安全性 ............................................................................................................ 44 3.2.11 外设中断扩展 (PIE) 块 ......................................................................................... 46 3.2.12 外部中断 (XINT1-XINT7,XNMI) ............................................................................. 46 3.2.13 振荡器和锁相环 (PLL) .......................................................................................... 46 3.2.14 安全装置 ......................................................................................................... 46 3.2.15 外设时钟 ......................................................................................................... 46 3.2.16 低功率模式 ....................................................................................................... 46 3.2.17 外设帧 0,1,2,3 (PFn) ...................................................................................... 47 3.2.18 通用输入/输出 (GPIO) 复用器 ................................................................................. 47 3.2.19 32 位 CPU 定时器 (0,1,2) .................................................................................. 47 3.2.20 控制外设 ......................................................................................................... 48 3.2.21 串行端口外设 .................................................................................................... 48 3.3 寄存器映射 ................................................................................................................. 49 3.4 器件仿真寄存器 ............................................................................................................ 51 3.5 中断 .......................................................................................................................... 52 3.5.1 外部中断 ......................................................................................................... 56 3.6 系统控制 .................................................................................................................... 57 3.6.1 OSC 和 PLL 块 .................................................................................................. 58 3.6.1.1 外部基准振荡器时钟选项 .......................................................................... 59 3.6.1.2 基于 PLL 的时钟模块 .............................................................................. 60 3.6.1.3 输入时钟损失 ....................................................................................... 61 3.6.2 安全装置块 ....................................................................................................... 62 3.7 低功率模式块 .....................................................................................
DSP28335中断采用了3级中断机制,包括外设级中断、PIE级中断和CPU级中断。在DSP28335中,中断源分为片内中断源和片外中断源。片内中断源包括CPU定时器和各个外设,如eCAP、ePWM和看门狗等。片外中断源一般与DSP的引脚相连,当检测到一定的脉冲长度或电平转变时,会产生中断标志事件。然而,DSP28335只有有限的中断线可供使用,其中包括2条不可屏蔽中断线(NMI&RESET)和14条可屏蔽中断线(INT1-INT14)。因此,为了管理中断源,DSP28335提供了PIE级中断来进行控制。外设要能够成功产生中断响应,需要经过外设级中断允许、PIE允许和CPU响应的过程。虽然DSP28335有58个外设中断源,但实际可供使用的中断线只有12个,因此需要通过中断线的复用来管理中断源。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *3* [DSP28335中断系统(一)](https://blog.csdn.net/qq_35874924/article/details/104473343)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [DSP F28335中断系统](https://blog.csdn.net/u012616827/article/details/121941800)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值