数字电路的时钟(3)-- 抖动

引言

抖动是时钟信号边沿事件的时间点集合相对于其理想值的离散时序变量。时钟信号中的抖动通常是由系统中的噪声或其他干扰导致的。具体因素包括热噪声、电源变化、负载条件、器件噪声以及相邻电路耦合的干扰等。

抖动类型

时钟信号抖动定义有多种主要是:

● 周期抖动 (Period Jitter)

● 相邻周期抖动 (Cycle to Cycle Period Jitter)

● 长期抖动 (Long Term Jitter)

● 相位抖动 (Phase Jitter)

● 时间间隔误差 (Time Interval Error or TIE)

1、周期抖动

周期抖动:时钟信号的周期时间相对于一定数量、随机选定的理想时钟信号周期的偏差。如果我们能对一定数量的时钟周期进行测量,就可以计算出这一段时间测量窗口内的平均时钟周期以及其标准偏差与峰峰值。我们通常将标准偏差和峰峰值分别称作 RMS 值和 Pk-Pk 周期抖动。

许多已发表的文献中往往将周期抖动定义为测得的时钟周期与理想周期之间的差异,但在实际应用中,想要量化理想周期往往有困难。如果用示波器观察设定频率为 100 MHz 的振荡器的输出,测得的平均周期可能是 9.998 ns,而非理想周期的 10 ns。因此,在实际测量中可将测量时间窗口内的平均周期视为理想周期

更多关于周期抖动的应用介绍,以及如何根据 RMS 抖动计算峰峰抖动和周期抖动测量方法,请点击文末的“阅读原文”,查看全部内容!

https://mp.weixin.qq.com/s/KnYPjsLmfDXpTtqeGoanbg

2、相邻周期抖动

相邻周期 (C2C) 抖动,根据 JEDEC 标准 65B,是通过一定数量的相邻周期随机样本的计算得出相邻周期的时间变化。JEDEC 标准进一步规定:每个样本的大小应大于或等于 1,000。请注意,相邻周期抖动仅涉及两个连续周期之间的周期差,与理想周期无关。

相邻周期抖动一般体现为以 ps 为单位的峰值,用于定义任意两个连续时钟上升沿之间的最大偏差。此类型的抖动规范常用于体现扩频时钟的稳定性,因为周期抖动对频率扩展特性更加敏感,而相邻周期抖动则不然。相邻周期抖动有时也表达为以 ps 为单位的 RMS 值。

3、长期抖动

长期抖动测量的是在多个连续周期后时钟信号边沿与理想位置的变化。在实际测量中使用的周期数量取决于不同的应用。长期抖动与周期抖动和相邻周期抖动不同,因为其代表的是抖动在长时间间隔期间连续时钟周期流上的抖动累积效应。因此,长期抖动有时也被称为累积抖动。长期抖动通常对图形/视频显示以及测距器等长范围遥测应用非常实用。

4、相位抖动

一般将相位噪声描述为某一给定频率偏移处的dBc/Hz 值,也称噪声频谱密度值(例如:在 20KHz时为 -60 dBc/Hz,在 10MHz 时为 -95dBc/Hz),或是一段频率偏移范围内的连续曲线图。相位抖动是一定频率偏移范围内相位噪声的积分,以秒为单位表达。

在方波中,大部分能量均位于载波频率上。但是,部分信号能量会“泄漏到”位于载波两侧附近的频率上。相位抖动指的是相对于载波 (fc)的两个偏移频率之间包含的相位噪声能量总量。图 6是未经滤波或带宽限制的相位噪声图,阴影部分代表偏移频率 f1 和 f2 之间的相位抖动。

图 1:相位噪声图

4.1 相位噪声到抖动计算器

在线相位噪声到抖动计算器, 可根据不同应用和振荡器相位噪声计算相应抖动。点击使用

图 2:相位噪声到抖动计算器,该工具可将相位噪声转换成相位抖动(RMS)

……

更多关于相位抖动的测量方法,请点击文末“阅读原文”,查看全部内容!

5、时间间隔误差

时间间隔误差 (TIE) 是指实际信号的事件边沿时间点相对于理想信号的事件边沿时间点的时间偏差。实际上,TIE 是相位噪声频谱在时域离散信号序列的表达,以秒或 ps 为单位。图 8 是 TIE的基本概念。理想信号通常是信号处理软件利用对实际信号周期的平均估算而得到的参考信号。

