0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CKS32F107xx系列MCU的中断和事件

中科芯MCU 来源:中科芯MCU 2024-07-22 09:29 次阅读

本章节首先将以MCU开发人员常接触到的“中断”、“事件”和“中断事件”三个名词的概念展开,然后去阐述彼此的主要区别,最后借助MCU的GPIO外部中断/事件控制器(EXTI)的传输路径来加深对上述概念的理解。

概念简介

中断

为了具化下述概念,特引用MCU运行过程中外设模块的触发和反馈来解释说明。

MCU执行程序时,由于发生了某种特定的事件(外部或内部),引起MCU暂时中断正在运行的程序,转去执行与该事件相关的中断服务程序,该事件处理完后又返回被中断的程序继续执行,这一过程称之为中断或中断响应。

事件

事件是指CKS32F107xx系统中发生的一些特定的状态变化,譬如:外部输入电平变化、定时器溢出、FIFO非空、串口接收/发送数据、AD转换完成、外设使能、初始化等。而事件与中断事件是包含关系,即事件可分为中断事件或非中断事件。比如AD转换并不会导致中断发生,因而归类为非中断事件,但AD转换结束就是一个中断事件。

中断事件

中断事件,顾名思义是指能导致中断发生的事件。值得注意的是中断事件最终是否导致后续中断的正常触发,还需要确保是否开启了该中断事件的中断使能。

中断与事件的主要区别

(1)中断与中断事件属于前后关联的因果关系,二者在时序和行为上不一样,即中断事件是中断的触发源;

(2)事件与中断事件为包含关系;

(3)中断有可能被更高优先级的中断屏蔽,但事件不会;

(4)中断一定要有中断服务函数,但是事件没有;

(5)中断一定要MCU的介入,但事件执行操作,可以不需要MCU干预;

(6)中断是软件级的操作,而事件是硬件级。

外部中断/事件控制器(EXTI)

对于互联型产品CKS32F107xx系列的EXTI,它支持20个软件的事件/中断请求,且每个中断/事件都有独立的触发和屏蔽,每个中断线都有专用的状态位。下图为GPIO的EXTI的框图,同时也是外部中断线或外部事件线的示意图。

wKgaomadthKAVRbMAAEE9O3njnc706.png

图1 中断/事件线示意图

从上文可知晓,一个能够触发中断的事件在触发配置时就出现两种可能,即允许产生中断或禁止产生中断,这随之引出事件模式和中断模式两个概念。从上图不难看出,每根信号线上划有一条斜线,并标注数字20,表明这样的线路共有20条,图中的蓝色虚线箭头,标出了中断模式下的传输路径,而图中的绿色箭头则标识了事件模式下的传输路径,下文一一说明。

1)中断模式下的传输路径(①-②-③-④-⑤)

①输入线:EXTI控制器具有20个中断/事件输入线,这些输入线可以连接到任意一个 GPIO或一些外设的事件,当这些输入线上的信号发生电平变化时,EXTI控制器会检测到并触发中断或事件。

②边沿检测电路:EXTI控制器允许用户选择触发方式,可通过设置上升沿、下降沿触发选择寄存器中相应的位来控制信号的触发。

③或门电路:一端输入信号线由边沿检测电路提供,另一端由软件中断事件寄存器(可以使用软件来启动中断/事件线)提供,此处软件可以优先于外部信号请求一个中断或事件,即当软件中断事件寄存器的对应位为”1”时,不管外部信号如何,则输出有效信号1,并且输出的信号会被保存到请求挂起寄存器内,当电路输出为1就会把请求挂起寄存器对应位置1。

④与门电路:一端由或门电路的输出提供,另一端由中断屏蔽寄存器提供,只有当两者都为有效信号1,才会输出有效信号1,即向NVIC中断控制器发出一个中断请求。

⑤将请求挂起寄存器的内容输入到NVIC中,从而实现对中断事件的控制。

2)事件模式下的传输路径(①-②-③-⑥-⑦-⑧)

⑥与门电路:此处与门电路与标号④与门电路类似,用于引入事件屏蔽寄存器的控制,只有两个均输入有效电平1时,才会输出有效信号1。

⑦脉冲发生器:当标号⑥与门电路输出有效信号1时,脉冲发生器会输出一个脉冲信号。

⑧脉冲信号:由脉冲发生器产生,通常用于触发定时器、ADC等。

综上所述,从外部激励源来看,无论中断模式还是事件模式的传输路径在标识①~③是一致的,主要区别是中断需要MCU介入,且同时需要有中断处理函数的参与才会形成中断后的结果,但事件是通过脉冲发生器发出的脉冲信号,进而由硬件自行完成该事件并产生响应的结果。所以,从节省MCU开销,提高系统运行效率来看,事件模式不失为一种提高MCU处理能力的快速响应机制。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16608

    浏览量

    347187
  • 控制器
    +关注

    关注

    112

    文章

    15842

    浏览量

    174907
  • 中断
    +关注

    关注

    5

    文章

    889

    浏览量

    41211
  • GPIO
    +关注

    关注

    16

    文章

    1166

    浏览量

    51447

