深度论证-高速走线控制100欧姆阻抗一定是最好的选择吗?

2024-05-14 15:28

本文主要是介绍深度论证-高速走线控制100欧姆阻抗一定是最好的选择吗?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

高速先生成员--黄刚

对于高速差分信号到底需要控制多少欧姆的阻抗,高速先生相信大部分工程师首先都会看下例如信号的协议文档或者芯片的文档,看看里面有没有推荐的控制阻抗值。例如像PCIE信号,在4.0之后的阻抗会明确要求按照85欧姆来控制,USB阻抗会要求控制90欧姆等。除了这一部分有明确的阻抗要求外,其他没明确要求的高速信号你们会控多少欧姆阻抗呢?就好像为什么PCB的单端走线要控制50欧姆一样,差分走线如果没有明确协议规定,那就按100欧姆来控制。很多工程师其实都不一定很清楚的知道内在的理论和原因,但是也会潜意识的控制100欧姆,可见100欧姆差分线这个观念是多么的深入人心!

295-01.png

但是,深入人心归深入人心,本文想探究的是:100欧姆真的是在任何产品中最好的阻抗选择吗?当然,从反射的理论来说,如果从收发芯片的负载到PCB的每个地方链路的阻抗都完美的做到100欧姆的话,那高速线控100欧姆肯定是最好的选择啦!意味着链路上的任何地方阻抗都匹配,完全没有反射的存在,这还能不好吗?

295-02.png

真实情况会怎么样呢?为了能有说服力,本文举2个真实项目的仿真案例,大家一起细品细品哈!

案例一:板内芯片到芯片的25G信号仿真案例

295-03.png

在芯片到芯片的PCB链路中,除了PCB走线外,一定会存在一些阻抗不连续的结构,如上面的案例中,BGA两端会存在过孔,接收端一般还会有交流耦合电容。有一定仿真经验的小伙伴们都知道,像BGA的过孔,电容这个位置的阻抗一般来说都很难做到100欧姆,大部分的case无论怎么优化,都会低于100欧姆。这个时候我们来验证如果这几个阻抗不连续点的阻抗达不到100欧姆,例如做到比较理想的95欧姆左右的情况下,PCB走线分别按照100和降低到95欧姆控制时的无源仿真性能对比。

首先我们来看看芯片到芯片链路TDR阻抗的对比,也就是PCB走线选择默认的100欧姆和降低到95欧姆来控制时的差异。

295-04.png

当然从TDR阻抗来看,不能很直观的看到差异,于是我们来看另外两个更关键的指标,那就是插损和回损的指标。

295-05.png

从插损的指标看,在优化好几个不连续点后,虽然100欧姆走线的仿真性能也就很不错了,但是从仿真结果能看到,95欧姆PCB走线的结果更有优势,无论是从回损还是插损的角度看,都是性能更好的一方。

案例二:经过背板连接器的芯片到芯片的25G信号仿真案例

另外一个案例就是跨版的25G信号的case了,整个系统的连接关系如下所示:

295-06.png

前面单板上的BGA过孔的阻抗就不再叙述了,这里要关注的是跨版连接的高速连接器这个地方。本案例中用到的这款高速背板连接器是某知名厂家的产品,是一款在这个速率下很通用,得到有效验证的连接器。

295-07.png

这款连接器厂家的标称阻抗是多少呢?92欧姆,不是你们想象中的100欧姆哦。我们拿到其中的一对连接器信号的阻抗来看,的确也差不多。90欧姆出头的样子。

295-08.png

那我们还是一样,这个系统的三块互连的板子,我们分别把高速走线的阻抗按照100欧姆和降低到92欧姆来控制,看看性能的对比。

首先我们还是看看整个链路的TDR阻抗的对比,能明显看到两个连接器的低点,如下所示:

295-09.png

那么插损和回损的性能对比又是怎么样的呢?还是让大家失望了,三块板子控制92欧姆的走线还是会比100欧姆走线的性能来得好。

295-10.png

当然,这中的理论有点复杂,这里就不展开来分析了。从设计的角度来看,如果没明确的要求,硬件工程师或者设计工程师按照100欧姆来控制高速走线本身也没太大的问题,我们很多case按照100欧姆的差分信号设计也是完全没有问题。本文更多的可能是给大家一种另类的思路,去寻找一些更优的设计方案。但是还是要弱弱的告示下哈,如果不经过比较精确的仿真,还是不要随便去尝试,因为你并不知道多少才是好,只有仿真才能很好的把链路的性能给量化出来,设计的朋友请谨慎使用这招,用得不好还是很容易翻车的哦!

295-11.png

问题来了:

列举下大家的产品在PCB设计中常见的阻抗不连续的地方,并简单描述下你们的设计优化方法?

这篇关于深度论证-高速走线控制100欧姆阻抗一定是最好的选择吗?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python与DeepSeek的深度融合实战

《Python与DeepSeek的深度融合实战》Python作为最受欢迎的编程语言之一,以其简洁易读的语法、丰富的库和广泛的应用场景,成为了无数开发者的首选,而DeepSeek,作为人工智能领域的新星... 目录一、python与DeepSeek的结合优势二、模型训练1. 数据准备2. 模型架构与参数设置3

前端知识点之Javascript选择输入框confirm用法

《前端知识点之Javascript选择输入框confirm用法》:本文主要介绍JavaScript中的confirm方法的基本用法、功能特点、注意事项及常见用途,文中通过代码介绍的非常详细,对大家... 目录1. 基本用法2. 功能特点①阻塞行为:confirm 对话框会阻塞脚本的执行,直到用户作出选择。②

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

Spring IOC控制反转的实现解析

《SpringIOC控制反转的实现解析》:本文主要介绍SpringIOC控制反转的实现,IOC是Spring的核心思想之一,它通过将对象的创建、依赖注入和生命周期管理交给容器来实现解耦,使开发者... 目录1. IOC的基本概念1.1 什么是IOC1.2 IOC与DI的关系2. IOC的设计目标3. IOC

Go中sync.Once源码的深度讲解

《Go中sync.Once源码的深度讲解》sync.Once是Go语言标准库中的一个同步原语,用于确保某个操作只执行一次,本文将从源码出发为大家详细介绍一下sync.Once的具体使用,x希望对大家有... 目录概念简单示例源码解读总结概念sync.Once是Go语言标准库中的一个同步原语,用于确保某个操

五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布

《五大特性引领创新!深度操作系统deepin25Preview预览版发布》今日,深度操作系统正式推出deepin25Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Tr... 深度操作系统今日发布了 deepin 25 Preview,新版本囊括五大特性:磐石系统、全新 DDE、Tree

Python 中 requests 与 aiohttp 在实际项目中的选择策略详解

《Python中requests与aiohttp在实际项目中的选择策略详解》本文主要介绍了Python爬虫开发中常用的两个库requests和aiohttp的使用方法及其区别,通过实际项目案... 目录一、requests 库二、aiohttp 库三、requests 和 aiohttp 的比较四、requ

el-select下拉选择缓存的实现

《el-select下拉选择缓存的实现》本文主要介绍了在使用el-select实现下拉选择缓存时遇到的问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录项目场景:问题描述解决方案:项目场景:从左侧列表中选取字段填入右侧下拉多选框,用户可以对右侧