首页 > 编程知识 正文

三星s4手表上市日期,时钟什么地响

时间:2023-05-05 13:26:53 阅读:63370 作者:4042

s3c2440 cpu的默认工作频率有两种12MHz和16.9344MHz,即我们的晶振频率,但一般多使用12MHz的晶振,Fin是我们连接的晶振频率。 众所周知,s3c2440正常工作后的频率远大于12MHz和16.9344MHz。 我们的s3c 2440 CPU正常工作时的频率是405MHz。 因此,需要用于提高频率的电路。 我在s3c2440的数据表中找到了这个电路。 接下来是PLL电路。

从图中可以看出,Fin进入后,经过PLL电路,最终输出两个PLL信号的频率MPLL和UPLL。 这两个是什么呢

UPLL专用于USB设备,MPLL用于CPU和外围电路。 不清楚。 还是必须找s3c2440的数据表。 以下是从数据表中截取的。

列出了各种接口设备使用的时钟信号

PLL是USB专用的,但这里不碰。 让我们集中讨论MPLL。 刚才说MPLL主要用于CPU和外围设备,但是外围设备和CPU的工作频率不一样呢。 CPU的工作频率一定比外围设备高。 因此,必然要处理MPLL。 于是FCLK、HCLK、PCLK出现了。

我先谈谈FCLK。 首先看看datasheet的介绍:

theclockcontrollogicins 3c 2440 acangeneratetherequiredclocksignalsincludingfclkforcpu,HCLK for the

AHB bus peripherals,and PCLK for the APB bus peripherals。

如果是从事嵌入式的人应该会明白,FCLK用于CPU,HCLK用于AHB总线,例如SDRAM、PCLK用于UART等APB总线。 这三个一个地说明。 首先看看FCLK、CPU用的东西,再看看数据表中关于FCLK的时序图,就能看到东东了。

从上图可以看出,FCLK在给CPU接通电源后,随着时间的推移变化比较大,值明显变大。 从上图可以大致看到s3c2440的通电过程:

1、开机几毫秒后(电源由低到高),晶振输出稳定,此时,FCLK=晶振频率,nRESET信号返回高电平后,CPU开始执行命令。

2、可以在程序的开头启动MPLL。 设置MPLL的几个寄存器后,需要等待一段时间(Lock Time )才能使MPLL的输出稳定。 在此期间,FCLK停止振动,CPU停止动作。 锁定时间的长度由寄存器Lock Time设定。

3、锁定时间后,MPLL输出正常,CPU在新的FCLK下工作。

现在总结一下FCLK,FCLK在给CPU接通电源时晶体振子开始正常工作,此时FCLK=晶体振动频率,注意此时不存在MPLL,经过PLL电路得到MPLL、UPLL。 此时,FCLK=MPLL。

总的来说,分频比为FCLK:HCLK:PCLK=13:4:8,这个分配标准是谁决定的,就是我们的CLKDIVN寄存器。 从在datasheet上的介绍可以清楚地看到3360

在S3C2440中,可以使用3个倍频系数MDIV、PDIV、SDIV设定倍频,通过寄存器MPLLCONUPLLCON设定倍频系数。

MPLLCON的输入输出频率的关系是

fclk=mpll=(2*m*fin )/(p*2^s )其中,m=) mdiv8 )、p=) pdiv2 )、s=SDIV。

UPLLCON的输入输出频率的关系是

uclk=upll=(m*fin )/(p * 2^s )其中m=(MDI V8 )、p=(PDI v2 )、s=SDIV。

手动计算比较复杂,根据希望得到的主频率FCLK的大小,可以直接通过查找表得知各倍频因子的设定参数。

对于12MHz的石英振动,为了经过PLL电路得到405MHz,需要将查找表设定为MDIV、PDIV、SDIV分别为0x7f、2、1。

在哪里设定MDIV、PDIV、SDIV这三个值? 还是数据表:

由上图可知,只需设定MPLLCON寄存器即可确定FCLK。 并且,可以在CLKDIVN寄存器中设定FCLK、HCLK、PCLK这3个比率。

关于时钟设定,也有一个叫LOCKTIME的寄存器。 你可以在上面的时序图中看到它的样子。 在datasheet中介绍:

如上所述,MPLL启动后,需要等待一定时间(Lock Time ),使输出稳定。 位[31:16]用于UPLL,位[15:0]用于MPLL。 确实,使用省值0x00ffffff就可以了。

说到这里,大家都知道s3c2440的时钟配置了吧。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。