欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年英飞凌tricore用户手册中断系统INT宣贯 .pdf

    • 资源ID:30538981       资源大小:518.88KB        全文页数:25页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年英飞凌tricore用户手册中断系统INT宣贯 .pdf

    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 服务请求节点。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 25 页 - - - - - - - - - TC1728用户手册中断, V1.413-2V1.0, 2011-12中断系统图 13-1TC1728 中断系统框图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 25 页 - - - - - - - - - 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)复位值 : 0000 0000H31302928272625242322212019181716015141312111098r76543210wwrhrwrrwrrw名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 25 页 - - - - - - - - - 用户手册中断, V1.413-4V1.0, 2011-12TC1728中断系统符号位序号类型功能描述SRPN7:0rw服务请求优先级编号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 同时被置位则不进行任何操作。09:8, 11,31:16r保留读操作返回0;应写入 0。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 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 写 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 位被清零。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 25 页 - - - - - - - - - 用户手册中断, 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 位的状态无关。对于选择不同服务处理器(CPU vs. PCP)的中断源,它们的SRPN 值可能重叠。如果某中断源无效,即其SRE位为 0,则对于服务请求优先级编号没有限制。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 25 页 - - - - - - - - - 用户手册中断, 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器件不支持该特性。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 25 页 - - - - - - - - - 用户手册中断, 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)复位值 : 0000 0000H313029282726252423222120191817160IECCPNrrwhrwh符号位序号类型功能描述CCPN7:0rwh当前 CPU 优先级编号当前 CPU 优先级编号( CCPN )位域指示CPU 的当前优先级。在进入和退出中断服务子程序,以及BISR 指令执行期间,由硬件自动更新该位域。还可通过 MTCR 指令更新 CCPN 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 25 页 - - - - - - - - - 用户手册中断, 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中断系统全局使能PIPN23:16rh挂起中断优先级编号PIPN 为只读位域,每个中断仲裁结束时,ICU 对其进行更新。该位域指示挂起中断请求的优先级。当无挂起的中断请求、在每个新的仲裁过程开始时,PIPN 设置为 0。00H没有有效的挂起请求YYH优先级为 YYH 的请求被挂起。CARBCYC25:24rw仲裁周期数CARBCYC 控制确定最高优先级请求所需的仲裁周期数。00B4 个仲裁周期( 缺省)01B3个仲裁周期10B2 个仲裁周期11B1 个仲裁周期CONECYC26rw每个仲裁周期的时钟数控制CONECYC 决定每个仲裁周期由几个系统时钟组成。在 TC1728 中,该位设置为1(在数据片段中SPB 频率达到最大的SPB频率)0B每个仲裁周期2 个时钟(缺省)1B每个仲裁周期1 个时钟015:9,31:27r保留读操作返回0;应写入 0。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 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 启动一个新的仲裁过程。仲裁过程结束时,ICU 已确定出优先级最高的服务请求。该优先级保存在ICR.PIPN 位域中,成为挂起的服务请求。仲裁结束之后, ICU 将挂起的服务请求送至CPU 并试图中断CPU。只有当中断被全局使能 (即, ICR.IE = 1)且该服务请求的优先级高于当前处理器的优先级(ICR.PIPN ICR.CPPN)时,才能够中断CPU 的当前操作。也可以暂时阻止CPU 接 受中断,例如CPU正在执行多周期指令(如不可分的读取 -修改 -回写操作 )。阻止 CPU 立即响应 ICU 产生的中断请求的所有情况罗列如下:? 当前 CPU 优先级 ICR.CCPN 等于或高于挂起的中断优先级ICR.PIPN? 中断系统被全局禁止(ICR.IE = 0)? CPU 正处于进入一个中断或陷阱服务程序的过程中? CPU 正在执行一个不可中断的陷阱服务程序? CPU 正在执行一个多周期指令? CPU 正在执行一个修改全局中断系统系统设置的指令,如修改ICR? CPU 试图进入服务程序时检测到陷阱情况( 例如上下文保存区域耗尽 )若 CPU 可以接受中断, CPU 程序计数器将指向和服务请求优先级相对应的中断服务程序的入口地址。紧接着,CPU 内部保存 ICR.PIPN 的值,并应答ICU 。随后 ICU 将 该应答发至请求该中断服务的SRN,通知 SRN 该服务请求将被CPU 服务。随后该 SRN 的位SRR 被清零。发出应答之后, ICU 对 ICR.PIPN 清零,如果中断系统中有另一个挂起的服务请求,则可能会启动新一轮仲裁过程。如果没有挂起的中断请求,ICR.PIPN 保持为 0 且 ICU 进入空闲状态,等待下一个中断请求唤醒ICU。如果有新的中断请求等待处理,在新的仲裁过程结束时,新服务请求的优先级编号写入到ICR.PIPN 中, ICU 根据上述规 则将挂起的中断提交给CPU。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 25 页 - - - - - - - - - 用户手册中断, V1.413-11V1.0, 2011-12TC1728中断系统如果在 CPU 应答挂起的中断请求之前,ICU 接收到新的服务请求,那么ICU 使挂起的服务请求失效,启动新一轮仲裁过程。该操作缩短了当前请求被应答之前提交服务请求造成的延迟。 ICU 通过设置 ICR.PIPN 位域为 0 的方式使当前挂起的中断请求失效,指示ICU 还未发现新的有效挂起请求。随后ICU 再次执行仲裁过程。如果新的服务请求比先前的服务请求优先级更高,那么新服务请求的优先级写入到ICR.PIPN 。如果新服务请求的优先级较低,那么将先前的中断请求的优先级再次写入到位域ICR.PIPN 。在这两种情况下, ICU 根据上述规则向CPU 提交一个新的中断请求。一旦 CPU 应答了当前挂起的中断请求,SRN 产生的任何新服务请求必须至少等到下一轮仲裁过程结束。本质上来讲,只要检测到新服务请求,ICU 就会执行仲裁,而与CPU 是否服务中断无关。因此, ICR.PIPN 位域始终指示具有最高优先级的挂起服务请求。该特性可用于通过软件查询以确定高优先级的请求,而同时中断系统还处于被禁止的状态。13.3.2PCP 中断控制单元(PICU)PCP 中断控制单元( PICU) 与 PCP 及其中断控制寄存器(PCP_PICR) 密切相关。PICU的操作和 CPU 的 ICU 单元操作从整个机制上来说非常相似。注:PICU 和 PCP_ICR寄存器的具体描述见有关 PCP 的章节。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 25 页 - - - - - - - - - 用户手册中断, V1.413-12V1.0, 2011-12TC1728中断系统13.4仲裁过程在 TC1728 中,使用数个仲裁周期来决定具有最高优先级的挂起中断请求(SRPN)以实现仲裁过程。在每个仲裁周期内,所有挂起服务请求的SRPN 中的两位相互比较。比较过程从SRPN 的最高位开始,向低位方向进行,在最后一个周期中会比较SRPN 的位 1:0 。因此,为了比较 SRPN 的全部 8 位,需要 4 个仲裁周期。共有两个因素决定仲裁周期的持续时间:?仲裁周期数?仲裁周期长度这两个因素均可由用户控制。13.4.1仲裁周期数控制在实时系统中,中断响应速度非常关键,因此必须尽快完成仲裁过程。不过,为了保持系统的灵活性, TC1728 系统所支持的服务请求优先级范围很大。如果一个系统不需用到所有的优先级,则不需检查SRPN 的所有位以识别全部255 个优先级,从而可加速完成仲裁。例如,如果一个系统只需6 位就足以识别所有的优先级(意味着所有SRPN 的位 7:6 始终为 0),则不需要执行位7:6 的仲裁。在这种情况下,比较所有挂起请求的SRPN 的位 5:0即可确定优先级最高的请求,只需3 个仲裁周期就已足够。与此类似,如果只使用所有SRPN 的位 3:0 ,那么仲裁周期减少到2 个;如果只使用SRPN 中的位 1:0 ,那么仲裁周期将减少到 1 个。位域 ICR.CARBCYC控制仲裁过程的仲裁周期数。缺省值为0,选择 4 个仲裁周期。表 13-1 给出仲裁周期控制选择。表 13-1仲裁周期控制仲裁周期数4321ICR.CARBCYC00B01B10B11BSRPNs 中对应位7:05:03:01:0覆盖的优先级范围1.2551.631.151.3注:如果选择的仲裁周期少于4 个,则不检查SRPN中的相关高位部分,即使其中包含非零值。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 25 页 - - - - - - - - - 用户手册中断, V1.413-13V1.0, 2011-12TC1728中断系统13.4.2仲裁周期长度控制当 TC1728 以较高系统时钟频率运行时,当执行在高系统时钟频率时,每个仲裁周期内SRN和 ICU 之间的信息流速率受到TC1728 内传播延迟的限制。较高的系统频率下,要正确执行仲裁,仲裁周期可能需要2个系统时钟。系统时钟频率较低时,为了优化仲裁机制,TC1728 中断系统中实现了一个附加控制位ICR.CONECYC。该位缺省值位 0,选择每个仲裁周期由2个个时钟周期组成。该位置1选择每个仲裁周期等于 1个时钟周期。设置 ICR.CONECYC= 1时的最大频率在产品数据表中定义。对该位进行设置时,使用高于产品规范中的系统频率将导致中断系统出现不可预测的行为,从而无法保证操作的正确进行。13.5进入中断服务子程序当来自 ICU 的中断请求被挂起且所有条件都满足时(也就是说CPU 此时能够服务该中断请求), CPU 执行下列操作,为进入指定的中断服务子程序(ISR)做准备:1.当前任务的高段上下文被保存1)。CPU 的当前优先级编号ICU.CCPN、全局中断使能位 ICR.IE 被自动保存在PCXI 寄存器中 (位域PCPN 和位 PIE)。2.全局禁止中断系统(ICR.IE 设置为 0)3.CPU 的当前优先级编号(ICR.CCPN) 被更新为 ICR.PIPN 的值4.PSW 设置为缺省值:a)使能所有常规外设访问( 用户 1 模式 ) ,即 PSW.IO = 10Bb)存储器保护切换到PRS0 ,即 PSW.PRS=0c)堆栈指针位设置为中断堆栈,即PSW.IS=1d)清零调用深度计数器,调用深度极限值设为63,即 PSW.CDC=05.如果中断子程序的PSW.IS设置为 0( 使用用户堆栈) ,由中断堆栈指针ISP 重载堆栈指针 A10;否则保持不变。6. 为 CPU 程序计数器分配一个有效地址,该地址由BIV 寄存器和 ICR.PIPN左移 5 位 之后的值逻辑或得到。该地址指针指向和中断优先级对应的中断向量表入口。7. 程序计数器指向的中断向量表有效地址上的内容作为中断服务子程序(ISR ) 的第一条指令。以线性顺序执行指令直到出现ISR 分支或退出指令。1)请注意,如果CPU 保存当前任务的高段上下文的同时,发生上下文切换陷阱,则CPU 将不会进入挂起的ISR,中断请求将继续挂起,CPU 将进入到相应的陷阱处理子程序中。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 25 页 - - - - - - - - - 用户手册中断, V1.413-14V1.0, 2011-12TC1728中断系统如上所述,进入一个中断服务程序时,禁止接收后续中断(ICR.IE = 0)。同时, CPU 的当前优先级ICR.CCPN 由硬件设置为中断源的优先级(ICR.PIPN )。显然,在处理器能够接收更多中断之前,ISR 最终必须通过设置ICR.IE =1 重新使能中断系统。另外, ISR 还能够修改优先级编号ICR.CCPN,修改有效中断优先级编号。由用户决定是否再次使能中断系统,选择是否修改CCPN 编号以实现不同中断优先级或处理特殊情况。为了简化重新使能中断系统的操作,可使用ENABLE 指令,该指令设置ICR.IE =1。BISR 指令提供了一种非常方便的方法重新使能中断系统、为ICR.CCPN 设置新值,保存中断任务的低段上下文。还可以使用MTCR 指令修改 ICR.IE 和 ICR.CCPN。不过,该指令应该和 ISYNC 指令一起执行( ISYNC 指令用于同步指令流 ),以确保在执行后续指令之前完成该操作。注:可使用SVLCX( 保存低段上下文 )指令保存低段上下文。13.6退出中断服务程序当使用 RFE(从异常情况返回 )指令退出ISR 时,硬件自动恢复高段上下文。寄存器PCXI 中保存先前的CPU 优先级(PCPN) 和先前的全局中断使能位(PIE) ,这 是该高段上下文的一部分。保存在PCPN 中的值写入到ICR.CCPN 以恢复中断之前的CPU 优先级编号,位PIE 写入到 ICR.IE 以恢复该位的状态。随后继续执行被中断的程序。注:退出中断服务程序时,不能自动恢复低段上下文。如果在执行ISR 期间通过执行BISR 指令或SVLCX指令保存低段上下文,则在执行RFI 指令退出ISR 之前,必须通过 RSLCX指令(恢复低段上下文 )重新恢复低段上下文。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 25 页 - - - - - - - - - 用户手册中断, V1.413-15V1.0, 2011-12TC1728中断系统13.7中断向量表以中断向量表的方式将中断服务子程序(ISR)和具有特定优先级的中断联系起来。中断向量表是由ISR 入口地址组成的阵列。执行中断时, CPU 首先根据中断优先级(ICR.PIPN 位域)计算对应的中断向量表中的地址。该地址被载入到程序计数器。CPU 开始执行中断向量表中该地址处的指令。该地址上的代码为 ISR 的起始部分。根据ISR 的代码量,中断向量表可能只保存ISR 的开头部分,比如跳转指令,通过该指令跳转至位于存储器其它位置的ISR 的其余部分。中断向量表保存在代码存储器中。BIV 存储器给出中断向量表的基址。中断向量表按照优先级从低到高的顺序排列。中断向量表基址寄存器(BIV )保存中断向量表的基地址。它可位于任何可用的代码存储器中。上电之后的缺省值固定为0000 0000H。不过,在使能中断之前,可使用MTCR 指令在系统初始化阶段修改BIV 寄存器的值。使用该方式,中断系统可具有多个中断向量表,并通过改变 BIV 寄存器内容的方式在各中断向量表之间切换。注:BIV 寄存器受 ENDINIT 位保护(初始化结束保护 )( 描述见看门狗定时器的章节)。只有当中断系统被全局禁止时 (ICR.IE= 0),才能修改 BIV。此外,在修改 BIV之后应使用ISYNC指令,从而确保在执行后续指令之前完成该修改操作。CPU 被中断时,它首先根据PIPN 和 BIV 寄存器的值计算对应ISR 的入口地址。 PIPN 左移 5 位后与 BIV 寄存器中的地址逻辑或,产生指向中断向量表的指针。从该地址开始执行ISR。鉴于这样的地址计算操作,所以建议用户将寄存器BIV 的位 12:5设置为 0( 见图 13-2) 。注意 BIV 寄存器的位0 始终为 0,不可写入该位( 指令必须与偶字节边界对齐) 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 25 页 - - - - - - - - - 用户手册中断, V1.413-16V1.0, 2011-12TC1728中断系统311250BIV0 0 0 0 0 0 0 00PIPNOR计算出的中断向量表入口地址MCA06182图 13-2中 断 向 量 表 入 口 地 址 计 算PIPN 左移 5 位生成的中断向量表入口大小为8 个字。如果ISR 非常短,可将整个ISR保存在向量表入口处。否则,入口处的代码必须包含一个跳转指令,指向保存在存储器其它位置的 ISR 的其余部分。由于中断向量表根据中断优先级进行组织,因此,TC1728 可提供一种额外选择,允许跨越占用中断向量表的一些入口地址(只要这些入口未被使用 )。图 13-3 给出这种应用示例。所需中断向量表的大小只取决于系统中实际需要的优先级范围。256 个向量入口中有255 个可供使用。向量入口0 从未被使用,因为若ICR.PIPN 为 0,则 CPU 不会被中断。系统可支持不同的中断处理器,但需要较少向量入口的系统不需通过最大配置来使用全部专用存储器区。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 25 页 - - - - - - - - - 用户手册中断, V1.413-17V1.0, 2011-12TC1728中断系统中断向量表优先级编号8 个字PN = 2558 个字PN = 5服 务 子 程序 可 占 用多个入口PN = 4PN = 3( 如 果 被PN=2的ISR 占 用 , 则 不 使用)PN = 28 个字PN = 18 个字BIVPN = 0 (从不使用 )MCA06183图 13-3中断向量表名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 25 页 - - - - - - - - - 用户手册中断, V1.413-18V1.0, 2011-12TC1728中断系统13.8TC1728中断系统的使用以下各节举例说明如何使用TC1728 中断系统解决典型的和特殊的应用问题。13.8.1跨越多个向量入口的中断服务子程序每个中断向量入口由8 个字的存储空间组成。如果ISR 可完全存放在8 个字的空间内,则不需要跳转指令。但是,只有最简单的ISR 才可在 8 个字以内、存放在向量表的单个入口处。由于中断向量表是按照优先级而不是中断源排序的,因此很容易使ISR 跨 越多个向量入口,本节将解释这种技术。在图 13-3 的示例中,入口2 对应的 ISR 占用了入口位置3 和 4。图 13-3 中,紧随入口2的可用入口为入口5。当然,如果使用该技术,不应当将已被占用的入口位置所对应的优先级分配给任何SRN。因此,不应将优先级3 和 4 分配给请求 CPU 服务的 SRN。不过,它们可用于请求PCP 服务。使用该技术时,由于使用的优先级个数增加,可能会引起性能的折衷。还可能会影响执行仲裁所需要的仲裁周期数。考虑下述情况:系统使用3 个有效的中断源,即只使能3个SRN 请求中断服务。如果这3 个中断源被分配给优先级1、2、3,则使用一个周期足以进行中断仲裁。但如果中断优先级2 的 ISR 跨越 3 个向量入口,如图 13-3 所示,则需要将原先3个中断源分配给优先级1、2 和 5。因此,执行整个仲裁过程需要2 个仲裁周期。系统设计师可根据系统需要对跨越多个向量入口的服务子程序所带来的性能提高和仲裁周期数增加所带来的系统影响进行折衷考虑。减少仲裁周期数就缩短了服务请求仲裁延迟;跨越多个向量入口的服务子程序缩短服务子程序的运行时间(因而还缩短了随后的同级或更低级中断的延迟 )。例如,如果系统要进行多个快速短暂的测量,则缩短仲裁延迟可能最为重要。如果使总的中断响应时间为最短对系统来说最为重要,那么跨越多个中断向量表入口可能是一种合适的解决方案。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 25 页 - - - - - - - - - 用户手册中断, V1.413-19V1.0, 2011-12TC1728中断系统13.8.2配置常规中断服务子程序当 CPU 开始服务一个中断时,中断系统被全局禁止,CPU 的优先级ICR.CCPN 设置为当前所服务中断的优先级。该操作将会阻止后续的所有中断,直到中断系统被再次使能。开始执行一个常规ISR 之后,通常希望该ISR 能够重新使能全局中断,从而使系统在执行当前 ISR 期间,还可以服务具有更高优先级的中断(即优先级高于ICR.CCPN 的当前值 )。因此,此类ISR 可以通过诸如ENABLE 指令,再次设置ICR.IE = 1。如果通过设置ICR.IE = 1,ISR 再次使能中断系统,但并未改变ICR.CCPN ,那么从此刻起,硬件可被更高优先级的中断所中断,但不会去服务同级或更低优先级的中断(与位域ISR.CCPN 的当前优先级相比) 。显然当前 ISR 也处于该优先级,因此还可以阻止硬件提交更多中断。 (这种情况非常必要,这样ISR 就可以自动服务中断请求 )。ISR 执行完毕之后,使用RFE 指令退出。硬件恢复被中断的主程序的ICR.CCPN 和ICR.IE 值。13.8.3中断优先级分组中断优先级分组有时可能非常有用,相同或不同的优先级构成一组,使它们的ISR不能相互中断。例如,能够产生多个中断的器件可能需要通过该方式使这些不同优先级的中断之间互锁。 TC1728 中断架构可以生成这样的中断优先级组。可通过下文描述的方式管理CPU的当前优先级ICR.CCPN ,从而实现优先级分组。例如,为了将优先级11 和优先级 12 合并构成一个优先级组,要求优先级为11 的ISR 不能被优先级为12 的服务请求中断 (因为优先级11 和 12 属于同一个优先级组 )。只有优先级高于 12 的中断才能中断该组内的ISR。不过,使用常规ISR 时,优先级为 11 的 ISR 应当被更高优先级的任何请求中断,包括优先级12 在内。不过,如果中断优先级组中的所有ISR 设置 ICR.CCPN 等于该组中的最高优先级 (在它们重新使能中断之前 ),那么将会出现希望的互锁特性。图 13-4 举例说明什么是中断优先级分组。优先级11 和优先级 12 组成一个优先级组,优先级 14 到 17 组成另一个优先级组。组1 中的每个 ISR 在重新使能中断系统之前将ICR.CCPN 设置为 12( 该组中的最高优先级编号) ;组2 中的每个 ISR 在重新使能 中断系统之前将 ICR.CCPN 设置为 17。例如,如果中断14 被服务,那么只有优先级高于 17 的中断才能名师资料总结

    注意事项

    本文(2022年英飞凌tricore用户手册中断系统INT宣贯 .pdf)为本站会员(Q****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开