上位机知识篇---时钟分频


文章目录

  • 前言
  • 1. 时钟分频的基本概念
    • (1) 什么是时钟分频?
    • (2) 为什么需要时钟分频?
      • 降低功耗
      • 匹配外设需求
      • 时序约束
      • 多时钟域设计
  • 2. 时钟分频的实现方式
    • (1) 硬件分频(计数器分频)
      • 偶数分频(50%占空比)
        • 实现方法
        • 波形示例
      • 奇数分频(非50%占空比)
        • 实现方法
        • 波形示例
    • (2) 锁相环(PLL)分频
      • 优点
      • FPGA 示例(Xilinx PLL)
    • (3) 软件分频(微控制器)
  • 3. 时钟分频的关键问题
    • (1) 时钟抖动(Jitter)
      • 解决方案
    • (2) 时钟偏移(Skew)
      • 解决方案
    • (3) 跨时钟域(CDC, Clock Domain Crossing)
      • 解决方案
  • 4. 典型应用场景
  • 5. 总结
    • 实现方式
      • 硬件分频
      • PLL分频
      • 软件分频
    • 关键问题


前言

本文简单介绍了一下时钟分频。时钟分频(Clock Division)是数字电路设计中常见的技术,用于将高频时钟信号转换为较低频率的时钟信号,以满足不同模块的时序需求。它在处理器、FPGA、SoC(片上系统)和嵌入式系统中广泛应用。


1. 时钟分频的基本概念

(1) 什么是时钟分频?

时钟分频是指通过硬件或软件方式降低输入时钟频率,生成一个频率较低的时钟信号。

例如,将 100MHz 的时钟分频为 **50MHz(2分频)**或 25MHz(4分频)

(2) 为什么需要时钟分频?

降低功耗

降低功耗:高频时钟会增加动态功耗,分频可减少功耗。

匹配外设需求

匹配外设需求:某些外设(如UART、I2C)需要较低时钟频率。

时序约束

时序约束:某些逻辑电路无法在过高频率下稳定工作。

多时钟域设计

多时钟域设计:不同模块可能需要不同时钟频率。

2. 时钟分频的实现方式

(1) 硬件分频(计数器分频)

最常见的方式是使用计数器(Counter),通过计数输入时钟的边沿来生成分频时钟。

偶数分频(50%占空比)

适用于 2、4、6、8… 分频。

实现方法

计数器在上升沿计数,达到 /2时翻转输出时钟

Verilog 示例(2分频):
reg clk_div;
always @(posedge clk) begin
    clk_div <= ~clk_div;  // 每个上升沿翻转,实现2分频
end
波形示例

clk: |‾||‾||‾||‾||‾|
clk_div:|¯¯¯||¯¯¯|_|¯¯¯

你可能感兴趣的:(上位机知识篇,fpga开发)