S3C2440—4.时钟系统
文章目录
一.S3C2440时钟体系介绍
1.总线与时钟
S3C2440有俩个总线:AHB高速总线、APB外围总线。
对应三个时钟源:
ARM芯片CPU的FCLK
AHB总线的HCLK
APB总线的PCLK
三个时钟的工作频率:
(可以看出对比STM32中72MHz的频率,ARM时钟的性能有了很大的提高)
2.时钟来源
如何得到三种时钟?系统的时钟来源是12MHz的晶振,通过PLL锁相环硬件设备可以得到高达400MHz的时钟频率,其时钟框图如下:
可以看出系统时钟来源的选择有俩种:
- 晶振
- 外部输入
(这里只讨论晶振)
3.选择时钟
通过设置OM[3:2]可以选择时钟源:
设置方法如下:
打开原理图查看一下目前的OM[3:2]的情况(查看目前时钟源的选择情况)
看出OM[3:2]都接地,即OM[3:2]=00,所以时钟源都采用12MHz晶振
4.产生时钟
所以FCLK、HCLK、PCLK这三个时钟都是由晶振发生的。
晶振提供的时钟频率经过MPLL、UPLL得到新的时钟频率
MPLL:main PLL,利用P[5:0]、M[7:0]、S[1:0]来控制输出时钟的频率
UPLL:USB PLL,利用P[5:0]、M[7:0]、S[1:0]来控制输出时钟的频率
框图如下:
晶振信号经过MPLL后产生时钟作为FCLK(400MHz)提供给CPU,FCLK再经过分频器生成HCLK(136MHz)、PCLK(68MHz)。
FCLK提供给CPU(ARM920T)
HCLK提供给各种AHB总线(高速设备):Nand FLASH、ITC、Memory Controler…
PCLK提供给各种APB总线(低速设备):IIC、IIS、GPIO、ADC…
所以,晶振经过MPLL得到FCLK,FCLK分频得到HCLK、PCLK,
5.流程
上电后,复位引脚会维持一段时间等待电源稳定,由专用的复位芯片维持复位引脚:
在上电后一段时间后才会让复位引脚输出高电平。
开始的时候,FCLK频率由晶振频率直接提供,因为此时CPU还没有工作(没有复位),当PLL锁存OM[3:2]的值后,CPU开始运行,这时开始设置PLL,设置期间CPU停止(Lock Time),设置PLL完成后,FCLK就是新的频率了:
二.如何配置时钟源
配置时钟源主要是要操作俩个寄存器:
- MPLLCON
- CLKDIVN
1.设置FCLK频率寄存器 MPLLCON
控制MPLL输出FCLK时钟频率
可以参靠手册中给出的标准:
MPLL的计算公式:
2.设置分频HDIV、PDIV寄存器 CLKDIVN
3.时钟开关控制寄存器 CLKCON
控制某些模块的时钟开启关闭
注意:
最新文章
- __index
- XArp汉化破解专业版,强大易用的ARP欺骗检测器
- Struts1 action重定向跳转 带参数
- Swift开发学习-01 Swift介绍
- mysql union 详解
- 如何利用百度地图JSAPI画带箭头的线?
- WPF中的ControlTemplate(控件模板)(转)
- Delphi资源文件(全面分析之位图、光标、图标、AVI、JPEG、Wave)
- angularJS directive详解(自定义指令)
- phpstudy升级mysql数据库
- 玲珑学院-ACM比赛1014 - Absolute Defeat
- SAP进度条
- webpack中使用DefinePlugin定义全局变量
- nginx 日志打印post请求参数
- Spring MVC 注解相关
- 18.0-uC/OS-III挂起内核对象
- opencvbase 实现opencv打开摄像头和初步处理等效果操作(附源码)
- eclipse spket插件 错误 Syntax error on token ";(";, FunctionExpressionHeader expected after this
- WIN8.1 PRO RTM VOL.2013.09.18
- 浅谈ruby中的block及yield