时钟电路设计概述 - 数字电路设计

2023-11-17

时钟电路设计概述 - 数字电路设计
2010-09-10 | 阅:    转:  |   分享 
  

 
本文一般性地讲解了数字电路设计中的 时钟电路设计,包括有源 晶振,无源 晶振时钟缓冲器,并探讨了有关 EMC端接电阻和信号完整性的设计要点,设计经验来自于生花通信(Signalsky)的数字电路设计工程师。

时钟信号产生电路

先看图1中的两个时钟电路,不用我说,相信读者一眼就可以看得出来,左边的那个是有源晶振电路,右边的是无源晶振电路。

晶振电路

图1 两个时钟电路

振荡器就是可以产生一定频率的交变电流信号的电路

晶体振荡器,简称晶振,是利用了晶体的压电效应制造的,当在晶片的两面上加交变电压时,晶片会反复的机械变形而产生振动,而这种机械振动又会反过来产生交变电压。当外加交变电压的频率为某一特定值时,振幅明显加大,比其它频率下的振幅大得附加外部时钟电路,一般是一个放大反馈电路,只有一片晶振是不能实现震荡的多,产生共振,这种现象称为压电谐。

晶振相对于钟振而言其缺陷是信号质量较差,通常需要精确匹配外围电路(用于信号匹配的电容、电感、电阻等),更换不同频率的晶体时周边配置电路需要做相应的调整。

如果把完整的带晶体的振荡电路集成在一块,可能再加点其它控制功能集成到一起,封装好,引几个脚出来,这就是有源晶振,时钟振荡器,或简称钟振。英文叫Oscillator,而晶体则是Crystal。可以说Oscillator是Crystal经过深加工的产品,而Crystal是原材料。好多钟振一般还要做一些温度补偿电路在里面。让振荡频率能更加准确。

相对于无源晶体,有源晶振的缺陷是其信号电平是固定的,需要选择好合适输出电平,灵活性较差,而且价格高。

典型无源晶振电路

图2是典型的无源晶振电路。

典型无源晶振电路

图2 典型的无源晶振电路

  • 与晶振并联的电阻的作用

与晶振并联的电阻R4是反馈电阻,是为了保证反相器输入端的工作点电压在VDD/2,这样在振荡信号反馈在输入端时,能保证反相器工作在适当的工作区。虽然去掉该电阻时,振荡电路仍工作了。但是如果从示波器看振荡波形就会不一致了,而且可能会造成振荡电路因工作点不合适而停振。所以千万不要省略此电阻。这个电阻是为了使本来为逻辑反相器的器件工作在线性区,以获得增益,在饱和区是没有增益的, 没有增益是无法振荡的。如果用芯片中的反相器来作振荡,必须外接这个电阻,对于CMOS而言可以是1M以上,对于TTL则比较复杂,视不同类型(S,LS…)而定。如果是芯片指定的晶振引脚,如在某些微处理器中,常常可以不加,因为芯片内部已经制作了,要仔细阅读DATA SHEET的有关说明。

  • 与晶振串联的电阻的作用

和晶振的串联电阻(R3)常用来预防止晶振被过分驱动。晶振过分驱动的后果是将逐渐损耗减少晶振的接触电镀,这将引起频率的上升,并导致晶振早期失效。如何判断晶振是否被过分驱动? 电阻RS常用来防止晶振被过分驱动。过分驱动晶振会渐渐损耗减少晶振的接触电镀,这将引起频率的上升。可用一台示波器检测OSC输出脚,如果检测一非常清晰的正弦波,且正弦波的上限值和下限值都符合时钟输入需要,则晶振未被过分驱动;相反,如果正弦波形的波峰,波谷两端被削平,而使波形成为方形,则晶振被过分驱动。这时就需要用电阻RS来防止晶振被过分驱动。判断电阻RS值大小的最简单的方法就是串联一个5k或10k的微调电阻,从0开始慢慢调高,一直到正弦波不再被削平为止。通过此办法就可以找到最接近的电阻RS值。

  • 晶振两个引脚两个电容的作用

这两个电容(C1,C2)叫晶振的负载电容,分别接在晶振的两个脚上和对地的电容,一般在几十皮法。它会影响到晶振的谐振频率和输出幅度,一般订购晶振时候供货方会问你负载电容是多少。

晶振的负载电容=[(Cd*Cg)/(Cd+Cg)]+Cic+△C式中Cd,Cg为分别接在晶振的两个脚上和对地的电容,Cic(集成电路内部电容)+△C(PCB上电容)经验值为3至5pf。 

这两个电容串联的值是并联在谐振回路上的,会影响振荡频率。当两个电容量相等时,反馈系数是 0.5,一般是可以满足振荡条件的,但如果不易起振或振荡不稳定可以减小输入端对地电容量,而增加输出端的值以提高反馈量。

时钟缓冲器(Clock Buffer)

