DSP技术-07 电子通信08_第1页
DSP技术-07 电子通信08_第2页
DSP技术-07 电子通信08_第3页
DSP技术-07 电子通信08_第4页
DSP技术-07 电子通信08_第5页
已阅读5页,还剩79页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第七章 TMS320C54x片内外设、接口及应用 一、C54x的主机接口二、C54x的可编程定时器三、C54x的串行口四、C54x的中断系统1 片内外设是集成在DSP芯片内部的外部设备,CPU核对片内外设的访问是通过对相应控制寄存器的访问来完成的。所有的C54x DSP的CPU结构及功能完全相同,但是片内的外设配置多少不同。优点: 片内外设访问速度快。 可以简化电路板的设计。如将A/D转换、D/A转换、定时器集成在片内。(3) 提供一些必须的特殊功能。如JTAG口、软件等待状态发生器等。 2一、C54x的主机接口 HPI 功能 主机接口HPI专门提供了C54xDSP与外部其它主处理器(如其它

2、DSP、微处理器、单片机等)的通信接口, 主机接口为主从分布式系统和多处理器并行处理系统提供了方便。 C54xDSP主机接口是一个并行的 8 位或 16 位接口,外部主机是HPI的主控者。C54x系列中提供了标准的 8位HPI接口或 8位增强的HPI接口或16位增强的HPI接口。3TMS320C54x系列DSP具有并行接口类型(3种): 标准8位HPI-8 增强型8位HPI-8 增强型16位HPI-16功能:用于主机(其他DSP或单片机)与C54x DSP的通信, 通信的主控方为其他主机。优点:HPI不需要或只需要很少外部逻辑就能和很多不同 的主机设备相连。4HPI-8的特点是一个8位并行口用

3、于主机(其他控制器)与C54x DSP之间的通信,实现主机访问DSP内部2K的双访问RAM(HPI存储器)。HPI具有两种工作模式:共用访问模式(SAM):主机和C54x DSP都能访问HPI存储器。当访问发生冲突时主机具有优先访问权,而C54x DSP需等待一个周期。仅主机访问模式(HOM), C54x DSP休眠状态。HPI支持主机与C54x DSP之间高速数据传输。 5标准HPI的两种工作模式: (1)共享模式(SAM)(2)主机模式(HOM) HPI存储器 主机 C54x HPI存储器 主机 C54x 62. HPI-8结构框图7(1)HPI存储器(2k字DARAM)(2)HPI地址寄

4、存器(HPIA)(3)HPI数据锁存器(HPID) (4)PHI控制寄存器(HPIC)(5)PHI控制逻辑工作过程HPI存储空间访问主机数据寄存器HPID主机地址寄存器HPIA外部主机外部控制信号8 外部主机通过访问主机接口的3个寄存器实现对DSP内部HPI存储器的访问:HPIA: 地址寄存器。主机直接访问该寄存器HPIC(002Ch): 控制寄存器,可以由主机或C54x DSP直接访问,包含了HPI操作的控制和状态位.HPID: 数据寄存器,只能由主机直接访向。包含从HPI存储器读出的数据,或者要写到HPI存储器的数据HPI控制逻辑: 用于处理HPI与主机之间的接口信号HPI存储器(DARA

5、M):用于C54x DSP与主机之间传送数据93. 控制寄存器HPIC HPIC共有4 个位用于控制HPI操作。BOB :字节选择位,BOB会影响数据和地址传输。SMOD :寻址方式选择位。DSPINT :主机向C54x DSP发出中断位;HINT : C54x DSP向主机发出中断位。10标准HPI-8的HPIC控制寄存器各位设置 11 4. 主机接口的操作 8 位数据总线(HD0HD7)与主机之间交换信息。 16位 字,由HBIL引脚和HPIC的BOB位决定; 两个控制输入(HCNTL0和HCNTL1)表示哪个HPI寄存器 被访问; HPIA寄存器可以使用自动增寻址方式 ; 主机可以中断C

