STM8 中断控制器(ITC) 您所在的位置:网站首页 种植多肉心得体会200字 STM8 中断控制器(ITC)

STM8 中断控制器(ITC)

2023-10-06 11:54| 来源: 网络整理| 查看: 265

中断

程序运行过程中,系统外部、内部或者程序本身若出现紧急事件,处理机立即中止当前程序的运行,自动转入相应的处理程序(中断服务程序),待处理完后,再返回原来的程序运行,这个过程称为程序中断。

中断又可分为屏蔽中断和非屏蔽中断两类.可由程序控制其屏蔽的中断称为屏蔽中断或可屏蔽中断。屏蔽时处理机将不接受中断。反之,不能由程序控制其屏蔽,处理机一定要立即处理的中断称为非屏蔽中断或不可屏蔽中断。非屏蔽中断主要用于断电、电源故障等必须立即处理的情况。处理机响应中断时,不需执行查询程序。

中断处理过程

按照事件发生的顺序,中断过程包括: ①中断源发出中断请求; ②判断当前处理机是否允许中断和该中断源是否被屏蔽; ③优先权排队; ④处理机立即停止当前程序,保护断点地址和处理机当前状态,转入相应的中断服程序; ⑤执行中断服务程序; ⑥恢复被保护的状态,执行“中断返回”指令回到被中断的程序或转入其他程序。 在这里插入图片描述 中断名次解释:中断断点、中断源、中断请求、中断响应、中断服务程序、中断嵌套、中断返回、中断屏蔽、保护现场、回复现场、中断优先级

中断源分类

STM8中断控制器处理2种类型的中断源: ● 不可屏蔽的中断: RESET,TLI 和 TRAP ● 可屏蔽中断: 外部中断或者内嵌的外设中断 不可屏蔽中断源 ● TRAP软件中断 当执行TRAP指令时就响应软件中断 ● RESET 复位中断 复位中断是STM8的软件和硬件中断的最高优先级,这也就是说在复位程序的开始所有的中断被禁止。(9种复位方法) ● TLI硬件中断 最高级别的硬件中断,在STM8S208MB芯片的PD7引脚上

可屏蔽的中断源 ● 外部中断 通常由外部的信号触发,可以是低电平或者边沿触发中断。 ● 外设中断 除了CPU内核体系以外的资源。比如AWU、CLK、CAN、SPI、TIM、UART、I2C、ADC、FLASH等等。 在这里插入图片描述

中断优先级

当多个外设以中断方式与CPU进行数据交换时,可能遇到两个或两个以上外设中断请求同时有效的情形。在这种情况下,CPU先响应哪一外设的中断请求?这就涉及到中断优先级问题。一般说来,为了能够处理多个中断请求,中断控制系统均提供中断优先级控制。有了中断优先级控制后,就可以解决多个中断请求同时有效时,先响应哪一请求中断问题,以及高优先级中断请求可中断低优先级中断处理进程,实现中断嵌套。 有时为避免某一处理过程被中断,中断控制器给每一个中断源都设置了一个中断请求屏蔽位,用于屏蔽(即禁止)相应中断源的中断请求,当某一中断源的中断请求处于禁止状态时,即使该中断请求有效,CPU也不响应,相当于中断源的中断开关。此外,还设一个总的中断请求屏蔽位,当该位处于禁止状态时,CPU忽略所有中断源的中断请求,相当于中断源总开关。

中断控制器功能

● 硬件中断的管理 ─ 所有 I/O 引脚都具有外部中断能力,每一个端口都有独立的中断向量以及独立的标志。 ─ 外设中断能力 ● 软件中断的管理(TRAP) ● 具有灵活的优先级和中断等级管理,支持可嵌套的或同级中断管理: – 多达4个软件可编程的嵌套等级 – 最多有32个中断向量,其入口地址由硬件固定 – 2 不可屏蔽的事件: RESET, TRAP – 1个不可屏蔽的最高优先级的硬件中断 (TLI)

中断屏蔽和处理流程

硬件优先级从低到高按如下顺序给定,即 MAIN, IT4,IT3,IT2,IT1,IT0 和TRAP。 通过设定 ITC_SPRx 寄存器的相应的 I1_x 和 I0_x 位来配置每一个中断向量的软件优先级。 在这里插入图片描述 当一个中断请求必须被响应时:

在当前正在执行指令结束之后,正常的操作被悬起;PC,X,Y,A和CC寄存器被自动压栈;根据ITC_SPRx寄存器中的值对应的中断服务向量,CC寄存器中的位I1和I0被相应设置;通过中断向量载入中断服务子程序的入口地址,接着对中断服务子程序的第一条指令取址。 中断服务子程序必须以IRET指令结束,该指令会把堆栈中的保存的寄存器内容出栈,同时由于运行IRET指令,位I1和位I0被重新恢复,程序也恢复运行。 在这里插入图片描述 处理等待(排队)的中断

同一时间可以有几个中断排队等待处理。中断响应是根据如下两步来决定的:

最高软件优先级的中断被响应;如果几个排队的中断具有相同的软件优先级,那么最高硬件优先级的中断先响应。 当中断请求没有立即得到响应时,该中断请求被锁存;当其软件优先级及硬件优先级均为最高的时候,该中断被处理。 嵌套模式,软件优先级都是相同的,非嵌套模式,软件优先级不同。 在这里插入图片描述 在这里插入图片描述 嵌套模式

注意: 1 与软件优先级不同,每个中断的硬件优先级是唯一且互不相同的,这样就可保证一个时刻只有一个中断被唯一确定地处理。 2 RESET, TLI 和 TRAP 这个几个中断被认为是拥有最高的软件优先级来处理。 3 一个TLI中断可中断除TRAP及RESET之外的3级中断。

外部中断

STM8S为外部中断事件专门分配了五个中断向量: ● Port A 口的5个引脚:PA[6:2] ● Port B 口的8个引脚:PB[7:0] ● Port C 口的8个引脚:PC[7:0] ● Port D 口的7个引脚:PD[6:0] ● Port E 口的8个引脚:PE[7:0] PD7 是最高优先级的中断源 (TLI)。

中断指令

在这里插入图片描述

CPU CC 寄存器中断位

在这里插入图片描述

软件优先级寄存器 x (ITC_SPRx)

x表示1-8,有8个寄存器。 在这里插入图片描述

外部中断控制寄存器 1 (EXTI_CR1)

在这里插入图片描述

外部中断控制寄存器 1 (EXTI_CR2)

在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有