第二章2 时钟及系统控制_第1页
第二章2 时钟及系统控制_第2页
第二章2 时钟及系统控制_第3页
第二章2 时钟及系统控制_第4页
第二章2 时钟及系统控制_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

第二章(2)时钟及系统控制1一、时钟及系统控制二、程序地址产生三、转移、调用和返回四、重复指令第二章(2)时钟及系统控制第2章CPU内部结构与时钟系统2第2章CPU内部结构与时钟系统3主要介绍F2812的时钟、锁相环、看门狗和复位控制电路等。各种时钟和复位电路的内部结构:一、时钟及系统控制教材p41图2-4-1第2章CPU内部结构与时钟系统4第2章CPU内部结构与时钟系统5HISPCPHISPCP一、时钟及系统控制HISPCP高速外设时钟设置寄存器

PLLCRPLL控制寄存器LOSPCP慢速外设时钟设置寄存器

SCSR系统控制和状态寄存器

PCLKCR外设时钟控制寄存器

WDCNTR看门狗计数寄存器

LPMCR0低功耗模式控制寄存器0

WDKEY看门狗复位key寄存器

LPMCRl

低功耗模式控制寄存器1

WDCR看门狗控制寄存器第2章CPU内部结构与时钟系统6▲

外设时钟控制寄存器PCLKCR——数据存储空间0x0000701C

时钟寄存器▲

高低速外设时钟寄存器HISPCP/LOSPCP——0x0000701A/B▲

系统控制和状态寄存器SCSR——数据存储空间

0X00007022保留D15D14D13D12D11D10D9D8ECANENCLKMCBSPENCLKSCIBENCLKSPIENCLK

R-0

R/W-0

R-0

R/W-0

R/W-0

Reserved

D15D3D2D1D0WDINTSWDENINTWDOVERRIDE

R-0R-1R/W-0R/W1C-1一、时钟及系统控制SCIAENCLK保留保留保留ADCENCLK保留EVAENCLKEVBENENCLKD7D4D3D2D1D0R-0R/W-0R-0

R/W-0

R/W-0

R/W-0R-0

R/W-0Reserved

D15D3D2D0HSPCK/LSPCK

R-0R/W-010第2章CPU内部结构与时钟系统7时钟模块提供两种操作模式:▲

内部振荡器:如果使用内部振荡器,则必须在X1/XCLKIN和X2两个引脚之间连接一个石英晶体。▲

外部时钟源:如果采用外部时钟,可以将输入的时钟信号直接接到X1/XCLKIN引脚上,而X2悬空。在这种情况下,不使用内部振荡器。一、时钟及系统控制晶体振荡器及锁相环当XPLLDIS为低电平,系统直接采用时钟或晶振直接作为系统时钟;当XPLLDIS为高电平,外部时钟经过PLL倍频后,为提供时钟。

第2章CPU内部结构与时钟系统8锁相环控制寄存器PLLCR——用于选择锁相环的工作模式和倍频系数定时器一、时钟及系统控制Reserved

D15D4D3D0DIV

R-0R/W-010▲

TIM——16位的计数寄存器,重新装载PRD的值。▲

PRD——16位周期寄存器。▲TCR——16位的定时器控制寄存器。▲

PSC——16位的预定标寄存器,重新装载TDDR的值。▲

TDDR——

16位的分频寄存器。有3个32位CPU定时器(TIMER0/1/2):√定时器0用户可以在应用程序中使用。√定时器1和定时器2预留给实时操作系统使用(例如DSPBIOS)。第2章CPU内部结构与时钟系统9C28X定时器定时器功能框图一、时钟及系统控制工作过程:首先用32位计数寄存器(TIMH:TM)装载周期寄存器(PRDH:PRD)内部的值。计数寄存器根据SYSCLKOUT时钟递减计数。当计数寄存器等于0时,定时器中断输出产生一个中断脉冲。

第2章CPU内部结构与时钟系统10▲

工作原理√在每个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)为:

fCLKOUT1为SYSCLKOUT的频率。C28X定时器第2章CPU内部结构与时钟系统11C20X定时器▲

计数器——TIMTIMD15D0R/W-0TIMHD15D0R/W-0▲

周期寄存器——PRDPRDD15D0R/W-0PRDHD15D0R/W-0第2章CPU内部结构与时钟系统12C20X定时器▲

控制寄存器——TCR0TIFTIEFREED15D14D13~D12D11D10D9~D6D5D4D3~D0TRB保留SOFT保留R/W-0

R/W-0R-0R/W-0R/W-0R-0R/W-0R/W-0R-0

TCR功能:√控制定时器模式√重新加载定时器√启动和停止定时器TSS保留▲

预定标寄存器——PSC/TDDRPSCD15D8D7D0R-0R/W-0PSCHD15D8D7D0R-0R/W-0TDDRTDDRH第2章CPU内部结构与时钟系统13C20X一、时钟及系统控制看门狗及其应用F2812的看门狗与240x的基本相同,当8位的看门狗计数器计数到最大值时,看门狗模块产生一个输出脉冲(512个振荡器时钟宽度)。如果不希望产生脉冲信号,用户需要屏蔽计数器,或用软件周期向看门狗复位控制寄存器写“0x55+0xAA",该寄存器能够使看门狗计数器清零。

为了实现看门狗的各项功能,内部有3个功能寄存器

第2章CPU内部结构与时钟系统14看门狗功能框图第2章CPU内部结构与时钟系统15一、时钟及系统控制看门狗及其应用▲