6、54x DSP,C54x DSP也可用HPIC中的 HINT来中断主机; HPI存储器为2K字16位的双访问RAM块,其地址范围 为数据存储空间的1000h17FFh 。12C54x HPI-8与主机的连接: 13HPI的中断过程主机HPI中断写DSPINT=1HCNTL0HCNTL100HPIC14 应用举例: 设为双DSP通过HPI口通信。DSP1向DSP2的数据空间发送数据,并读回到DSP1的存储器中。 DSP2的HPI口的HPIC映射到DSP1的0 x8008、0 x8009; HPIA映射到DSP1的0 x800C、0 x800D; HPID映射到DSP1的0 x800A、0 x80

7、0B。 由于DSP2在被访问过程中不需要操作,所以,以下为DSP1的程序。 15 STM 0 x1000, AR1 ST0 x00, *AR1PORTW*AR1, 0 x8008 ;将0 x00写入HPICST0 x00, *AR1PORTW*AR1, 0 x8009 ;高低位都为0 x00NOPST0 x10, *AR1PORTW*AR1, 0 x800C ;将0 x10写入HPIA高位ST0 x20, *AR1NOPPORTW*AR1, 0 x800D ;将0 x20写入HPIA低位NOP ;地址为0 x102016loop:ST 0 x1A,*AR1PORTW *AR1,0 x800A

8、;将0 x1A2B写入DSP2的0 x1020ST 0 x2B,*AR1PORTW *AR1,0 x800B NOPSTM 0 x1010,AR2PORTR 0 x800A,*AR2 ;将读到的数放入0 x1010和0 x1011 NOP ;两个单元,每个为8位数 STM 0 x1011,AR2 PORTR 0 x800B,*AR2 ST 0 x3C,*AR1PORTW *AR1,0 x800A ;利用自动增量模式将0 x3C4D写入 ;DSP2的0 x1021 17 ST 0 x4D,*AR1NOPPORTW *AR1, 0 x800B STM 0 x1012, AR2NOPPORTR 0

9、x800A,*AR2 ;将DSP2中的数通过HPI读到 ;DSP1的0 x1012和0 x1013中,NOP ; DSP1两个单元中分别为两个8位数STM0 x1013, AR2 PORTR 0 x800B,*AR2 hearB hear .end18定时器的结构及特点: C54x的片内定时器根据所选型号不同有23个不等,定时器0、1、2,其结构相同。 每个定时器有3个寄存器,都是存储器映像寄存器(24-26H)定时寄存器TIM :是减1计数器,可加载周期寄存器PRD的值,并随计数减少。定时周期寄存器PRD :PRD中存放定时器的周期计数值,提供TIM重载用。定时控制寄存器TCR :TCR包含

10、定时器的控制和状态位,控制定时器的工作过程。二、C54x的可编程定时器 191. C54x的定时器结构 结构图分 频系 数时 间常 数主定时器模块(由PRD和TIM组成)预定标器模块(由TCR的TDDR和PSC位组成)。 20主要特点:(1) 定时器是一个减计数器。(2) 由16位计数器和4位预分频计数器组成。16位计数器 的触发脉冲由预分频计数器提供,预分频计数器由 CPU工作时钟决定。(3) 有复位功能。(4) 可以选择调试断点时定时器的工作方式。21TSS保留15 12soft11free10PSC9 6TRB5TDDR3 04TCR中的控制位和状态位定时器停止/启动定时器工作状态定时器

11、预定标计数器复位片内定时器预定标分频系数22PSC (96位):定时器预定标计数器。当PSC中的数值减到0后, TIM减1 , TDDR中的数加载到PSC;TRB (5位):定时器重新加载控制位。复位片内定时器。当TRB置位时,TIM重新装载PRD的值,PSC重新装载TDDR中的值。TSS (4位):定时器停止位,TSS=0 定时器开始工作,TSS=1 定时器停止TDDR (30位):当PSC减为0时,TDDR中的值被装载到PSC中23 2. 定时中断周期的计算 定时中断周期= TCLKOUT(TTDDR+1)(TPRD+1)定时器输出信号TOUT定时脉冲输出TINT 定时中断输出24定时器的