原文标题:MCU微课堂|CKS32F107xx系列中断和事件

文章出处:【微信号:中科芯MCU,微信公众号:中科芯MCU】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    MCU微课堂|CKS32F4xx系列产品时钟配置

    作为MCU运行的基础,时钟是单片机各个模块工作时序的最小时间单位,推动单片机的各指令执行,是MCU选型的一个重要指标。CKS32F4xx系列产品具有众多的外设,但并非所有的外设均需要系
    发表于 12-12 10:17 735次阅读

    基于CKS32F4xx系列MCU互补PWM方案

    互补输出实际跟比较输出章节一样使用的是定时器的功能,所以相关的函数设置同样在库函数文件CKS32f4xx_tim.h和CKS32f4xx_tim.c文件中。 1)开启TIM1和GPIO时钟,配置PA7、PA8选择复用功能GPIO_AF_TIM1输出。
    发表于 12-02 10:13 487次阅读
    基于<b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>的<b class='flag-5'>MCU</b>互补PWM方案

    CKS32F4xx系列产品NVIC中断优先级管理单元讲解

    本课将为大家讲解CKS32F4xx系列产品的中断优先级管理单元NVIC。CM4内核共支持256个中断,其中包含了16个内核中断和240个外部
    的头像 发表于 02-06 14:52 936次阅读

    CKS32F4xx系列产品串口DMA传输

    在上一讲,我们讲过CKS32F4xx系列的6个串口都支持DMA传输。因此本节我们对CKS32F4xx系列的DMA进行介绍,同时利用DMA对串口数据进行传输。
    的头像 发表于 04-10 11:18 890次阅读

    CKS32F4xx系列RNG功能设置

      MCU 微课堂 CKS32F4xx 系 列RNG功能 随机数发生器简介     CKS32F4xx系列自带了硬件随机数发生器(RNG),RNG处理器是一个以连续模拟噪声为基础的随机
    的头像 发表于 09-08 10:01 477次阅读
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>RNG功能设置

    CKS32F4xx系列DAC功能

    CKS32F4xx系列DAC功能
    的头像 发表于 11-06 16:56 735次阅读
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>DAC功能

    CKS32F4xx系列ADC多通道DMA电压采集

    CKS32F4xx系列ADC多通道DMA电压采集
    的头像 发表于 11-06 16:53 839次阅读

    CKS32F4xx系列产品Timer的基本使用方法-比较输出

    CKS32F4xx系列产品Timer的基本使用方法-比较输出
    的头像 发表于 11-09 17:39 686次阅读
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>产品Timer的基本使用方法-比较输出

    MCU微课堂 | CKS32F4xx系列产品SPI通信

    MCU微课堂 | CKS32F4xx系列产品SPI通信
    的头像 发表于 10-24 17:12 564次阅读
    <b class='flag-5'>MCU</b>微课堂 | <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>产品SPI通信

    MCU微课堂 | CKS32F4xx系列产品GPIO口配置

    MCU微课堂 | CKS32F4xx系列产品GPIO口配置
    的头像 发表于 10-24 15:14 640次阅读
    <b class='flag-5'>MCU</b>微课堂 | <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>产品GPIO口配置

    CKS32F4xx系列FSMC功能简介

    本课讲为大家讲解CKS32F4xx系列产品的FSMC应用实例,FSMC全称是Flexible Static Memory Controller,读作灵活的静态存储控制器,顾名思义,MCU可以通过FSMC扩展静态内存
    的头像 发表于 04-14 15:06 667次阅读
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>FSMC功能简介

    CKS32F107xx系列时钟组成介绍

    作为MCU运行的基础,时钟是MCU各个模块工作时序的最小时间单位,推动MCU的各指令执行,是MCU选型的一个重要指标。
    的头像 发表于 05-20 14:04 307次阅读
    <b class='flag-5'>CKS32F107xx</b><b class='flag-5'>系列</b>时钟组成介绍

    CKS32F107xx系列时钟系统具体配置方法讲解

    上一章节对CKS32F107xx系列时钟做了整体介绍,本章节以使用HSI内部高速时钟为例对时钟具体配置方法进行讲解。
    的头像 发表于 05-28 10:05 332次阅读
    <b class='flag-5'>CKS32F107xx</b><b class='flag-5'>系列</b>时钟系统具体配置方法讲解

    CKS32F107xx系列MCU中ADC介绍

    CKS32F107xx系列产品提供2个12位的模拟/数字转换器(ADC),每个ADC共用多达16个外部通道,各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。
    的头像 发表于 06-22 11:04 474次阅读

    CKS32F107xx系列MCU的GPIO内部硬件结构和工作模式

    16个引脚,如型号为CKS2F107VET6型号的芯片有GPIOA、GPIOB、GPIOC至GPIOE共5组GPIO,芯片一共100个引脚,其中GPIO就占了一大部分,所有的GPIO引脚都有基本的输入输出功能。
    的头像 发表于 07-22 09:23 438次阅读
    <b class='flag-5'>CKS32F107xx</b><b class='flag-5'>系列</b><b class='flag-5'>MCU</b>的GPIO内部硬件结构和工作模式