[计算机硬件及网络]DSP精讲课件 第7章 C54x片内外设、接口及应用.ppt_第1页
[计算机硬件及网络]DSP精讲课件 第7章 C54x片内外设、接口及应用.ppt_第2页
[计算机硬件及网络]DSP精讲课件 第7章 C54x片内外设、接口及应用.ppt_第3页
[计算机硬件及网络]DSP精讲课件 第7章 C54x片内外设、接口及应用.ppt_第4页
[计算机硬件及网络]DSP精讲课件 第7章 C54x片内外设、接口及应用.ppt_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

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

文档简介

2019年4月20日,DSP原理及应用,1,第7章 TMS320C54x片内外设、接口及应用,7.1 C54x的主机接口 7.2 C54x的定时器 7.3 C54x的串行接口 7.4 C54x的中断系统,2019年4月20日,DSP原理及应用,2,第7章 TMS320C54x的片内外设、接口及应用,7.1 C54x的主机接口,C54x的主机接口(HPI)是一个8位并行口,用来实现与主设备或主处理器的通信。 HPI口作为主机的外围设备,提供8根外部数据线HD(07)与主机(或主设备)交换信息。 当C54x与主机传送数据时,HPI能自动地将外部接口连续传来的8位数组成16位数,并传送至C54x。当主机使用HPI寄存器执行数据传输时,HPI控制逻辑自动执行对C54x内部的双寻址RAM的访问,以完成数据处理。,2019年4月20日,DSP原理及应用,3,第7章 TMS320C54x的片内外设、接口及应用,7.1 C54x的主机接口,HPI接口有两种工作方式:, 共用寻址模式(SAM方式),在这种方式下,主机和C54x都能寻址HPI存储器。如果是异步工作的主机寻址,可在HPI内部重新得到同步。当C54x与主机的周期发生冲突时,则主机具有寻址优先权,C54x将等待一个周期。, 主机寻址模式(HOM方式),在HOM方式下,HPI存储器只能让主机寻址,而C54x则处于复位状态或IDLE2空转状态。主机可以访问HPI RAM,而C54x则配置为最小功耗。,2019年4月20日,DSP原理及应用,4,第7章 TMS320C54x的片内外设、接口及应用,7.1 C54x的主机接口,HPI口可以支持主设备与C54x之间的高速数据传送。,在SAM工作方式时,若HPI每5个CLKOUT周期传送一个字节,则主机的运行频率可达(fdn)/5。,fdC54x的CLKOUT频率; n主机每进行一次外部寻址的周期数,通常n是3(或4)。,例如:C54x的CLKOUT频率为40MHz,那么主机的时钟频率可达32(或24)MHz,且不插入等待周期。,在HOM方式时,主机可以获得更高的速度。即每50ns寻址一个字节(即160Mbps),且与C54x的时钟速度无关。,2019年4月20日,DSP原理及应用,5,第7章 TMS320C54x的片内外设、接口及应用,7.1 C54x的主机接口,1HPI与主机的连接,C54x通过HPI与主机设备连接,除了8位HPI数据总线以及控制信号线外,不需要附加其他的逻辑电路。,8,2019年4月20日,DSP原理及应用,6,第7章 TMS320C54x的片内外设、接口及应用,1HPI与主机的连接,HPI与主机连接的信号名称和功能:,HD0HD7:,双向并行三态数据总线,与主机数据总线相连。,片选信号,与主机地址线或控制线相连。,作为HPI的使能输入端,在每次寻址期间必须为低电平,而两次寻址之间也可以停留在低电平。,2019年4月20日,DSP原理及应用,7,第7章 TMS320C54x的片内外设、接口及应用,1HPI与主机的连接,HPI与主机连接的信号名称和功能:,地址选通信号,与主机地址锁存使能(ALE)或地址选通引脚相连,也可以不使用。,2019年4月20日,DSP原理及应用,8,第7章 TMS320C54x的片内外设、接口及应用,1HPI与主机的连接,HPI与主机连接的信号名称和功能:,字节识别信号,与主机地址线或控制线连接,用于识别主机传送来的是第几字节。,HBIL:,高电平表示HPI已准备好,可执行一次数据传送;低电平表示HPI正忙于完成当前事务。,当HBIL=0时,为第1字节;当HBIL=1时,为第2字节。第1个字节是高字节还是低字节,由HPIC寄存器中的BOB位决定。,HRDY:,HPI准备好端,与主机异步准备好线相连。,2019年4月20日,DSP原理及应用,9,第7章 TMS320C54x的片内外设、接口及应用,1HPI与主机的连接,主机控制信号,与主机地址线或控制线连接,用来选择主机所要寻址的寄存器。,HCNTL0、HCNTL1:,2019年4月20日,DSP原理及应用,10,第7章 TMS320C54x的片内外设、接口及应用,1HPI与主机的连接,数据选通信号,与主机读选通和写选通或数据选通线连接,用于在主机寻址HPI周期内,控制HPI数据的传送。,HPI中断输出信号,与主机中断输入相连。受HPIC寄存器中的HINT位控制。,2019年4月20日,DSP原理及应用,11,第7章 TMS320C54x的片内外设、接口及应用,1HPI与主机的连接,读/写信号。与主机读/写选通、地址线或多路地址数据线连接,用于控制主机对HPI的读写操作。,当该信号为高电平时,表示主机要读HPI; 当该信号为低电平时,表示主机要写HPI。 若主机没有读/写信号,可用一根地址线代替。,2019年4月20日,DSP原理及应用,12,第7章 TMS320C54x的片内外设、接口及应用,7.1 C54x的主机接口,2控制寄存器HPIC,HPI控制寄存器为16位寄存器,用来控制HPI的操作。其高8位与低8位完全相同,提供了4个控制位,分别为BOB、SMOD、DSPINT和HINT位。,2019年4月20日,DSP原理及应用,13,第7章 TMS320C54x的片内外设、接口及应用,2控制寄存器HPIC,HPI控制位的功能:,2019年4月20日,DSP原理及应用,14,第7章 TMS320C54x的片内外设、接口及应用,2控制寄存器HPIC,主机和C54x对HPIC寄存器的寻址有4种结果:, 主机读HPIC寄存器,DSIPNT=0, 主机写HPIC寄存器,SMOD=X,2019年4月20日,DSP原理及应用,15,第7章 TMS320C54x的片内外设、接口及应用,2控制寄存器HPIC,主机和C54x对HPIC寄存器的寻址有4种结果:, C54x读HPIC寄存器,高12位为任意值X,DSIPNT=0,BOB=0, C54x写HPIC寄存器,任意值X,2019年4月20日,DSP原理及应用,16,第7章 TMS320C54x的片内外设、接口及应用,7.2 C54x的定时器,在工业应用中,计数器和定时器常用于检测和控制中的时序协调及控制。 C54x的片内定时器是一个可编程的定时器,可用于周期地产生中断。定时器的最高分辨率为处理器的CPU时钟速度。通过带4位预定标器的16位计数器,可以获得较大范围的定时频率。,2019年4月20日,DSP原理及应用,17,第7章 TMS320C54x的片内外设、接口及应用,7.2 C54x的定时器,定时器主要由定时寄存器TIM、定时周期寄存器PRD、定时控制寄存器TCR及相应的逻辑控制电路组成。 寄存器TIM、PRD和TCR是存储器映像寄存器,地址分别为0024H、0025H和0026H。,7.2.1 定时器结构,1. 定时器的组成,2019年4月20日,DSP原理及应用,18,第7章 TMS320C54x的片内外设、接口及应用,1. 定时器的组成,主定时模块,预定标模块,2019年4月20日,DSP原理及应用,19,第7章 TMS320C54x的片内外设、接口及应用,1. 定时器的组成,定时寄存器TIM,逻辑控制电路,定时周期寄存器PRD,定时控制寄存器TCR,16位减1计数器。地址:0024H,用来存放定时时间。地址:0025H,存放定时器的控制位和状态位。地址:0026H。,用来控制定时器协调工作。,2019年4月20日,DSP原理及应用,20,第7章 TMS320C54x的片内外设、接口及应用,1. 定时器的组成,逻辑控制电路:由三个或门和一个与门组成。, 通过或门1、3控制PRD的加载计数; 通过或门1、2控制PSC的加载计数。 停止控制位TSS:通过与门屏蔽CLKOUT信号来控制定时器的启动。 TINT外部定时中断,定时时间到发中断; TOUT定时输出,输出定时波形。,2019年4月20日,DSP原理及应用,21,第7章 TMS320C54x的片内外设、接口及应用,主定时模块包括PRD和TIM,由预定标模块定时,预定标模块每输出一个时钟,TIM减1。当TIM减到0后,TIM装入PRD的值。,2. 定时器工作原理,主定时模块的定时中断(TINT)信号输出至CPU以及定时器的输出引脚TOUT。,2019年4月20日,DSP原理及应用,22,第7章 TMS320C54x的片内外设、接口及应用,预定标模块包括TCR中的TDDR和PSC位,由CPU时钟定时,每来一个CPU时钟,PSC值减1。 当PSC减至0、设备复位或定时器复位时,TDDR的内容复制到PSC中。,2. 定时器工作原理,4位预定标计数器PSC和16位定时计数器TIM组成一个20位计数器,定时器每接收一个CPU时钟减1,当计数器减到0时,产生定时中断(TINT),同时PSC和TIM重新装入预设的值。,2019年4月20日,DSP原理及应用,23,第7章 TMS320C54x的片内外设、接口及应用,2. 定时器工作原理,由逻辑控制电路控制定时器运行。, 定时分频系数和周期数分别装入TCD和PRC寄存器中;, 每来一个定时脉冲CLKOUT,计数器PSC减1;, 当PSC减至0时,PSC产生借位信号;, 在PSC的借位信号作用下,TIM减1计数,同时将分频系数装入PSC,重新计数;, 当TIM减到0时,定时时间到,由借位产生定时中断TINT和定时输出TOUT,并将PRD中的时间常数重新装入TIM。,定时器的工作过程:,2019年4月20日,DSP原理及应用,24,第7章 TMS320C54x的片内外设、接口及应用,16位存储器映像寄存器,包含定时器的控制位和状态位。,3. 定时控制寄存器TCR,保留位,软件调试控制位,预定标计数器,重新 加载位,停止 状态位,分 频 系 数,2019年4月20日,DSP原理及应用,25,第7章 TMS320C54x的片内外设、接口及应用,TDDR:定时器分频系数,用来对CLKOUT进行分频,以改变定时周期。 最大预定标值为16,最小预定标值为1。 当PSC减到0后,以TDDR中的数加载PSC。,3. 定时控制寄存器TCR,TSS:定时器停止状态位,用于停止或启动定时器。 复位时,TSS位清0,定时器立即定时。 TSS=0,定时器启动工作; TSS=1,定时器停止工作。,2019年4月20日,DSP原理及应用,26,第7章 TMS320C54x的片内外设、接口及应用,TRB:定时器重新加载位,用来复位片内定时器。 当TRB置1时,以PRD中的数加载TIM,以及以TDDR中的值加载PSC。TRB总是读成0。,3. 定时控制寄存器TCR,PSC:定时器预定标计数器,其标定范围为116。当PSC减到0后,TDDR位域中的数加载到PSC, TIM减1。,2019年4月20日,DSP原理及应用,27,第7章 TMS320C54x的片内外设、接口及应用,Free、Soft:软件调试控制位。Free和Soft位结合使用,用来控制调试程序断点操作情况下的定时器工作状态。,3. 定时控制寄存器TCR,保留:读成0。,2019年4月20日,DSP原理及应用,28,第7章 TMS320C54x的片内外设、接口及应用,定时器的基准工作脉冲由CLKOUT提供,每来一个脉冲预定标计数器PSC减1,当PSC减至0时,下一个脉冲到来,PSC产生借位。 借位信号分别控制定时计数器TIM减1和或门2的输出,重新将TDDR的内容加载预定标计数器PSC,从而完成定时工作的一个基本周期。,4. 定时器的初始化,定时器的定时时间为: 定时周期 = CLKOUT(TDDR+1)(PRD+1),2019年4月20日,DSP原理及应用,29,第7章 TMS320C54x的片内外设、接口及应用,4. 定时器的初始化,【例7.2.1】定时器自动装载定时。,TSS=0:启动定时器;TRB=1:自动装载;TDDR=Ah:分频系数10 soft=1,free=0:计数器减至0时,停止工作;TCR=0AAAH。 定时周期:0101H;关闭定时器中断:IFR=0008H; 开放定时器中断:IMR=0008H。,STM #0000H,SWWSR STM #0010H,TCR STM #0101H,PRD STM #0AAAH,TCR STM #0080H,IFR STM #0080H,IMR RSBX INTM,;不插等待时间 ;TSS=0关闭定时器 ;加载周期寄存器(PRD) ;装入定时器控制字,启动定时器 ;消除尚未处理完的定时器中断 ;开放定时器中断 ;开放中断,2019年4月20日,DSP原理及应用,30,第7章 TMS320C54x的片内外设、接口及应用,(3)方波发生器程序清单,周期为8ms的方波发生器,定时中断周期为4ms,每中断一次,输出端电平取一次反。,程序清单:,;abc1.asm ;定时器0寄存器地址 TIM0 set 0024H PRD0 set 0025H TCR0 set 0026H ;K_TCR0:设置定时器控制寄存器的内容 K_TCR0_SOFT .set 0b ;Soft=0 K_TCR0_FREE .set 0b ;Free=0 K_TCR0_PSC .set 1001b ;PSC=9H K_TCR0_TRB .set 1b ;TRB=1 K_TCR0_TSS .set 0b ;TSS=0 K_TCR0_TDDR .set 1001b ;TDDR=9 K_TCR0 .set K_TCR0_SOFT| K_TCR0_FREE| K_TCR0_PSC| K_TCR0_TRB| K_TCR0_TSS| K_TCR0_TDDR,2019年4月20日,DSP原理及应用,31,第7章 TMS320C54x的片内外设、接口及应用,(3)方波发生器程序清单,程序清单:,;初始化定时器0 ;根据定时长度计算公式:Tt=T* (TDDR+1) * (PRD+1) ;给定TDDR=9,PRD=1599,CLKOUT主频f=4MHz,T=250ns ;Tt=250*(9+1)*(1599+1)=4,000,000(ns)=4(ms) STM #1599,TIM0 STM #1599,PRD0 STM #K_TCR0,TCR0 ;启动定时器0中断 RET ;定时器0的中断服务子程序:通过引脚XF给出周期为8ms的占空比 ;为50%的方波波形 t0_flag .usect “vars”,1 ;当前XF输出电平标志位 ;若t0_flag=1,则XF=1 ;若t0_flag=0,则XF=0,2019年4月20日,DSP原理及应用,32,第7章 TMS320C54x的片内外设、接口及应用,time0_rev: PSHM TRN PSHM T PSHM ST0 PSHM ST1 BITF t0_flag,#1 BC xf_out,NTC SSBX XF ST #0,t0_flag B next xf_out: RSBX XF ST #1,t0_flag next: POPM ST1 POPM ST0 POPM T POPM TRN RETE,2019年4月20日,DSP原理及应用,33,第7章 TMS320C54x的片内外设、接口及应用,7.3 C54x的串行口,C54x为用户提供了丰富的同步串行口,可与双向串口器件实现高效的串行通信。 C54x的串行口有四种类型: 标准同步串口SP 缓冲同步串口BSP 多路缓冲串口McBSP 时分多路同步串口TMD,2019年4月20日,DSP原理及应用,34,第7章 TMS320C54x的片内外设、接口及应用,7.3 C54x的串行口,不同型号的芯片所带串口类型不同。,2019年4月20日,DSP原理及应用,35,第7章 TMS320C54x的片内外设、接口及应用,7.3 C54x的串行口,7.3.1 标准同步串行口SP,1.SP串口结构,结构组成: 数据接收寄存器DRR; 数据发送寄存器DXR; 接收移位寄存器RSR; 发送移位寄存器XSR; 二个装载控制逻辑电路; 二个位/字控制计数器。,2019年4月20日,DSP原理及应用,36,第7章 TMS320C54x的片内外设、接口及应用,1.SP串口结构,标准同步串行口结构:,2019年4月20日,DSP原理及应用,37,第7章 TMS320C54x的片内外设、接口及应用,1.SP串口结构,标准同步串行口的外部引脚:,2019年4月20日,DSP原理及应用,38,第7章 TMS320C54x的片内外设、接口及应用,1.SP串口结构,标准同步串行口各部分的功能:,(1) 数据接收寄存器DRR 16位的存储器映像数据接收寄存器,用来保存来自RSR寄存器并将要写到数据总线的输入数据。复位时,DRR被清除。,(2) 数据发送寄存器DXR 16位的存储器映像数据发送寄存器,用来保存来自数据总线并将要加载到XSR的外部串行数据。复位时,DXR被清除。,2019年4月20日,DSP原理及应用,39,第7章 TMS320C54x的片内外设、接口及应用,1.SP串口结构,(3) 数据接收移位寄存器RSR 16位的数据接收移位寄存器,用来保存来自串行数据接收(DR)引脚的输入数据,并控制数据到DRR的传输。,(4) 数据发送移位寄存器XSR 16位数据发送移位寄存器,用来控制来自DXR的外部数据的传输,并保存将要发送到串行数据发送引脚的数据。,2019年4月20日,DSP原理及应用,40,第7章 TMS320C54x的片内外设、接口及应用,1.SP串口结构,(5) 串行接口控制寄存器SPC 16位的存储器映像串行接口控制寄存器,用来保存串行接口的模式控制和状态位。,(6) 控制电路 用于控制串行口协调工作,分为: 装载控制电路:完成接收和发送数据的装载; 位/字控制计数器:完成位/字传输控制。,2019年4月20日,DSP原理及应用,41,第7章 TMS320C54x的片内外设、接口及应用,1.SP串口结构,例如:完成两个C54x串行通信的连接。,C54x DX FSX CLKX 发 送,C54x DR FSR CLKR 接 收,2019年4月20日,DSP原理及应用,42,第7章 TMS320C54x的片内外设、接口及应用,1.SP串口结构,发送过程: 发送数据装入DXR; 当上一个数据发送完后,DXR的数据自动装入XSR; 在发送帧同步信号FSX和发送时钟CLKX作用下,将XSR的数据通过引脚DX发送输出。 接收过程: 在接收帧同步信号FSR和接收时钟CLKR作用下,接收数据通过DR引脚移至RSR中; 当RSR满时,将数据装入DRR中。,2019年4月20日,DSP原理及应用,43,第7章 TMS320C54x的片内外设、接口及应用,2. 控制寄存器SPC,SPC用于控制串行口的操作。,2019年4月20日,DSP原理及应用,44,第7章 TMS320C54x的片内外设、接口及应用,RES:保留位,用于单C54x测试串行口代码,总读为0。,DLB:数据回送模式位,用于设置串行接口数据回送模式。,当DLB=0时,为禁止数据回送模式。 DR、FSR和CLKR信号来自它们各自器件引脚;,当DLB=1时,为使能数据回送模式。 DR和FSR分别选通DX和FSX; 若MCM=1,则输出时钟CLKR选择片内时钟CLKX; 若MCM=0,则输出时钟CLKR选择片外时钟CLKR。,2019年4月20日,DSP原理及应用,45,第7章 TMS320C54x的片内外设、接口及应用,FO:数据格式位。 用于定义串行口发送/接收数据的字长。 当FO=1时,接/发数据按8位字节传输,先送高8位; 当FO=0时,接/发数据按16位字节传输。,FSM:帧同步模式位。 用来定义串行口工作时,在初始帧同步脉冲之后,是否还要求FSX和FSR帧同步脉冲。 当FSM=1时,串行口工作在字符组方式; 当FSM=0时,串行口工作在连续方式。,2019年4月20日,DSP原理及应用,46,第7章 TMS320C54x的片内外设、接口及应用,MCM:时钟选择模式位。 用来设定CLKX的时钟源。 若MCM=1,CLKX配置成输出,采用内部时钟源; 若MCM=0,CLKX配置成输入,采用外部时钟源。,TXM:发送模式位。 用于设定帧同步脉冲FSX的来源。 当TXM=1时,FSX设置成输出,由片内产生帧同步脉冲; 当TXM=0时,FSX设置成输入,由外部提供帧同步脉冲。,2019年4月20日,DSP原理及应用,47,第7章 TMS320C54x的片内外设、接口及应用,XRST:发送复位位。,RRST:接收复位位。,用来对串行口发送器进行复位。,当XRST=1时,串行口处于工作状态;,当XRST=0时,串行口处于复位状态,停止操作。,用来对串行口接收器进行复位。,当RRST=1时,串行口处于工作状态;,当RRST=0时,串行口处于复位状态,停止操作。,2019年4月20日,DSP原理及应用,48,第7章 TMS320C54x的片内外设、接口及应用,IN0:接收时钟状态位。 用于显示接收时钟CLKR当前状态。,IN1:发送时钟状态位。 用于显示发送时钟CLKX当前状态。,RRDY:接收准备好位。 用于检测接收移位寄存器RSR接收数据的状态。 RRDY由0变1,表示RSR中的内容已复制到接收数据寄存器DRR中,同时串行口产生接收中断RINT。,2019年4月20日,DSP原理及应用,49,第7章 TMS320C54x的片内外设、接口及应用,XRDY:发送准备好位。 用于检测发送寄存器DXR发送数据的状态。 XRDY由0变1,表示DXR中的内容已复制到发送移位寄存器XSR中,同时串行口产生发送中断XINT。,XSREMPTY:发送移位寄存器空位。,用于反映发送移位寄存器的状态。 当发生如下情况时,XSREMPTY=0,暂停发送数据:, 发送移位寄存器XSR已空,而DXR仍未加载; 发送复位XRST=0; 芯片复位RS=0。,2019年4月20日,DSP原理及应用,50,第7章 TMS320C54x的片内外设、接口及应用,RSRFULL:接收移位计数器满。 用来反映接收移位寄存器的状态,高电平有效。 在FSM=1时,下述条件同时发生时,RSRFULL=1: 上次从RSR传到DRR的数据还没有读出; RSR已满; 一个帧同步脉冲已出现在FSR端。,在FSM=0时,若满足前两个条件,RSRFULL=1。 当发生如下情况时,RSRFULL=0: 读取DRR中的数据; 接收复位RRST=0;, 芯片复位RS=0。,2019年4月20日,DSP原理及应用,51,第7章 TMS320C54x的片内外设、接口及应用,Free、Soft:仿真控制位。 用于调试程序遇到断点时决定串行口的时钟状态。,2019年4月20日,DSP原理及应用,52,第7章 TMS320C54x的片内外设、接口及应用,3.标准串口SP的操作,串口初始化步骤: 复位,并且把0038H(或0008H)写到SPC,初始化串行接口。 把00C0H写到IFR,清除任何挂起的串行接口中断。 把00C0H和IMR求或逻辑运算,使能串行接口中断。 清除ST1的INTM位,使能全局中断。 把00F8H(或00C8H)写入SPC,启动串行接口。 把第一个数据写到DXR。,如果这个串行接口与另一个处理器的串行接口连接,而且这个处理器产生一个帧同步信号SFX,则在写这个数据之前必须有握手信号。,2019年4月20日,DSP原理及应用,53,第7章 TMS320C54x的片内外设、接口及应用,3.标准串口SP的操作,串口中断服务程序步骤: 保存上下文到堆栈中。 读DRR或写DXR,或者同时进行两种操作。从DRR读出的数据写到内储器中预定单元,写到DXR的数据从存储器的指定单元取出。 恢复现场。 用RETE从中断子程序返回,并重新使能中断。,2019年4月20日,DSP原理及应用,54,第7章 TMS320C54x的片内外设、接口及应用,7.4 C54x的中断系统,C54x中断系统设置两个中断寄存器,分别为中断标志寄存器IFR和中断屏蔽寄存器IMR。,7.4.1 中断寄存器,1. 中断标志寄存器IFR,中断标志寄存器IFR是一个存储器映像寄存器,当一个中断出现时,IFR中的相应的中断标志位置1,直到CPU识别该中断为止。,C5402中断标志寄存器IFR的结构:,2019年4月20日,DSP原理及应用,55,第7章 TMS320C54x的片内外设、接口及应用,7.4.1 中断寄存器,1. 中断标志寄存器IFR,中断标志寄存器IFR各位的功能。,2019年4月20日,DSP原理及应用,56,第7章 TMS320C54x的片内外设、接口及应用,7.4.1 中断寄存器,1. 中断标志寄存器IFR,在C54x系列芯片中,IFR中5 0位对应的中断源完全相同,分别为外部中断和通信中断标志寄存位,而156位中断源根据芯片的不同,定义的中断源类型不同。有三种情况将清除中断标志:, 相应的IFR标志位置1; 使用相应的中断号响应该中断, 即使用INTR #K指令。,2019年4月20日,DSP原理及应用,57,第7章 TMS320C54x的片内外设、接口及应用,7.4.1 中断寄存器,2. 中断屏蔽寄存器IMR,中断屏蔽寄存器是一个存储器映像寄存器,主要用于控制中断源的屏蔽和开放。,2019年4月20日,DSP原理及应用,58,第7章 TMS320C54x的片内外设、接口及应用,2. 中断屏蔽寄存器IMR,中断屏蔽寄存器IMR的结构:,用户可以对IMR寄存器进行读写操作。,2019年4月20日,DSP原理及应用,59,第7章 TMS320C54x的片内外设、接口及应用,2. 中断屏蔽寄存器IMR,中断屏蔽寄存器IMR各位的功能:,2019年4月20日,DSP原理及应用,60,第7章 TMS320C54x的片内外设、接口及应用,7.4 C54x的中断系统,中断控制主要是屏蔽某些中断,避免其他中断对当前运行程序的干扰,以及防止同级中断之间的响应竞争。,7.4.2 中断控制,1. 中断请求,一个中断可由硬件器件或软件指令提出请求。当产生一个中断时,IFR寄存器中相应的中断标志位被置1。不管中断是否被处理器应答,该标志位都会置1。当相应的中断响应后,该标志位自动被清除。,2019年4月20日,DSP原理及应用,61,第7章 TMS320C54x的片内外设、接口及应用,对于软件中断和非屏蔽中断,CPU将立即响应,进入相应中断服务程序。 对于硬件可屏蔽中断,只要满足以下3种条件后CPU才能响应中断。,7.4.2 中断控制,2. 中断响应, 当前中断优先级最高。,C54x按照中断优先级响应中断请求。, INTM位清0。,当INTM=0,所有可屏蔽中断被使能。 当INTM=1,所有可屏蔽中断被禁止。, IMR屏蔽位为1。 在IMR中,中断的相应位为1,表明允许该中断。,2019年4月20日,DSP原理及应用,62,第7章 TMS320C54x的片内外设、接口及应用,CPU响应中断后,将进行以下操作:,7.4.2 中断控制,3. 中断服务程序, 保护现场,将程序计数器PC值压入堆栈; 将中断向量的地址加载到PC; 从中断向量所指定的地址开始取指; 执行分支转移,进入中断服务程序; 执行中断服务程序直到出现返回指令; 从堆栈中弹出返回地址,加载到PC中; 继续执行主程序。,2019年4月20日,DSP原理及应用,63,第7章 TMS320C54x的片内外设、接口及应用,7.4.2 中断控制,4.保存中断上下文,当执行一个中断服务程序时,有些寄存器必须保存在堆栈中。当程序从ISR返回时,用户软件代码必须恢复这些寄存器的上下文。 使用堆栈操作指令可以将这些寄存器传送到堆栈中,或者从堆栈中取出。 PSHM指令:将MMR寄存器中的内容传送到堆栈中; POPM指令:从堆栈中读出的数据传送到MMR寄存器中; PSHD指令:将数据存储器中的数据传送到堆栈; POPD指令:从堆栈中读出的数据传送到数据存储器中.,2019年4月20日,DSP原理及应用,64,第7章 TMS320C54x的片内外设、接口及应用,6.中断操作流程,中断操作流程:,2019年4月20日,DSP原理及应用,65,第7章 TMS320C54x的片内外设、接口及应用,7.4.2 中断控制,7.中断向量地址,中断向量可以映射到程序存储器的任何128字页面的起始位置,除保留区域外。 C54x的中断向量地址是由PMST寄存器中的IPTR(9位中断向量指针)和左移2位后的中断向量序号所组成。,中断向量地址=IPTR+(左移2位的中断向量序号),例如,IPTR=0001H,INT0的中断向量序号为10H,中断向量的地址为00C0H。,中断向量地址=0 00000001 100 0000 = 00C0H,2019年4月20日,DSP原理及应用,66,第7章 TMS320C54x的片内外设、接口及应用,7.中断向量地址,硬件复位时,IPTR=1FFH,复位向量将映射到程序存储器的511页空间,复位向量地址为FF80H。 当硬件复位后,CPU将从0FF80H开始执行程序。 若对IPTR重新赋值,中断向量可以映射到程序存储器的其他地址。 例如,用0001H加载IPTR,中断向量将被移到0080H单元开始的程序存储器空间。,2019年4月20日,DSP原理及应用,67,第7章 TMS320C54x的片内外设、接口及应用,7.4.2 中断控制,8.外部中断触发,外部中断触发方式有两种,分别是电平触发和边沿触发。,是指外部的硬件中断源产生中断用电平表示。 采用电平触发时,CPU可以通过采集硬件信号电平,来响应中断信息。 要求:在中断服务程序返回之前,外部中断请求输入必须无效,否则,CPU会反复中断。 在这种触发方式下,CPU必须有应答硬件信号通知外部中断源,当中断处理完成后,取消中断申请。,(1) 电平触发方式,2019年4月20日,DSP原理及应用,68,第7章 TMS320C54x的片内外设、接口及应用,8.外部中断触发,在这种方式下,外部中断申请触发器能锁存外部中断输入线上的负跳变。即使CPU不能及时响应中断,中断申请标志也不丢失。 要求:输入脉冲宽度至少保持3个时钟周期,才能被CPU采集到。 外部中断的边沿触发方式适用于以负脉冲方式输入的外部中断请求。,(2)边沿触发方式,2019年4月20日,DSP原理及应用,69,第7章 TMS320C54x的片内外设、接口及应用,7.4 C54x的中断系统,如果系统有多个外部中断源,首先按这些中断源时间响应要求的轻重缓急进行中断排队;然后按规定优先级将中断源连接到系统中。 由于C54x系列的外部中断引脚只有4个,为了扩展外部中断源的个数,可采用“或”逻辑或“与”逻辑的方法,将多个中断源连接到外部中断引脚上,同时将各个中断源与I/O口连接。当产生中断时,CPU读I/O口,判别是哪个中断源申请中断。,7.4.3 中断系统的应用,2019年4月20日,DSP原理及应用,70,第7章 TMS320C54x的片内外设、接口及应用,【例7.4.1】有8个中断源,分别表示为IR1,IR2,IR8,各中断源均采用边沿触发方式,试用C5402建立相应的中断系统。,7.4.3 中断系统的应用,(1) 构建硬件中断系统,8个中断源分别与主机口HPI相连,以便C5402查询。 优先级顺序:IR1、IR2、IR3、IR4、IR5、IR6、IR7、IR8,2019年4月20日,DSP原理及应用,71,第7章 TMS320C54x的片内外设、接口及应用,(1) 构建硬件中断系统,硬件中断系统:,2019年4月20日,DSP原理及应用,72,第7章 TMS320C54x的片内外设、接口及应用,(2) 系统中断程序,中断服务程序:,;外部中断INT0中断服务子程序: INT0ISR: PSHM ST0 ;保存寄存器 PSHM ST1 PSHM BG PSHM BH PSHM BL PORTR HPIPORT,*(hpi_var) ;读HPI口 STL *(hpi_var),B AND #01B,B BC IR2,ANEQ ;首先判别是否是IR1, ;是,则执行服务程序, ;否,则跳至对IR2的判断,2019年4月20日,DSP原理及应用,73,第7章 TMS320C54x的片内外设、接口及应用,(2) 系统中断程序,;扩展中断IR0的服务程序主体 IR2: STL *(hpi_var),B AND #010B,B BC INT0END,ANEQ ;首先判别是否是IR1, ;是,则执行服务程序, ;否,则跳转至结束 ;扩展中断IR1的服

温馨提示

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

评论

0/150

提交评论