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

下载本文档

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

文档简介

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

2、 系统控制和系统控制和状态寄存器状态寄存器 PCLKCR 外设时钟控制外设时钟控制寄存器寄存器 WDCNTR 看门狗计数看门狗计数寄存器寄存器 LPMCR0 低功耗模式控低功耗模式控制寄存器制寄存器0 WDKEY 看门狗复位看门狗复位key寄存器寄存器 LPMCRl 低功耗模式控低功耗模式控制寄存器制寄存器1 WDCR 看门狗控制看门狗控制寄存器寄存器 外设时钟控制寄存器外设时钟控制寄存器 PCLKCR 数据存储空间数据存储空间 0 x0000701C 时钟寄存器时钟寄存器 高低速外设时钟寄存器高低速外设时钟寄存器 HISPCP/LOSPCP 0 x0000701A/B 系统控制和状态寄存器系

3、统控制和状态寄存器 SCSR 数据存储空间数据存储空间 0X00007022保留保留D15 D14 D13 D12 D11 D10 D9 D8ECANENCLKMCBSPENCLKSCIBENCLKSPIENCLK R-0 R/W-0 R-0 R/W-0 R/W-0 Reserved D15 D3 D2 D1 D0WDINTS WDENINT WDOVERRIDE R-0 R-1 R/W-0 R/W1C-1 一、时钟及系统控制一、时钟及系统控制SCIAENCLK保留保留保留保留保留保留ADCENCLK保留保留EVAENCLKEVBENENCLKD7 D4 D3 D2 D1 D0 R-0 R/W

4、-0 R-0 R/W-0 R/W-0 R/W-0 R-0 R/W-0Reserved D15 D3 D2 D0HSPCK/LSPCK R-0 R/W-010 时钟模块提供两种操作模式:时钟模块提供两种操作模式: 内部振荡器:内部振荡器:如果使用内部振荡如果使用内部振荡器,则必须在器,则必须在X1XCLKIN和和X2两个引两个引 脚之间连接一个石英晶体。脚之间连接一个石英晶体。 外部时钟源:外部时钟源:如果采用外部时钟,如果采用外部时钟,可以将输入的时钟信号直接接到可以将输入的时钟信号直接接到X1XCLKIN引脚上,而引脚上,而X2悬空。在这种情悬空。在这种情况下,不使用内部振荡器。况下,不使用

5、内部振荡器。一、时钟及系统控制一、时钟及系统控制晶体振荡器及锁相环晶体振荡器及锁相环当当XPLLDIS为低电平,系统直接采用时钟或晶振直接作为系统时钟;为低电平,系统直接采用时钟或晶振直接作为系统时钟;当当XPLLDIS为高电平,外部时钟经过为高电平,外部时钟经过PLL倍频后,为提供时钟。倍频后,为提供时钟。 片 内 振 荡 器( OSC)X1/XCLKINX2预 存 器XF_PLLDISOSCCLK(PLL被 禁 止 )XPLLDISXRSPLL旁 路PLL/2014位 PLL选 择CLKIN(送 至 CPU)锁相环控制寄存器锁相环控制寄存器PLLCR用于选择锁相环的工作模式和倍频系数用于选

6、择锁相环的工作模式和倍频系数定时器定时器一、时钟及系统控制一、时钟及系统控制Reserved D15 D4 D3 D0DIV R-0 R/W-010 TIM 16位的计数寄存器,重新装载位的计数寄存器,重新装载PRD的值。的值。 PRD 16位周期寄存器。位周期寄存器。 TCR 16位的定时器控制寄存器。位的定时器控制寄存器。 PSC 16位的预定标寄存器,重新装载位的预定标寄存器,重新装载TDDR的值。的值。 TDDR 16位的分频寄存器。位的分频寄存器。有有3个个32位位CPU定时器定时器(TIMER0/1/2):定时器定时器0用户可以在应用程序中使用。用户可以在应用程序中使用。定时器定时

