0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何避开嵌入式设计的抖动陷阱

电子工程师 来源:网络整理 作者:工程师黄明星 2018-06-06 16:19 次阅读

时钟抖动有几种不同的类型和测量方法,以及相应的规格指标,但大多数硬件设计人员没有时间去研究这些,因为对于电路板设计师而言,时钟抖动规格指标的细微差别似乎是微不足道的琐碎之事。设计师往往更把精力集中在眼前较重大的设计任务,以优先级顺序这些是针对FPGA逻辑、微处理器综合体、数据层面交换结构、控制层面交换架构、RF信号链路、电源、互连互通问题、设计仿真、建模等设计任务。

因此,设计人员必须假定来自各个芯片厂商的参考时钟抖动规格指标与他们预期使用的这些器件相关,并且这些规格指标已经被完全和正确地确定。

但如果没有一些基本准则可循,设计师可能会指定过高的时钟抖动要求,导致采用更昂贵的时钟器件并增大不必要的物料成本(BOM)。或者出现更糟糕的情况,针对某特定应用,把时钟抖动要求降低,相应的错误可能会超出给定应用可接受的误差率水平。这种情况只能在产品开发周期后期在对最初原型板进行性能指标测试时才可以发现,因此很可能会影响最终产品的发布时间。

最根本的检查点

设计师要考虑的第一个也是最根本的检查点是确定针对特定应用最相关的时钟抖动类型。表1总结了根据应用类型的一些抖动分类,以及相应的规格指标限定。

表1:与应用相关的抖动。

如何避开嵌入式设计的抖动陷阱

周期抖动是可以最直观理解的抖动类型,它简单地指与周期理想值(或平均值)的偏差,是同步接口和逻辑设计相关的抖动类型,应用案例包括与同步存储器端接的微处理器接口,或FPGA内部的同步状态机设计。

随着时钟周期缩短或扩大,可以对同步设计的建立时间或者保持时间产生巨大影响,这也是为什么周期抖动与这些类型的应用相关的原因。

高频抖动,尤其是相邻周期(C2C)抖动,是与扩频时钟相关的抖动类型。扩频时钟有意诱发低频抖动来减轻电磁干扰(EMI),这些都是传统上消费电子产品所担心的。但是,由于扩频是低频率抖动,它不会影响相邻周期抖动测量。出于这个原因,相邻周期抖动规格指标可用于量化扩频时钟的抖动性能。

仔细分析频域抖动

重要的是要特别注意频域抖动以及它在高速串行通信中的适用性。具体来说,针对高速串行/解串器(SerDes)设计的参考时钟抖动要求应该详尽。频域抖动是最不被理解的抖动类型,因此也最容易导致出现一些常见的电路板设计缺陷。

图1所示为一个通过频谱分析仪生成的相位噪声(PN)曲线,频谱分析仪可捕获时钟信号的频谱内容,因此有助于了解时钟抖动的频率特性。这对于说明相位扰动的随机性也很有帮助,相位扰动的随机性意味着随机频率扰动,并且这反过来又意味着随机周期扰动。

如何避开嵌入式设计的抖动陷阱

图1:相位噪声(PN)曲线常用来表示频域中的时钟抖动。

因此,PN曲线代表的是随机时钟周期抖动,但是在频域。从数学上看,它是时钟信号的噪声(即抖动)相对于在特定基频频率偏差下的时钟基频F0的强度。

在特定频率偏差下的抖动强度可以表明该抖动值多长时间发生一次,因此一个PN曲线表明一个特定的随机频率偏差多长时间发生一次。抖动强度与载波的比值以dBc/Hz表示,dBc/Hz值越低越好,意味着更小的抖动强度。

均方根(RMS)相位抖动是由PN曲线外推得到的抖动量化值,它不能与时域抖动规格指标的RMS周期抖动混淆。转换的RMS相位抖动值在很大程度上是一个积分函数,其值取决于根据该PN曲线下的区域面积。

但是这个面积需要由一个积分区间来界定,或者被通常称为“遮罩(Mask)”。Mask是与特定应用的传递函数而相关联,其目的是限制或阻止抖动量化值在一个频率范围内,该应用的传递函数不再进行过滤。这意味着,任何RMS相位抖动要求必须由所关注的积分范围限定。

