深入分析时钟信号走在PCB的表层到底有什么风险?

2024-02-27 17:28

本文主要是介绍深入分析时钟信号走在PCB的表层到底有什么风险?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

高速先生成员--黄刚

首先不要质疑前辈们的话,时钟信号的确最好不要放在表层,哪怕是你认为很低频的时钟,像25MHz、100MHz、156.25MHz这些时钟。做多了高速串行信号设计的工程师们可能只会觉得高速信号不应该放在表层,原因给出得也非常合理,例如表层的阻抗加工误差会比较大,高速信号对阻抗的要求很高;又或者表层的绿油损耗很大,高速信号对损耗的要求也很高等等,似乎都觉得速率高的信号才值得应该重视。

的确,高速信号有着它们的设计难点,但是如果你认为一个100MHz的时钟信号就可以随便走线都没问题的话,那可能也有失偏颇了!高速先生马上就告诉大家一个“残酷”的事实,100MHz的时钟信号也可以是很“高速”的信号。时钟的频率低不代表没有更高频的能量,频率低只是时钟信号外在的一个掩饰,它最可怕的地方其实是在。。。它的上升下降沿!

285-02.png

我们可以看这两个频率一样的时钟信号,什么叫频率一样,应该不用过多说明了吧。

 

285-03.png

它们的差别只是在上升/下降沿的时间不同。没错,就是因为这个差别,它们包含的高频分量就差很老远了。红色的信号上升/下降沿很快,从频率分量看,它的高频分量更为丰富,而蓝色的时钟信号则相反。所以,它们可以叫做频率相同,但是高速程度不同的时钟信号。

 

285-04.png

那时钟高频分量多有什么风险呢?高频分量多的话能量就很容易不受控制的到底乱窜,如果刚好加上时钟信号走在表层的话,整个效果就像下面这个场景一样了。

 

285-05.png

对,铺垫了半天,今天我们要分析的就是时钟信号的EMI辐射问题。上面都是定性的去分析,下面我们将以一个具体的PCB设计案例来进行定量的展示。一个很简单的时钟信号走线设计,由于两个芯片距离很近,时钟的频率也只有25MHz,那设计工程师就直接表层走过来就完事了!

 

285-06.png

我们拿到收发芯片的仿真模型,去仿真这条短时钟链路的波形,由于有一个源端的串阻进行端接,加上时钟频率也就25MHz,因此波形质量没太多的问题。

285-07.png

除了仿真时钟信号的波形外,高速先生还顺带仿真了下时钟信号对这块PCB板在远场时的EMI辐射。仿真结果如下:可以看到,虽然只是25MHz的时钟,但是对远场EMI的影响可以cover到10倍以上的基频。当然了,这个结果其实也是满足EMC指标的,毕竟走线很短,而且还有端接。

285-08.png

那看起来就是没啥问题嘛!高速先生从来都很严谨,于是我们就对比同一块板子上另外一根同频率但是走线内层的时钟信号,这根信内层信号时钟还更长。

 

285-09.png

同样的,我们对这根内层时钟进行仿真,在良好端接的情况下,时钟信号的波形也是没问题的。

285-10.png

我们也进一步仿真下这根内层时钟的远场EMI结果,会发现这根长度长好几倍的内层时钟的EMI辐射量级居然还比表层的这根这么短的时钟在量级还小差不多10db。

 

285-11.png

做到这里其实应该能说明问题了,但是高速先生还额外再仿真一种case,那就是这根短的表层时钟走线如果端接不理想或者没端接的时候呢?波形质量变差的同时对EMI辐射的影响会不会加剧呢?那我们继续往下做,我们把这个PCB设计中的串阻不用,也就是直接短路,不加串阻的情况下,由于反射没有被端接,接收端的波形会产生过冲,在我们的预料之中。

 

285-12.png

关键我们要看在这样的情况下,EMI的辐射情况是怎么样的?从下面的结果可以看到,在时钟信号端接不好的情况下,不仅会影响信号质量,而且会产生更多的高频分量,EMI的辐射量级对比端接理想的情况下,居然足足恶化了10db,不敢想象,如果走线长度更长的话,恶化的程度估计就更厉害了。

 

285-13.png

最后总结一下吧,时钟信号的上升沿就是一个难点所在,除了对上升沿本身的单调性要求外,上升时间如果很小的话,就会出现上面说的信号过冲和EMI辐射的恶化。有的产品不仅要重视信号质量本身,对EMC的要求也很高。因此不要小看这百来MHz的时钟信号,有一些设计经验还是应该去重视和遵循的哈!

这篇关于深入分析时钟信号走在PCB的表层到底有什么风险?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/753104

相关文章

第10章 中断和动态时钟显示

第10章 中断和动态时钟显示 从本章开始,按照书籍的划分,第10章开始就进入保护模式(Protected Mode)部分了,感觉从这里开始难度突然就增加了。 书中介绍了为什么有中断(Interrupt)的设计,中断的几种方式:外部硬件中断、内部中断和软中断。通过中断做了一个会走的时钟和屏幕上输入字符的程序。 我自己理解中断的一些作用: 为了更好的利用处理器的性能。协同快速和慢速设备一起工作

