基于ARM7TDMI的S3C44B0X嵌入式微处理器技术课件课件第6章.ppt_第1页
基于ARM7TDMI的S3C44B0X嵌入式微处理器技术课件课件第6章.ppt_第2页
基于ARM7TDMI的S3C44B0X嵌入式微处理器技术课件课件第6章.ppt_第3页
基于ARM7TDMI的S3C44B0X嵌入式微处理器技术课件课件第6章.ppt_第4页
基于ARM7TDMI的S3C44B0X嵌入式微处理器技术课件课件第6章.ppt_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

第6章 时钟与功耗管理、 CPU WRAPPER与总线优先权,本章重点:, 与时钟相关的引脚信号含义; 时钟产生、PLL功能、Fpllo频率计算; 5种功耗管理模式; 时钟发生器与功耗管理特殊功能寄存器含义; CPU wrapper组成; Cache与非Cache化区域、片内存储器SRAM; 写缓冲区、总线主设备优先权; CPU wrapper与总线优先权特殊功能寄存器含义。,6.1 时钟与功耗管理概述,在S3C44B0X芯片中含有时钟发生器电路,主要功能有两个。功能一是将芯片外部引脚引入的低频晶振信号或外部时钟信号,经锁相环(Phase Locked Loop,PLL)电路,产生较高频率的信号用于系统。通过对寄存器PLLCON设置不同的参数,PLL电路可产生不同频率的信号。功能二是通过对CLKCON等寄存器设置不同的参数,切离或连接S3C44B0X中不同功能部件的时钟源,达到减少功耗的目的。由于软件可以对寄存器进行多种、灵活的设置,使得S3C44B0X有多种功耗管理配置。对于给定的任务,总有一个适宜的功耗相对应。,S3C44B0X中功耗管理由5种模式组成: 通常(NORMAL)模式; 慢(SLOW)模式; 空闲(IDLE)模式; 停止(STOP)模式; LCD的SL-IDLE模式。 通常模式:用于对S3C44B0X中CPU和芯片内所有外设提供时钟。在这种情况下,当片内全部外设都工作时,功耗最大。当不需要定时器和DMA工作时,用户可以断开它们的时钟,减少功耗。,慢模式:是一种外部时钟不经过PLL电路的模式,慢模式直接使用外部时钟作为主时钟。在这种情况下,功耗仅仅取决于外部时钟的频率。 空闲模式:仅仅断开到CPU核的时钟,提供到所有片内外设的时钟。任何到CPU的中断请求能够从空闲模式中唤醒CPU。 停止模式:冻结到CPU和外设的全部时钟,功耗仅仅取决于S3C44B0X中的漏电流,少于10A。通过外部到CPU的中断请求,可以从停止模式中唤醒CPU。,SL-IDLE模式:只有LCD控制器工作,在这种情况下,其他到CPU和外设的时钟被停止,功耗比空闲模式少。,6.2 时 钟 产 生,6.2.1 时钟相关引脚信号 图6.1表明了S3C44B0X如何连接外部时钟源。 图6.1 主晶振电路例图,6.2.2 时钟产生 图6.2给出了一个时钟发生器的框图。,6.2.3 PLL PLL输入端使用晶振或外部时钟产生的信号,根据软件设定的PLLCON寄存器中的主分频控制值M7:0、预分频控制值P5:0和后分频控制值S1:0,这些不同的值送到PLL电路后,PLL电路产生的输出信号Fpllo的频率也不相同,可以使用如下公式计算: Fpllo=(m*Fin)/(p*) (式6-1) 式中: m=主分频控制值+8, p=预分频控制值+2, s =后分频控制值。,式6-1有如下限制: Fpllo必须大于20MHz,小于66MHz; Fpllo*应该小于170MHz; s值应该尽可能大; (Fin/p) 推荐大于等于1MHz,小于2MHz。 【例6.1】 假定Fin=14.318MHz,主分频控制值MDIV=59,预分频控制值PDIV=6,后分频控制值SDIV=1,计算Fout输出频率,且设定Fout=Fpllo。 Fout=Fpllo=(59+8)*14.318)/(6+2)*) =59.956(MHz),PLL锁定时间指的是使PLL输出稳定所需要的时间,锁定时间大于208s。 在reset后,或者从停止模式唤醒后,或者从SL-IDLE模式唤醒后,通过内部逻辑将锁定时间自动插入到锁定时间计数器中,锁定时间计算公式如下: PLL锁定时间=(1/Fin)*n (式6-2) 式中n等于锁定时间计数器值。,6.3 功 耗 管 理,6.3.1 5种节电模式 在S3C44B0X中,通过软件可以设置功耗管理模块的功能,控制系统时钟,达到减少功耗的目的。S3C44B0X中有5种节电模式,在下文分别介绍。5种模式之间并不允许自由转换,合法的转换见图6.5。,图6.5 功耗管理状态转换图, 通常模式(NORMAL) 空闲模式(IDLE) 停止模式(STOP) SL_IDLE模式(S_LCD) 慢模式(SLOW),6.3.2 唤醒与解冻状态 在STOP模式,通过EINT7:0或RTC报警中断,能够将S3C44B0X唤醒,处理器状态被改变成解冻(THAW)状态,见图6.5。 从STOP、SL_IDLE、IDLE模式唤醒后,PLL和Fout状态见表6.1。(P211) 6.3.3 进入IDLE模式 如果CLKCON2设为1,进入IDLE模式。S3C44B0X进入IDLE模式要经过一段时间,直到电源控制逻辑从CPU wrapper收到ACK信号,才会进入。,6.3.4 PLL onoff 只有在SLOW模式,PLL能够被切离(turn off)。在任何其他模式切离PLL,MCU操作不能保证实现。 当处理器在SLOW模式,要求将PLL从切离改变成接通(turn on)状态,SLOW_BIT应该被清除。,6.4 时钟发生器 与功耗管理特殊功能寄存器, PLL控制寄存器 时钟控制寄存器 慢速时钟控制寄存器 锁定时间控制寄存器 时钟与功耗管理寄存器设置举例 【例6.2】 假定Fin=10MHz,主分频控制值M_DIV=0x34,预分频控制值P_DIV=0x3,后分频控制值S_DIV=0x1,则PLL输出频率Fpllo=60MHz,计算如下。 Fpllo=(52+8)*10)/(3+2)*2)=60 设置上述寄存器的程序如下:(P214),6.5 CPU wrapper与总线优先权概述,CPU wrapper 可以译成CPU包装(或CPU包装器、包装层),是由Cache、写缓冲区(write buffer)和CPU核组成。总线仲裁逻辑确定每个总线主设备(bus master)的优先权。 CPU wrapper有一个8KB的内部存储器,它能够以3种方法使用。内部统一(指令数据)Cache采取4路组相联结构,一行有4个字。采用写通(write through)算法保持数据的一致性。当Cache未命中时,从外部存储器顺序读取4个字送到Cache,它采取了最近最少用(Least Recently Used,LRU)算法来提高命中率。,内部SRAM主要用于减少中断服务程序(Interrupt Service Routine,ISR)执行时间。由于内部SRAM有最快的存取时间,存取周期为1个 MCLK周期,所以可以减少ISR的执行时间。 总线仲裁逻辑能够确定总线主设备优先权。总线仲裁逻辑支持轮转(round_robin)优先权和固定优先权2种方式。通过软件能够改变LCD_DMA、BDMA、ZDMA、nBREQ(外部总线主设备)的优先权。,6.6 Cache与内部SRAM、 写缓冲区与总线优先权,6.6.1 Cache与非Cache化区域 Cache S3C44B0X中提供了允许禁止使用Cache的设置方法。通过设定寄存器SYSCFG2:1位,即CM域,当设为01或11时,允许使用Cache;当设为00时,禁止使用Cache。在设定Cache为禁止使用方式时,指令和数据从外部存储器取入CPU,这里外部存储器的概念是指S3C44B0X微处理器片外的存储器,即以前习惯称为内存或系统存储器的存储器。,在Cache允许使用方式,S3C44B0X还能够提供非Cache化区域(non_cacheable areas),用于一些特殊存储器存取操作,例如DMA操作。2个非Cache化区域通过4个特殊功能寄存器指定,指定方法在67节介绍。 当Cache存储器被重新允许使用时,数据的一致性是非常重要的,因为Cache存储器没有自动保持一致模式。同样,必须小心是否 DMA 操作改变了外部存储器的数据。DMA可存取的存储区应该设置为非Cache化区域。 S3C44B0X 采用写通算法来保持Cache和外部存储器之间数据的一致性。, 非Cache化区域 S3C44B0X提供2个非Cache化区域,每个要求2个Cache控制域,指示非Cache化区域开始和结束地址。在非Cache化区域,当Cache读缺失时,Cache是不更新的。 非Cache化区域的大小能够以4KB为单位增量或减量,结束地址指向下一个4KB块。例如,非Cache化区域在0x10000-0x22fff,寄存器NCACHBEn中的开始地址值是0x10,结束地址值是0x23。 通过考虑Cache 的用法来提高程序的执行速度,6.6.2 内部SRAM S3C44B0X中有一个最大为8KB的4路组相连Cache或内部SRAM。如果内部SRAM为4KB,另外4KB内部存储器可以用来作为2路组相连的Cache。内部SRAM存储器存取周期为1个MCLK周期。 内部存储器无论作为Cache或内部SRAM,都以2KB作为一组。 Cache和内部SRAM的规模及不同组合见表6.6。(P216),6.6.3 写缓冲区 S3C44B0X中有4个写缓冲寄存器,用于提高存储器写性能。当写缓冲区方式允许,CPU写数据到写缓冲寄存器而不是外部存储器。 当系统总线没有更高优先权的总线主设备占有时,写缓冲模块将数据写到外部存储器,这样将提高CPU的性能,因为CPU把数据写入缓冲区而不是外部存储器,因此不必等待外部存储器写操作的完成。 写缓冲区有4个寄存器,每个32位数据域、28位地址域和2位状态域,见图6.6。(P216),6.6.4 总线优先权 在S3C44B0X中,有7个总线主设备:LCD_DMA、BDMA0、BDMA1、ZDMA0、ZDMA1、nBREQ和CPU

温馨提示

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

评论

0/150

提交评论