12、操作过程: PSC由CPU提供时钟,每个CPU时钟信号将使PSC减1 。 TDDR的内容重新加载到PSC。 TIM由预定标器PSC提供时钟,每个来自预定标块的输出时钟使TIM减l。 PRD中的内容重新加载到TIM。 25初始化定时器:(1) 将TCR中的TSS位置1,关闭定时器。(2) 加载PRD。(3) 重新加载TCR以初始化TDDR。(4) 重新启动定时器。TSS位为0,TRB位为l,以重载定时 器周期值,使能定时器。3. 定时器初始化步骤 26使能定时器中断(假定ST1寄存器中INTM=1):(1) 将IFR中的TINT位置1,清除尚未处理完(挂起)的定时 器中断。(2) 将IMR中的T

13、INT位置l,使能定时器中断。(3) 将ST1中的INTM位清0,使能全局中断。27【例】 利用C54x定时器可以实现方波信号发生器。要求利用定时器0在通用I/O引脚XF输出周期为1s的方波。分析:设 f =100MHz,已知定时最大值为: =10(ms),要输出1s的方波,1和0分别为500ms.可定时5ms,再在中断程序中加个100计数器,定时器周期 =10ns(1+9)(1+49999)=5ms。 28CounterSet.set 100 ;定义计数次数PERIOD .set 49999 ;定义计数周期 .asg AR1, Counter ;AR1做计数指针,重 ; 新命名以便识别 ST

14、M #CounterSet, Counter ;设计数器初值 STM #0000000000010000B, TCR ;停止计数器 STM #PERIOD, TIM ;给TIM设定初值49999 STM #PERIOD, PRD ;PRD与TIM一样 STM #0000001001101001B, TCR ;开始定时器 STM #0008H, IMR ;开TIME0的中断 RSBX INTM ;开总中断End: NOP B End29中断服务程序:TINT0_ISRTINT0_ISR: PSHM ST0 ;保护ST0,因要改变TC BANZ Next,*Counter- ;计数器不为0,计数器

15、 减1,退出中断 STM #CounterSet,Counter ; BITF *AR2,#1 ;计数器为0, 根据当前XF状态 ;分别到setXF或ResetXF BC ResetXF,TC setXF: SSBX XF ;置XF为高 ST #1,*AR2 B NextResetXF: RSBX XF ;置XF为低 ST #0, *AR230Next: POPM ST0 RETE end 31三、C54x的串行口 C54x 具有功能强、且使用灵活的高速、全双工串行口,可实现多种标准通讯形式;可提供丰富的多路及时分复用功能,高效地实现和双向串口器件的通讯或多微处理器之间的通讯。标准同步串行口(

16、SP)缓冲同步串行口(BSP)多通道缓冲串行口(McBSP)时分多路同步串行口(TDM)串行口分类当缓冲串行口和时分多路串行口工作在标准方式时,它们的功能与标准串行口相同 32配置: DSP芯片不同串口配置也不尽相同。访问: 串行接口一般通过中断来实现与核心CPU的同步。功能: 串行接口可以用来与串行外部器件相连,如编码解 码器、串行A/D或D/A以及其他串行设备。 33芯片型号SPBSPMcBSPTDMC5412000C5420101C5430101C5451100C5461100C5480201C5490201C54020020C54100030C54200060部分C54x系列DSP芯片

17、串行口配置341)、标准同步串行口 SP 35组成: 16位数据接收寄存器(DRR)16位数据发送寄存器(DXR)接收移位寄存器(RSR)发送移位寄存器(XSR)接收时钟和发送时钟接收帧同步和发送帧同步控制电路36标准串口SP特点: 可有多个相互独立的标准同步串口发送和接收是双向缓冲的3个存储器映像寄存器用于传送数据每个口有时钟、帧同步脉冲以及串行移位寄存器可以按8位字节或16位字节转换可以产生自己的可屏蔽收发中断可以工作在多种时钟频率上标准串行口的最高工作频率是CLKOUT的1/4。37串行口控制寄存器 SPC 功能:控制串行口的操作 38标准串口SP的使用 STM #0038H ,SPC