一个PN曲线,以及相应的RMS相位抖动量化值,是串行/解串器(SerDes)应用相关的时钟抖动类型。同步数字体系(SDH)、同步光纤网络(SONET)、以太网、PCI Express(PCIe)、串行RapidIO(SRIO)和SMPTE(美国电影电视工程师协会)等工业串行标准都利用这种时钟抖动类型用于界定必要的参考时钟抖动。

作为参考,一个具有代表性的SerDes通信信道如图2所示。锁相环(PLL)是输入时钟抖动固有的低通滤波器,这样, 发射器(Tx)的SerDes时钟倍增单元(CMU)PLL用作参考时钟抖动的低通滤波器。

如何避开嵌入式设计的抖动陷阱

图2:一个具有代表性的高速串行通信信道。

此时钟的高频抖动不被转移到该PLL的输出,因此,不会对SerDes的输出抖动产生任何影响。这个Tx CMU锁相环的低通滤波器特征确定了所感兴趣积分频带的上限转角频率(corner frequency)。

以类似的方式,用于接收器SerDes参考时钟由内部接收器SerDes CMU锁相环倍乘。该时钟然后用于基于相位内插器的时钟和数据恢复(CDR)电路,其可作为参考时钟抖动的高通滤波器。

因此,这个时钟的低频抖动不会传递到用于CDR的相位对准器输出。接收器相位内插器的高通滤波器特征确定了感兴趣积分频带的下限转角频率。

所有这些效应会界定具体串行标准的SerDes传递函数,以及那些确定感兴趣的频带或者Mask,例如用于10G以太网的1.875MHz到20MHz的频带。

芯片厂商的规格指标并不一致

除了许多不同的抖动类型和细微差别,芯片制造商如何为他们的器件确定所需的时钟抖动也有很多的不确定性。 SerDes芯片厂商为他们的元件确定所需的参考时钟抖动,但是物理层、FPGA和处理器等器件规格指标则不一定与行业串行接口标准的方法学和测量细节等保持一致。

例如,大部分网络通信标准(如千兆以太网,10千兆以太网等)指定峰-峰(P2P)值总抖动作为一个单位间隔(UI)的百分比,其中一个UI在给定串行标准中相当于时间域1比特间隔。但是峰-峰值总抖动UI实际上是一个SerDes眼图关闭(eye closure)规格指标,以符合可接受的比特误码率(BER),根据工业串行标准其通常是10-12。

这些标准并没有界定总抖动UI预算有多少被分配给互连、光学、串行解串器,或驱动SerDes的参考时钟。其结果是,电路板设计人员只能听命于芯片供应商以及在他们的数据表中规定的参考时钟抖动。通常,这些规格指标都过于保守,把大多数抖动预算给予了集成的SerDes,为需要驱动SerDes的参考时钟只留下少许。

使问题更加复杂的是,来自时钟芯片厂商的抖动规格指标可能是模糊的,也不一定完整。一些供应商对于时钟产品的描述(specmanship)建立在不适当规格指标和测量结果基础上,通常不适合于目标应用,对于给定的规格指标会产生不一致并缺失关键的限定。

常见的抖动陷阱

对于电路板设计人员来说,有许多容易导致错误的陷阱。本节会扩展来讨论一些下面列出的常见陷阱的更多详细信息

P2P随机抖动规格指标没有针对目标应用BER限定

把针对通信应用而设计的时钟抖动规格指标和方法学应用于PCIe端口

PN曲线生成时关断杂散波以便满足总相位抖动要求( 通过使用随机RMS相位抖动测量忽略了确定性抖动)

抖动的测量/确定仅仅是针对器件,而不是针对给定应用(如整数模式下的w/内置 MultiSynth分频器)的案例配置

添加RMS相位抖动(Additive RMS phase jitter)的测量作为输入和输出抖动之间的简单差值,而不是输入和输出抖动平方差的平方根值

例如,图3所示随机周期抖动的高斯分布裙边会无限延伸下去,这是因为随机抖动没有边界,因此,实际测量P2P周期抖动绝对最大值并不现实。然而,在高斯分布上超过一个点的抖动可以给定一个概率。 BER依特定应用而定,并且通常用于此目的。

如何避开嵌入式设计的抖动陷阱

图3:随机周期抖动的高斯分布裙边无限延伸。

