一.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
控制某些模块的时钟开启关闭
注意:
关键字:S3C2440 时钟系统
引用地址:
S3C2440—4.时钟系统
推荐阅读最新更新时间:2024-11-07 16:39
学习AVR 系统时钟和时钟选项
时钟的设计,因系统的复杂度、集成度、速度的提高,越来越成为嵌入式系统设计的一个难题,所以多了解一些时钟的知识,对于整个系统的设计都是有所裨益的。 时钟系统及其分布 图 11 所示为 AVR 中的主要时钟系统及其分布情况。在任一给定时间,并不需要这些时钟都是活动的。为了减少功耗,可以由各种休眠模式来停止到某模块的时钟,如后面要学到的“功率管理和休眠模式”。下面将详细讲解时钟系统。 (罗亩按:自从功耗成为一个问题,计算机就学会了休眠;或者反之,仿生吧) 图 11. 时钟分布 CPU 时钟--C clkCPU CPU 时钟被引入到与 AVR 内核操作有关的系统部分。这种模块的例子是通用寄存器堆、状态寄存器和存储堆栈指针的数据存储器。中
[单片机]
MSP430系统时钟详解
上电复位后,DCO约为800KHz SP430 系列单片机基础时钟主要是由低频晶体振荡器,高频晶体振荡器,数字控振荡器(DCO),锁频环(FLL)及 FLL+等模块构成。由于 430 系列单片机中的型号不同而时钟模块也将有所不同。虽然不同型号的单片机的时基模块有所不同,但这些模块生出来的结果是相同的.在MSP430F13、 14中是有TX2振荡器的, 而MSP430F11X,F11中是用LFXT1CLK来代替XT2CLK时钟信号的.在时钟模块中有3个(对于F13,F14)时信号源(或 2个时钟信号源,对于F11X、F11X1): 1-LFXT1CLK: 低频/高频时钟源.由外接晶体振荡器,而无需外接两个振荡电容器常使用的
[单片机]
S3C2440 代码重定位实验(一)
实验环境 本实验基于这样的开发环境:在Ubuntu18.04.3发行版上使用编译器arm-linux-gcc(arm-none-linux-gnueabi, 4.3.2 Sourcery G++ Lite 2008q3-72)编译,并运行于S3C2440 ARM硬件平台上。S3C2440是一款32位的ARM SoC。 链接(linking) 所谓链接,就是将各种代码和数据部分收集起来并组合成一个单一文件的过程,这个单一文件可以被加载到存储器内并被执行。链接既可以执行于编译时,也可以执行于加载时,也可以执行于运行时。若执行于编译时,则是由编译器在将源代码翻译成机器码时负责;若执行于加载时,则是由加载器(loader)把可执行程序
[单片机]
从0开始学Keil下的S3C2440裸机开发-2使用外部SDRAM
和使用内部RAM一样,关键设置分散加载文件,同时设置JLINK初始化配置文件。 1、新增工程配置组。 2设置分散加载组 3设置ini文件 Ext_Ram内容: FUNC void SetupForStart (void) { // o Program Entry Point PC = 0x30000000; } FUNC void Init (void) { _WDWORD(0x4A000008, 0xFFFFFFFF); // Disable All Interrupts _WDWORD(0x53000000, 0x00000000); // Disable Watchdog Timer
[单片机]
华大电子MCU-CIU32F011x3、CIU32F031x5复位和时钟系统
10. 复位和时钟系统(RESET/CLOCK) 10.1. 引脚复位(MCLR)功能 默认状态下华大电子MCU CIU32F011x3、CIU32F031x5 的 MCLR 复位功能关闭,PA12 为 MCLR 引脚,使能复位功能时该引脚默认使能内部上拉功能,在 PA12 输入一个持续 1.7ms 以上的低电平导致系统复位,如同重新上电复位一样。用户可以通过修改 FLASH 中用户自定义位来打开/关闭 MCLR 功能,关闭后 PA12 会变成 GPIO。详细情况请参考闪存存储器中关于用户自定义区域的描述。 10.2. 复位 华大电子MCU CIU32F011x3、CIU32F031x5 支持系统复位、电源复位和主复
[单片机]
嵌入式arm学习总结(六)--S3C2440体系架构学习总结
平台介绍:mini2440开发板,S3c2440主芯片 硬件信息 1.130个IO口,289个引脚17*17,BGA封装 2.电源 内核:1.25v 内存电源:1.8V GPIO:3.3v 3.芯片内部有4K字节的SRAM空间0x40000000-0x40001000; 4.s3c2440外部 主频:12M晶振 内部RTC晶振(时钟,万年历)32.768KHZ 5.复位电路 MAX811:上电复位。按键复位,电压低于一定值复位 6.存储芯片 K9F1216D0A为NANDflash Am29LV160DB为NORFLASH 均用来存储程序和数据 HY57V561620--SDRAM 内存 ARM有两种启动方式:一种为N
[单片机]
01-S3C2440学习入门概念+环境搭建
一、心得: 这两年学过很多东西,有点杂,总感觉不够踏实,于是准备写些东西出来记录一下,希望以后复习方便,同时也给大家学习带来一点帮助。从头把JZ2440系统学习一下,希望后面学习心理会更踏实。以下只是自己学习思路,仅供大家参考。 (1)嵌入式后为什么是LINUX: 之前一直把嵌入式和Linux弄混,到底嵌入式与Linux有什么关系呢。大部分嵌入式设备都是运行Linux系统,因此嵌入式后常加着Linux。Linux是嵌入式软件的核心部分,所以做嵌入式软件Linux一定是要慢慢做到很熟悉的。 (2)嵌入式Linux: 以应用为中心,以计算机技术为基础,软件硬件可裁剪的专用计算机系统。具有很强的定制性特点。 (3
[单片机]