图 3:测量边沿的 TIE

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
那里有很多的Nixie时钟,但我的目标是从头开始构建一个。这是我的Nixie项目。我决定建立一个4位数字的时钟。我想保存部分,所以我决定把它复用。这让我只用一个74141芯片就可以连接所有4个电子管。这个时钟目前设置为12小时的操作。 第1步:示意图 下面是设计原理图和电路板。 nixie3-1.pdfnixie3-1.pdf下载(详情见附件) 第2步:组件列表 ARDUINO NANO 1 K155ID1 / SN74141 1 10k电阻13 MPSA42晶体管4 1Meg电阻4 氖灯1 LM7805稳压器1 10uf 50v电容2 43k电阻1 数码 管4 DS3231分线板1 PWR电源 - HV数码电源 1330Ω电阻1 12V PS - 12v电源1 MPSA92晶体管5 第3步:电路板设计 第4步:填充 用组件填充板。首先从电阻和晶体管这样的小东西开始,然后逐步处理更复杂的项目。 第5步:高压电源 我从eBay买了电源。NK01B。这个小小的电源可以给几个电源供电,我相信6或8个。我用一个330欧姆的电阻来设定电压。 第6步:RTC - 实时时钟 我使用了DS3231实时时钟芯片。他们很便宜,他们保持良好的时间。 第7步:守则 nixieclocktest6.inonixieclocktest6.ino下载,详情见附件。 第8步:最终产品 我把它放在一个带有清晰盖子的很酷的项目盒子里,这样你就可以看到它里面的样子。 第9步:修改 我在Arduino数字引脚2(D2)和地之间以及数字引脚3(D3)和地之间增加了一个瞬时接触开关。这使我可以添加2个按钮来调整时间。代码已经更新,以反映这一点。我正在使用轮询,延迟了开关的去抖动。 最初MPSA92晶体管是倒退的,所以我不得不翻转它们。我将更新下一轮电路板上的丝网印刷。 我将需要更新阴极防伪代码来循环遍历所有的数字,而不仅仅是前两个。 最初为阳极电阻选择15K电阻,但是多路复用,需要更高的平均电流,所以我把它们换成了10K。
1、设计要求基于小脚丫FPGA开发板和四位数码管实现数字时钟的设计,要求: 1)采用FPGA+按键+四位数码管实现数字时钟功能; 2)时间显示格式:XX:XX:XX (时:分:秒),采用24小时制; 3)四位数码管显示时分秒,可以通过按键控制选择显示时分界面还是分秒界面。 4)通过按键设定初始时间。 5)设置在整点12点时,通过蜂鸣器响示意整点报时。蜂鸣器响维持大概5S; 2、硬件连接FPGA的系统时钟来自于小脚丫FPGA开发板配置的24MHz时钟晶振,连接FPGA的C1引脚。 本设计用到五个个按键K1~K5,硬件设计如图1所示,五个按键分别连接到FPGA的B8、C8、A10、A11和A12引脚。 图1. 按键硬件设计 本设计用到一个蜂鸣器来示意整点报时,硬件设计如图1所示,蜂鸣器连接到FPGA的B2引脚。 图2. 蜂鸣器硬件设计 本设计用到四位数码管来显示时间,四位数码管用两个74HC595驱动,硬件设计如图1所示,74HC595的串行时钟SCK、并行时钟RCK和串行数据DIN分别连接到FPGA的N2、M1和K1引脚上。 图3. 数码管驱动74HC595硬件设计 3、工作原理1)使用计数器做分频处理,得到周期为1秒的脉冲信号; 2)使用三个8bit的BCD码表示时钟、分钟、秒钟的值,其中高4bit表示值的十位,低4bit表示值的个位; 3)正常运行时,每来一个1S脉冲信号个位加1,个位满10清零同时十位加1,当秒钟满60清零同时分钟个位加1,依次进行...直到23:59:59的下一刻全部清零; 4)按键K5,模式调节,设计共分4中模式(分秒显示、分秒调节、时分显示、时分调节),按动K5依次切换模式; 5)按键K2,时间调节,当数字时钟在时针调节、分针调节或秒针调节模式时,按动K2调节对应时间位; 6)在调时分和调分秒两个状态,可以通过K4和K2键分别左移右移要调整的位,要调整的位会通过对应位的闪烁来示意。通过K4和 K2左右移动选择好要调整的位以后,就可以通过K1和K3来增大或调小对应的位; 4、代码设计为了实现所需要的功能,我们将整个设计划分不同的模块,如图4所示。 图4. 数字时钟程序设计框架 4.1五位按键消抖模块 图5. 五位按键消抖模块 Ø输入:五位的按键电平信息输入 Ø输出:五位消抖后的脉冲输出 Ø功能:将按键按下一次的电平信号,经过消抖后变成一个维持一个时钟周期的脉冲信号; Ø原理: 图6. 按键抖动特性 FPGA过20ms检测按键是否按下,存储检测到的值,并且按位取反与前一个20ms检测的值相与,得到一个值,如果为1,则判断按键按下,否则则无按下。 图7. FPGA按键的理解示意图 4.2电子表显示控制模块。 图8. 电子表显示控制模块 Ø输入:五位的按键脉冲 Ø输出:十六位的BCD码输出,每四个代表一个十进制数; Ø原理:四位的位闪烁控制信号。某一位为一代表这位对应的数码管的一位进行闪烁显示。(在调整状态下,会让当前调整的哪一位进行闪烁。正常显示状态下seg_flash_data全为零); Ø功能:主要就是一个状态机,通过检查输入的按键信息,进行显示状态切换,时间调整。四个状态分别为:显示分秒,调分秒,时分显示,调时分;当K5按键按下(key_pulse[4])时依次跳转,如图9所示。 图 9. 数字时钟状态控制设计 4.3数码管译码模块 图10. 数码管译码模块 Ø输入:四位的BCD码数据 Ø输出:八位的七段数码数据 Ø功能:一个case语句,将输入的四位BCD码转化为七段数码数据; Ø原理:数码管分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳极(COM)需接+5V才能使其工作。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码,共阴极(COM)需接GND才能使其工作。小脚丫拓展板上的数码管如下图所示: 图11. 数码管内部电路 共阴极数码管: 位选为低电平(即0)选中数码管;各段选为高电平(即接+5V时)选中各数码段;由0到f的编码为: 4.4四位数码管显示控制模块。 图12. 数码管显示控制模块 Ø输入:四个八位的七段数码管数据和位闪烁控制信号seg_flash_data. Ø输出:需要串行输出给74HC595的十六位数据; Ø功能:模块就是循环的将四位七段数码数据,组合一个十六位的输出数据; 4.5 74HC595驱动功能模块 图13. 74HC595驱动功能模块 Ø输入:十六位的位选段选数据。 1)duan_wei_data[13:0]分别对应: 2)[ X,X,H+,H-,DIG4,DIG3,DIG2,DIG1,DP,G,F,E,D,C,B,A] ; Ø输出:SPI接口输出,串行输出十六位位选段选信号; Ø

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值