没有芯片供应商提供的可接受的BER,P2P周期抖动规格指标毫无意义。然而,这个限定往往难以从器件的数据表中看到。对于给定的应用,如果已知道可接受的BER,该给定应用的RMS周期抖动之后可以计算出来。所以,重要的是设计者必须要知道他们应用的正确BER。此外,请注意这种方法不是针对于周期抖动,因为它可用于计算各种类型的RMS抖动。作为例子,一个RMS相位抖动的计算如下所示:

考虑到10GE PHY需要的随机相位抖动UI=0.18 UI

。。。 因为比特率是10.3125Gbps,1 UI=96.9pS

。。。假定给定应用可接受的BER是10-12

那么,所需的相应RMS相位抖动的计算公式为:

[(0.18)*(96.9pS)]÷(14.069) = 1.24pS

PCIe已经成为通信应用普遍的控制层面接口,以太网物理层等器件集成PCIe端口用于连接带外的控制层面微处理器(micro)。至少一个著名的以太网PHY厂商已经为他们的PCIe参考时钟确定RMS相位抖动,其方式类似于在同样器件中他们为以太网端口确定RMS相位抖动,通过由频谱分析仪所产生的相位噪声曲线进行有效地外延。但是,这种方式不符合PCIe标准抖动方法,如图4中可详细说明。

如何避开嵌入式设计的抖动陷阱

图4: 针对PCIe标准测量参考时钟抖动的7个步骤。

按照PCIe标准测量参考时钟抖动的基本步骤如下:

(假定为常见模式时钟)

1) 用示波器(高取样率)得到所测周期时间的初始数据记录

2) 通过每个数据点减去平均值来计算针对每个周期的‘周期误差’

3) 通过对每个周期的周期误差进行累积求和,从而转化为‘相位误差’

……得到您的有效‘初始’相位误差

4) 通过快速傅里叶变换(FFT)转变到频域

5) 把特定的遮罩(mask)应用于感兴趣的标准,Gen1,Gen2,或者Gen3

6) 进行快速傅里叶逆变换(iFFT)操作再变换到时域

……得到‘过滤的’相位误差

7) 根据适当的标准误码率(BER)要求把RMS相位抖动转换为峰值到峰值抖动

……10-12误码率,通过RMS的14X乘法器得到相应的峰值到峰值抖动

相反,PCIe方法是采用示波器测量得到的原始周期样本,然后应用FFT、滤波器和iFFT步骤来得出适当的RMS相位抖动测量。重要的是要注意到这两种不同的方法可以产生完全不同的结果。

因此,设计人员可能会误认为设计的时钟器件达到或超过了PCIe参考时钟抖动规格指标或者标准,但是这些器件却不足以驱动PCIe端口,原因是这些PHY厂家采用了不同的方法和/或过滤器来确定所需的参考时钟抖动。

如先前所讨论的,P2P总抖动(UI)是特定于SerDes的数据信号。这包括确定性和随机抖动对于数据信号眼图的贡献。人们普遍认为,在SerDes链路的确定性抖动很大程度上与链路本身和其他系统障碍有关。

随机抖动主要可归因于SerDes外部参考时钟和SerDes内部的PLL。但我们知道,参考时钟也具有一定量的确定性抖动。此外,许多PHY供应商的数据表并没有区分列出驱动他们SerDes参考时钟的随机与确定性抖动要求。由于这些原因,另一种常见的设计陷阱是使用PN曲线来量化时钟器件的总相位抖动,其中包括确定性抖动,但杂散被关断 (杂散是“周期性杂散噪声”的简写,代表了时钟的确定性抖动)。此确定性抖动可来源于电路板设计本身和/或时钟芯片,串扰、电磁干扰(EMI)、开关电源噪声、和PLL小数反馈分频器都可以是这种确定性抖动的来源。

对于图5中所示的PN曲线例子,其特殊的电路板设计使在PLL输出端测得显著的杂散内容。不幸的是,这些杂散噪声处在该应用感兴趣的12kHz至20MHz积分范围内。因此,参考时钟的总相位抖动已经超出了SerDes芯片供应商的规格指标,结果是较高的BER。采用EMI嗅探器(sniffer)分析这些问题的根本原因,发现这种杂散的内容可追溯到用于给PLL供电的同步降压开关稳压器,通过电路板布局修改和无源元件的变化可以减轻这一问题。

如何避开嵌入式设计的抖动陷阱

图5:具有杂散噪声的 PN曲线示例。

然而,某些杂散内容来自PLL时钟器件本身。重要的是要记住,任何时钟合成器可以产生许多不需要的和与差频率,它们的强度可能很大足以显著出现在PN曲线上。