输出缓冲器的作用是加强时钟发生器的带负载能力,同时减少负载对时钟发生器的干扰和影响。时钟发生器可以选用芯片厂商的专用IC来实现,也可以采用分立元件进行设计。

 图3是我公司在某款Wi-Fi产品的设计中采用的时钟缓冲电路。CY-2308是双边、通用零延迟缓存器,可用在需要严格输入-输出及输出-输出斜率的各种时钟分配应用中。

时钟缓冲器CY2308

图3 时钟缓冲器CY-2308

图4是我公司在另外一款产品的开发中设计的分立元件时钟缓冲电路,其中的DNS意思为Design not Stuff。经实际产品检验,效果良好。

分立元件时钟缓冲电路

图4 分立元件时钟缓冲电路

时钟电路的EMC问题

对于任何数字信号,绝大部分能量都集中在转折频率以下,而转折频率与其数字边沿的上升和下降时间有关,而与其时钟速率无关。

滤波是最常用来降低信号波形的边缘速度的方法,也就是在信号路径中加上5到15pF的电容器,用以平缓信号的边缘速度。通常工程师会在电路设计中,靠近信号源头的位置,预留这些电容器的安装位置,到发生EMI问题时,再将电容器装置上去。若时钟电路采用串接式的终端电阻,滤波电容器装在电阻的两侧皆可,但为了获得最佳的信号终结与保持信号的完整性,滤波电容建议装在终端电阻之后靠信号来源的这一侧。

时钟电路的端接电阻

串行端接是通过在尽量靠近源端的位置串行插入一个电阻RS(典型10Ω到75Ω)到传输线中来实现的,如图5所示。串行端接是匹配信号源的阻抗,所插入的串行电阻阻值加上驱动源的输出阻抗应大于等于传输线阻抗(轻微过阻尼)。

串行端接电阻

图5 串行端接电阻

这种策略通过使源端反射系数为零从而抑制从负载反射回来的信号(负载端输入高阻,不吸收能量)再从源端反射回负载端。串行端接的优点在于:每条线只需要一个端接电阻,无需与电源相连接,消耗功率小。当驱动高容性负载时可提供限流作用,这种限流作用可以帮助减小地弹噪声。

  • 多负载的端接

在实际电路中常常会遇到单一驱动源驱动多个负载的情况,这时需要根据负载情况及电路的布线拓扑结构来确定端接方式和使用端接的数量。一般情况下可以考虑以下两种方案。如果多个负载之间的距离较近,可通过一条传输线与驱动端连接,负载都位于这条传输线的终端,这时只需要一个端接电路。如采用串行端接,则在传输线源端加入一串行电阻即可,如图6所示。如采用并行端接(以简单并行端接为例),则端接应置于离源端距离最远的负载处,同时,线网的拓扑结构应优先采用菊花链的连接方式。

多负载端接

图6 多负载端接

如果多个负载之间的距离较远,需要通过多条传输线与驱动端连接,这时每个负载都需要一个端接电路。如采用串行端接,则在传输线源端每条传输线上均加入一串行电阻,如图a 所示。如采用并行端接(以简单并行端接为例),则应在每一负载处都进行端接,如图b 所示。

时钟电路设计笔记

  • 设计时钟时需要注意什么问题?

时钟电路走线不能直接分叉,必要时要加时钟Buffer

  • 还有呢?

PCB布线时不能拐直角

最好部在电源层和地层之间

到各个器件的距离最好差不多

时钟线应该尽量短,必要时可以用地线将时钟区圈起来

  • 补充一点

要加始端串联匹配电阻

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

时钟电路设计概述 - 数字电路设计 的相关文章

