嵌入式学习---ARM时钟体系

目录

时钟相关概念

时钟脉冲

  • 一定电压幅度一定时间间隔连续发出的脉冲信号。它是一个周期性的信号,每个周期内包含一个上升沿和一个下降沿。时钟脉冲的上升沿和下降沿通常用于触发和同步各个电子元件的操作,例如CPU的指令执行、数据传输、寄存器更新等。

时钟频率

  • 时钟频率是指时钟脉冲的频率,即单位时间内时钟脉冲的数量。它通常以赫兹(Hz)为单位表示,表示每秒钟发生的时钟脉冲的次数。时钟频率决定了计算机系统的运行速度和性能,较高的时钟频率意味着更快的数据处理能力。

时钟的作用

  • 时钟信号是时序逻辑的基础,它用于决定逻辑单元中的状态何时更新。数字芯片中的众多晶体管的导通和关断动作都是按照时钟信号的节奏进行的。

时钟信号的生成

  • 晶体振荡器(Crystal Oscillator):晶体振荡器是使用晶体的谐振特性来产生稳定时钟信号的元件,与晶振类似,但通常包含更复杂的电路和调谐元件,可以提供更高的频率稳定性和精度。
  • MEMS振荡器(MEMS Oscillator):MEMS振荡器是利用微机电系统(MEMS)技术制造的振荡器,通过微小的机械结构振动来产生时钟信号。它具有小尺寸、低功耗和抗震动等优点,适用于移动设备和嵌入式系统。
  • RC振荡器(RC Oscillator):RC振荡器是使用电阻(R)和电容(C)构成的振荡电路,通过RC元件的充放电过程来产生时钟信号。它简单、成本低廉,但频率稳定性较差,适用于一些低要求的应用场景。
  • PLL锁相环(Phase-Locked Loop):PLL是一种反馈控制系统,通过比较输入信号和参考信号的相位差,并调整输出信号的频率和相位,使其与参考信号同步。PLL可以提供稳定的时钟信号,并具有频率合成和时钟倍频等功能。
  • GPS接收器(GPS Receiver):全球定位系统(GPS)接收器可以接收卫星发射的精确时间信号,并用作时钟参考。GPS接收器可以提供高精度的时钟信号,适用于需要高精度时间同步的应用,如通信基站和科学实验。
    典型的系统时钟振荡器源通常采用石英晶振,而更复杂的系统时钟振荡器则是由PLL合成器提供。

S3C2440的时钟体系

主时钟晶振

  • S3C2440的主时钟晶振来自于外部晶振(XTIPLL)或者是外部时钟(EXTCLK)。时钟生成器包含了一个振荡器,其连接外部晶振,可以产生需要的高频,通过引脚OM[3:2]来决定时钟源是Crystal还是EXTCLK。

两个PLL

  • MPLL用于CPU及其他外围器件。通过MPLL会产生三个部分的时钟频率:FCLK【用于CPU核】、HCLK【用于AHB总线的设备】、PCLK【用于APB总线的设备】。
  • UPLL专用于USB设备。

时钟启动流程

  • 上电几毫秒后,外部晶振输出稳定,FCLK=外部晶振频率(12MHz),nRESET信号恢复高电平后,CPU开始执行命令。
  • 在设置MPLL的几个寄存器后,需要等待一段时间(Lock Time),MPLL的输出才稳定。在这段时间(Lock Time)内,FCLK停振,CPU停止工作。Lock Time的长短由寄存器LOCKTIME设定。
  • Lock Time之后,MPLL输出正常,CPU工作在新的FCLK(如400MHz)下。

相关的寄存器

设置S3C2440的时钟频率就是设置相关的几个寄存器:

  • LOCKTIME寄存器:用于设置Lock Time。
  • MPLLCON寄存器:用于设置FCLK和Fin的倍数。
  • CLKDIVN寄存器:用于设置FCLK、HCLK、PCLK三者的比例。


相关推荐
西岸行者5 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意5 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码5 天前
嵌入式学习路线
学习
Lester_11015 天前
STM32霍尔传感器输入口设置为复用功能输入口时,还能用GPIO函数直接读取IO的状态吗
stm32·单片机·嵌入式硬件·电机控制
三佛科技-187366133975 天前
120W小体积碳化硅电源方案(LP8841SC极简方案12V10A/24V5A输出)
单片机·嵌入式硬件
z20348315205 天前
STM32F103系列单片机定时器介绍(二)
stm32·单片机·嵌入式硬件
毛小茛5 天前
计算机系统概论——校验码
学习
babe小鑫5 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms5 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下5 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs