同样是BGA扇出,为什么别人设计出来的性能就是比你好!

news/2025/2/12 7:45:17/

高速先生成员--黄刚

高速先生经常会说一句话,那就是对于信号质量的优化是无极限的,这里说的优化,其实说的就是PCB的设计优化。首先肯定的是,不同的设计工程师去做同样一块PCB板的设计,做出来的肯定都不会完全一样。那不一样就意味着信号的性能有差异。举个例子,两位工程师都去设计同一款10G的高速产品的PCB信号通道,可能两位工程师能力都很强,很多的高速设计规则都能够掌握。的确,他们设计出来的产品在功能测试上都能够pass。但是在都能pass的情况下其实也能卷起来,例如在pass的前提下分别进行眼图的测试,可能一位工程师设计的这条通道是眼高200mV,另外一位工程师却达到了250mV!

 

273-1.png

虽然对于高速先生来说,也不太提倡这个内卷的方式,但是不代表不优化哈,我们的基本目标是通过合适的设计优化能够留出足够的裕量,保证板子能够顺利工作。如果在这个基础上有些客户的产品的确是需要有更严苛的要求,高速先生也同样可以欣然奉陪哈,不过可能付出的设计代价可能是更高等级的板材,更高成本的工艺能力等等。。。

 

273-2.png

开场白有点长哈,大家都有点等不及了,正题来啦!Chris最近正在研究高速信号之间在BGA扇出这个位置的串扰,大家知道,一般在BGA内,高速信号都是相邻的,因此要通过打过孔到内层,然后走出BGA,这就是所谓的BGA扇出。

 

273-3.png

这种BGA扇出结构设计对高速信号性能而言,难点就2个,一是这个扇出位置的阻抗优化,其实基本上说的就是扇出过孔的阻抗优化了;第二个就是相邻高速信号线之间的串扰了。什么!你不会还以为说的串扰主要来自于走线和走线之间的串扰吧?

273-4.png

BGA扇出的串扰当然主要是由扇出过孔之间导致的,因此Chris研究了在高速信号分配到不同BGA的pin位置情况下,相邻两对信号的扇出过孔串扰到底有多大的差异。没听懂什么意思吗?不要紧,Chris画了图告诉你们。

 

273-5.png

Chris设计了几个简单的BGA扇出场景,分别来模拟高速信号pin和地网络pin的不同分布方式,其实设计工程师是很容易发现它们的差异的。从左到右可以发现,相邻的两对高速差分线的pin在X方向慢慢变远,其实也就是我们在BGA的pin排列里面经常会遇到的三种高速信号pin的分布方式了。那么到底这三种方式下扇出过孔之后的串扰性能如何呢?

 

273-6.png

扇出完之后就这个样子了,为了减小变量,两对信号通过过孔是换到同一个内层扇出的哈,除了这个之外,过孔的反焊盘处理方式也是一样,另外大家可能还没注意到另外一点,那就是地过孔的数量也是一样的哈!比较三种case两对高速信号扇出的串扰?相信都不需要Chris了,设计工程师自己都能够比较出来了吧。当然Chris能告诉你们的是,他们的具体串扰值。

273-7.png

以25Gbps信号为例,我们看到12.5GHz这个频点上的串扰,case2比case1好了差不多10个db,case2到case3的改善就不明显了,因为已经很小了,也符合理论。

这时坐在旁边的雷豹也加入起来了,作为设计出身的他,也提出了自己的观点。他认为不同pin的分布是原理图已经定好的,当然两对高速信号的pin本身就远的话,串扰天然就好啊,这又不是设计工程师所能够改变的!

 

273-8.png

话粗理不糙,Chris当然也赞同哈,但是赞同率就没那么高。然后Chris就拿出上面的case1和雷豹说,case1是两对高速信号pin最近的case了,当然串扰也是最差的。那么它就一定没办法通过设计做优化了吗?

 

273-9.png

看到雷豹若有所思的样子,Chris决定先给雷豹打个样!同样的高速信号pin和地pin的位置不变,如果从case1变成这样呢?

 

273-10.png

然后Chris再不紧不慢的做个仿真验证下,这不就5db的串扰裕量就多起来了吗!

 

273-11.png

哦哦!雷豹突然就懂了,然后不等Chris开口,自己就跳起来先说,我还能想到其他的PCB优化方式!

好啊,那我们大家就一起等着呗!

273-12.png

大家也帮忙一起想想哈,pin不变的情况下,还有什么PCB优化的方式能改善原来case1的串扰呢?


http://www.ppmy.cn/news/1202054.html

相关文章

AspectJX - Android开发平台的AOP框架

官网 GitHub - HujiangTechnology/gradle_plugin_android_aspectjx: A Android gradle plugin that effects AspectJ on Android project and can hook methods in Kotlin, aar and jar file. 项目简介 一个基于AspectJ并在此基础上扩展出来可应用于Android开发平台的AOP框架…

基于SSM的办公自动化管理系统的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

【uniapp+vue3/vue2】ksp-cropper高性能图片裁剪工具,详解

效果图: 1、ksp-cropper是hbuilder插件市场中的一款插件,兼容vue2和vue3 ksp-cropper插件安装地址,直接点击跳转 2、插件用法相对简单 (1)只要url有值就会显示插件,为空就会隐藏插件 (2&#…

③【操作表数据】MySQL添加数据、修改数据、删除数据

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ MySQL添加数据、修改数据、删除数据 &#x1f…

【内功修炼】详解函数栈帧的创建和销毁

文章目录 1. 什么是函数栈帧2. 理解函数栈帧能解决什么问题呢?3. 函数栈帧的创建和销毁解析3.1 什么是栈?3.2 认识相关寄存器和汇编指令常见寄存器常用汇编指令 3.3 详解函数栈帧的创建和销毁3.3.1 函数的调用堆栈(main函数也是被其它函数调用…

网络通信之端口、协议

端口 什么是端口号? 端口号是用于在计算机网络中标识不同应用程序或服务的数字标识。它允许网络上的不同设备和应用程序之间进行数据交换和通信。 标记正在计算机设备上运行的应用程序的,被规定为一个 16 位的二进制,范围是0~65535 端口的…

CSS特效001:鼠标放div上,实现旋转、放大、移动等效果

GPT能够很好的应用到我们的代码开发中,能够提高开发速度。你可以利用其代码,做出一定的更改,然后实现效能。 css实战中,经常会看到这样的场景,鼠标放到一个图片或者一个div块状时候,会出现旋转、放大、移动…

C#通过TCP发送List<string>

using System; using System.IO; using System.Net.Sockets; using System.Text; using System.Collections.Generic;public static void SendList<string>(Stream stream, List<string> list) {// 将List<string>对象转换为字节数组byte[] data Encoding.U…