




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第6章STM8中断控制系统6.1CPU与外设通信方式概述与外设通信方式概述6.1.1查询方式查询方式6.1.2中断通信方式中断通信方式6.2STM8S中断系统中断系统6.2.1中断源及其优先级中断源及其优先级6.2.2中断响应条件与处理过程中断响应条件与处理过程6.2.3外中断源及其初始化外中断源及其初始化6.2.4中断服务程序结构中断服务程序结构广东工业大学物理与光电工程学院6.1 CPU与外设通信方式概述外设与CPU之间的通信方式有三种:查询方式中断方式直接存储器存取(DMA)方式。广东工业大学物理与光电工程学院6.1.1 查询方式查询方式查询方式包括查询输出方式和查询输入方式。包括查询输
2、出方式和查询输入方式。所谓所谓查询输入方式查询输入方式,是指,是指CPU读外设数据前,读外设数据前,先查询外设是否处于准备就绪状态(即外设是先查询外设是否处于准备就绪状态(即外设是否已将数据输出到否已将数据输出到CPU的数据总线上);的数据总线上);查询查询输出方式输出方式是指是指CPU向外设输出数据前,先查询向外设输出数据前,先查询外设是否处于空闲状态(即外设是否可以接收外设是否处于空闲状态(即外设是否可以接收CPU输出的数据)。输出的数据)。下面以下面以CPU向外设输出数据为例,简要介绍查向外设输出数据为例,简要介绍查询传输方式的工作过程:当询传输方式的工作过程:当CPU需要需要向外设输向
3、外设输出数据时,先将控制命令(如外设的启动命令)出数据时,先将控制命令(如外设的启动命令)写入外设的控制端口,然后不断读外设的状态写入外设的控制端口,然后不断读外设的状态口,当发现外设处于空闲状态后,就将数据写口,当发现外设处于空闲状态后,就将数据写入外设的数据口,完成数据的输出过程。入外设的数据口,完成数据的输出过程。广东工业大学物理与光电工程学院广东工业大学物理与光电工程学院查询方式优缺点查询方式优缺点:硬件开销少、传输程序简单,但缺点是硬件开销少、传输程序简单,但缺点是CPU占用率高,因为在外设未准备就绪或处于非空闲占用率高,因为在外设未准备就绪或处于非空闲状态前,状态前,CPU一直处于
4、查询状态,不能执行其他一直处于查询状态,不能执行其他操作,任何时候也只能与一个外设进行数据交换。操作,任何时候也只能与一个外设进行数据交换。6.1.2中断通信方式采用中断传输方式就可以克服查询传输方式存在的缺陷:采用中断传输方式就可以克服查询传输方式存在的缺陷:当当CPU需要向外设输出数据时,将启动命令写入外设控需要向外设输出数据时,将启动命令写入外设控制口后,就继续执行随后的指令序列,而不是被动等待;制口后,就继续执行随后的指令序列,而不是被动等待;当外设处于空闲状态,可以接收数据时,由外设向当外设处于空闲状态,可以接收数据时,由外设向CPU发出允许数据传送的请求信号发出允许数据传送的请求信
5、号即即中断请求信号中断请求信号,如,如果满足中断响应条件,果满足中断响应条件,CPU将暂停执行随后的指令序列,将暂停执行随后的指令序列,转去执行预先安排好的数据传送程序转去执行预先安排好的数据传送程序称为称为中断服务中断服务程序程序,CPU响应外设中断请求的过程简称为响应外设中断请求的过程简称为中断响应中断响应;待完成了数据传送后,再返回断点处继续执行被中断了待完成了数据传送后,再返回断点处继续执行被中断了的程序的程序这一过程称为这一过程称为中断返回中断返回。可见,在这种方式。可见,在这种方式中,中,CPU发出控制命令后,将继续执行控制命令后的指发出控制命令后,将继续执行控制命令后的指令序列,
6、而不是通过检测外设的状态来确定外设是否处令序列,而不是通过检测外设的状态来确定外设是否处于空闲状态,这不仅提高了于空闲状态,这不仅提高了CPU的利用率,而且能同时的利用率,而且能同时与多个外设进行数据交换与多个外设进行数据交换只要合理安排相应中断的只要合理安排相应中断的优先级以及同优先级中断的查询顺序即可。因此,优先级以及同优先级中断的查询顺序即可。因此,中断中断传输方式是传输方式是CPU与外设之间最常见的一种数据传输方式。与外设之间最常见的一种数据传输方式。广东工业大学物理与光电工程学院2022-5-31广东工业大学物理与光电工程学院1. 中断源 在计算机控制系统中,把引起中断的事件称为中断
7、在计算机控制系统中,把引起中断的事件称为中断源。在单片机控制系统中,常见的中断源有:源。在单片机控制系统中,常见的中断源有:1. 1.外部中断外部中断,如,如CPUCPU某些特定引脚电平变化引起的中断某些特定引脚电平变化引起的中断。2. 2.各各类定时类定时/ /计数器计数器溢出溢出中断中断即即定时时间到或计数器满中断)定时时间到或计数器满中断)。3. 3.EEPROMEEPROM或或FlashRomFlashRom操作(擦除、写入)结束中断。操作(擦除、写入)结束中断。4. 4.ADAD转换结束中断转换结束中断。5. 5. 串行串行发送结束中断发送结束中断。6. 6. 串行串行接收有效中断接
8、收有效中断。7. 7.电源电源掉电中断掉电中断。 2022-5-31广东工业大学物理与光电工程学院2.中断优先级 当多个外设以中断方式与当多个外设以中断方式与CPU进行数据交换时,进行数据交换时,可能遇到两个或两个以上外设可能遇到两个或两个以上外设中断请求同时有效中断请求同时有效的的情形。在这种情况下,情形。在这种情况下,CPU先响应哪一外设的中断先响应哪一外设的中断请求?这就涉及到中断优先级问题。一般说来,为请求?这就涉及到中断优先级问题。一般说来,为了能够处理多个中断请求,中断控制系统均提供中了能够处理多个中断请求,中断控制系统均提供中断优先级控制。有了中断优先级控制后,就可以解断优先级控
9、制。有了中断优先级控制后,就可以解决多个中断请求同时有效时,先响应哪一请求中断决多个中断请求同时有效时,先响应哪一请求中断问题,以及高优先级中断请求可中断低优先级中断问题,以及高优先级中断请求可中断低优先级中断处理进程,实现中断嵌套。处理进程,实现中断嵌套。中断请求中断请求中断请求中断请求2022-5-31广东工业大学物理与光电工程学院3.中断开关中断开关有时为避免某一处理过程被中断,中断控制器有时为避免某一处理过程被中断,中断控制器给每一个中断源都设置了一个中断请求屏蔽位,用给每一个中断源都设置了一个中断请求屏蔽位,用于屏蔽(即禁止)相应中断源的中断请求,当某一于屏蔽(即禁止)相应中断源的中
10、断请求,当某一中断源的中断请求处于禁止状态时,即使该中断请中断源的中断请求处于禁止状态时,即使该中断请求有效,求有效,CPU也不响应,相当于中断源的中断开关。也不响应,相当于中断源的中断开关。此外,还设一个总的中断请求屏蔽位,当该位处于此外,还设一个总的中断请求屏蔽位,当该位处于禁止状态时,禁止状态时,CPU忽略所有中断源的中断请求,相忽略所有中断源的中断请求,相当于中断源总开关。当于中断源总开关。RIM(开中断开中断),SIM(关中断关中断)、中断处理过程、中断处理过程中断处理过程涉及中断处理过程涉及中断查询中断查询和和响应响应两个方面。两个方面。6.2STM8S中断系统6.2.1中断源及其
11、优先级中断源及其优先级6.2.2中断响应条件与处理过程中断响应条件与处理过程6.2.3外中断源及其初始化外中断源及其初始化6.2.4中断服务程序结构中断服务程序结构广东工业大学物理与光电工程学院6.2.1中断源及其优先级STM8中断控制器处理2种类型的中断源:不可屏蔽的中断: RESET,TLI和 TRAP可屏蔽中断:外部中断或者内嵌的外设中断。不可屏蔽中断源 不可屏蔽中断不会考虑CC寄存器的I1和I0的状态。仅仅当TRAP中断发生时候将PC,X,Y,A和 CC寄存器的内容压栈。相应的向量载入到PC寄存器中同时置位I1和I0位禁止中断(3级优先级)。STM8S支持32个中断个中断,中断服务程序
12、入口地址称为中断向量中断向量,放在8000H807FH之间。每个中断向量占个字节,共x32(128字节)。中断服务程序可放在16MB任一存储区。广东工业大学物理与光电工程学院广东工业大学物理与光电工程学院中断向中断向 量量号号中断源中断源描述描述从停机从停机(Halt) 模式模式 唤唤醒功能醒功能从活跃停机从活跃停机(ActiveHalt)模式唤模式唤醒醒功能功能向量地址向量地址RESET复位复位是是是是8000hTRAP软件中断软件中断8004h0TLI外部最高级中断外部最高级中断8008h1AWU自动唤醒自动唤醒HALT模式中断模式中断是是800Ch2CLK时钟控制器时钟控制器8010h3
13、EXTI0端口端口A外部中断外部中断是是是是8014h4EXTI1端口端口B外部中断外部中断是是是是8018h5EXTI2端口端口C外部中断外部中断是是是是801Ch6EXTI3端口端口D外部中断外部中断是是是是8020h7EXTI4端口端口E外部中断外部中断是是是是8024h8CANCAN RX 中断中断是是是是8028h9CANCAN TX/ER/SC 中断中断802Ch10SPI发送完成发送完成是是是是8030h11TM1更新更新/上溢出上溢出/下下溢出溢出/触发触发/刹车刹车8034h12TM1捕获捕获/比较比较8038h13TM2更新更新/上溢出上溢出803Ch14TM2捕获捕获/比
14、较比较8040h15TM3更新更新/上溢出上溢出8044h16TM3捕获捕获/比较比较8048h17UART1发送完成发送完成804Ch18UART1接收寄存器满接收寄存器满8050h19I2CI2C中断中断是是是是8054h20UART2/3发送完成发送完成8058h21UART2/3接收寄存器满接收寄存器满805Ch22ADC转换结束转换结束8060h23TIM4更新更新/上溢出上溢出8064h24FLASH编程结束编程结束/禁止编程禁止编程8068h保留保留806Ch到到807Ch广东工业大学物理与光电工程学院ITITC C_S_SP PR1R1VEVEC CT3T3S SPRPR 1
15、1: :00V VECECT T2S2SP PRR1 1: :0 0 VEVEC CT T1 1SPSPR R11: :00V VE EC CT0T0S SPRPR 1:1:0 0 ITITC C_S_SP PR2R2VEVEC CT7T7S SPRPR 1 1: :00V VECECT T6S6SP PRR1 1: :0 0 VEVEC CT T5 5SPSPR R11: :00V VE EC CT4T4S SPRPR 1:1:0 0 ITITC C_S_SP PR3R3V VE ECTCT1 11S1SP PRR1 1: :0 0 V VE EC CT1T10 0SPSPR R11: :0
16、0VEVEC CT T9 9SPSPR R11: :00V VE EC CT8T8S SPRPR 1:1:0 0 ITITC C_S_SP PR4R4V VE ECTCT1 15S5SP PRR1 1: :0 0 V VE EC CT1T14 4SPSPR R11: :00V VE ECTCT1 13 3S SPRPR 1:1:0 0 V VE ECTCT1 12S2SP PRR1 1: :0 0 ITITC C_S_SP PR5R5V VE ECTCT1 19S9SP PRR1 1: :0 0 V VE EC CT1T18 8SPSPR R11: :00V VE ECTCT2 22 2S S
17、PRPR 1:1:0 0 V VE ECTCT1 16S6SP PRR1 1: :0 0 ITITC C_S_SP PR6R6V VE ECTCT2 23S3SP PRR1 1: :0 0 V VE EC CT2T22 2SPSPR R11: :00V VE ECTCT2 21 1S SPRPR 1:1:0 0 V VE ECTCT2 20S0SP PRR1 1: :0 0 ITITC C_S_SP PR7R7V VE ECTCT2 27S7SP PRR1 1: :0 0 V VE EC CT2T26 6SPSPR R11: :00V VE ECTCT2 25 5S SPRPR 1:1:0 0
18、 V VE ECTCT2 24S4SP PRR1 1: :0 0 ITITC C_S_SP PR8R8保留保留V VE ECTCT2 29 9S SPRPR 1:1:0 0 V VE ECTCT2 28S8SP PRR1 1: :0 0 复位值:复位值:0 xFF0 xFF7 76 65 5 4 43 32 21 10 0图6-1STM8中断源优先级排列顺序广东工业大学物理与光电工程学院软件软件优优先先级别级别优先级优先级I1I20级(主程序)级(主程序)低低高高101级级012级级003级(级(=无软件优先级)无软件优先级)11软件优先级软件优先级硬件的中断优先级按如下顺序排列,从低到高的优
19、先硬件的中断优先级按如下顺序排列,从低到高的优先级是:级是:MAIN, IT4, IT3, IT2, IT1, IT0, TRAP/TLI(MAIN, IT4, IT3, IT2, IT1, IT0, TRAP/TLI(同等优先级同等优先级) )以及以及RESETRESET。(2) ITC_SPR1寄存器中的VECT0SPR1:0VECT0SPR1:0对应顶级中断对应顶级中断TLITLI,即PD7引脚中断,其中断优先级被系统强制置为11(最高级),不可更改,且属于不可屏蔽中断,即TLI中断有效时,可中断优先级为3的任意一个可屏蔽中断源的中断服务程序。(3) 不可屏蔽中断事件RESETRESET
20、、TRAPTRAP优先级被默认为优先级被默认为11(11(最高最高) ),因此没有软件优先级寄存器位与之对应。一旦这两个中断有效,CPU响应后CC寄存器内的中断优先级标志I1、I0位自动置1。 正因如此,ITC_SPR1寄存器的b1、b0对应TLI,即0号中断,而不是复位中断RESET;同理,TC_SPR1寄存器的b3、b2对应AWU,即1号中断,而不是软件中断TRAP;ITC_SPR8寄存器的b3、b2对应29号中断。即ITC_SPR8ITC_SPR1定义了30个中断源(编号为029,其中2529中断号保留,没有定义)的优先级,而ITC_SPR8寄存器的高4位没有定义。(4) 优先级1010
21、最低,分配给主程序使用最低,分配给主程序使用。因此,不允许将中断优先级设为10。如果将某一个中断优先级设为10,为使对应中断请求得到响应,STM8 CPU将保留该中断源先前的优先级。换句话说,当前中断优先级设置操作无效。(5) 当两个或两个以上可屏蔽中断源具有相同的软件优先级时,硬件查询顺序如表硬件查询顺序如表6-16-1所示所示,即1号中断(自动唤醒中断AWU)优先级最高,CLK中断次之,而24号中断(FLASH)优先级最低。未被响应的中断请求处于等待状态。(6) 对于RESET、TRAP、TLI不可屏蔽源来说,复位中断RESET级别最高,只要复位中断RESET有效,任何时候CPU均可响应。
22、而当TRAP(软件中断)、TLI (顶级硬件中断)同时有效时,CPU先响应TRAP中断请求,如图6-2所示。 基于如下资源的中断管理:位I1和I0位于CPU的条件代码寄存器(CCR)软件优先级寄存器(ITC_SPRx)复位向量地址0 x008000位于程序空间的起始部分。对于具有启动ROM的型号,ST公司把复位初始化程序固化在ROM区中。固定的中断向量地址位于程序空间映像的高位地址段(0 x008004to0 x00807C),其地址顺序即为硬件的优先顺序。广东工业大学物理与光电工程学院中断屏蔽和处理流程中断屏蔽是通过CC寄存器的位I1和位I0以及设置每个中断向量的软件优先级的ITC_SPRx
23、来管理的。广东工业大学物理与光电工程学院图6-3中断嵌套示意图6.2.2中断响应条件与处理过程中断响应条件:对于可屏蔽中断,当一个中断请求出现时,必须满足一列条件,CPU才会响应。对应中断必须处于允许状态。该中断优先级(ITC_SPRx寄存器对应位定义)必须高于当前正在执行的中断服务程必须高于当前正在执行的中断服务程序的优先级序的优先级(记录在寄存器CC的I1、I0位)。广东工业大学物理与光电工程学院当一个中断请求必须被响应时:1. 在当前正在执行指令结束之后,正常的操作被悬起;2. PC,X,Y,A和CC寄存器被自动压栈,9个字节;3. 根据ITC_SPRx寄存器中的值对应的中断服务向量,C
24、C寄存器中的位I1和I0被相应设置;4. 通过中断向量载入中断服务子程序的入口地址,接着对中断服务子程序的第一条指令取址。 5.中断服务子程序必须以IRET指令结束,该指令会把堆栈中的保存的寄存器内容出栈,同时由于运 行IRET指令,位I1和位I0被重新恢复,程序也恢复运行。广东工业大学物理与光电工程学院6.2.3外中断源及其初始化STM8S为外部中断事件专门分配了五个中断向量:Port A 口的5个引脚:PA6:2,相或后作为一个外中断源EXTI0。 Port B 口的8个引脚:PB7:0, 相或后作为一个外中断源EXTI1。 Port C 口的8个引脚:PC7:0 ,相或后作为一个外中断源
25、EXTI2。 Port D 口的7个引脚:PD6:0, 相或后作为一个外中断源EXTI3。 Port E 口的8个引脚:PE7:0,相或后作为一个外中断源EXTI4。 PD7 是最高优先级的中断源 (TLI)。 为了产生中断,相应的GPIO端口必须被配置为中断使能的输入口。中断的触发方式由外部中断控制寄存器1(EXTI_CR1)和外部中断控制寄存器2(EXTI_CR2)所配置. STM8S外中断标志对程序员不透明,无论采用何种触发方式,CPU在响应了外中断请求后都会自动清除外中断标志。广东工业大学物理与光电工程学院.外中断初始化对EXTI_CR1、EXTI_CR2进行写操作时,对TLI来说,必
26、须保证PD7中断处于禁止状态(通过设置I/O引脚控制寄存器实现);对PAPE口外中断来说,必须保证寄存器CC中的I1、0位为11(保证不响应可屏蔽中断的请求)。初始化步骤:()初始化GPIO引脚控制寄存器Px_DDR和Px_CR1寄存器,选择悬空或上拉输入方式。()初始化外中断控制寄存器EXTI_CR1、EXTI_CR2寄存器的相应位,选择输入端口的触发方式(同一IO口上的外中断输入线只能处于同一种触发方式)广东工业大学物理与光电工程学院广东工业大学物理与光电工程学院位位7:PDIS1:0 : PORT D 的中断的中断触触发位发位 这些位仅在这些位仅在CC寄存器的寄存器的I1和和I0位都为位
27、都为1(级别级别3)时才可以写入。这些位定义端口时才可以写入。这些位定义端口D 的的 中断触发位中断触发位00:下降沿:下降沿和和低电平触发低电平触发01:仅上升:仅上升沿沿触发触发10:仅下降:仅下降沿沿触发触发11:上升沿:上升沿和和下降沿触发下降沿触发位位5:4PCIS1:0 : PORT C 的中断的中断触触发位发位 这些位仅在这些位仅在CC寄存器的寄存器的I1和和I0位都为位都为1(级别级别3)时才可以写入。这些位定义端口时才可以写入。这些位定义端口C 的的 中断触发位中断触发位00:下降沿:下降沿和和低电平触发低电平触发01:仅上升:仅上升沿沿触发触发10:仅下降:仅下降沿沿触发触
28、发11:上升沿:上升沿和和下降沿触发下降沿触发位位3:2PBIS1:0 : PORT B 的中断的中断触触发位发位 这些位这些位仅仅在在CC寄存器寄存器的的I1和和I0位都为位都为1(级级别别3)时时才才可以可以写入写入。这。这些些位位定定义端口义端口B 的中断触发位的中断触发位00:下降沿:下降沿和和低电平触发低电平触发01:仅上升:仅上升沿沿触发触发10:仅下降:仅下降沿沿触发触发11:上升沿:上升沿和和下降沿触发下降沿触发位位1:0PAIS1:0 : PORT A 的中断的中断触触发位发位 这些位这些位仅仅在在CC寄存器寄存器的的I1和和I0位都为位都为1(级级别别3)时时才才可以可以写
29、入写入。这。这些些位位定定义端口义端口A 的中断触发位的中断触发位00:下降沿:下降沿和和低电平触发低电平触发01:仅上升:仅上升沿沿触发触发10:仅下降:仅下降沿沿触发触发11:上升沿:上升沿和和下降沿触发下降沿触发外部中断控制寄存器外部中断控制寄存器 1 (EXTI_CR1)1 (EXTI_CR1)地址偏移值:地址偏移值:0 x010 x01复位值:复位值:0 x000 x0076543210PDIS1:0PCIS1:0PBIS1:0PAIS1:0rwrwrwrwrwrwrwrw广东工业大学物理与光电工程学院位位7:4保留位,须保持清零保留位,须保持清零位位2TLIS:高级高级中中断触发位断触发位 此位由软件设置。此位仅在外部相应的中断引此位由软件设置。此位仅在外部相应的中断引脚脚PD7禁禁止中断时才能写入。止中断时才能写入。0:下降沿
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 七上生物七中试卷及答案
- 糖尿病诊断及护理措施
- 二零二五一月份定制石材养护补充协议
- 2024年秋新冀教版一年级上册数学 3.2 10加几和相应的减法 教学课件
- 老年人眼盲护理方法
- 店铺买卖合同模板参阅10篇
- 2024学年七年级数学上册第一章有理数1.3绝对值与相反数作业设计含解析新版冀教版
- 反恐防暴安全教育
- 球机施工方案
- 木桩护脚施工方案
- 创维电视机E710U系列电子说明书
- 《山谷回音真好听》名师课件(简谱)
- 医院抗菌药物临时采购使用申请表
- 高考英语核心词汇1000个
- 校园海绵城市设计方案
- GB/T 4706.66-2024家用和类似用途电器的安全第66部分:泵的特殊要求
- GB/T 4706.1-2024家用和类似用途电器的安全第1部分:通用要求
- 2022年6月英语四级真题 第一套
- 《事故汽车常用零部件修复与更换判别规范》
- 2023-2024学年河南省安阳市殷都区八年级(下)期末数学试卷(含答案)
- 江苏省苏州市昆山、太仓、常熟、张家港市2023-2024学年七年级下学期语文期末试卷
评论
0/150
提交评论