嵌入式学习---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三者的比例。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

相关推荐

  1. 嵌入学习-ARM

    2023-12-10 08:36:01       41 阅读
  2. 嵌入学习-ARM

    2023-12-10 08:36:01       38 阅读
  3. 嵌入学习-ARM-Day4

    2023-12-10 08:36:01       34 阅读
  4. 嵌入学习-ARM-IIC实验

    2023-12-10 08:36:01       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-10 08:36:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-10 08:36:01       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-10 08:36:01       82 阅读
  4. Python语言-面向对象

    2023-12-10 08:36:01       91 阅读

热门阅读

  1. IBM Qiskit量子机器学习速成(五)

    2023-12-10 08:36:01       53 阅读
  2. CMMI认证有什么意义

    2023-12-10 08:36:01       62 阅读
  3. WPF(Windows Presentation Foundation) 的 Menu控件

    2023-12-10 08:36:01       50 阅读
  4. 深入探讨MySQL数据库的InnoDB存储引擎架构

    2023-12-10 08:36:01       69 阅读
  5. SpringMVC-Servlet

    2023-12-10 08:36:01       62 阅读
  6. ESP32网络编程-OTA方式升级固件(基于Arduino IDE)

    2023-12-10 08:36:01       56 阅读
  7. SQL命令---修改数据库的编码

    2023-12-10 08:36:01       56 阅读
  8. Oracle 怎樣修改DB_NAME

    2023-12-10 08:36:01       52 阅读