18、;串口初始化STM #00C0H ,IFR ;清除挂起的串口中断AND #00C0H ,IMR ;使能中断 RSBX INTM ;使能全局中断STM #00F8H ,SPC ;开始串口传输STM DATA1,DXR ;写第一个数据到DXR 39 操作过程:发送数据时,数写到DXRXSR DX引脚输出。发送期间,DXR中的数据复制到XSR后,串行口控制寄存器(SPC)中的发送准备好(XRDY)位由0变为1,随后产生一个串行口发送中断(XINT)信号,通知CPU可以对DXR重新加载。接收数据时,来自DR引脚的数据 RSR DRR,CPU从DRR中读出数据。当RSR的数据复制到DRR后,SPC中的接

19、收数据准备好(RRDY)位由0变为l,随后产生一个串行口接收中断(RINT)信号,通知CPU可以从DRR中读取数据。串行口是双缓冲的,发送和接收都是自动完成,用户只需检测RRDY或XRDY位来判断可否继续发送或接收数据。40连接方法之一: 数据发送工作过程 数据接收工作过程 41实例: (操作以中断的方式完成)1) 串口的初始化(1) 复位,并将0 x0038写入SPC,初始化串口。(2) 将0 x00C0h写入IMR,清除任何挂起的串行接口中断。(3) 将0 x00C0h和IMR求或逻辑运算,使能串行接口中断。(4) 清除ST1的INTM位,使能全局中断。(5) 将0 x00F8h写入SPC

20、,启动串行接口。(6) 将第一个数据写入DXR。42串行口 2) 串口中断服务程序(1) 保存当前工作状态到堆栈中。(2) 读DRR或写DXR或同时操作,从DRR读出的数据写入存储器中,将要发送的数据从存储器中取出写入DXR。(3) 恢复现场。(4) 用RETE从中断子程序返回。43结构和特点: 缓冲串行口在标准同步串行口基础上增加了一个自动 缓冲单元(ABU),并以CLKOUT频率计时。 ABU利用独立于CPU的专用总线,让串行口直接读/写 C54x内部存储器。这样可使串行口处理事务的开销最 省,并能达到较快的数据率。 BSP有两种工作方式:非缓冲方式和自动缓冲方式。 ABU具有自身的循环寻

21、址寄存器组,每个都与地址产生 单元相关。发送和接收缓冲存储器位于一个指定的C54x DSP内部存储器的2K字块中。该块可作为通用的存储 器,但却是唯一的自动缓冲能使用的存储块。2)、缓冲同步串行口(BSP) 44BDRBCLKRBFSRBCLKXBFSXBDXBRINTBMINTBXINTC54x内存界面自动缓冲单元 ABU控制XRDY RRDY BXINT BMINT BRINTBDXRBSPCEBXSRBRSR串口控制逻辑BSPCBDRR中断控制C54xCPU界面中断逻辑161145组成:数据接收寄存器BDRR数据发送寄存器BDXR控制寄存器BSPC 控制扩展寄存器BSPCE数据接收移位寄

22、存器BRSR数据发送移位寄存器BXSR 串口控制逻辑中断控制逻辑自动缓冲单元ABU46缓冲串行口的工作模式 (1)缓冲串行口标准模式(2)缓冲串行口增强模式 可编程串口时钟频率时钟和帧同步信号的极性可选除8、16位字长外,10、12位字长数据转换可选新增功能 47自动缓冲单元 ABU可独立于CPU自动完成控制串口与固定缓冲内存区中的直接数据交换,实现串行口与CPU并行操作。功能组成地址寄存器AXR块长度发送寄存器BKX地址接收寄存器ARR块长度接收寄存器BKR串口控制寄存器BSPCE 5个存储器映射寄存器48自动缓冲过程可归纳为: ABU完成对缓冲存储器的存取。 工作过程中地址寄存器自动增加,

