下面内容是《ARM处理器裸机开发实战—机制而非策略》里的,以s3c2440开发板为例
系统时钟是整个电路的心脏。
总体来说,与s3c2440处理器有关的时钟主要有4种:Fin、FCLK、HCLK和PCLK。
Fin: 外部输入的晶振频率
FCLK: 主要用于CPU核
HCLK: 主要用在与AHB总线互连的设备上(存储器控制器、lcd控制器、dma)
PCLK: 主要用在与APB总线互连的低速设备上(uart adc 定时器)
S3c2440系统时钟概述
S3c2440处理器的系统时钟分为两部分,外部有时钟输入引脚,内部有2个锁相环将外部输入时钟倍频到处理器工作所需要的时钟。锁相环相当于一个时钟变换电路,低频晶振输入即可得到处理器所使用的较高频的时钟。
锁相环示意图如下:
其中,MPLLCON和CLKDIVN是两个控制寄存器,分别用于控制分频比。
MPLLCON控制FCLK和Fin的比例关系
CLKDIVN用于控制FCLK、HCLK和PCLK之间的比例关系
此外,s3c2440内部还有一个锁相环UPLL,用于将外部时钟倍频到USB设备正常工作所需要的时钟频率。
系统时钟初始化
其流程图如图所示:
S3c2440系统时钟初始化流程如下:
(1) 系统刚上电几毫秒后,FCLK等于外部晶振的振荡频率,即FCLK=Fin
(2) 当复位信号nReset恢复高电平后,锁相环按照寄存器MPLLCON和CLKDIVN设定的倍频比例开始生成所需要的时钟频率。从锁相环开始工作到输出新的稳定的频率值需要一定的时间(lock time 即锁相环的捕获时间),经过这段时间后,锁相环输出新的频率值,这是FCLK等于锁相环的输出。
FCLK、HCLK和PCLK与Fin的关系
如何控制锁相环PLL的输出频率?s3c2440处理器内部有两个寄存器:MPLLCON寄存器用于控制FCLK和Fin的比例关系,CLKDIVN寄存器用于控制FCLK、HCLK和PCLK之间的比例关系。
FCLK = (2*m*Fin) / (p*2^s)
其中,m=MDIV+8,p= PDIV +2,,s=SDIV。MDIV, PDIV, SDIV是MPLLCON寄存器中的数据。
例如,已知系统外部晶振输入为12MHz,要求FCLK输出为200MHz,经过计算可以得到MDIV=92,PDIV=4,SDIV=1
可以用下面的指令进行初始化
M_MDIV EQU 92
M_PDIV EQU 4
M_SDIV EQU 1
ldr r0 , =MPLLCON
ldr r1 , =((M_MDIV<<12)+(M_PDIV<<4)+M_SDIV)
str r1,[r0]
上一篇:[ARM裸机程序][7]ARM 指令分类学习
下一篇:SylixOS的BSP开发实例之S3C2416 【第一篇】时钟配置
推荐阅读最新更新时间:2024-11-11 10:50
推荐帖子
- SMT环境下的PCB设计技术详细
- 1.引言SMT工艺是利用钎料或焊膏在元件与电路板连接之间构成机械与电气两方面的连接,其主要优点在于尺寸小、重量轻、互连性好;高频电路的性能好,寄生阻抗显著降低;抗冲击力与振动性能好。采用SMT工艺时引线不需穿过电路板,可避免产生引线接受或辐射而得来的信号,进而提高电路的信噪比。评价SMT工艺性能的好坏,首先应使焊点能够正确成型;而正确成型的前提是必须合理设计PCB板上元器件的焊盘尺寸;其次在PCB板布局时要合理安排元件的密度,满足测试点的要求。进行电路板设计时,可通过DFM(可制造性设计)
- kandy2059 PCB设计
- 最新版-电动汽车供电设备安全要求及试验规范 发布
- GB/T39752-2021电动汽车供电设备安全要求及试验规范实施日期:2021-10-01标准简介本标准规定了电动汽车供电设备(以下简称供电设备)的安全要求、试验导则和试验方法。本标准适用于额定输出电压为1000VAC或1500VDC及以下各类型供电设备,包括充电模式2、充电模式3和充电模式4的供电设备,不作为公共用途使用、在特殊条件下使用的供电设备(如防爆型、液冷型、海拔2000m以上高原使用的供电设备等)也适用于本标准,并需要结合相关标准的要求。对于供电
- qwqwqw2088 模拟与混合信号
- 《控制之美(卷2)——最优化控制MPC与卡尔曼滤波器》--数学基础
- 本篇数学理论基础比较集中探讨,涉及到高等数学、线性代数、信号与系统等知识面基础。线性时不变系统状态空间方程x(t)是状态变量,y(t)是系统的输出,u(t)是系统的输人。状态空间方程的解如下等号右边第一部分与系统初始条件相关,被称为状态转移矩阵,它代表了系统的状态变量随时间的变化。连续系统离散化离散时间系统即可理解在连续时间系统上脉冲周期取样。采样周期的倒数称为采样频率,为还原信号原貌,采样周期不宜过大导致信号丢失。这里有一个非常有名的定理--
- dirty 汽车电子
- 如何用ARM7串口呼叫GPRS?
- 本人有ARM-7开发板,附有光盘,里有44b0test测试程式序,也有GPRS模块,请问如何修改程序才能通过串口呼叫GPRS向指定IP发送数据?多谢各位的帮助!!谢谢!!!如何用ARM7串口呼叫GPRS?怎么回事,居然没有人回应我!!!!!!!!AT命令
- niuhaibing ARM技术
- 求助各位大侠
- 怎么我下载时老是下这个附件啊?attachment.php,求解,谢咯!求助各位大侠
- yuan520 PCB设计
- 关于C2000芯片的FLASH锁死----以及解决办法
- FLASH锁死了这是为什么,有没有办法解锁。为什么会有类似下面这几种报错:Readstatusvalue0x0001fromsymbolPRG_status(24x系列)ADCCalibrationnotcomplete,checkifdeviceisunlockedandrecalibrate.(2833x系列)答:FLASH锁死是由于在FLASH中的密码部分写入了密码。如果在烧写的的过程中,受到干扰就有机会导致FLASH锁死,如果试了下面的方
- hlx3012 微控制器 MCU
设计资源 培训 开发板 精华推荐
- LT3970IDDB 3.3V 降压转换器的典型应用
- 使用 Infineon Technologies AG 的 TDA 16847-2G 的参考设计
- LM317L 慢开启 15V 稳压器典型应用
- LT3742 的典型应用 - 双路、2 相降压型开关控制器
- EVAL-AD7767-1EDZ,用于数据采集系统的 AD7767-1、24 位、64KSPS、1CH ADC 的评估板
- 使用 Analog Devices 的 LTC1174HVCS8 的参考设计
- 基于微控制器的串行端口 SPI 接口启动应用电路
- 【立创课堂】基于51单片机的温湿度报警器
- L7905C 负电压稳压器的典型应用
- STGIPS10K60T专用电源IC和模块的典型应用