(5.1)uboot详解——时钟分频

(5.1)uboot详解——时钟分频

如果cpu是计算机的大脑,电流是计算机的血液,那么时钟则是计算机的心脏,时钟频率决定了处理器运算的快慢,它的每一次“跳动”都驱动着处理器不停的执行命令。不同的是,人的各个部位心率是一样的,但计算机却有多个频率,而且每个部位可能有不同的频率,比如“大脑”有一个频率,“手“有一个频率“脚”使用的是另外一个频率,这样就产生了两个问题:怎么产生这些不同的频率?处理器怎么与自己不同频率的外设实现交互?

怎么产生这些不同的频率?

为了获取稳定的时钟,我们一般使用外部晶振来提供,晶振是由石英和震荡电路组成的,石英能够提供稳定的频率。一般一个计算机系统最少需要一个晶振,有些特殊的外设也会有自己特有的晶振,比如网卡,显卡等,但是对于大多数连接cup的外设来说是没有自己的晶振的,那么就需要cpu给他们提供时钟,然而不同的外设需要的时钟不一样,cpu是怎么给这些外设提供不同的时钟呢?

ARM处理器主要给外设提供了两种连接总线,AHB总线(Advanced high Performance Bus)和APB总线,这两种总线的时钟在没有初始化之前是一样的,频率等于外部晶振提供的频率,在初始化以后,它们就可以为外设提供不同的时钟了。

AHP和APB总线的内容将放到后面章节作为补充知识了解,因为他们对我们分析uboot的启动过程关系不大。由于这两种总线初始化以后,时钟是不一样的,所以连接的外设也不一样,如下图,一些工作频率较高的外设挂接在AHB总线上,比如内存,nandflash,LCD控制器等,而工作频率比较低的外设则挂接在APB总线上,比如UART串口,Watchdog,GPIO,USB等(注意:这里使用挂接,是因为这些设备是可以拔除的,而不影响其他外设的工作)。

我们这里先不管这些外设是怎么和总线连接的,但是先了解一点:连接在同一个总线上的外设,获取到的时钟是一样的。当AHB和APB上的时钟都不能满足外设需求的时候,就需要PWM timer来帮忙了。

上面这张图是s3c2440的时钟生成图,看上去挺复杂的,其实并不是那么回事,对于uboot的启动来说,只要了解图中红色框框的部分就可以了,但是如果要编写UBS驱动或者摄像头驱动,则会涉及到图中灰绿色的部分。因为我们只要分析uboot启动过程中涉及到的东西,所以对USB和cam部分就不细讲了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值