优化PCB Via Stub系列(1):一次学会利用层叠设计降低Via Stub损耗
开路谐振对SI而言真不是个好东西,这种1/4波长谐振会带来讯号的驻波,进而降低整体通道带宽,导致SI不佳! 在高速PCB设计中,最常发生的1/4波长谐振就属过孔的Via stub,这个小小的金属残段可以酿成大大的SI问题,实务上我们要怎么避免或是说享受与其共存呢?
大致上有几种方法可以解决这个问题!
- 叠构设计
- 背钻(Backdrill)
- U-turn layout design
- B/B Via 的使用
这篇文章我们先讲叠构设计,通过走线层安排以解决Via stub带来的不良影响!
高速通道初期规划 – 通道损耗分析
在规划高速PCB时,如果能在前期就把走线层面安排得井井有条,就能避免很多后续的麻烦,也不用在制造工艺上花大钱做特殊处理,是我们认为最经济实惠的设计选择。
这里举个经典的八层板为例:把L1、L3、L6、L8当作主要讯号层,L2、L7作为Ground,然后L4、L5为Power与Ground的混合。
在进行初期SI评估的时候,我们通常不会一下子就确定所有走线层的配置,而是会先把这四个走线层面的情况分别列出来,逐层进行细部的评估,就像下面表格所呈现的方式。 这样的做法能够让我们更清楚地看到每一层走线对整体通道损耗的影响,也能更直觉地比较不同方案之间的差异性和优劣之处。
当我们通过这样分层的方式整理并分析数据后,就能从中找出最佳的走线配置,确保选定的方案能够带来最低的信号损耗。 接下来,我们再将这个筛选出来的设计提案与Layout设计团队进一步讨论,评估实际布局的可行性与困难点。
表层出线
表层出线在这个8层板的例子中,又分成L1出线与L8出线,或是说Top层与Bottom层出线。 我们先来分析走线损耗,再来看走线损耗与过孔损耗的搭配关系。
表层损耗概述
通常,表层(Microstrip)的PCB损耗会大过内层(Stripline),有几个原因:
电镀与表面处理导致铜箔粗糙度下降
在实际制作PCB时,过孔内的孔壁需要透过电镀的方式镀上一层金属来形成导电路径。 但电镀这个动作是没有办法选择性地只处理孔壁而避开其他区域的,所以原本放置在表层的铜箔也会被额外地镀上一层金属,所以有设计过叠构的各位你们会发现PCB厂都会写类似0.5oz+plating。 此外,表层之后还会再进一步进行表面处理,例如OSP或ENIG等,这些处理程序同样会对铜箔表面的粗糙度产生明显影响。 因此,实务上并不建议在表层使用好铜箔,因为经过电镀和表面处理后,原本好铜箔表面的光滑度会大幅降低,导致表面变得粗糙,最终增加了讯号传输时的铜箔损耗,讯号完整性也随之变差。
复合介质导致色散
表层的情况会比内层复杂许多,因为内层通常只会有一种介质,而表层基本就一定包含三种介质,除了CCL材料以外,还有Soldermask(SM)以及空气。 这三种介质各自有着不同的物理特性(DK/DF),特别是在高频下,它们对电磁波的反应不尽相同,就像每个材料都有自己专属的“截止频率”(Cut-off Frequency)。 当电磁波的频率接近或超过这个值时,该材料会显著改变信号的传播特性,例如吸收部分能量或改变传输速度。
由于表层同时包含三种材料,电磁波在这里传播时就必须同时“过关斩将”这三道不同的关卡。 结果,不同频率成分的信号就会因为各自受到的影响不同而产生传播速度上的差异,这种现象称为色散。 色散会导致信号中的高频与低频部分出现不同的延迟,使得原本整齐的波形变得模糊或失真。
表层出线搭配过孔配置
以表层出线来说,第一层走线具有明显优势,主要在于它不必经过PCB过孔,以一般两颗过孔的结构来看,可以省下约1dB的损耗,虽然表层的损耗较大,但是透过减少过孔数量,也是可以在短通道上(大约5 inch内)得到较佳的损耗特性。
不过第一层出线其实在执行面上不是那么容易,因为通常L1会有较多的元件挡住高速走线通道,导致难以找到适合高速讯号传输的干净走线区域。 所以更常做的是透过过孔将走线丢到L8去,当然这是不好的,除了要扛下较差的表层损耗,还要吃下两颗过孔的损耗,造成通道余裕不够,这时就得考量是否更换较好的材料,或是再将走线缩短又或是改到内层去!
况且除了损耗外的另一个原因,是表层有着较严重的Crosstalk现象,而内层对于这种Far-end crosstalk而言,是趋近于0或是说不受Crosstalk影响的,我们在这篇文章中有提到,所以这会使得绝大多数的高速讯号都被建议走在内层!
内层出线
内层出线的好处就很多了,有较优异的PCB制程管控,让损耗可以更小,还拥有较佳的Crosstalk效应,绝对是高速讯号设计首选,不过这世界真的没有100%好的,要能达到所有高速走线都走内层,大概还有两个缺点:
产生Via Stub
当我们使用机械钻孔的PCB来走内层信号时,难免一定会产生Via Stub的问题,我们能做的是尽量将Via stub控制的越短越好,这当然可以通过背钻技术控制Via stub在12mil内(现在最佳的能力在5mil),但是由于多一道PCB制程工艺,加钱无可避免,在一些中低阶产品中(例如10G/25G Router),因为这些产品本来利润就不高,多花一点成本就会明显压缩产品的毛利率。 因此我们在设计此类产品都会尽可能避免使用背钻。
除了背钻外,我们也可以透过将走线层控制在越低的层面,以得到更加的损耗控制,例如以这个8层板为例,走线可以在L6,这样Via stub只会出现在L6-L8这个长度(大概10-15mil),以中低端产品来讲,这个长度还不至于引起剧烈的损耗变化。
而如果在L3出线,与L6相同,会得到较佳的PCB走线损耗,可是较长的Via stub(以1.6mm板厚而言,大约40-50mil),会使得单颗过孔损耗从0.5dB上升至1.0dB,两颗过孔就增加了1dB,严重影响SI特性。
需要更多PCB层面
由于成本管控,大家还是会希望走线利用率能越高越好,尽量压缩PCB层数,可以将成本控制的越低。
高速SerDes走线会有TX跟RX信号,这两种信号不建议走在同一层,因为这会导致严重的Near-end Crosstalk(NEXT),尤其对内层而言,NEXT的影响理论上是外层的两倍大,换句话说,SerDes的走线层面至少需要两层!
以这种8层板来看,最经济的方式是走在L6与L8,完全不需要采取背钻技术,成本较优。 可是如果L8无法满足通道损耗要求,则两条路:第一是利用L3走线,并做背钻; 第二,加PCB层数至12层,将走线设计在L8与L10,虽然L8的Via stub会落在20几mil,可以透过3D电磁仿真软件,例如Cadence Clarity,分析一下是否可行,以我们的经验来讲这差异对于中低阶产品而言是不构成威胁的!
相关文章:
优化PCB Via Stub系列(1):一次学会利用层叠设计降低Via Stub损耗
开路谐振对SI而言真不是个好东西,这种1/4波长谐振会带来讯号的驻波,进而降低整体通道带宽,导致SI不佳! 在高速PCB设计中,最常发生的1/4波长谐振就属过孔的Via stub,这个小小的金属残段可以酿成大大的SI问题…...
STP端口状态变迁及故障拓扑变化
STP端口状态变迁及故障拓扑变化 一、STP 端口状态变迁(以标准 STP 为例,共 5 种状态) 状态功能描述能否收发数据帧能否收发 BPDU持续时间进入条件Disabled端口物理关闭或被管理员手动关闭,不参与 STP 运算。否否-端口物理 down …...
9.idea中创建springboot项目_jdk1.8
9. idea中创建springboot项目_jdk1.8 步骤 1:打开 IntelliJ IDEA 并创建新项目 启动 IntelliJ IDEA。在欢迎界面,点击 New Project(或通过菜单栏 File > New > Project)。 步骤 2:选择 Maven 项目类型 在左侧…...
mysql 事务中如果有sql语句出错,会导致自动回滚吗?
CREATE TABLE name ( id int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT ID, name varchar(32) DEFAULT COMMENT 名称, PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4; 情况1.执行下列操作, 会发现新开窗口 去查询name表时,整个事务都…...
考OCM证书前需要有OCP证书
报考OCM认证必须持有有效OCP证书。 从知识体系的构建来看,OCP 和 OCM 认证构成了一个循序渐进的学习和考核体系。OCP 认证侧重于考察数据库管理员和开发人员对 Oracle 数据库的基础架构、日常管理、性能优化、备份恢复等核心技能的掌握。通过 OCP 考试,意…...
动态图表 -- eg1
问题: 前端vue,后端springboot,实现动态表格样式,(表格List<Student>,Student类有年级,班级,文理科分类,姓名,学号,等属性。先根据年级分类…...
echo 1 > /proc/sys/kernel/nmi_watchdog报错
报错内容 /proc/sys/kernel/nmi_watchdog报错,内容如下: [root@localhost log]# echo 1 > /proc/sys/kernel/nmi_watchdog -bash: echo: write error: Unknown error 524 [root@localhost log]#报错原因 内核未配置 NMI 支持 某些自定义内核可能未编译 NMI Watchdog 驱…...
upload-labs PASS 1-5通关
PASS-01 前端javascript检查 1,第一个提示javascript对上传的文件进行审查 2,javascript工作在前端页面,可以直接删除具有审查功能的代码 3,删除之后再上传一句话木马 上传成功,可以使用蚁剑进行连接,控制网…...
大数据测试集群环境部署
Hadoop大数据集群搭建(超详细)_hadoop_小飞飞519-GitCode 开源社区 hadoop集群一之虚拟机安装(mac)_hadoop_皮皮虾不皮呀-华为开发者空间 hadoop集群二之hadoop安装_hadoop_皮皮虾不皮呀-华为开发者空间 虚拟机如何查看gateway | PingCode智库...
BUUCTF——Online Tool
BUUCTF——Online Tool 进入靶场 <?phpif (isset($_SERVER[HTTP_X_FORWARDED_FOR])) {$_SERVER[REMOTE_ADDR] $_SERVER[HTTP_X_FORWARDED_FOR]; }if(!isset($_GET[host])) {highlight_file(__FILE__); } else {$host $_GET[host];$host escapeshellarg($host);$host e…...
人工智能数学基础(三):微积分初步
微积分作为数学的重要分支,为人工智能的发展提供了坚实的理论基础。从理解数据的变化趋势到优化模型参数,微积分的应用贯穿其中。本文将深入探讨微积分的核心概念,并结合 Python 编程实例,助力大家轻松掌握这些关键知识点。资源绑…...
【11408学习记录】考研英语语法核心:倒装句考点全解+真题演练
倒装句 英语语法总结——特殊句式倒装全部倒装介词短语形容词副词There be 部分倒装否定副词或词组位于句首only位于句首虚拟条件句省略if 每日一句词汇第一步:找谓语第二步:断句第三步:简化主句定语从句 英语 语法总结——特殊句式 倒装 …...
云数据中心整体规划方案PPT(113页)
1. 引言 概述:云数据中心整体规划方案旨在构建弹性、高效的云计算基础设施,通过软件定义数据中心(SDDC)实现资源虚拟化与管理自动化。 2. 技术趋势与背景 技术革新:随着云计算、虚拟化及自动化技术的发展,…...
java练习4
创建类对象,要求写一个人的类,内容包括: 值:年龄,姓名,家庭身份 函数:年龄,姓名修改,家庭身份修改,生孩子 package a01_第一次练习.a04_创建类对象;public cl…...
在VMware上创建Ubuntu虚拟机,与Xshell和Xftp的连接和使用
一、在VMware创建Ubuntu虚拟机 1、创建新的虚拟机 2、新建虚拟机安装导向 1)自定义安装 2)稍后安装操作系统 3)选择Linux和Ubuntu64 4)可自定义虚拟机名称和虚拟机位置 5)选择合适的处理器数量 6)虚拟机…...
Java常用注解通俗解释
注解就像是给Java代码贴的"便利贴",它们不会改变代码本身的逻辑,但能给编译器、开发工具或运行时环境提供额外信息。下面我用最通俗的方式解释Java中最常用的注解: 一、基础篇:人人必知的注解 1. Override - "我…...
前端性能优化2:结合HTTPS与最佳实践,全面优化你的网站性能
点亮极速体验:结合HTTPS与最佳实践,为你详解网站性能优化的道与术 在如今这个信息爆炸、用户耐心极其有限的数字时代,网站的性能早已不是一个可选项,而是关乎生存和发展的核心竞争力。一个迟缓的网站,无异于在数字世界…...
小刚说C语言刷题——1032分糖果
1.题目描述 某幼儿园里,有 5 个小朋友编号为 1,2,3,4,5,他们按自己的编号顺序围坐在一张圆桌旁。他们身上都有若干个糖果,现在他们做一个分糖果游戏。 从 1 号小朋友开始,将他的糖…...
socket套接字-UDP(下)
socket套接字-UDP(中)https://blog.csdn.net/Small_entreprene/article/details/147567115?fromshareblogdetail&sharetypeblogdetail&sharerId147567115&sharereferPC&sharesourceSmall_entreprene&sharefromfrom_link在我之前搭建…...
使用Docker操作MySQL
在Docker中操作MySQL可以简化数据库的部署和管理过程。以下是详细的步骤,包括如何拉取MySQL镜像、创建容器以及配置远程访问权限。 拉取MySQL镜像 首先,使用以下命令从Docker Hub拉取MySQL镜像: docker pull mysql你也可以指定版本&#x…...
OpenGL ES 3.0 第二章总结:你好,三角形(Hello Triangle)
—— 从“画出第一个三角形”理解现代图形渲染流程 🔰 写在前面 OpenGL 是一个状态机型的图形 API。第二章《你好,三角形》是整个图形开发的起点,它帮助我们掌握从「准备绘制数据」到「渲染出第一个像素」的完整流程。 这一章最核心的任务是…...
neo4j vs python
1.将库中已经存在的两个节点,创建关系。 查询库中只有2个独立的节点。 方式一,python,使用py2neo库 #coding:utf-8 from py2neo import Graph,Node,Relationship,NodeMatcher##连接neo4j数据库,输入地址、用户名、密码 graph G…...
MIT6.S081-lab7前置
MIT6.S081-lab7前置 这部分包含了设备中断和锁的内容 设备中断 之前系统调用的时候提过 usertrap ,而我们的设备中断,比如计时器中断也会在这里执行,我们可以看看具体的逻辑: void usertrap(void) {int which_dev 0;if((r_sst…...
通过漂移-扩散仿真研究钙钛矿-硅叠层太阳能电池中的电流匹配和滞后行为
引言 卤化物钙钛矿作为光活性半导体的出现,为光伏技术的发展开辟了令人振奋的新方向。[1] 除了在单结太阳能电池中的优异表现,目前研究的重点在于将钙钛矿吸收层整合到叠层器件中。在硅-钙钛矿叠层太阳能电池中,将高效的钙钛矿吸收层与成熟的…...
IIC小记
SCL 时钟同步线,由主机发出。 当SCL为高电平(逻辑1)时是工作状态,低电平(逻辑0)时是休息状态。SCL可以控制通信的速度。 SDA 数据收发线 应答位:前八个工作区间是一个字节,在SCL…...
使用 ECharts 在 Vue3 中柱状图的完整配置解析
一、初始化图表实例 const chart echarts.init(chartRef.value);二、Tooltip 提示配置 tooltip: {trigger: axis,axisPointer: {type: line // 支持 line 或 shadow 类型,指示器样式},backgroundColor: rgba(0,0,0,0.7),textStyle: { color: #fff },formatter: {…...
Ubuntu实现远程文件传输
目录 安装 FileZillaUbuntu 配套设置实现文件传输 在Ubuntu系统中,实现远程文件传输的方法有多种,常见的包括使用SSH(Secure Shell)的SCP(Secure Copy Protocol)命令、SFTP(SSH File Transfer P…...
AI驱动软件工程:SoftEngine 方法论与 Lynx 平台实践分析
引言 在过去数十年中,软件开发领域历经了从瀑布模型到敏捷开发,再到DevOps的深刻变革。然而,面对当今快速变化的市场需求和复杂的软件系统,这些方法仍然显露出明显的局限性。近年来,基于大语言模型(LLM&am…...
Vue基础(一) 基础用法
1.取消生产提示 Vue.config.productionTip false; Vue.config.devtools true; //运行开发调试 2.hello小案例 需要注意如下几点: 1.必须要有一个模板,其实就是一个html组件 2.新建一个Vue实例,并且通过el与容器建立绑定关系࿰…...
文心一言开发指南08——千帆大模型平台推理服务API
版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 推理服务API概述 百度智能云千帆平台提供了丰富的推理服务API,包括对话Chat、续写Completions、向量Embeddings、批量预测等API能力。 对话Chat:支…...
矩阵区域和 --- 前缀和
目录 一:题目 二:算法原理 三:代码 一:题目 题目链接:1314. 矩阵区域和 - 力扣(LeetCode) 二:算法原理 三:代码 class Solution { public:vector<vector<int…...
全局id生成器生产方案
1.只要求不重复版本(常用于分布式确定一个实体的id) uuid( MAC 地址、时间戳、名字空间(Namespace)、随机或伪随机数、时序等元素,计算机基于这些规则生成的 UUID 是肯定不会重复的。) UUID 作…...
DES与AES算法深度解析:原理、流程与实现细节
DES与AES算法深度解析:原理、流程与实现细节 1. DES算法详解 1.1 算法架构 DES采用16轮Feistel网络结构,核心处理流程如下: 输入64位明文 → IP初始置换 → 16轮迭代处理 → 左右交换 → IP⁻末置换 → 输出64位密文 1.2 核心处理流程 …...
大厂Java面试深度解析:Dubbo服务治理、WebSocket实时通信、RESTEasy自定义注解与C3P0连接池配置实践
第一轮基础问答 面试官:请解释Dubbo服务注册发现的完整流程,以及Sentinel如何实现流量控制? xbhog:Dubbo通过Registry协议将服务地址注册到ZooKeeper,消费者订阅服务节点变更。Sentinel通过ResourceRegistry注册资源…...
【Qt】Qt换肤,使用QResource动态加载资源文件
【Qt】使用QResource动态加载资源文件 0.前言 对于简单的应用,我们可以直接读取 QSS 样式表文件来实现换肤。但一般样式里还带有图片等资源的路径,如果通过相对路径来加载,不便于管理,不过好处是替换图片方便。我们也可以使用 Q…...
五种机器学习方法深度比较与案例实现(以手写数字识别为例)
正如人们有各种各样的学习方法一样,机器学习也有多种学习方法。若按学习时所用的方法进行分类,则机器学习可分为机械式学习、指导式学习、示例学习、类比学习、解释学习等。这是温斯顿在1977年提出的一种分类方法。 有关机器学习的基本概念,…...
【18】爬虫神器 Pyppeteer 的使用
目录 一、Pyppeteer 介绍 二、安装库 三、快速上手 Python爬虫案例 | Scrape Center 在前面我们学习了 Selenium 的基本用法,它功能的确非常强大,但很多时候我们会发现 Selenium 有一些不太方便的地方,比如环境的配置,得安装好…...
封装js方法 构建树结构和扁平化树结构
在JavaScript中,构建树结构和将树结构扁平化是常见的操作。下面我将提供两个方法,一个用于从扁平化的数据中构建树结构,另一个用于将树结构扁平化。 构建树结构 假设我们有一个扁平化的数据列表,每个节点对象包含id和parentId属…...
服务器和数据库哪一个更重要
在当今数字化的时代,服务器和数据库都是构建和运行各种应用系统的关键组成部分,要说哪一个更重要,其实很难简单地给出定论。 服务器就像是一个强大的引擎,为应用程序提供了稳定的运行环境和高效的计算能力。它负责接收和处理来自…...
Nginx 核心功能与 LNMP 架构部署
一、基于授权的访问控制 1.1 功能概述 Nginx 的基于授权的访问控制通过用户名和密码验证机制,限制用户对特定资源的访问。其实现逻辑与 Apache 类似,但配置更简洁,适用于需保护敏感目录或页面的场景(如管理后台)。 …...
Python程序开发,麒麟系统模拟电脑打开文件实现
在Python开发中,模拟电脑打开文件操作(即用默认程序打开文件),可以使用os.system()方法或subprocess模块来执行系统命令。以下是使用os库实现模拟打开文件的代码示例: 使用os.system()方法 import osfile_path &quo…...
打造惊艳的渐变色下划线动画:CSS实现详解
引言:为什么需要动态下划线效果? 在现代网页设计中,微妙的交互效果可以显著提升用户体验。动态下划线特效作为一种常见的视觉反馈方式,不仅能够引导用户注意力,还能为页面增添活力。本文将深入解析如何使用纯CSS实现一…...
gitmodule怎么维护
目录 ci-cd脚本 豆包文档 ci-cd脚本 git submodule init git submodule update cd /var/lib/jenkins/workspace/wvp-server-Dji/wvp-server git checkout Dji2 cd /var/lib/jenkins/workspace/wvp-server-Dji/cloud-sdk git checkout master 豆包文档...
企业战略管理(设计与工程师类)-2-战略规划及管理过程-2-外部环境分析-PESTEL模型实践
PESTEL在AFI框架中的作用 AFI 战略框架(Analyze, Formulate, Implement——哈佛大学商学院的教授 Michael Porter)是企业战略管理中的一个重要理论模型,帮助企业系统性地分析和制定战略。 作为第一阶段Analyze的第一步,PESTEL…...
基于arduino的温湿度传感器应用
温湿度传感器深度解析与多平台开发实战 一、温湿度传感器代码实现(Arduino平台) 1. 基础传感器驱动(DHT11) #include <DHT.h> #define DHTPIN 2 #define DHTTYPE DHT11DHT dht(DHTPIN, DHTTYPE);void setup() {Serial.begin(9600);dht.begin(); }void loop() {del…...
【AI提示词】机会成本决策分析师
提示说明 具备经济学思维的决策架构师,擅长通过机会成本模型分析复杂选择场景 提示词 # Role: 机会成本决策分析师## Profile - language: 中文 - description: 具备经济学思维的决策架构师,擅长通过机会成本模型分析复杂选择场景 - background: 经济…...
基于Springboot + vue实现的列书单读书平台
项目描述 本系统包含管理员和用户两个角色。 管理员角色: 用户管理:管理系统中所有用户的信息,包括添加、删除和修改用户。 书单信息管理:管理书单信息,包括新增、查看、修改、删除和查看评论。 在线书店管理&…...
「Mac畅玩AIGC与多模态07」开发篇03 - 开发第一个 Agent 插件调用应用
一、概述 本篇介绍如何在 macOS 环境下,基于 Dify 平台自带的网页爬虫插件工具,开发一个可以提取网页内容并作答的 Agent 应用。通过使用内置插件,无需自定义开发,即可实现基本的网页信息提取与智能体回答整合。 二、环境准备 1. 确认本地部署环境 确保以下环境已搭建并…...
Headers池技术在Python爬虫反反爬中的应用
1. 引言 在当今互联网环境中,许多网站都部署了反爬虫机制,以防止数据被大规模抓取。常见的反爬手段包括: User-Agent检测(检查请求头是否来自浏览器)IP频率限制(短时间内同一IP请求过多会被封禁ÿ…...
端到端电力电子建模、仿真与控制及AI推理
在当今世界,电力电子不再仅仅是一个专业的利基领域——它几乎是每一项重大技术变革的支柱。从可再生能源到电动汽车,从工业自动化到航空航天,对电力转换领域创新的需求正以前所未有的速度增长。而这项创新的核心在于一项关键技能:…...