计数寄存器——WDCNTRReservedD15D8D7D0R-0R/W-0WDCNTR▲

复位寄存器——WDKEYReservedD15D8D7D0R-0R/W-0WDKEY▲

控制寄存器——WDCRReservedD15D8R-0R/W-0WDFLAGD7D6D5D3D2D0R/W-0R/W-0WDPSWDDISWDCHKR-0第2章CPU内部结构与时钟系统16二、程序地址的产生

通常程序是顺序执行的,即在连续的程序存储器地址上取出指令并执行。但有时程序需要转移到不连续的地址,然后再连续执行新地址处的指令。为此提供了转移、调用、重复(循环)和中断指令。▲

在执行当前指令的同时,程序流要求处理器生成下一个指令的程序地址(顺序或非顺序的)。程序控制:控制一个或多个指令块的执行次序。第2章CPU内部结构与时钟系统17二、程序地址的产生

第2章CPU内部结构与时钟系统18▲

程序计数器PC:22bit,取指令时,对内部和外部程序存储器寻址。▲

程序地址寄存器PAR:驱动程序地址总线,提供程序的读、写地址。▲堆栈STACK:16位宽8级深,可保存8个返回地址,也可将用作暂存存储器。▲微堆栈MSTACK:16位、1级深,保存一个返回地址。▲

重复计数器RPTC:16位,与重复指令(RPT)一起,用来确定RPT后面的一条指令重复执行多次。用到的硬件二、程序地址的产生

第2章CPU内部结构与时钟系统19▲

顺序操作:程序的地址来源于PC程序计数器(程序地址+1)▲

空(哑)周期:程序的地址来源于PAR(程序地址+1)▲

从子程序返回:程序的地址来源于栈顶(TOS)▲

从表传送或块传送返回:程序的地址来源于微堆栈(MSTACK)▲

转移到或调用指令中指定的地址:程序的地址来源于转移或调用指令。即利用程序读总线(PRDB)的方式获取程序地址。▲

转移到或调用累加器低半部分指定的地址:程序地址来源于累加器的低半部分。即利用数据读总线(DRDB)的方式获取程序地址。▲

转移到中断服务程序:程序地址来源于中断矢量单元。即利用程序读总线(PRDB)的方式获取程序地址。程序地址产生的情况二、程序地址的产生

第2章CPU内部结构与时钟系统20程序计数器PC▲

PC中存放将被执行的下一条指令的地址。▲

有5种方式加载PC,从而适应连续和不连续的程序流程。二、程序地址的产生

第2章CPU内部结构与时钟系统21√顺序执行:若当前指令是一个字,则将PC+1加载到PC若当前指令是两个字,则将PC+2加载到PC√分支(转移):转移指令后的长立即数直接加载到PC√子程序调用和返回:

调用指令——将PC中下一条指令的地址压入堆栈,然后将调用指令后的长立即数直接加载到PC返回指令——将返回地址从堆栈中弹回PC√软件或硬件中断:将相应的中断矢量地址装入PC,在该矢量地址单元,通常有一条转移指令,又将相应的中断服务程序的地址加载到PC√计算转移:将累加器低16位加载到PC利用BACC或CALA指令可实现计算GOTO操作程序计数器PC二、程序地址的产生

第2章CPU内部结构与时钟系统22▲

16位宽、8级深▲

当调用子程序或发生中断时,程序地址产生逻辑利用该堆栈保存返回地址▲

进入子程序或中断服务程序时,返回地址自动装入该堆栈的栈顶;当子程序或中断服务程序完成时,返回指令将返回地址从栈顶传送到程序计数器。▲

访问堆栈的指令

PUSH和POP:针对累加器低16位操作。√

PSHD和POPD:当子程序或中断嵌套超过8级时可利用这两条指令在数据存储区中建立一个堆栈。堆栈二、程序地址的产生

第2章CPU内部结构与时钟系统23堆栈例子二、程序地址的产生

第2章CPU内部结构与时钟系统24堆栈例子二、程序地址的产生

第2章CPU内部结构与时钟系统25▲

一级深、16位宽,操作不可见,即无指令,只有程序地址产生逻辑才能够使用微堆栈。▲

程序地址产生逻辑在执行BLDD、BLPD、MAC、MACD、TBLR和TBLW这些串(块)操作指令时利用微堆栈保存返回地址。微堆栈二、程序地址的产生

第2章CPU内部结构与时钟系统26,二、程序地址的产生

流水线技术▲

下面给出了一个四级深流水线操作图。同时执行四条指令,但每一条指令处于不同的阶段单字、单周期指令4级流水线操作第2章CPU内部结构与时钟系统27二、程序地址的产生

流水线技术对F2812每条指令都要经过8个独立的执行过程,这8个过程形成了指令流水线(instructionpipeline)。在每一个给定的时间内,有8条指令被激活,每一指令处在执行过程中的不同阶段。并不是所有的指令都会同时发生读写操作,但是流水线的保护机制能够按照需要去延迟指令,以确保根据程序控制顺序对同一位置进行读写操作。第2章CPU内部结构与时钟系统28▲

转移仅使控制转换到新的地址单元▲

调用还要将返回地址保存到硬件堆栈的栈顶▲

返回指令将堆栈中的返回地址弹到程序计数器(PC)

——每个被调用的子程序或中断服务程序都以返回指令结束。三、转移、调用和返回

温馨提示

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

评论

0/150

提交评论