英飞凌tricore用户手册 第13章 中断系统INT

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

TC1728用户手册中断,V1.413-1V1.0,2011-1213中断系统中断系统TC1728中断系统可灵活、实时的处理中断请求。本章描述TC1728的中断系统,包括中断系统架构、中断系统配置、以及TC1728外设和中央处理单元(CPU)的中断操作。本章还给出外设控制处理器(PCP)的基本信息。13.1概述可由CPU或PCP服务中断请求。在本手册中,提及中断请求时不使用术语“中断请求”、而使用术语“服务请求”,因为他们可以被其中任意一种处理器服务。TC1728的每个外设都可以产生服务请求。另外,总线控制单元、调试单元、PCP以及CPU本身都可以产生服务请求,发送至CPU或PCP处理器。如图13-1所示,每个能产生服务请求的TC1728单元都与一个或多个服务请求节点(SRN)相连。每个SRN具有一个服务请求控制寄存器mod_SRCx,其中“mod”代表服务请求单元的ID(标识符),x为可选编号。两条仲裁总线将SRN和两个中断控制单元(ICU)相连(由ICU对竞争的中断服务请求进行中断仲裁):•中断控制单元(ICU)仲裁发送给CPU的服务请求并管理CPU中断仲裁总线。•外设中断控制单元(PICU)仲裁发送给PCP的服务请求并管理PCP中断仲裁总线。PCP能够直接向其自身发送服务请求(通过PICU),或向CPU发送服务请求。调试单元可向PCP或CPU发送服务请求。CPU也能够向其自身发送服务请求(通过ICU),或向PCP发送服务请求。可由软件激活CPU服务请求节点。TC1728用户手册中断,V1.413-2V1.0,2011-12中断系统图13-1TC1728中断系统框图TC1728用户手册中断,V1.413-3V1.0,2011-12SETRCLRRSRRSRE0TOS0SRPN中断系统13.2服务请求节点每个SRN具有一个服务请求控制寄存器和接口逻辑(通过接口逻辑将SRN和触发单元以及两条中断仲裁总线相连)。TC1728一些外设单元具有多个SRN。13.2.1服务请求控制寄存器TC1728中的所有服务请求控制寄存器具有相同的格式。这些寄存器通常包含:•使能/禁止信息•优先级信息•中断服务处理器(PCP或CPU)•选择服务请求状态位•软件控制的服务请求置位和清零位除了通过相关触发单元硬件激活之外,每个SRN还可通过软件控制的服务请求由软件置位或复位。本章给出的描述适用于TC1728所有的服务请求控制寄存器。外设模块中断功能的信息,如使能或请求标志,在相关模块的章节中给出。13.2.1.1服务请求控制寄存器的通用格式本章给出的描述适用于TC1728所有的服务请求控制寄存器。外设模块中断功能的信息,如使能或请求标志,在相关模块的章节中给出。mod_SRC服务请求控制寄存器(00H)复位值:00000000H31302928272625242322212019181716015141312111098r76543210wwrhrwrrwrrw用户手册中断,V1.413-4V1.0,2011-12TC1728中断系统符号位序号类型功能描述SRPN[7:0]rw服务请求优先级编号00H不服务该服务请求01H服务请求优先级最低……FFH服务请求优先级最高TOS10rw服务控制类型0由CPU服务该中断请求1由PCP服务该中断请求SRE12rw服务请求使能0服务请求禁止1服务请求使能SRR13rh服务请求标志0无挂起的服务请求1服务请求挂起CLRR14w请求清零控制位由CLRR清零SRR.0无操作1清零SRR;不存储该位值;读取始终返回0;如果SETR同时被置位则不进行任何操作。SETR15w请求置位控制位由SETR置位SRR.0无操作1清零SRR;不存储该位值;读取始终返回0;如果CLRR同时被置位则不进行任何操作。0[9:8],11,[31:16]r保留读操作返回0;应写入0。用户手册中断,V1.413-5V1.0,2011-12TC1728中断系统13.2.1.2服务请求置位和清零位(SETR、CLRR)可通过SETR和CLRR软件置位或清零服务请求标志SRR。向SETR写1将置位SRR,向CLRR写1将清零SRR。如果在读取-修改-回写的软件操作(如位-置位或位-清零指令)期间,硬件试图修改SRR,则软件操作占优,硬件操作无效。写入SETR和CLRR的值不被保存。向这些位写0无任何影响。读取这些位始终返回0。如果同时向SETR和CLRR写1,则SRR值保持不变。13.2.1.3使能位(SRE)SRE位使能服务请求参与已选服务处理器的中断仲裁。该位不会使能或禁止请求标志SRR的设置。请求标志可由硬件或软件(通过SETR)置位,与SRE的状态无关。从而允许通过硬件自动处理或软件查询的方式处理服务请求。如果SRE=1,挂起的服务请求被送至指定的服务处理器进行中断仲裁。当服务请求被应答并服务时,硬件自动清零SRR位。在这种情况下,建议用户不要软件修改SRR位,以避免因硬件控制该位而出现不可预料的操作。如果SRE=0,挂起的服务请求不被送至服务处理器。软件可查询SRR位以检查是否有挂起的服务请求。为了应答服务请求,必须通过向CLRR写1的方式软件清零SRR位。注:本手册中,“有效请求源”意味着一个SRN的服务请求控制寄存器的请求使能位SRE置1,从而允许该服务请求参与中断仲裁。13.2.1.4服务请求标志(SRR)SRR标志置位时,指示服务请求挂起。该标志可由硬件直接置位/清零、或由软件间接置位/清零(通过设置SETR或CLRR实现)。软件直接设置该位无效。SRR状态位可由相关的硬件直接置位或复位。例如,在通用定时器阵列单元中,相关的定时器事件可使该位置位。硬件事件如何置位SRR的详细内容在各相关外设/模块章节中给出。中断控制单元(ICU)或PCP中断控制单元(PICU)对服务请求的应答使SRR位被清零。用户手册中断,V1.413-6V1.0,2011-12TC1728中断系统SRR可由硬件或软件置位或清零,与使能位SRE的状态无关。不过,只有当使能位置位时,该服务请求才会被送出。如果SRE=1,挂起的服务请求将参与由TOS位选定的服务处理器的中断仲裁。如果SRE=0,挂起的服务请求不能参与中断仲裁。当服务请求被应答并被服务时,SRR由硬件自动复位。软件可查询SRR以检查是否有挂起的服务请求。这种情况下,必须通过向CLRR写1的方式软件复位SRR。不建议用户在一次对服务请求控制寄存器进行写访问的过程中,同时清零挂起服务请求标志SRR(写CLRR=1)和使能相应的服务请求节点SRN(写SRE=1)。如果进行此操作,有可能产生不需要的服务请求。因此推荐用户将一次对相应服务请求控制寄存器的写操作分成两次连续进行,首先清零挂起的中断标志,然后使能服务请求节点。13.2.1.5服务类型控制(TOS)TC1728有两个中断服务处理器:CPU和PCP。使用TOS位选择服务请求产生的中断是发送给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)指示服务请求的优先级,与同一个服务处理器的其它中断源服务请求以及该服务处理器自身的中断优先级进行比较。选择同一个服务请求处理器的每个中断源必须具有唯一的SRPN值以区分各自的优先级。SRPN为00H的SRN不参与仲裁,和其SRE位的状态无关。对于选择不同服务处理器(CPUvs.PCP)的中断源,它们的SRPN值可能重叠。如果某中断源无效,即其SRE位为0,则对于服务请求优先级编号没有限制。用户手册中断,V1.413-7V1.0,2011-12TC1728中断系统服务处理器根据SRPN选择中断服务程序(ISR)或通道程序(服务处理器为PCP的情况)。ISR通过中断向量表和服务请求优先级编号相对应。这意味着TC1728的中断向量表按照中断优先级排序。这种中断架构与传统的中断架构不同,传统架构的中断向量表按照中断源排序。TC1728的中断向量表架构允许一个外设具有多个优先级以适应不同的用途。一个系统中SRPN的取值范围由有效服务请求的个数和用户可定义的中断向量表架构决定。8位SRPN支持多达255个中断源(请记住SRPN值为00H的SRN不能参加仲裁)。注:在修改SRPN的值之前,必须先禁止相应的SRN(SRE=0)。TC1728中的SRPNTC1728中,选择同一个服务处理器的中断源允许具有相同的SRPN值。在这种情况下,必须由软件(中断服务程序)检查是哪个中断源被激活。请注意:因为SRR标志不能用于上述的检查,因此特定模块的中断请求标志必须可用。当服务请求被应答并服务时,SRR标志(意味着具有相同SRPN值的服务请求的所有SRR标志)被硬件自动清零。注:不推荐同一个服务处理器的中断源使用相同SRPN值,因为其它Tricore器件不支持该特性。用户手册中断,V1.413-8V1.0,2011-12TC17280CONECYCCARBCYCPIPNrrwrwrh1514131211109876543210中断系统13.3中断控制单元中断控制单元管理中断系统、仲裁送入的服务请求、决定是否以及何时中断服务处理器。TC1728包含两个中断控制单元:CPU的中断控制单元(被称为ICU)和PCP的中断控制单元(被称为PICU)。每个中断控制单元控制相关中断仲裁总线,管理服务处理器之间的通信(见图13-1)。13.3.1中断控制单元(ICU)本节描述CPU的中断控制单元(ICU)。13.3.1.1ICU中断控制寄存器(ICR)ICU中断控制寄存器ICR保存当前CPU优先级编号(CCPN)、全局中断使能/禁止位(IE)、挂起中断优先级编号(PIPN)以及控制中断仲裁过程的位域。ICRICU中断控制寄存器(F7E1FE2CH)复位值:00000000H313029282726252423222120191817160IECCPNrrwhrwh符号位序号类型功能描述CCPN[7:0]rwh当前CPU优先级编号当前CPU优先级编号(CCPN)位域指示CPU的当前优先级。在进入和退出中断服务子程序,以及BISR指令执行期间,由硬件自动更新该位域。还可通过MTCR指令更新CCPN。用户手册中断,V1.413-9V1.0,2011-12TC1728中断系统符号位序号类型功能描述IE8rwh全局中断使能位该中断使能位全局使能CPU的服务请求系统。是否将一个服务请求提交至CPU由SRN中的服务请求使能位(SRE)、以及CPU的当前状态决定。进入和退出中断服务子程序(ISR)后,硬件自动更新IE。执行中断服务程序时,IE被清零;当ISR执RFE指令终止中断程序时,IE恢复到原先值。通过执行ENABLE、DISABLE、MTCR和BISR指令也可以更新IE。0B中断系统全局禁止1B中断系统全局使能PIPN[23:16]rh挂起中断优先级编号PIPN为只读位域,每个中断仲裁结束时,ICU对其进行更新。该位域指示挂起中断请求的优先级。当无挂起的中断请求、在每个新的仲裁过程开始时,PIPN设置为0。00H没有有效的挂起请求YYH优先级为YYH的请求被挂起。CARBCYC[25:24]rw仲裁周期数CARBCYC控制确定最高优先级请求所需的仲裁周期数。00B4个仲裁周期(缺省)01B3个仲裁周期10B2个仲裁周期11B1个仲裁周期CONECYC26rw每个仲裁周期的时钟数控制CONECYC决定每个仲裁周期由几个系统时钟组成。在TC1728中,该位设置为1(在数据片段中SPB频率达到最大的SPB频率)0B每个仲裁周期2个时钟(缺省)

1 / 25
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功