当今优秀的PLL设计都采用先进的硅设计技术。这些进展有助于减少内在产生的随机和确定性(杂散)抖动。但对于抖动关键的板载时钟,设计师需要义不容辞地与定时器件厂商验证给定的时钟器件其相应的相位抖动规格指标是基于杂散导通时得到的PN曲线。

一个流程图让你步入正轨

图6中所示的流程图旨在针对具体应用把电路板设计人员引导到正确的抖动规格指标,从而正确地选择时钟芯片。

如何避开嵌入式设计的抖动陷阱

图6:流程图有助于针对您的应用来确定正确的抖动。

首先要确定应用类型。它是一个同步接口或同步逻辑设计、一个微处理器参考时钟规格指标或扩频时钟、一个高速串行通信或串行/解串器设计?在许多电路板设计中,往往所有这些应用类型都需要进行处理,而且它们都有不同的抖动要求。

对于同步接口或同步逻辑设计,所涉及的应该是周期抖动。你是从P2P周期抖动规格指标开始工作吗?如果是这样,那么你需要确定两个关键限定:首先,按照JEDEC(电子器件工程联合委员会),你在使用的芯片P2P周期抖动是基于10K样本大小。其次,芯片供应商为您提供针对他们规格指标的假定BER。有了这两个限定,就可以得出一个相应的RMS周期抖动规格指标以便选择适当的时钟器件。

如果它是一个消费类电子产品的应用来实现扩频,那么你可能需要使用相邻周期抖动规格指标。按照JEDEC标准,假定相邻周期抖动是在跨越连续1000个周期进行测定。你需要确认是不是这种情况,之后你会有一个有效的相邻周期抖动规格指标来确定相应的时钟芯片。

如果它是一个高速串行通信设计,那么你应该首先询问是否串行标准采用了传统的扩展频谱分析仪方法来量化相位噪声。此外,重要的是要注意PHY厂商针对规格指标到底提供了什么,是P2P总抖动UI,还是P2P随机抖动UI?

需要记住的是RMS只针对于随机抖动,需要将随机抖动要求被BER乘数相除以便得到相应的RMS随机抖动UI。对于随机抖动,你可以使用一个关断杂散的PN曲线,通过积分得到RMS相位抖动值。但是,如果采用一个接通杂散的PN曲线来得到确定性抖动,然后在Mask积分,那么得到的相应值不再是RMS,而是总的相位抖动。

该流程图的目的是针对您的应用引导您通过一个系统化的途径来确定正确的抖动,流程的设计是专门用来避免在本文中详细介绍的常见电路板设计陷阱。

一个有用的时钟器件规格指标应该能够描绘出不同的输出结构和每个结构的相应抖动能力,它还可以针对本文中介绍的不同抖动类型提供规格指标,使设计人员可以为他们的特定应用做好限定。作为一个例子,可以考虑图7中所示的通用频率转换器(UFT)。

如何避开嵌入式设计的抖动陷阱

图7:IDT8T49N28X通用频率转换器。

这种可配置的时钟器件有几个先进的功能,非常适合于通信线路卡(line-card)应用。它能够以单一器件提供令人印象深刻的高性能(例如低相位噪声)和灵活性。为了实现这种灵活性,该器件采用了一种混合有基于整数和分数的输出分频器,具有为每个输出类型对应的RMS相位抖动差值,详见本器件规格指标。此外,该器件的数据表按照之前提到的PCISIG方法学,以一个单独的表格突出了PCIe相位抖动性能,从而注意到了该串行接口标准中方法学的差异。

重要的是要认识到,一个可配置时钟数据表并不能够覆盖所有的应用案例情况。因此,鼓励设计人员针对特定的应用案例去寻求相应的抖动性能,因为其结果可能略有不同。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电路板设计
    +关注

    关注

    1

    文章

    127

    浏览量

    16477
  • 微处理器
    +关注

    关注

    11

    文章

    2247

    浏览量

    82313
  • 时钟抖动
    +关注

    关注

    1

    文章

    62

    浏览量

    15917