23、直至缓冲区的底部。到底部后,地址寄存器内容恢复到缓冲存储器区顶部。 如果数据到了缓冲区的一半或底部,就会产生中断,并更新BSPEC中的XH/RH,以表明那一部分数据已经被发送或接收。 如果选择禁止自动缓冲功能,当数据过半或到达缓冲区底部时,ABU会自动停止缓冲功能。49循环寻址原理 装载BKX/R确定缓冲区长度,装载ARX/R给出2K字缓冲区基地址和缓冲区数据起始地址实现初始化。BKX/R从高位至低位方向第一个1的位置N位将ARX/R分为ARH和ARL两部分,缓冲区顶部地址(TBA)由高位为ARH,而低位为N+1个0组成的数定义。缓冲区底部地址(BBA)由ARH和BKL-1决定。而当前数据缓冲

24、区的位置由ARX/R的内容决定。ARX/R的内容会随着每一次访问继续增加直至到下一个允许的缓冲区开始地址。然后在后续的存取操作中,作为更新的循环缓冲开始地址,新的ARX/R内容用来进行正确的循环缓冲地址计算。 50循环寻址原理示意图 BKX/RARX/RARHARL001BBATBA缓冲区当前位置 ARHBKLARHBKL1ARH00下半部开始 缓冲区顶部 上半部分 缓冲区底部下半部分 513)、时分多路串行口 TDM 时分多路串行口允许C54x可以与最多 8个其它器件进行时分复用串行通信,从而提供了简单有效的多处理器应用接口。 时分复用:是将与不同器件的通信接口时间依次划分为不同的时间段,周

25、期性地分别按时间顺序与不同器件通信的工作方式。52非TDM方式 =标准串口 TDM方式 当TSPC的TDM=1 工作方式相关寄存器TDM数据接收寄存器TRCVTDM数据发送寄存器TDXRTDM串口控制发送寄存器TSPCTDM通道选择寄存器TCSRTDM发送/接收地址寄存器TRTATDM接收地址寄存器TRADTDM数据接收移位寄存器TRSRTDM数据发送移位寄存器TXSR 53C54xTDX TDR TFSX TFSR TCLKX TCLKR器件0器件1器件7TDM时分多路串口连接544)、多通道缓冲同步串行口(McBSP) 特点: 全双工通信双倍的发送缓冲和3倍的接收缓冲数据寄存器,允许连续的

26、数据流传输独立的接收、发送帧和时钟信、极性可编程具有外部移位时钟发生器和内部频率可编程移位时钟可直接利用多种串行协议接口通讯发送和接收通道数最多可达128路数据传输格式可选择8、12、16、20、24、32位字长内置u律和A律硬件压缩扩展通信8位数据传输可选择LSB或MSB先传可以直接与工业标准的编解码器、模拟接口芯片及串行A/D D/A器件接口5556McBSP的结构 一个McBSP串口有7个引脚。 DSP核通过片内外设总线访问和控制McBSP的内部控制 寄存器和数据接收/发送寄存器。 寄存器的子寻址的工作方式,指的是多路复用技术,可 以实现一组寄存器共享存储器中的一个单元。可以使用 少量的

27、寄存器映射存储器空间来访问McBSP的20多个寄 存器 。57McBSP控制寄存器 McBSP通过两个16比特串口控制寄存器1和2(SPCR1,2)和管脚控制寄存器(PCR)进行配置,这些寄存器包含McBSP的状态信息和控制信息。 串行接口接收控制寄存器SPCR1 、SPCR2 引脚控制寄存器PCR 接收控制寄存器RCR1 、RCR2 发送控制寄存器XCR1 、XCR2 除SPCR1,2和PCR之外,McBSP还配置了接收控制寄存器RCR1,2和发送控制寄存器XCR1,2来确定接收和发送操作的参数 。58McBSP的数据发送和接收的操作流程3个阶段:串口的复位、串口的初始化、数据发送和接收。

