设为首页 加入收藏

TOP

嵌入式Linux:系统时钟的寄存器
2014-11-24 11:25:07 来源: 作者: 【 】 浏览:0
Tags:嵌入式 Linux 系统 时钟 寄存器

整个芯片有3个时钟:FCLK、HCLK和PCLK


(1)FCLK:用于CPU


(2)HCLK:用于AHB(Advanced High Performance Bus)总线上的设备,比如存储控制器、中断控制器、DMA等(高性能模块)


(3)PCLK:用于APB(Advanced Peripheral Bus)总线上的设备,比如WATCHDOG、IIS、IIC等(低宽带外设)


开发板上电时,FCLK等于外部输入的时钟(即振晶频率),若要提高系统时钟,需要软件来启动PLL,而PLL包括UPLL和MPLL,UPLL专用于USB设备,MPLL用于设置FCLK、HCLK和PCLK


如何通过控制MPLL来设置FCLK、HCLK和PCLK呢?主要设置好3个主要寄存器的值就能搞定,他们分别是:LOCKTIME寄存器、MPLLCON寄存器、CLKDIVN寄存器和CAMDIVN寄存器


(1)LOCKTIME寄存器:用于设置MPLL启动后稳定前所需等待的时间(Lock time),一般使用默认值就行。


(2)MPLLCON寄存器:用于设置FCLK与Fin的倍数


位[19:12]的值称为MDIV,位[9:4]的值称为PDIV,位[1:0]的值称为SDIV


MPLL(FCLK)=(m*Fin)/(p*2^s)


其中:m=MDIV+8,p=PDIV+2,s=SDIV


(3)CLKDIVN寄存器、CAMDIVN寄存器:用于设置FCLK、HCLK和PCLK三者的比例


HDIVN=CLKDIVN[2:1]


PDIVN=CLKDIVN[0]


HCLK4_HALF=CAMDIVN[9]


HCLK3_HALF=CAMDIVN[8]



】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android 导入工程出现 unable to .. 下一篇mini2440的组成结构

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Python 数据分析与可 (2025-12-26 21:51:20)
·从零开始学Python之 (2025-12-26 21:51:17)
·超长干货:Python实 (2025-12-26 21:51:14)
·为什么 Java 社区至 (2025-12-26 21:19:10)
·Java多线程阻塞队列 (2025-12-26 21:19:07)