收藏 人收藏

    评论

    相关推荐

    【最完全】嵌入式入门的资料。

    针对希望了解嵌入式入门的几本基本资料,尤其适合想系统学习嵌入式开发的人。其中包括C专家、陷阱与缺陷等,由于大小限制,明日上传其资料。
    发表于 11-19 17:29

    避开无源元件的陷阱

    避开无源元件的陷阱如果选错无源元件,再好的运算放大器或数据转换器也可能会表现不佳本文说明需要注意的一些基本陷阱
    发表于 07-29 17:11

    嵌入式系统智键盘软件设计问题解决方案

    系统键盘软件设计存在3方面问题:软件去抖动、等待按键抬起和连击处理。1嵌入式系统键盘软件设计的3个问题1.1软件去抖动问题一次完整按键过程的时序波形如图1所示。当按键未被按下时,单片机端口输入为通过
    发表于 06-21 07:32

    嵌入式系统高级C语言编程

    嵌入式系统高级C语言编程》将以实际项目中的代码作实例来进行介绍,详细分析在嵌入式系统开发中程序员应该注意的方法,技巧和陷阱
    发表于 10-27 16:36 4712次阅读

    PC机键盘防抖动技术在嵌入式系统中的移植

    本文介绍了常用嵌入式系统按键输入的软件消抖方法及PC机键盘防抖动技术在嵌入式系统中的移植。
    发表于 03-28 16:59 0次下载

    嵌入式软件是什么意思_嵌入式软件的分类有哪些

    本文首先阐述了嵌入式软件的概念,其次介绍了嵌入式软件的特征,最后介绍了嵌入式软件的分类。
    发表于 08-31 15:54 1.6w次阅读

    什么是嵌入式_如何入门和提高嵌入式

    因为首先,嵌入式有不少组合名词,例如嵌入式系统,嵌入式软件,Linux嵌入式,Android嵌入式嵌入
    发表于 09-21 15:00 7084次阅读

    嵌入式系统与嵌入式PLC

    嵌入式系统与嵌入式PLC(嵌入式开发面试题目)-该文档为嵌入式系统与嵌入式PLC总结文档,是一份很不错的参考资料,具有较高参考价值,感兴趣的
    发表于 07-30 10:38 24次下载
    <b class='flag-5'>嵌入式</b>系统与<b class='flag-5'>嵌入式</b>PLC

    嵌入式论文

    嵌入式论文(linux嵌入式开发教程)-嵌入式论文                       
    发表于 07-30 14:34 22次下载
    <b class='flag-5'>嵌入式</b>论文

    嵌入式详解

    嵌入式详解(stm32嵌入式开发实例)-嵌入式详解,有需要的可以参考!
    发表于 07-30 16:07 64次下载
    <b class='flag-5'>嵌入式</b>详解

    嵌入式】基于ARM的嵌入式Linux开发总结

    前言嵌入式知识点复习一嵌入式知识点复习二 --体系结构嵌入式知识点复习三 --ARM-LINUX嵌入式开发环境嵌入式知识点复习四 --arm
    发表于 10-19 18:32 26次下载
    【<b class='flag-5'>嵌入式</b>】基于ARM的<b class='flag-5'>嵌入式</b>Linux开发总结

    C和嵌入式

    1 嵌入式领域的C语言假定掌握了C语言基础,了解学习C在嵌入式领域的应用有哪些特殊之处。工作中遇到的基础知识问题请自行解决,推荐阅读《C程序设计》、《C和指针》、《C陷阱与缺陷》,最好还能理解编译
    发表于 10-19 18:33 8次下载
    C和<b class='flag-5'>嵌入式</b>

    视频教程-嵌入式Linux开发基础-嵌入式

    嵌入式Linux开发基础 嵌入式工程师、嵌入式讲师、10多年嵌入式开发实战经...
    发表于 11-02 13:21 30次下载
    视频教程-<b class='flag-5'>嵌入式</b>Linux开发基础-<b class='flag-5'>嵌入式</b>

    嵌入式学习之路:初识嵌入式

    一、初识嵌入式1.1 什么是嵌入式?1.1.1单片机开发:1.1.2嵌入式开发:1.2 单片机开发与嵌入式开发分区别1.2.1单片机开发1.2.2
    发表于 01-04 10:45 76次下载
    <b class='flag-5'>嵌入式</b>学习之路:初识<b class='flag-5'>嵌入式</b>

    如何避开无源元件的陷阱

    电子发烧友网站提供《如何避开无源元件的陷阱.pdf》资料免费下载
    发表于 11-28 10:19 0次下载
    如何<b class='flag-5'>避开</b>无源元件的<b class='flag-5'>陷阱</b>