28、串口的复位 芯片复位 引发的串行复位使整个串行口复位,包括接口发送器、接收器、采样率发生器的复位。 串行接口的发送器和接收器可以利用串行接口控制寄存器(SPCR1和SPCR2)中的 和 位分别独自复位。 59串口的初始化(1) 设定串口控制寄存器SPCR1,2中的 。如果刚刚复位完毕,不必进行这一步操作。(2) 编程配置特定的McBSP的寄存器。(3) 等待2个时钟周期,以保证适当的内部同步。(4) 按照写DXR的要求,给出数据。(5) 设置 ,以使能串行接口。(6) 如果要求内部帧同步信号,设置 。(7) 等待2个时钟周期后,激活接收器和发送器。60数据发送和接收的操作 接收操作是三缓冲的

29、接收数据数据接收引脚DR 接收移位寄存器RSR1,2 接收缓冲寄存器RBR1,2 数据接收寄存器DRR1,2。发送操作是双缓冲的CPU或DMA将发送数据数据发送寄存器DXR1,2中 发送移位寄存器XSR1,2; 从DX移出发送数据 61 McBSP串口应用举例McBSP的初始化程序:STM SPCR1, McBSP1_SPSA ;将SPCR1 对应的子地址放到 子地址寄存器SPSA中STM #0000h, McBSP1_SPSD ;将#0000h加载到SPCR1中, 使接收中断由帧有效信号触发, ;靠右对齐高位添0STM SPCR2, McBSP1_SPSA ;将SPCR2对应的子地址放到 子

30、地址寄存器SPSA中STM 0000h,McBSP1_SPSD ;帧同步发生器复位,发送器复位STM RCR1, McBSP1_SPSA ;将RCR1 对应的子地址放到子地 址寄存器SPSA中62STM #0040h, McBSP1_SPSD ;接收帧长度为16位STM RCR2, McBSP1_SPSA ;将RCR2 对应的子地址放到子 地址寄存器SPSA中STM #0040h, McBSP1_SPSD ;接收为单相,每帧16位STM XCR1, McBSP1_SPSA ;将XCR1 对应的子地址放到子 地址寄存器SPSA中STM #0040h, McBSP1_SPSD ;接收每帧16位ST

31、M XCR2, McBSP1_SPSA ;将XCR2对应的子地址放到子 地址寄存器SPSA中STM #0040h, McBSP1_SPSD ;发送为单相,每帧16位STM PCR, McBSP1_SPSA ;将PCR对应的子地址放到子地 址寄存器SPSA中STM #000eh, McBSP1_SPSD ;工作于从模式63中断:CPU终止正在执行的程序,转去执行一个请求中断的内部或外部的中断服务程序,待处理完毕后,又返回到被终止的源程序处继续执行。这一过程称为中断;中断系统:为实现中断功能而设置的各种硬件和软件。 C54x DSP既支持软件中断,也支持硬件中断。当同时有多个硬件中断出现时,C54

32、x DSP按照中断优先级别的高低对它们进行服务。 四、C54x的中断系统64受外部中断口信号触发的 外部硬件中断受片内外围电路信号触发的内部硬件中断 程序指令INTRTRAPRESET 中断来源软件驱动硬件驱动65C54x DSP的中断可以分成两大类:第一类是可屏蔽中断。这些都是可以用软件来屏蔽或开放的硬件和软件中断。C5402只使用14个可屏蔽中断。 ; RINT0、XINT0、RINT1和XINT2(串行口中断)。 TINT0、TINT1(定时器中断)。 HPINT(主机接口中断)DMAC0DMAC5。(2) 第二类是非屏蔽中断。这些中断是不能够屏蔽的,C54x对这一类中断总是响应,并从主