随机推荐

  • Java代码写好后怎么运行?

    对于很多Java初学者来说 编写好自己的第一个程序能够运行起来是一件非常自豪的事情 那么你知道应该如何才能运行Java代码吗 今天小千就来给大家介绍一下 Java代码运行方法 1 首先需要确保你的电脑正确安装了Java环境并且环境变量都配置
  • 设计模式的六大原则

    目的 高内聚 低耦合 基于 对接口编程而不是对实现编程 优先使用对象组合而不是继承 1 开闭原则 Open Close Principle 开闭原则的意思是 对扩展开放 对修改关闭 在程序需要进行拓展的时候 不能去修改原有的代码 实现一个热
  • STM32 PWM捕获方式:两种思想

    一 利用系统自带PWM捕获 1 代码 初始化 c include capture h include stm32f10x h void Capture Init PA7 gt TIM3 CH2 GPIO InitTypeDef GPIO I
  • springboot性能优化

    SpringBoot性能调优有三种方案 SpringBoot 是一个快速开发框架 能够快速的整合第三方框架 简化XML配置 全部采用注解形式 内置Tomcat容器 帮助开发者能够实现快速开发 SpringBoot的Web组件 默认集成的是S
  • 软件测试:白盒测试

    一 定义 白盒测试又称结构测试 透明盒测试 逻辑驱动测试或基于代码的测试 白盒测试是一种测试用例设计方法 盒子指的是被测试的软件 白盒指的是盒子是可视的 白盒 法全面了解程序内部逻辑结构 对所有逻辑路径进行测试 白盒 法是穷举路径测试 在使
  • webpack5搭建vue环境

    webpack5搭建vue环境 0 前言 安装 webpack webpack cli 开始我是全局安装进行测试 后期项目中最好用局部安装 不同项目使用的版本不同 熟悉 npm基本命令确保npm可以使用 1 webpack概念 中文官网 h
  • SQL语句的MINUS,INTERSECT和UNION ALL

    SQL语句中的三个关键字 MINUS 减去 INTERSECT 交集 和UNION ALL 并集 关于集合的概念 中学都应该学过 就不多说了 这三个关键字主要是对数据库的查询结果进行操作 正如其中文含义一样 两个查询 MINUS是从第一个查
  • vue实现下载文件和图片功能

    vue实现图片或文件下载功能 今天一个需求就是实现图片下载功能 刚开始以为很简单没有什么逻辑可写 就以为调用后端接口就可以了 调用之后发现有问 题 看来还是没有想象的那么简单 1 要自己创建一个a标签 以下就是下载功能的实现 这里是调用接口
  • 2.4 HTTP请求方法

    在客户端向服务器端发送请求时 需要确定使用的请求方法 请求方法表明对URL指定资源的操作方式 服务器会根据不同的请求方法进行不同的响应 在HTTP 1 1中 共定义了8种请求方法 具体如下 GET 请求指定的内容并返回 POST 向指定资源
  • 分布式缓存的切片模式-hash一致性切片

    文章目录 一 为什么使用缓存 二 为什么使用分布式 三 使用什么模式 四 常规切片模式的弊端 五 更加犀利的切片模式 hash一致性切片 六 不完美的数据倾斜以及解决方案 6 1 数据倾斜 6 2 解决办法 一 为什么使用缓存 当前 我们通
  • 基于stm32的keil调试

    目录 基于stm32的keil调试 前言 实验目的 问题 debug 定位问题 解决 总结 基于stm32的keil调试 本文目标 基于stm32的keil调试 按照本文的描述 应该可以跑通实验并举一反三 先决条件 装有编译和集成的开发环境
  • 06_个人注释版本(01版本)GTK播放器__基于Linux系统下的mplayer播放器

    include
  • 计算机视觉结合深度学习项目-智能停车场空车位实时识别

    欢迎来到本博客 本次博客内容将继续讲解关于OpenCV的相关知识 作者简介 目前计算机研究生在读 主要研究方向是人工智能和群智能算法方向 目前熟悉python网页爬虫 机器学习 计算机视觉 OpenCV 群智能算法 然后正在学习深度学习的相
  • Android框架源码解析之(五)Retrofit

    源码地址 https github com square retrofit Retrofit源码结构 可以看出Retrofit是使用idea maven依赖编写的Java工程 并不是一个Android 工程 Retrofit的简单使用 1
  • 学习docker之路(三)

    目录 一 docker容器内操作 二 网络 一 docker容器内操作 1 将容器导出为归档 docker export 容器名称 o 归档包名称 root localhost docker export 05 o mynginx v2 t
  • leetcode_165. Compare Version Numbers 比较版本大小

    题目 Compare two version numbers version1 and version2 If version1 gt version2 return 1 if version1 lt version2 return 1 o
  • git简单使用与安装(小白01)(还看不懂我下个版本给图片)

    一 1 下载git 在官网上下载 下载成功后 闭着眼睛狂点下一步 然后就成功了 嘿嘿 二 1 随便创建一个新的文件夹 打开文件夹点这里 下图 然后输入cmd 然后在按回车 cmd中输入 git init 生成git文件 该文件是隐藏状态 2
  • redis06_ redis的订阅发布模式(redis做MQ中间件)、持久化(rdb,aof)、事务

    一 redis订阅发布模式 1 1 简介 redis 可以做消息中间件 MQ message queue 通常通过订阅发布模式来实现 消息订阅发布模式 还可以基本数据类型Lists实现 点到点模式 可以使用lpush lpop 实现消息先进
  • linux中I/O流中的全缓冲、行缓冲和无缓冲,简明实例演示

    说到缓冲 缓存之类的术语 通常都会和执行效率联系到一起 在标准I O库中提供缓冲的主要目的就是减少系统函数read和write的调用 从而能够减少系统CPU时间 标准I O库的缓冲主要分为3种 全缓冲 行缓冲和不缓冲 笔者就3种缓冲写了一些
  • 时钟电路设计概述 - 数字电路设计

    时钟电路设计概述 数字电路设计 2010 09 10 阅 转 分享 本文一般性地讲解了数字电路设计中的 时钟电路设计 包括有源 晶振