资源预览内容
第1页 / 共27页
第2页 / 共27页
第3页 / 共27页
第4页 / 共27页
第5页 / 共27页
第6页 / 共27页
第7页 / 共27页
第8页 / 共27页
第9页 / 共27页
第10页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第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 PLLPLL输入端使用晶振或外部时钟产生的信 号,根据软件设定的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化区域 CacheS3C44B0X中提供了允许禁止使用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 内部SRAMS3C44B0X中有一个最大为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 wrapper。另外,DRAM刷新和写缓冲区也需要使用总 线。在reset后,它们的优先权如下: DRAM刷新控制器 LCD_DMA ZDMA0、1 BDMA0、1 nBREQ(外部总线主设备) Write buffer(写缓冲区) CPU wrapper(Cache和CPU)6.7 CPU wrapper与总线优先权特殊功能寄存器 系统配置寄存器 非Cache化区域控制寄存器 系统总线优先权控制寄存器END
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号