33、程序转移到中断服务程序。C54x DSP的非屏蔽中断包括所有的软件中断,以及两个外部硬件中断: (复位)和 。 66可屏蔽中断非屏蔽中断中断可以用软件屏蔽中断或开放中断C54x总是响应所有软件中断和两个外部硬件中断、 (非屏蔽中断)67非屏蔽中断:不能由用户用软件来屏蔽的中断。特点:一旦有非屏蔽中断请求,CPU必须予以响应。用途:用于某些十分重要的事件发生,如:掉电;可屏蔽中断:用户根据需要可用软件开放或禁止中断。特点:软件指令控制,灵活方便。用途:一般事件处理。 68中断处理一般过程: 中断源请求中断;中断标志寄存器(IFR) CPU响应中断;预定义条件的满足 保护现场; 转中断服务; 恢复

34、现场; 中断返回; 691. 中断标志寄存器(IFR) 当一个中断出现的时候,IFR中相应的中断标志位置1,直到中断得到处理为止。 共14个有效标志位(可屏蔽中断): 外部中断4个(INT0-INT3) 定时器中断2个(TINT0-TINT1) 串口定时器4个(两发/两收) DMA中断3个(DMAC0. 4. 5) HPI中断1个 ;70 2. 中断屏蔽寄存器(IMR) 是一个存储器映像的CPU寄存器,主要用来屏蔽外部和内部中断说明(1) 共14个有效位(与IFR对应) (2) 当IMRi=0 屏蔽该中断; IMRi =1 不屏蔽该中断 71 3. 中断方式控制位(INTM)说明:a) INT

35、M是CPU状态寄存器ST1中的1位(第11位) b) 功能: c) 操作: d) 该控制位不影响不可屏蔽中断 RS , NMI。 e) 该控制位不能用存储操作命令设置。 72接收、应答及处理中断1. 接收中断请求 产生一个中断请求时,IFR中相应的中断标志位被置位。不管中断是否被处理器应答,该标志位都会被置位。当相应的中断响应后,该标志位自动被清除。一个中断由硬件器件或软件指令请求。 (1) 硬件中断请求 硬件中断有外部和内部两种。 73 (2) 软件中断请求 软件中断由程序中的指令INTR、TRAP和 RESET产生。注: PC=中断向量地址指针+中断向量号 该指令允许执行任何可屏蔽中断 该

36、指令不影响IFR标志位 不允许中断嵌套a) INTR K;74 b) TRAP K;除INTM不变外,其它同上。 注: 可实现中断嵌套 可用软件指令在TRAP中服中置位INTM c) RESET 注: 功能:使处理器返回一个预定状态 复位指令:可在程序的任何时候产生; 该指令影响ST0, ST1,不影响PMST 75 2. 应答中断 硬件或软件中断发送了一个中断请求后,CPU必须决定是否应答中断请求。 软件中断和非屏蔽硬件中断会立刻被应答; 屏蔽中断仅仅在如下条件被满足后才被应答。 (1) 优先级别最高(当同时出现一个以上中断时)。 (2) 状态寄存器 ST1中的INTM位为0。 (3) 中断

37、屏蔽寄存器IMR中的相应位为1。 CPU响应中断时,让PC转到适当的地址取出中断向量,并发出中断响应信号,清除相应的中断标志位。763. 执行中断服务程序(ISR) (1) 将PC值(返回地址)存到数据存储器堆栈的栈顶; (2) 将中断向量的地址加载到PC; (3) 在中断向量地址上取指; (4) 执行分支转移指令,转至中断服务程序(如果延迟分支转移,则在转移前先执行附加的指令); (5) 执行中断服务程序; (6) 中断返回,从堆栈弹出返回地址加到PC中; (7) 继续执行被中断了的程序。 77中断操作流程78中断向量地址计算:复位后的初始地址计算(1)取中断向量指针IPTR(PMST15-7)的值 (2)查表得中断向量序号(3)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论