资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,嵌入式系统原理与应用技术,袁志勇 王景存,章登义 刘树波,北京:北京航空航天大学出版社,2009.11,PPT教学课件,11/11/2024,第4章 时钟及电源管理,4.1,S3C2410时钟结构,4.2,S3C2410电源管理模式,4.3,相关特殊功能寄存器,4.4,常用单元电路设计,11/11/2024,2,S3C2410时钟与电源管理模块包括:,时钟控制,USB,控制,电源控制,11/11/2024,3,时钟控制逻辑可以产生系统所需要的时钟信号,包括提供给CPU的FCLK,提供给AHB总线设备的HCLK和提供给APB总线设备的PCLK。,S3C2410有2个锁相环(PLLs):一个提供FCLK、HCLK和PCLK,另一个提供USB时钟(48MHz)。,时钟控制逻辑可以产生不带锁相环的低速时钟,并可由软件控制是否提供给某个设备模块,这样有利于降低功耗。,11/11/2024,4,4.1 S3C2410时钟结构,主时钟来源于外部晶振(XTlpll)或外部时钟(EXTCLK)。,时钟发生器包含一个连接外部晶振的振荡器,两个产生高频时钟的锁相环(PLLs)。,两个时钟源依据模式控制引脚(OM3和OM2)的不同组合来选择。,OM3:2,MPLL 状态,UPLL状态,主时钟源,USB时钟源,00,On,On,晶振,晶振,01,On,On,晶振,外部时钟,10,On,On,外部时钟,晶振,11,On,On,外部时钟,外部时钟,11/11/2024,5,ARM 时钟体系结构,11/11/2024,6,4.2 S3C2410电源管理模式,S3C2410,有,4,种电源管理模式,:,空闲模式,正常模式,低速模式,休眠模式,11/11/2024,7,时钟分配图,时钟分配,11/11/2024,8,电源管理模式转换图,电源管理模式转换,11/11/2024,9,各种模式下时钟和电源状态,模式,ARM920T,AHB模块(1)/WDT,电源管理模块,GPIO,32.768KHzRTC时钟,APB模块(2)和USB主控/LCD/NAND,正常,工作,工作,工作,可选,工作,可选,低速,工作,工作,工作,可选,工作,可选,空闲,停止,工作,工作,可选,工作,可选,休眠,断电,断电,等待唤醒事件,前一个状态,工作,断电,各种模式下时钟和电源状态,11/11/2024,10,正常模式,在正常模式下,所有外围设备和基本模块包括电源管理模块、CPU核、总线控制器、存储控制器、中断控制器、DMA 和外部控制单元都在运行。但每一个外围设备的时钟,不包含基本模块,都可以通过软件控制运行或停止,以便降低功耗。,11/11/2024,11,空闲模式,在空闲模式下,停止供给CPU核时钟,但总线控制器、存储控制器、中断控制器和电源管理模块仍然供给时钟。要退出空闲模式,需要激活EINT23:0,或者RTC中断,或其它中断。,11/11/2024,12,低速模式,即无PLL模式,在低速模式下,通过低速时钟频率来达到降低功耗。此时PLL不参与时钟电路,FCLK是外部输入时钟(XTlPll或EXTCLK)的一个n分频,分频比率是由两个控制寄存器CLKSLOW和CLKDIVN的SLOW_VAL值来决定的。,11/11/2024,13,休眠模式,休眠模式下,模块断开内部电源连接,除了唤醒逻辑。休眠模式有效的前提是系统需要两套独立的电源,其中一套给唤醒逻辑供电,另一套则给其他设备包括CPU供电,并且电源上电可控制。在休眠模式,给CPU和内部逻辑供电的第二套电源被关闭。可以由EINT15:0或通过预设系统启动时间的中断将系统从休眠模式下唤醒。,11/11/2024,14,休眠模式,进入休眠模式的过程如下:,设置,GPIO,配置寄存器,使,GPIO,工作在休眠模式下。,屏蔽,INTMSK,寄存器中所有中断。,设置唤醒源,包括,RTC,中断。,设置,USB,为挂起模式,(MISCCR 13:12=11b),。,存重要的值到,GSTATUS4:3,寄存器中,在休眠模式下这些寄存器的值维持不变。,设置,MISCCR1:0,,为数据总线,D31:0,设置上拉电阻。如果已经存在外部总线缓冲器,如,74LVCH162245,,则关闭上拉电阻,否则打开上拉电阻。,将,LCDCON1.ENVID,位清,0,,停止,LCD,。,读,rREFRESH,和,rCLKCON,来填充,TLB,。,通过设置,REFRESH22,为,1b,,使,SDRAM,进入自动刷新模式。,等待直到,SDRAM,自动刷新模式生效。,设置,MISCCR19:17,为,111b,,使,SDRAM,信号,(SCLK0,,,SCLK1,和,SCKE),在休眠模式下受到保护。,设置,CLKCON,寄存器中的休眠模式位,使系统进入休眠状态。,11/11/2024,15,休眠模式,从休眠模式下的唤醒过程如下:,如果唤醒源中的一个产生唤醒信号,将引发内部复位信号。,检查,GSTATUS22,来判断是否是因为休眠唤醒而产生的系统上电。,通过设置,MISCCR19:17,为,000b,来释放对,SDRAM,信号的保护。,配置,SDRAM,存储控制器。,等待,SDRAM,自动刷新的结束。,GSTATUS3:4,中保存着休眠前的值,这个值是用户自定义的,唤醒后用户仍然可以使用这个值。设置,GPIO,配置寄存器,使,GPIO,工作在休眠模式下。,11/11/2024,16,电源VDDi和VDDiarm的控制,休眠模式下,VDDi、VDDiarm、VDDiMPLL和VDDiUPLL将被关闭,由PWEREN引脚控制。如果PWREN信号有效(高),VDDi和VDDiarm由外部电源供电。如果PWREN信号无效(低),VDDi和VDDiarm将被关闭。虽然VDDi、VDDiarm、VDDiMPLL和VDDiUPLL可能被关闭,但其他的电源引脚仍需要供电。,11/11/2024,17,4.3 相关特殊功能寄存器,S3C2410中与电源管理相关的寄存器有六个,分别为:,LOCKTIME,MPLLCON,UPLLCON,CLKCON,CLKSLOW,CLKDIVN,11/11/2024,18,PLL锁定时间计数器(LOCKTIME),寄存器,地址,读/写,描述,复位值,LOCKTIME,0 x4C000000,R/W,PLL锁定时间计数器,0 x00FFFFFF,LOCKTIME计数器描述,LOCKTIME计数器相应位描述,LOCKTIME,位,描述,复位值,U_LTIME,23:12,UCLK的UPLL锁定时间计数值(U_LTIME150us),0 xFFF,M_LTIME,11:0,FCLK,HCLK和PCLK的MPLL锁定时间计数值(M_LTIME 150us),0 xFFF,11/11/2024,19,PLL控制寄存器(MPLLCON 和UPLLCON),寄存器,地址,读/写,描述,复位值,MPLLCON,0 x4C000004,R/W,MPLL设置寄存器,0 x0005C080,UPLLCON,0 x4C000008,R/W,UPLL设置寄存器,0 x00028080,MPLLCON和UPLLCON寄存器描述,MPLLCON寄存器相应位描述,PLLCON,位,描述,复位值,MDIV,19:12,主分频器控制,0 x5C/0 x28,PDIV,9:4,预除器控制,0 x08/0 x08,SDIV,1:0,后分频器控制,0 x0/0 x0,11/11/2024,20,PLL控制寄存器(MPLLCON 和UPLLCON),PLL控制寄存器有两个,MPLLCON和UPLLCON,MPLLCON是MPLL设置寄存器,UPLLCON是UPLL设置寄存器。MPLL的值可以通以下计算得到,UPLL固定为48.00MHz。,其中,,其中:,11/11/2024,21,时钟控制寄存器(CLKCON),寄存器,地址,读/写,描述,复位值,CLKCON,0 x4C00000C,R/W,时钟产生控制寄存器,0 x7FFF0,CLKCON寄存器描述,11/11/2024,22,时钟控制寄存器(CLKCON),CLKCON寄存器相应位描述,CLKCON,位,描述,复位值,SPI,18,控制SPI模块的PCLK,0为禁止,1为使能。,1,IIS,17,控制IIS模块的PCLK,0为禁止,1为使能。,1,IIC,16,控制IIC模块的PCLK,0为禁止,1为使能。,1,ADC(和触摸屏),15,控制ADC模块的PCLK,0为禁止,1为使能。,1,RTC,14,控制RTC模块的PCLK,即使该位为0,RTC定时器仍旧工作。0为禁止,1为使能。,1,GPIO,13,控制GPIO模块的PCLK,0为禁止,1为使能。,1,UART2,12,控制UART2模块的PCLK,0为禁止,1为使能。,1,UART1,11,控制UART1模块的PCLK,0为禁止,1为使能。,1,UART0,10,控制UART0模块的PCLK,0为禁止,1为使能。,1,SDI,9,控制SDI模块的PCLK,0为禁止,1为使能。,1,11/11/2024,23,时钟控制寄存器(CLKCON),CLKCON寄存器相应位描述,CLKCON,位,描述,复位值,PWMTIMER,8,控制PWMTIMER模块的PCLK,0为禁止,1为使能。,1,USB设备,7,控制USB设备模块的PCLK,0为禁止,1为使能。,1,USB主控制器,6,控制USB主控制模块的HCLK,0为禁止,1为使能。,1,LCDC,5,控制LCDC模块的HCLK,0为禁止,1为使能。,1,NAND FLash控制器,4,控制NAND Flash控制器模块的HCLK,0为禁止,1为使能。,1,POWER_OFF,3,控制S3C2410的休眠模式,0为禁止,1为进入休眠模式。,0,IDLE_BIT,2,进入空闲模式,该位不会自动清除,0为禁止,1进入空闲模式。,0,保留,1,保留。,0,SM_BIT,0,特殊模式,0为推荐值。该位仅在特殊情况下用来进入特殊模式,OM3=1和通过nRESET复位。,0,11/11/2024,24,低速时钟控制寄存器(CLKSLOW),寄存器,地址,读/写,描述,复位值,CLKSLOW,0 x4C000010,读/写,低速时钟控制寄存器,0 x00000004,CLKSLOW寄存器描述,11/11/2024,25,低速时钟控制寄存器(CLKSLOW),CLKSLOW寄存器相应位描述,CLKSLOW,位,描述,复位值,UCLK_ON,7,0:UCLK打开(UPLL也被打开)。,1:UCLK关闭(UPLL也将关闭)。,0,保留,6,保留,-,MPLL_OFF,5,0:PLL打开,PLL稳定后,SLOW_BIT才能清0。,1:PLL关闭,PLL只有在SLOW_BIT为1时才能关闭。,0,SLOW_BIT,4,0:FCLK=Mpll(MPLL输出值)。,1:低速模式,FCLK=输入时钟/(2*SLOW_VAL),(SLOW_VAL0)。,FCLK=输入时钟(SLOW_VAL=0)。,输入时钟为XTlpll或EXTCLK。,0,保留,3,-,-,SLOW_VAL,2:0,当SLOW_BIT为1时,低速时钟的分频值。,0 x4,11/11/2024,26,时钟分频控制寄存器(CLKDIVN),寄存器,地址,读/写,描述,复位值,0 x4C000014,R/W,时钟分频控制寄存器,0 x00000000,CLKDIVN寄存器描述,CLKDIVN寄存器相应位描述,CLKDIVN,位,描述,复位值,保留,2,保留,0,HDIVN,1,0:HCLK为FCLK.,1:HCLK为FCLK/2.,0,PDIVN,0,0:PCLK为HCLK.,1:PCLK为HCLK/2.,0,11/11/2024,27,4.4常用单元电路设计,电源电路设计,S3C2410X电源引脚分
展开阅读全文