本文介绍点
- 时钟系统介绍
- 时钟域和产品的电路图
- 时钟来源
- 相关寄存器
时钟系统介绍
作用:Soc本质是一个同步系统,器内部有DDR,寄存器,CPU,串口,GPIO外设等非常多的组件、他们都是同步协同工作的,需要一个同步的时钟系统来指挥
目的:产生并提供(CPU、外设、内设)同步信号,相当于指挥部作用
来源: 1:外部输入时钟信号,通过引脚形式
2:外部晶振+ 内部时钟发生器
3:外部晶振+ 内部时钟发生器+内部PLL产生高频时钟+ 内部分频器得到各种评率时钟, 如 s5PV210
高频后再分频的原因:
* Soc内部有很多器件,各自需要的时钟频率不一致,由于分频容易,倍频难,如是先倍频一个高电频,然后各个外设由自己的分频器得到自己要的频率
- 时钟域和产品的电路图
时钟和外设
* 每个外设都需要一定频率的时钟,时钟系统可以变成控制工作模式,为每个外设指定时钟来源,时钟分频系统,从而指定这个外设的时钟系统
* Soc各种设备工作时,时钟频率越大,其功率越大,发热越大,越容易不稳定,时钟域和产生电路图: 如图
MSYS(master):CPU、DRAM、IRAM、IROM ...
ARMCLK: CPU使用
HCLK_MSYS DMC0或 DMC1使用
PCLK_MSYS
HCLK_IMEM
DSYS (data,多媒体): 视屏、编解码、等有关的模块
HCLK_DSYS:
PCLK_DSYS
PSYS(peripherals 外设):串口, I/O peripherals, SD卡、USB..
HCLK_PSYS
PCLK_PSYS
SCLK_ONENAND
时钟来源分析
图一:
图二:
* 有四个晶振接口XRTXXTI、XXTI、XUSBXTI、XHDMIXTI,可以选择性在开发版焊接晶振,接入后能产生震荡、经过时钟发生器产生时钟、再进过一系列的刷选开关、
就如相应的PLL<倍频>后的高频时钟、再经过DIV<分频>到达芯片内部、210直接入了usb一个,对应图二的为晶振
* XUSBXTI可以提供信号给 usb、systemTime、通过mux开关给APLL等
* MUX开关是个阀门,实际对应某个寄存器的某几个bit位,设置值决定了哪条通道
* DIV分频器,是一个硬件设备,可以对左边进行n分频,输出到右边
* XOM 拨码开关,是有硬件控制的
* 各时钟的典型值:
? freq(ARMCLK) = 1000 MHz
? freq(HCLK_MSYS) = 200 MHz
? freq(HCLK_IMEM) = 100 MHz
? freq(PCLK_MSYS) = 100 MHz
? freq(HCLK_DSYS) = 166 MHz
? freq(PCLK_DSYS) = 83 MHz
? freq(HCLK_PSYS) = 133 MHz
? freq(PCLK_PSYS) = 66 MHz
? freq(SCLK_ONENAND) = 133 MHz, 166 MHz
关键寄存器:
xPLL_LOCK: 控制PLL锁定周期:变频后,不会立即输出需要的频率,有一个循环的时间,通过设置该时间
xPLL_CON: 打开关闭倍频开关,
CLK_SRC: 是指时钟来源,对应时钟图中的MUX
CLK_SRC_MASK: 决定MUX开关n选一后,是否能继续通过开关
CLK_DIV : 分频
CLK_GATE: 类似于CLK_SRC_MASK,对时钟进行开关控制,控制最后的时钟
CLK_DIV_STAT:
CLK_MUX_STAT: 状态寄存器,查看状态是否已经完成,还是在进行中