2022年英飞凌tricore用户手册中断系统INT宣贯 .pdf
《2022年英飞凌tricore用户手册中断系统INT宣贯 .pdf》由会员分享,可在线阅读,更多相关《2022年英飞凌tricore用户手册中断系统INT宣贯 .pdf(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、TC1728用户手册中断, V1.413-1V1.0, 2011-1213中断系统中断系统TC1728 中断系统可灵活、实时的处理中断请求。本章描述TC1728 的中断系统,包括中断系统架构、中断系统配置、以及TC1728 外设和中央处理单元(CPU) 的中断操作。本章还给出外设控制处理器(PCP) 的基本信息。13.1概述可由 CPU 或 PCP服务中断请求。在本手册中,提及中断请求时不使用术语“ 中断请求”、而使用术语“服务请求”,因为他们可以被其中任意一种处理器服务。TC1728 的每个外设都可以产生服务请求。另外,总线控制单元、调试单元、PCP以及CPU 本身都可以产生服务请求,发送至
2、CPU 或 PCP处理器。如图 13-1 所示,每个能产生服务请求的TC1728 单元都与一个或多个服务请求节点(SRN)相连。每个SRN 具有一个服务请求控制寄存器mod_SRCx,其中 “mod ” 代表服务请求单元的ID( 标识符 ),x 为可选编号。两条仲裁总线将SRN 和两个中断控制单元(ICU) 相连 (由 ICU 对竞争的中断服务请求进行中断仲裁):?中断控制单元 (ICU)仲裁发送给CPU 的服务请求并管理CPU 中断仲裁总线。?外设中断控制单元(PICU) 仲裁发送给PCP 的服务请求并管理PCP 中断仲裁总线。PCP 能够直接向其自身发送服务请求(通过 PICU) ,或向
3、CPU 发送服务请求。调试单元可向 PCP或 CPU 发送服务请求。 CPU 也能够向其自身发送服务请求(通过 ICU) ,或向 PCP发送服务请求。可由软件激活CPU 服务请求节点。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 25 页 - - - - - - - - - TC1728用户手册中断, V1.413-2V1.0, 2011-12中断系统图 13-1TC1728 中断系统框图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - -
4、- - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 25 页 - - - - - - - - - TC1728用户手册中断, V1.413-3V1.0, 2011-12SETRCLRRSRRSRE0TOS0SRPN中断系统13.2服务请求节点每个 SRN 具有一个服务请求控制寄存器和接口逻辑(通过接口逻辑将SRN 和触发单元以及两条中断仲裁总线相连)。 TC1728 一些外设单元具有多个SRN。13.2.1服务请求控制寄存器TC1728 中的所有服务请求控制寄存器具有相同的格式。这些寄存器通常包含:?使能 /禁止信息?优先级信息?中断服务处理器( PCP
5、或 CPU)?选择服务请求状态位?软件控制的服务请求置位和清零位除了通过相关触发单元硬件激活之外,每个SRN还可通过软件控制的服务请求由软件置位或复位。本章给出的描述适用于TC1728 所有的服务请求控制寄存器。外设模块中断功能的信息,如使能或请求标志,在相关模块的章节中给出。13.2.1.1服务请求控制寄存器的通用格式本章给出的描述适用于TC1728 所有的服务请求控制寄存器。外设模块中断功能的信息,如使能或请求标志,在相关模块的章节中给出。mod_SRC服务请求控制寄存器(00H)复位值 : 0000 0000H313029282726252423222120191817160151413
6、12111098r76543210wwrhrwrrwrrw名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 25 页 - - - - - - - - - 用户手册中断, V1.413-4V1.0, 2011-12TC1728中断系统符号位序号类型功能描述SRPN7:0rw服务请求优先级编号00H不服务该服务请求01H服务请求优先级最低FFH服务请求优先级最高TOS10rw服务控制类型0由 CPU 服务该中断请求1由 PCP 服务该中断请求SRE12rw服务请求使能0服务请求
7、禁止1服务请求使能SRR13rh服务请求标志0无挂起的服务请求1服务请求挂起CLRR14w请求清零控制位由 CLRR 清零 SRR.0无操作1清零 SRR;不存储该位值;读取始终返回0;如果 SETR 同时被置位则不进行任何操作。SETR15w请求置位控制位由SETR 置位 SRR.0无操作1清零SRR ;不存储该位值;读取始终返回0;如果 CLRR 同时被置位则不进行任何操作。09:8, 11,31:16r保留读操作返回0;应写入 0。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第
8、 4 页,共 25 页 - - - - - - - - - 用户手册中断, V1.413-5V1.0, 2011-12TC1728中断系统13.2.1.2服务请求置位和清零位( SET R 、 CLRR )可通过 SETR 和 CLRR 软件置位或清零服务请求标志SRR。向 SETR 写 1 将置位SRR,向 CLRR 写 1 将清零SRR。如果在读取 -修改 -回写的软件操作( 如位-置位或位 -清零指令 )期间,硬件试图修改SRR,则软件操作占优,硬件操作无效。写入 SETR 和 CLRR 的值不被保存。向这些位写0 无任何影响。读取这些位始终返回 0。如果同时向SETR 和 CLRR 写
9、 1,则 SRR 值保持不变。13.2.1.3使能位(SRE)SRE 位使能服务请求参与已选服务处理器的中断仲裁。该位不会使能或禁止请求标志SRR 的设置。请求标志可由硬件或软件( 通过 SETR) 置位,与SRE 的状态无关。从而允许通过硬件自动处理或软件查询的方式处理服务请求。如果 SRE = 1,挂起的服务请求被送至指定的服务处理器进行中断仲裁。当服务请求被应答并服务时,硬件自动清零SRR 位。在这种情况下,建议用户不要软件修改SRR位,以避免因硬件控制该位而出现不可预料的操作。如果 SRE = 0,挂起的服务请求不被送至服务处理器。软件可查询SRR 位以检查是否有挂起的服务请求。为了应
10、答服务请求,必须通过向CLRR 写 1 的方式软件清零SRR位。注:本手册中,“有效请求源”意味着一个SRN的服务请求控制寄存器的请求使能位 SRE置 1,从而允许该服务请求参与中断仲裁。13.2.1.4服务请求标志(SRR)SRR 标志置位时,指示服务请求挂起。该标志可由硬件直接置位/清零、或由软件间接置位 /清零(通过设置SETR 或 CLRR 实现)。软件直接设置该位无效。SRR 状态位可由相关的硬件直接置位或复位。例如,在通用定时器阵列单元中,相关的定时器事件可使该位置位。硬件事件如何置位SRR 的详细内容在各相关外设/模 块章节中给出。中断控制单元( ICU)或 PCP中断控制单元(
11、 PICU )对服务请求的应答使SRR 位被清零。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 25 页 - - - - - - - - - 用户手册中断, V1.413-6V1.0, 2011-12TC1728中断系统SRR 可由硬件或软件置位或清零,与使能位SRE 的状态无关。不过,只有当使能位置位时,该服务请求才会被送出。如果SRE = 1,挂起的服务请求将参与由TOS 位选定的服务处理器的中断仲裁。如果SRE = 0,挂起的服务请求不能参与中断仲裁。当服务请求被
12、应答并被服务时,SRR 由硬件自动复位。软件可查询SRR 以检查是否有挂起的服务请求。这种情况下,必须通过向CLRR 写 1 的方式软件复位SRR。不建议用户在一次对服务请求控制寄存器进行写访问的过程中,同时清零挂起服务请求标志SRR( 写CLRR= 1)和使能相应的服务请求节点SRN( 写SRE= 1)。如果进行此操作,有可能产生不需要的服务请求。因此推荐用户将一次对相应服务请求控制寄存器的写操作分成两次连续进行,首先清零挂起的中断标志,然后使能服务请求节点。13.2.1.5服务类型控制(TOS)TC1728 有两个中断服务处理器:CPU 和 PCP。使用 TOS 位选择服务请求产生的中断是
13、发送给 CPU( TOS = 0)或者是 PCP( TOS = 1)。服务请求控制寄存器的位11为只读类型,读操作返回0,写该位无效。不过,为了保证与将来扩展的兼容性,位11应始终写入0。请注意:多个服务请求控制寄存器(如PCP 中)的 TOS 位不能进行写操作,而是由电路控制完成( 0 或 1)。这些寄存器产生的中断只能送至指定的服务请求处理器(PCP 或CPU) 。注:在修改TOS的值之前,必须先禁止相应的SRN(SRE= 0) 。13.2.1.6服务请求优先级编号(SRPN)8 位服务请求优先级编号(SRPN) 指示服务请求的优先级,与同一个服务处理器的其它中断源服务请求以及该服务处理器
14、自身的中断优先级进行比较。选择同一个服务请求处理器的每个中断源必须具有唯一的SRPN 值以区分各自的优先级。 SRPN 为 00H的 SRN 不参与仲裁,和其SRE 位的状态无关。对于选择不同服务处理器(CPU vs. PCP)的中断源,它们的SRPN 值可能重叠。如果某中断源无效,即其SRE位为 0,则对于服务请求优先级编号没有限制。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 25 页 - - - - - - - - - 用户手册中断, V1.413-7V1.0,
15、2011-12TC1728中断系统服务处理器根据SRPN 选择中断服务程序(ISR)或通道程序 (服务处理器为PCP 的情况)。 ISR 通过中断向量表和服务请求优先级编号相对应。这意味着TC1728 的中断向量表按照中断优先级排序。这种中断架构与传统的中断架构不同,传统架构的中断向量表按照中断源排序。TC1728 的中断向量表架构允许一个外设具有多个优先级以适应不同的用途。一个系统中SRPN 的取值范围由有效服务请求的个数和用户可定义的中断向量表架构决定。 8 位 SRPN 支持多达 255 个中断源 (请记住SRPN 值为 00H的 SRN 不能参加仲裁)。注:在修改 SRPN 的值之前,
16、必须先禁止相应的 SRN(SRE = 0)。TC1728 中的 SRPNTC1728 中,选择同一个服务处理器的中断源允许具有相同的SRPN 值。在这种情况下,必须由软件 (中断服务程序 )检查是哪个中断源被激活。请注意:因为SRR 标志不能用于上述的检查,因此特定模块的中断请求标志必须可用。当服务请求被应答并服务时,SRR 标志(意味着具有相同SRPN 值的服务请求的所有 SRR 标志)被硬件自动清零。注:不推荐同一个服务处理器的中断源使用相同SRPN值,因为其它Tricore器件不支持该特性。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - -
17、- - - - 名师精心整理 - - - - - - - 第 7 页,共 25 页 - - - - - - - - - 用户手册中断, V1.413-8V1.0, 2011-12TC17280CONECYCCARBCYCPIPNrrwrwrh1514131211109876543210中断系统13.3中断控制单元中断控制单元管理中断系统、仲裁送入的服务请求、决定是否以及何时中断服务处理器。 TC1728 包含两个中断控制单元:CPU 的中断控制单元 (被称为ICU )和 PCP的中断控制单元 (被称为PICU )。每个中断控制单元控制相关中断仲裁总线,管理服务处理器之间的通信 (见 图 13-
18、1)。13.3.1中断控制单元(ICU)本节描述 CPU 的中断控制单元( ICU )。13.3.1.1ICU中断控制寄存器(ICR)ICU 中断控制寄存器ICR 保存当前 CPU 优先级编号( CCPN ) 、全局中断使能 /禁止位( IE)、挂起中断优先级编号(PIPN )以及控制中断仲裁过程的位域。ICRICU 中断控制寄存器(F7E1FE2CH)复位值 : 0000 0000H313029282726252423222120191817160IECCPNrrwhrwh符号位序号类型功能描述CCPN7:0rwh当前 CPU 优先级编号当前 CPU 优先级编号( CCPN )位域指示CPU
19、 的当前优先级。在进入和退出中断服务子程序,以及BISR 指令执行期间,由硬件自动更新该位域。还可通过 MTCR 指令更新 CCPN 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 25 页 - - - - - - - - - 用户手册中断, V1.413-9V1.0, 2011-12TC1728中断系统符号位序号类型功能描述IE8rwh全局中断使能位该中断使能位全局使能CPU 的服务请求系统。是否将一个服务请求提交至CPU 由 SRN 中的服务请求使能位(SRE)、以
20、及 CPU 的当前状态决定。进入和退出中断服务子程序( ISR)后,硬件自动更新 IE。执行中断服务程序时, IE 被清零;当ISR 执RFE 指令终止中断程序时, IE 恢复到原先值。通过执行 ENABLE 、DISABLE 、MTCR 和 BISR 指令也可以更新IE。0B中断系统全局禁止1B中断系统全局使能PIPN23:16rh挂起中断优先级编号PIPN 为只读位域,每个中断仲裁结束时,ICU 对其进行更新。该位域指示挂起中断请求的优先级。当无挂起的中断请求、在每个新的仲裁过程开始时,PIPN 设置为 0。00H没有有效的挂起请求YYH优先级为 YYH 的请求被挂起。CARBCYC25:
21、24rw仲裁周期数CARBCYC 控制确定最高优先级请求所需的仲裁周期数。00B4 个仲裁周期( 缺省)01B3个仲裁周期10B2 个仲裁周期11B1 个仲裁周期CONECYC26rw每个仲裁周期的时钟数控制CONECYC 决定每个仲裁周期由几个系统时钟组成。在 TC1728 中,该位设置为1(在数据片段中SPB 频率达到最大的SPB频率)0B每个仲裁周期2 个时钟(缺省)1B每个仲裁周期1 个时钟015:9,31:27r保留读操作返回0;应写入 0。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - -
22、- - - 第 9 页,共 25 页 - - - - - - - - - 用户手册中断, V1.413-10V1.0, 2011-12TC1728中断系统13.3.1.2中断控制单元的操作( ICU )ICU 中服务请求仲裁和正常CPU 操作并行进行。当一个或多个中断源发生触发事件时,相关的SRN(如被使能 )通过ICU 向 CPU 发出服务请求。 ICU 确定具有最高优先级的服务请求并将该服务请求送至CPU。根据 CPU 的状态,决定CPU 是否应答并服务该服务请求。ICU 仲裁过程占用中断仲裁总线上1 个或多个仲裁周期。当检测到新的服务请求时,ICU 启动一个新的仲裁过程。仲裁过程结束时,
23、ICU 已确定出优先级最高的服务请求。该优先级保存在ICR.PIPN 位域中,成为挂起的服务请求。仲裁结束之后, ICU 将挂起的服务请求送至CPU 并试图中断CPU。只有当中断被全局使能 (即, ICR.IE = 1)且该服务请求的优先级高于当前处理器的优先级(ICR.PIPN ICR.CPPN)时,才能够中断CPU 的当前操作。也可以暂时阻止CPU 接 受中断,例如CPU正在执行多周期指令(如不可分的读取 -修改 -回写操作 )。阻止 CPU 立即响应 ICU 产生的中断请求的所有情况罗列如下:? 当前 CPU 优先级 ICR.CCPN 等于或高于挂起的中断优先级ICR.PIPN? 中断系
24、统被全局禁止(ICR.IE = 0)? CPU 正处于进入一个中断或陷阱服务程序的过程中? CPU 正在执行一个不可中断的陷阱服务程序? CPU 正在执行一个多周期指令? CPU 正在执行一个修改全局中断系统系统设置的指令,如修改ICR? CPU 试图进入服务程序时检测到陷阱情况( 例如上下文保存区域耗尽 )若 CPU 可以接受中断, CPU 程序计数器将指向和服务请求优先级相对应的中断服务程序的入口地址。紧接着,CPU 内部保存 ICR.PIPN 的值,并应答ICU 。随后 ICU 将 该应答发至请求该中断服务的SRN,通知 SRN 该服务请求将被CPU 服务。随后该 SRN 的位SRR 被
25、清零。发出应答之后, ICU 对 ICR.PIPN 清零,如果中断系统中有另一个挂起的服务请求,则可能会启动新一轮仲裁过程。如果没有挂起的中断请求,ICR.PIPN 保持为 0 且 ICU 进入空闲状态,等待下一个中断请求唤醒ICU。如果有新的中断请求等待处理,在新的仲裁过程结束时,新服务请求的优先级编号写入到ICR.PIPN 中, ICU 根据上述规 则将挂起的中断提交给CPU。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 25 页 - - - - - - - -
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年英飞凌tricore用户手册中断系统INT宣贯 2022 年英飞凌 tricore 用户手册 中断 系统 INT 宣贯
限制150内