列举你能想到的UNIX信号,并说明信号用途

信号是一种软中断,是一种处理异步事件的方法。一般来说,操作系统都支持许多信号。尤其是UNIX,比较重要应用程序一般都会处理信号。 UNIX定义了许多信号,比如SIGINT表示中断字符信号,也就是Ctrl+C的信号,SIGBUS表示硬件故障的信号;SIGCHLD表示子进程状态改变信号;SIGKILL表示终止程序运行的信号,等等。信号量编程是UNIX下非常重要的一种技术。 Unix信号量也可以

【H2O2|全栈】Markdown | Md 笔记到底如何使用?【前端 · HTML前置知识】

Markdown的一些杂谈 目录 Markdown的一些杂谈 前言 准备工作 认识.Md文件 为什么使用Md? 怎么使用Md? ​编辑 怎么看别人给我的Md文件? Md文件命令 切换模式 粗体、倾斜、下划线、删除线和荧光标记 分级标题 水平线 引用 无序和有序列表 ​编辑 任务清单 插入链接和图片 内嵌代码和代码块 表格 公式 其他 源代码 预

Allegro PCB--报错

1。 走线上打孔 问题:在走线上打的Via,我通过"Assign net to Via", 给与网络。成功后。 跑Tools\Database check\ Update all DRC(including batch), Via 网络又没有了 原因& 解决方法: VIA没有和走线完全重合 换个方法: 直接在线上打孔 或者走线change成shape, 或者用细导线把孔连到线路上。

Linux中如何屏蔽信号

本篇文章主要学习Linux的信号处理机制,着重学习屏蔽信号部分。屏蔽信号处理的两种方式类似于信号的捕获,一种方式是直接对其设置,另一种方式是先获得描述符的掩码,然后对其设置操作。 本文主要参考自《嵌入式linux系统使用开发》,作者何永琪,Thanks. 在linux系统中,如何处理某个进程发送的一个特定信号呢?一般来说有三种方式: 1) 忽略信号 2) 屏蔽信号 3) 为该信号添

Anthropic 创始人 Dario Amodei 谈:关于护城河与风险,AI 大很难直接替代人

护城河的迷思   近期,Anthropic创始人Dario Amodei与投资人Erik Torenberg进行了一场引人关注的对话。他们探讨了AI的护城河与潜在风险。话说,护城河就像酒水的保质期,过了时间就得小心别翻车。Amodei提到,AI虽有强大的潜力,但短期内难以完全替代人类的智慧。这可让很多人松了一口气,毕竟机器发热总比人心复杂,听着都觉得不舒服。 聪明与控制的博弈   Dar

量化交易面试:什么是连贯风险度量?

连贯风险度量(Coherent Risk Measures)是金融风险管理中的一个重要概念,旨在提供一种合理且一致的方式来评估和量化风险。连贯风险度量的提出是为了克服传统风险度量方法(如VaR,风险价值)的一些局限性。以下是对连贯风险度量的详细解释: 基本概念: 连贯风险度量是指满足特定公理的风险度量方法,这些公理确保了风险评估的一致性和合理性。 这些公理包括:非负性、次可加性、同质性和单调

油表加速器时钟屏保 就是这么酷酷的

太酷了!这个时钟屏保太有个性了!油表加速器时钟屏保,模拟汽车加速表盘,非常有质感,用它做屏保,简直就是酷毙了~!今天小编给大家分享一个非常实用好看的时钟屏保(芝麻时钟),官网地址(https://clock.zhimasoft.cn/?bili) 芝麻时钟-油表加速器时钟屏保 我们一起来看下,油表加速器表盘时钟屏保是怎么设置的? 1、打开芝麻时钟软件,找到"时钟屏保"菜单,点击后打开;(

彩虹数字屏保时钟 芝麻时钟开启个性化的时代 屏保怎么能少它

彩虹数字屏保时钟 芝麻时钟开启个性化的时代 屏保怎么能少它?电脑屏保多样化,让大家有了更多的选择,让更多人有机会把自己的电脑打扮得漂漂亮亮,今天小编给大家推荐:芝麻时钟(官网下载地址:http://clock.zhimasoft.cn/?bili),一起看下怎么开启彩虹数字时钟屏保吧! 彩虹数字屏保时钟 1、先下载芝麻时钟到电脑,可以百度,或者微软应用商城搜索“芝麻时钟”下载;

信号与信号量的区别[转]

信号量(Semaphore),有时被称为信号灯,是在多环境下使用的一种设施,是可以用来保证两个或多个关键代码段不被并发调用。在进入一个关键代码段之前,线程必须获取一个信号量;一旦该关键代码段完成了,那么该线程必须释放信号量。其它想进入该关键代码段的线程必须等待直到第一个线程释放信号量。为了完成这个过程,需要创建一个信号量VI,然后将Acquire Semaphore VI以及Release Se