7、器1和定时器和定时器2预留给实时操作系统使用预留给实时操作系统使用(例如例如 DSPBIOS)。定定时时器器定时器功能框图定时器功能框图一、时钟及系统控制一、时钟及系统控制工作过程:工作过程:首先用首先用32位计数寄存器位计数寄存器(TIMH:TM)装载周期寄存器装载周期寄存器(PRDH:PRD)内部的值。计数寄存器根据内部的值。计数寄存器根据SYSCLKOUT时钟递减计数。时钟递减计数。当计数寄存器等于当计数寄存器等于0时,定时器中断输出产生一个中断脉冲。时,定时器中断输出产生一个中断脉冲。 工作原理工作原理 在每个在每个SYSCLKOUT脉冲后脉冲后PSC减减1,一直减到,一直减到0。 在

8、下一个在下一个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或两者都

9、不或两者都不为零时,为零时,定时器中断频率即定时器中断频率即TINT的频率(的频率(fTINT)为:)为: fCLKOUT1为为SYSCLKOUT的频率。的频率。定时器定时器) 1() 1(11PRDTDDRffCLKOUTTINT定时器定时器 计数器计数器TIMTIMTIM D15 D0 R/W-0TIMH D15 D0 R/W-0 周期寄存器周期寄存器PRDPRDPRD D15 D0 R/W-0PRDH D15 D0 R/W-0定时器定时器 控制寄存器控制寄存器TCR0TCR0TIF TIEFREE D15 D14 D13D12 D11 D10 D9D6 D5 D4 D3 D0TRB保留保

10、留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/TDDRPSC/TDDRPSC D15 D8 D7 D0 R-0 R/W-0PSCH D15 D8 D7 D0 R-0 R/W-0TDDRTDDRH一、时钟及系统控制一、时钟及系统控制看门狗及其应用看门狗及其应用 F2812的看门狗与的看门狗与240 x的基本相同,当的基本相同,当8位的看门狗计数位的看门狗计数器计数到最大值

11、时,看门狗模块产生一个输出脉冲器计数到最大值时,看门狗模块产生一个输出脉冲(512个振荡个振荡器时钟宽度器时钟宽度)。如果不希望产生脉冲信号,用户需要屏蔽计数。如果不希望产生脉冲信号,用户需要屏蔽计数器,或用软件周期向看门狗复位控制寄存器写器,或用软件周期向看门狗复位控制寄存器写“0 x55+0 xAA,该寄存器能够使看门狗计数器清零。该寄存器能够使看门狗计数器清零。 为了实现看门狗的各项功能,内部有为了实现看门狗的各项功能,内部有3个功能寄存器个功能寄存器 看门狗功能框图看门狗功能框图一、时钟及系统控制一、时钟及系统控制看门狗及其应用看门狗及其应用 计数寄存器计数寄存器WDCNTRWDCNT

12、RReserved D15 D8 D7 D0 R-0 R/W-0WDCNTR 复位寄存器复位寄存器WDKEYWDKEYReserved D15 D8 D7 D0 R-0 R/W-0WDKEY 控制寄存器控制寄存器WDCRWDCRReserved D15 D8 R-0 R/W-0WDFLAG D7 D6 D5 D3 D2 D0 R/W-0 R/W-0WDPSWDDISWDCHK R - 0二、二、程序地址的产生程序地址的产生 通常程序是顺序执行的,即在连续的程序存储器地址上通常程序是顺序执行的,即在连续的程序存储器地址上取出指令并执行。但有时程序需要转移到不连续的地址,然取出指令并执行。但有时程

13、序需要转移到不连续的地址,然后再连续执行新地址处的指令。为此提供了转移、调用、重后再连续执行新地址处的指令。为此提供了转移、调用、重复(循环)和中断指令。复(循环)和中断指令。 在执行当前指令的同时,程序流要求处理器生成下一个在执行当前指令的同时,程序流要求处理器生成下一个指令的程序地址(顺序或非顺序的)。指令的程序地址(顺序或非顺序的)。程序控制:控制一个或多个指令块的执行次序。程序控制:控制一个或多个指令块的执行次序。二、二、程序地址的产生程序地址的产生 程序计数器程序计数器 PCPC:22bit,取指令时,对内部和外部程序存储器寻址。,取指令时,对内部和外部程序存储器寻址。 程序地址寄存

14、器程序地址寄存器 PAR: PAR: 驱动程序地址总线,提供程序的读、写地址。驱动程序地址总线,提供程序的读、写地址。 堆栈堆栈STACKSTACK:16位宽位宽8级深,可保存级深,可保存8个返回地址个返回地址,也可将用作暂存存储器。也可将用作暂存存储器。 微堆栈微堆栈 MSTACK: MSTACK: 16位、位、1级深,保存一个返回地址。级深,保存一个返回地址。 重复计数器重复计数器 RPTCRPTC:16位,与重复指令(位,与重复指令(RPT)一起,用来确定)一起,用来确定 RPT后面的一条指令重复执行多次。后面的一条指令重复执行多次。用到的硬件用到的硬件二、二、程序地址的产生程序地址的产

15、生 顺序操作:顺序操作:程序的地址来源于程序的地址来源于PC程序计数器(程序地址程序计数器(程序地址+1) 空(哑)周期:空(哑)周期:程序的地址来源于程序的地址来源于PAR (程序地址(程序地址+1) 从子程序返回:从子程序返回:程序的地址来源于栈顶(程序的地址来源于栈顶(TOS) 从表传送或块传送返回:从表传送或块传送返回:程序的地址来源于微堆栈(程序的地址来源于微堆栈(MSTACK) 转移到或调用指令中指定的地址:转移到或调用指令中指定的地址:程序的地址来源于转移或调用指程序的地址来源于转移或调用指 令。即利用程序读总线(令。即利用程序读总线(PRDB)的方式获取程序地址。)的方式获取程

16、序地址。 转移到或调用累加器低半部分指定的地址:转移到或调用累加器低半部分指定的地址:程序地址来源于累加程序地址来源于累加 器的低半部分。即利用数据读总线(器的低半部分。即利用数据读总线(DRDB)的方式获取程序地址。)的方式获取程序地址。 转移到中断服务程序:转移到中断服务程序:程序地址来源于中断矢量单元。即利用程序读总程序地址来源于中断矢量单元。即利用程序读总 线线 ( PRDB)的方式获取程序地址。)的方式获取程序地址。程序地址产生的情况程序地址产生的情况二、二、程序地址的产生程序地址的产生 程序计数器程序计数器 PC PCPC中存放将被执行的下一条指令的地址。中存放将被执行的下一条指令

17、的地址。 有有5 5种方式加载种方式加载PCPC,从而适应连续和不连续的程序流程。,从而适应连续和不连续的程序流程。二、二、程序地址的产生程序地址的产生 顺序执行顺序执行:若当前指令是一个字,则将若当前指令是一个字,则将PC+1加载到加载到PC 若当前指令是两个字,则将若当前指令是两个字,则将PC+2加载到加载到PC 分支(转移):分支(转移):转移指令后的长立即数直接加载到转移指令后的长立即数直接加载到PC 子程序调用和返回子程序调用和返回 : 调用指令调用指令 将将PC中下一条指令的地址压入堆栈,然后将调用指令后的长中下一条指令的地址压入堆栈,然后将调用指令后的长 立即数直接加载到立即数直

18、接加载到PC 返回指令返回指令 将返回地址从堆栈中弹回将返回地址从堆栈中弹回PC软件或硬件中断:软件或硬件中断:将相应的中断矢量地址装入将相应的中断矢量地址装入PC,在该矢量地址单元,通,在该矢量地址单元,通 常有一条转移指令,又将相应的中断服务程序的地址加载到常有一条转移指令,又将相应的中断服务程序的地址加载到PC 计算转移:计算转移:将累加器低将累加器低16位加载到位加载到PC 利用利用BACC或或CALA指令可实现计算指令可实现计算GOTO操作操作程序计数器程序计数器 PC二、二、程序地址的产生程序地址的产生 1616位宽、位宽、8 8级深级深 当调用子程序或发生中断时,程序地址产生逻辑

19、利用当调用子程序或发生中断时,程序地址产生逻辑利用 该堆栈保存返回地址该堆栈保存返回地址 进入子程序或中断服务程序时,返回地址自动装入该进入子程序或中断服务程序时,返回地址自动装入该 堆栈的栈顶;当子程序或中断服务程序完成时,返回堆栈的栈顶;当子程序或中断服务程序完成时,返回 指令将返回地址从栈顶传送到程序计数器。指令将返回地址从栈顶传送到程序计数器。 访问堆栈的指令访问堆栈的指令 PUSH和和POP:针对累加器低:针对累加器低16位操作。位操作。 PSHD和和POPD:当子程序或中断嵌套超过:当子程序或中断嵌套超过8级时可利用这两条指令在级时可利用这两条指令在 数据存储区中建立一个堆栈。数据

20、存储区中建立一个堆栈。堆堆栈栈二、二、程序地址的产生程序地址的产生 堆堆栈栈例例子子二、二、程序地址的产生程序地址的产生 堆栈例子堆栈例子二、二、程序地址的产生程序地址的产生 一级深、一级深、1616位宽,操作不可见,即无指令,只有程序位宽,操作不可见,即无指令,只有程序 地址产生逻辑才能够使用微堆栈。地址产生逻辑才能够使用微堆栈。 程序地址产生逻辑在执行程序地址产生逻辑在执行BLDDBLDD、BLPDBLPD、MACMAC、MACDMACD、 TBLR TBLR 和和TBLW TBLW 这些串(块)操作指令时利用微堆栈保这些串(块)操作指令时利用微堆栈保 存返回地址。存返回地址。微微堆堆栈栈

21、二、二、程序地址的产生程序地址的产生 ,二、二、程序地址的产生程序地址的产生 流流水水线线技技术术 下面给出了一个四级深流水线操作图。同时执行四条下面给出了一个四级深流水线操作图。同时执行四条 指令,但每一条指令处于不同的阶段指令,但每一条指令处于不同的阶段单字、单周期指令单字、单周期指令4级流水线操作级流水线操作 二、二、程序地址的产生程序地址的产生 流流水水线线技技术术 对对F2812每条指令都要经过每条指令都要经过8个独立的执行过程,个独立的执行过程,这这8个过程形成了指令流水线个过程形成了指令流水线(instruction pipeline)。在每一个给定的时间内,有在每一个给定的时间

22、内,有8条指令被激活,每一指条指令被激活,每一指令处在执行过程中的不同阶段。并不是所有的指令令处在执行过程中的不同阶段。并不是所有的指令都会同时发生读写操作,但是流水线的保护机制能都会同时发生读写操作,但是流水线的保护机制能够按照需要去延迟指令,以确保根据程序控制顺序够按照需要去延迟指令,以确保根据程序控制顺序对同一位置进行读写操作。对同一位置进行读写操作。 转移仅使控制转换到新的地址单元转移仅使控制转换到新的地址单元 调用还要将返回地址保存到硬件堆栈的栈顶调用还要将返回地址保存到硬件堆栈的栈顶 返回指令将堆栈中的返回地址弹到程序计数器(返回指令将堆栈中的返回地址弹到程序计数器(PCPC) 每个被调用的子程序或中断服务程序都以返回指令结束。每个被调用的子程序或中断服务程序都以返回指令结束。三、转移、调用和返回三、转移、调用和返回 无条件指令无条件指令 无条件指令总是执行的。无条件指令总是执行的。 当执行无条件转移当执行无条件转移 B B、BACCBACC;无条件调用;无条件调用CALLCALL、CALA CALA 指令指令 时,将指定的程序存储器的地址加载到时,将指定的程序存储器的地址加载到PC PC 并

温馨提示

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

评论

0/150

提交评论