《硬件架构的艺术》笔记(四):时钟分频器

介绍

偶数时钟分频很好实现,使用一个计数器累加到一定值再清零,同时翻转电平就可以了。本章主要讲的是奇数分频和小数分频。

同步整数分频器

使用Moore状态机可以轻松的实现同步整数分频,需要几分频就有几种状态,但是如果是奇数分频,那么输出就不可能为50%占空比。

如图使用了一个七个状态的Moore状态机实现了7分频,其中4个状态输出为0,3个状态输出为1,显然占空比不为50%

具有50%占空比的奇数整数分频

1、以期望输出频率的一半产生两个正交相位时钟(90°相位差)。

2、将两个波形异或得到输出频率。

对于整奇数N分频:

1、创建一个计数到N-1的计数器。

2、使用两个T触发器,并且第一个触发器当计数到0使能,第二个触发器计数到(N+1)/2使能。

3、TFF1由上升沿触发,TFF2由下降沿触发,两个触发器的输出都是2N分频的时钟。

4、异或得到最终输出。

具有非50%占空比的1.5倍分频

该电路综合可能出现问题,因为多路器的两个输入端延时并不相等,可能输出产生毛刺。参考时钟频率越高,出错的可能性也越大。

4.5倍分频计数器的实现(非50%占空比)

本方法可以使输出时钟不含毛刺。概括的讲,这种方法是在9个原始时钟内等间隔产生两个脉冲。

1、使用复位值为0_0000_0001的9位移位寄存器,在每个时钟上升沿循环左移一位。

2、产生第一个脉冲,下降沿移动第一位,并将移动后的结果和第一位、第二位进行或操作。

3、产生第二个脉冲,第五位和第六位半周期时移动,并与第六位进行或操作。

注意这里每一个脉冲都是三个信号相或得到的,这样做的目的是防止两个信号同时变化出现竞争冒险现象。

N分频的替换方法

以上电路都假设输入时钟占空比50%,否则小数分频输出会出现抖动,整数分频器也会有不同占空比。

基于查找表的组合反馈电路可以产生不含毛刺的时钟。

1.5分频的查找表实现

完整电路如下。

相关推荐
星轨初途27 分钟前
数据结构排序算法详解(5)——非比较函数:计数排序(鸽巢原理)及排序算法复杂度和稳定性分析
c语言·开发语言·数据结构·经验分享·笔记·算法·排序算法
QT 小鲜肉1 小时前
【孙子兵法之上篇】001. 孙子兵法·计篇深度解析与现代应用
笔记·读书·孙子兵法
love530love3 小时前
【笔记】ComfUI RIFEInterpolation 节点缺失问题(cupy CUDA 安装)解决方案
人工智能·windows·笔记·python·插件·comfyui
愚戏师3 小时前
MySQL 数据导出
数据库·笔记·mysql
摇滚侠4 小时前
2025最新 SpringCloud 教程,教程简介,笔记01
笔记·spring cloud
RickyWasYoung6 小时前
【笔记】智能汽车、电动汽车政策文件
笔记·汽车
love530love8 小时前
【保姆级教程】Windows + Podman 从零部署 Duix-Avatar 数字人项目
人工智能·windows·笔记·python·数字人·podman·duix-avatar
草莓熊Lotso10 小时前
《算法闯关指南:动态规划算法--斐波拉契数列模型》--01.第N个泰波拉契数,02.三步问题
开发语言·c++·经验分享·笔记·其他·算法·动态规划
FFF团团员90917 小时前
树莓派学习笔记3:LED和Button
笔记·学习
碧海潮生_CC17 小时前
【CUDA笔记】04 CUDA 归约, 原子操作,Warp 交换
笔记·cuda