IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> S3C2440时钟体系 -> 正文阅读

[嵌入式]S3C2440时钟体系

1. 系统时钟体系?

1.1. 时钟源

外部时钟源分两种,晶振OSC或者外部时钟EXTCLK,由om3-2选择具体输入哪个时钟源信息表:

1.2. 频率控制

经过选定开关OM选定以后的输入时钟MPLL_IN有三个去向MPLL、UPLL、USBCNTL。其中USBCNTL这些控制模块一开始控制室中都是来自选定后的时钟,这些控制模块给定时钟以后,我们才能进行后期复杂锁相环和分频器寄存器配置,产生需要的时钟。UPLL环和MPLL都包含了P/M/S配置用来实现频率倍增,DIVN分频器则实现频率成倍降低的功能。确定好频率控制以后,剩下的内容是如何分频,如何启用时钟停止时钟,锁相环配置等等。

输入时钟

MPLL

FCLK

HCLK

内存控制器,中断控制器,nand控制器,tic控制器等,系统内核920T,DMA控制器,USB控制器(也可UCLK)

PCLK

基本外设RTC,UART,spi等外设,USB设备(也可UCLK)

只供给系统内核,

USB PLL

UCLK

USB主机时钟,usb设备时钟

1.3. 配置时序

启动晶振时钟序列图给出了启动过程的拉起流程, 根据芯片是时钟启动流程原理确定寄存器配置流程。?

  1. 正常上点以后,晶振开始逐渐会振动,等待nRESET信号拉高确定具体的时间使用情况。
  2. FCLK提供给芯片的时钟稳定在晶振初始时钟
  3. 根据OM设置,nRESET拉高以后输出相应的选择时钟
  4. 设置PLL锁相环锁定时间,这个时间主要用于软件设置PLL倍频寄存器以后,给锁相环正常输出稳定频率的反映时间
  5. 结束锁定时间以后开始按照软件设置的最新频率输出给CPU工作频率

根据流程确定配置时钟需要的寄存器如下:

PLL的锁定时间,一般设置小一点查询是否锁定成功就好

通过锁相环控制器设定MPS比例,可以获取不同的MCLK或者UCLK,配置过程计算公式:

?? ?/* 设置MPLLCON(0x4C000004) = (92<<12)|(1<<4)|(1<<0)?
?? ? * ?m = MDIV+8 = 92+8=100
?? ? * ?p = PDIV+2 = 1+2 = 3
?? ? * ?s = SDIV = 1
?? ? * ?FCLK = 2*m*Fin/(p*2^s) = 2*100*12/(3*2^1)=400M
?? ? */

通过这个寄存器进行时钟的使能与切断,一般进行功耗控制的时候需要关闭一些不需要的模块。

该寄存器确认以一种什么样的比例将FCLK分频为HCLK和PCLK

注意:?

2. 汇编时钟

	/* 目标设置MPLL, FCLK : HCLK : PCLK = 400m : 100m : 50m */
	/* 1. LOCKTIME(0x4C000000) = 0xFFFFFFFF */
	ldr r0, =0x4C000000
	ldr r1, =0xFFFFFFFF
	str r1, [r0]

	/* 2. CLKDIVN(0x4C000014) = 0X5, tFCLK:tHCLK:tPCLK = 1:4:8  */
	ldr r0, =0x4C000014
	ldr r1, =0x5
	str r1, [r0]

	/* 3. 设置CPU工作于异步模式 */
	mrc p15,0,r0,c1,c0,0
	orr r0,r0,#0xc0000000   //R1_nF:OR:R1_iA
	mcr p15,0,r0,c1,c0,0

	/* 4. 设置MPLLCON(0x4C000004) = (92<<12)|(1<<4)|(1<<0) 
	 *  m = MDIV+8 = 92+8=100
	 *  p = PDIV+2 = 1+2 = 3
	 *  s = SDIV = 1
	 *  FCLK = 2*m*Fin/(p*2^s) = 2*100*12/(3*2^1)=400M
	 */
	ldr r0, =0x4C000004
	ldr r1, =(92<<12)|(1<<4)|(1<<0)
	str r1, [r0]

	/* 一旦设置PLL, 就会锁定lock time直到PLL输出稳定
	 * 锁定期间CPU不工作,结束后CPU工作于新的频率FCLK
	 */
  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-03-06 13:17:11  更:2022-03-06 13:17:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 8:40:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码