收藏 分销(赏)

DSP第三章.ppt

上传人:仙人****88 文档编号:14143716 上传时间:2026-06-30 格式:PPT 页数:31 大小:1.73MB 下载积分:10 金币
下载 相关 举报
DSP第三章.ppt_第1页
第1页 / 共31页
DSP第三章.ppt_第2页
第2页 / 共31页


点击查看更多>>
资源描述
*,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,信息工程学院,第三章 时钟及系统控制,授课时间:,3,月,13,日,授课教师:,王忠勇,1,一、时钟及系统控制,二、程序地址产生,三、,转移、调用和返回,四、重复指令,第三章 时钟及系统控制,2,主要介绍,F2812,的时钟、锁相环、看门狗和复位控制电路等。,各种时钟和复位电路的内部结构:,一、时钟及系统控制,3,4,HISPCP,HISPCP,一、时钟及系统控制,HISPCP,高速外设时钟设置寄存器,PLLCR,PLL,控制寄存器,LOSPCP,慢速外设时钟设置寄存器,SCSR,系统控制和状态寄存器,PCLKCR,外设时钟控制寄存器,WDCNTR,看门狗计数寄存器,LPMCR0,低功耗模式控制寄存器,o,WDKEY,看门狗复位,key,寄存器,LPMCRl,低功耗模式控制寄存器,1,WDCR,看门狗控制寄存器,5,外设时钟控制寄存器,PCLKCR,数据存储空间,0 x0000701C,时钟寄存器,高低速外设时钟寄存器,HISPCP/LOSPCP,0 x0000701A/B,系统控制和状态寄存器,SCSR,数据存储空间,0X00007022,保留,D15 D14 D13 D12 D11 D10 D9 D8,ECANENCLK,MCBSPENCLK,SCIBENCLK,SPIENCLK,R-0,R/W-0,R-0,R/W-0,R/W-0,Reserved,D15 D3 D2 D1 D0,WDINTS,WDENINT,WDOVERRIDE,R-0 R-1 R/W-0 R/W1C-1,一、时钟及系统控制,SCIAENCLK,保留,保留,保留,ADCENCLK,保留,EVAENCLK,EVBENENCLK,D7 D4 D3 D2 D1 D0,R-0 R/W-0 R-0,R/W-0,R/W-0,R/W-0,R-0,R/W-0,Reserved,D15 D3 D2 D0,HSPCK/LSPCK,R-0,R/W-010,6,时钟模块提供两种操作模式:,内部振荡器:,如果使用内部振荡器,则必须在,X1,XCLKIN,和,X2,两个引 脚之间连接一个石英晶体。,外部时钟源:,如果采用外部时钟,可以将输入的时钟信号直接接到,X1,XCLKIN,引脚上,而,X2,悬空。在这种情况下,不使用内部振荡器。,一、时钟及系统控制,晶体振荡器及锁相环,当,XPLLDIS,为低电平,系统直接采用时钟或晶振直接作为系统时钟;,当,XPLLDIS,为高电平,外部时钟经过,PLL,倍频后,为提供时钟。,7,锁相环控制寄存器,PLLCR,用于选择锁相环的工作模式和倍频系数,定时器,一、时钟及系统控制,Reserved,D15 D4 D3 D0,DIV,R-0 R/W-010,TIM,16,位的计数寄存器,重新装载,PRD,的值。,PRD,16,位周期寄存器。,TCR,16,位的定时器控制寄存器。,PSC,8,位的预定标寄存器,重新装载,TDDR,的值。,TDDR,8,位的分频寄存器。,有,3,个,32,位,CPU,定时器,(TIMER0/1/2),:,定时器,0,用户可以在应用程序中使用。,定时器,1,和定时器,2,预留给实时操作系统使用,(,例如,DSPBIOS),。,8,C20X,定,时,器,定时器功能框图,一、时钟及系统控制,工作过程:,首先用,32,位计数寄存器,(TIMH,:,TM),装载周期寄存器,(PRDH:PRD),内部的值。计数寄存器根据,SYSCLKOUT,时钟递减计数。当计数寄存器等于,0,时,定时器中断输出产生一个中断脉冲。,9,工作原理,在每个,SYSCLKOUT,脉冲后,PSC,减,1,,一直减到,0,。,在下一个,SYSCLKOUT,周期,,TDDR,加载新的除数值到,PSC,,并使,TIM,减,1,。,重复前两步操作,即,PSC,每次减到,0,后,,TIM,进行一次减,1,操作,直到,TIM,减为,0,在下一个,SYSCLKOUT,周,周期,将定时器中断(,TINT,)送到,CPU,,和,TOUT,引脚。同时,TIM,装载来自,PRD,的新的定时 计数器值,并使,PSC,再次减,1,。,每经过(,TDDR+1,)个,SYSCLKOUT,周期,,TIM,减,1,。当,PRD,、,TDDR,或两者都不为零时,,定时器中断频率即,TINT,的频率(,fTINT,)为:,f,CLKOUT1,为,SYSCLKOUT,的频率。,C20X,定时器,10,C20X,定时器,计数器,TIM,TIM,D15 D0,R/W-0,TIMH,D15 D0,R/W-0,周期寄存器,PRD,PRD,D15 D0,R/W-0,PRDH,D15 D0,R/W-0,11,C20X,定时器,控制寄存器,TCR0,TIF,TIE,FREE,D15 D14 D13D12 D11 D10 D9D6 D5 D4 D3 D0,TRB,保留,SOFT,保留,R/W-0,R/W-0,R-0 R/W-0,R/W-0,R-0 R/W-0,R/W-0,R-0,TCR,功能:,控制定时器模式,重新加载定时器,启动和停止定时器,TSS,保留,预定标寄存器,PSC/TDDR,PSC,D15 D8 D7 D0,R-0 R/W-0,PSCH,D15,D8,D7,D0,R-0 R/W-0,TDDR,TDDRH,12,C20X,一、时钟及系统控制,看门狗及其应用,F2812,的看门狗与,240 x,的基本相同,当,8,位的看门狗计数器计数到最大值时,看门狗模块产生一个输出脉冲,(512,个振荡器时钟宽度,),。如果不希望产生脉冲信号,用户需要屏蔽计数器,或用软件周期向看门狗复位控制寄存器写“,0 x55+0 xAA,,该寄存器能够使看门狗计数器清零。,为了实现看门狗的各项功能,内部有,3,个功能寄存器,13,看门狗功能框图,14,一、时钟及系统控制,看门狗及其应用,计数寄存器,WDCNTR,Reserved,D15 D8 D7 D0,R-0 R/W-0,WDCNTR,复位寄存器,Reserved,D15 D8 D7 D0,R-0 R/W-0,WDKEY,控制寄存器,Reserved,D15 D8,R-0 R/W-0,WDFLAG,D7 D6 D5 D3 D2 D0,R/W-0 R/W-0,WDPS,WDDIS,WDCHK,R-0,15,二、,程序地址的产生,通常程序是顺序执行的,即在连续的程序存储器地址上取出指令并执行。但有时程序需要转移到不连续的地址,然后再连续执行新地址处的指令。为此提供了转移、调用、重复(循环)和中断指令。,在执行当前指令的同时,程序流要求处理器生成下一个指令的程序地址(顺序或非顺序的)。,程序控制:控制一个或多个指令块的执行次序。,16,二、,程序地址的产生,17,程序计数器,PC,:,16bit,,取指令时,对内部和外部程序存储器寻址。,程序地址寄存器,PAR:,驱动程序地址总线,提供程序的读、写地址。,堆栈,STACK,:,16,位宽,8,级深,可保存,8,个返回地址,也可将用作暂存存储器。,微堆栈,MSTACK:,16,位、,1,级深,保存一个返回地址。,重复计数器,RPTC,:,16,位,与重复指令(,RPT,)一起,用来确定,RPT,后面的一条指令重复执行多次。,用到的硬件,二、,程序地址的产生,18,顺序操作:,程序的地址来源于,PC,程序计数器(程序地址,+1,),空(哑)周期:,程序的地址来源于,PAR,(程序地址,+1,),从子程序返回:,程序的地址来源于栈顶(,TOS,),从表传送或块传送返回:,程序的地址来源于微堆栈(,MSTACK,),转移到或调用指令中指定的地址:,程序的地址来源于转移或调用指,令。即利用程序读总线(,PRDB,)的方式获取程序地址。,转移到或调用累加器低半部分指定的地址:,程序地址来源于累加,器的低半部分。即利用数据读总线(,DRDB,)的方式获取程序地址。,转移到中断服务程序:,程序地址来源于中断矢量单元。即利用程序读总,线 (,PRDB,)的方式获取程序地址。,程序地址产生的情况,二、,程序地址的产生,19,程序计数器,PC,PC,中存放将被执行的下一条指令的地址。,有,5,种方式加载,PC,,从而适应连续和不连续的程序流程。,二、,程序地址的产生,20,顺序执行,:,若当前指令是一个字,则将,PC+1,加载到,PC,若当前指令是两个字,则将,PC+2,加载到,PC,分支(转移):,转移指令后的长立即数直接加载到,PC,子程序调用和返回:,调用指令,将,PC,中下一条指令的地址压入堆栈,然后将调用指令后的长,立即数直接加载到,PC,返回指令,将返回地址从堆栈中弹回,PC,软件或硬件中断:,将相应的中断矢量地址装入,PC,,在该矢量地址单元,通,常有一条转移指令,又将相应的中断服务程序的地址加载到,PC,计算转移:,将累加器低,16,位加载到,PC,利用,BACC,或,CALA,指令可实现计算,GOTO,操作,程序计数器,PC,二、,程序地址的产生,21,16,位宽、,8,级深,当调用子程序或发生中断时,程序地址产生逻辑利用,该堆栈保存返回地址,进入子程序或中断服务程序时,返回地址自动装入该,堆栈的栈顶;当子程序或中断服务程序完成时,返回,指令将返回地址从栈顶传送到程序计数器。,访问堆栈的指令,PUSH,和,POP,:针对累加器低,16,位操作。,PSHD,和,POPD,:当子程序或中断嵌套超过,8,级时可利用这两条指令在,数据存储区中建立一个堆栈。,堆,栈,二、,程序地址的产生,22,堆,栈,例,子,二、,程序地址的产生,23,堆栈例子,二、,程序地址的产生,24,一级深、,16,位宽,操作不可见,即无指令,只有程序,地址产生逻辑才能够使用微堆栈。,程序地址产生逻辑在执行,BLDD,、,BLPD,、,MAC,、,MACD,、,TBLR,和,TBLW,这些串(块)操作指令时利用微堆栈保,存返回地址。,微,堆,栈,二、,程序地址的产生,25,,,二、,程序地址的产生,流,水,线,技,术,下面给出了一个四级深流水线操作图。同时执行四条,指令,但每一条指令处于不同的阶段,单字、单周期指令,4,级流水线操作,26,二、,程序地址的产生,流,水,线,技,术,对,F2812,每条指令都要经过,8,个独立的执行过程,这,8,个过程形成了指令流水线,(instruction pipeline),。在每一个给定的时间内,有,8,条指令被激活,每一指令处在执行过程中的不同阶段。并不是所有的指令都会同时发生读写操作,但是流水线的保护机制能够按照需要去延迟指令,以确保根据程序控制顺序对同一位置进行读写操作。,27,转移仅使控制转换到新的地址单元,调用还要将返回地址保存到硬件堆栈的栈顶,返回指令将堆栈中的返回地址弹到程序计数器(,PC,),每个被调用的子程序或中断服务程序都以返回指令结束。,三、转移、调用和返回,无条件指令,无条件指令总是执行的。,当执行无条件转移,B,、,BACC,;无条件调用,CALL,、,CALA,指令,时,将指定的程序存储器的地址加载到,PC,并从该地址开始,执行程序。,当执行无条件返回(,RET,)指令时,将栈顶的值(返回地,址)加载到,PC,,并从该地址继续执行程序。,28,LEQ,ACC0,累加器小于或等于,0,GT,ACC,0,累加器大于,0,GER,ACC0,累加器大于或等于,0,C,C=1,进位位置,1,NC,C=0,进位位清,0,OV,OV=1,检测到累加器溢出,NOV,OV=0,检测到累加器不溢出,BIO,BOI,为低,BIO,引脚为低,TC,TC=1,测试,/,控制标志置,1,NTC,TC=0,测试,/,控制标志置,0,操作数符号,条 件,说 明,EQ,ACC=0,累加器为,0,NEQ,ACC0,累加器不为,0,LT,ACC,0,累加器小于,0,29,重复指令(,RPT,):,允许一条指令的重复次数为,N+1,次。,N,为,RPT,指令的一个操作数。,原理:,在执行,RPT,时,计数值,N,被装入重复计数器,RPTC,,然后,被重复的,指令每执行一次,,RPTC,就减,1,,直至,RPTC,为,0,。,RPTC,可作为,16,位计数器,也可为,8,位计数器。,作用:,用在,NORM,(累加器内容归一化)、,MCAD,(乘、累加和数据移动),SUBC,(条件减),重复指令,三、转移、调用和返回,30,争争就能赢,试试就能行,希望同学们坚信,:,31,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服