Marin说PCB之过孔去掉非功能焊盘的优点设计总结

2023-10-12 15:20

本文主要是介绍Marin说PCB之过孔去掉非功能焊盘的优点设计总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

   最近小编忙着做一个板子,差点忘记了之前答应大家单独出一篇文章讲解信号的过孔去掉非功能焊盘的优点,下面就由我为大家揭秘。

首先还是带大家回忆一下之前文章关于信号过孔结构的描述:

过孔主要是由:孔经,焊盘,隔离盘组成的,而焊盘主要就是负责内层以及表底层走线的连接。我们知道随着数字信号的速率不断提升,我们在PCB设计的时候信号的完整性就变的相当重要了,例如信号的阻抗,串扰,反射等等,由于过孔本身的特性,通常过孔的阻抗都是小于我们传输线阻抗50Ω的,经验值是小于信号阻抗10%-12%左右(这个还是要看板子的层叠和的厚度来定的),当传输线阻抗与过孔阻抗不匹配,就会产生反射,导致我们板子上的信号完整性变的很差了。

下面我们以一个10层板子为例,层叠和结构如下

 图片上的是四层板子过孔的结构图,中间的两个是连接内层的走线焊盘,十层板的VIA的结构以此类推再加上六个焊盘即可,小编这里就不再重新画图了。

Via使用的是10mil的孔经,22mil的焊盘,antipad(反焊盘)为32mil,板子的厚度是1.6MM。设置好相应层叠参数,出线的方式是TOP层进来,BOT层出线这个为原始设计,然后再去把非功能焊盘去掉通过仿真来对比一下。

 top层进来,bot层出线,所有层非功能焊盘都是保留的,(方案一)

 top层进来,bot层出线,内层非功能焊盘都是去掉的,(方案二)

我们通过仿真从插入损耗、 回波损耗、特性阻抗三个维度进行了分析对比,结果如下所示:

一,TDR:

 1,初始设计阻抗跌落至32欧姆(红色曲线)。

 2,去除非功能焊盘”的处理,可将特性阻抗控制在44欧姆左右(绿色曲线)。

将以上的两个TDR的仿真结果进行对比可以看出信号的过孔采用了无盘工艺后过孔阻抗由32提升到了44Ω,更接近了我们常规的传输线阻抗50Ω,因此会有更小的反射,更好的信号质量

二,插入损耗:

  1. 初始设计确实会带来巨大的损耗,尤其以高频处为甚(红色曲线

  1. “去除非功能焊盘”的处理,可将插损在20GHz的宽频段内,限制在-0.2dB以内(绿色曲线),相比于1效果显著

 三,回波损耗

1,初始设计从4GHz开始,跌到-10dB以内,容易导致设计裕量不足(红色曲线

2,“去除非功能焊盘”的处理,可在4GHz开始将能量限制在-20dB以下,全频段限制在-10dB以下(绿色曲线

 我们从过孔的等效模型可以得出一个过孔寄生电容的近似公式:

 其中:D1过孔焊盘直径(inch);D2过孔反焊盘直径(inch);T 为PCB的板厚(inch); 板基材介电常数为ε ,过孔的寄生电容会给电路造成的主要影响是延长了信号的上升时间,降低了电路的速度,从而影响信号的传输质量

我们也可以从过孔的结构来分析一下:

 

 

         因为由于我们过孔环宽(大圆的直径减去孔壁的直径就是我们内层环宽的大小了)的存在,内层的过孔的焊盘是金属,信号过孔的内壁是也是金属(这个不理解的话可以看一下过孔的生产加工流程),中间隔着反焊盘间隙的介质(X轴和Y轴方向)。我们知道一般两个金属之间存在介质就会产生电容,这样就会导致我们走线上的过孔寄生电容加大了,当然了这只是一方面,另一方面不同层的焊环和焊环之间也会产生电容(Z轴方向),多重功效加在一起就把我们的过孔阻抗给拉低了。

        不过过孔寄生电容这个影响一般是在中低速率的信号,因为信号速率越高,过孔的寄生电感带来的影响往往会大于寄生电容的,这个小编在之前的文章中也有讲解过的

Marin说PCB之via的使用对于传输线的影响

      还有就是从LAYOUT角来看就是去掉非功能焊盘可以优化一下我们板子上走线的空间,尤其在BGA里面的走线和铺铜。例如我们的板子上BGA是0.65MM,我们在BGA区域加上了一个特殊的spacing规则,BGA_0.65MM,过孔到shape的间距是4mil。

 

       设置完成以上的特殊区域的规则后我们看下第二层GND 的shape平面的分割情况,如下图所示很多GND shape都是分割开了,BGA里面的GND不是一个完整的参考平面了,那么就会造成相邻的TOP和第三层的走线出现跨分割现象了。

 如果我们把过孔的非功能焊盘去掉的话,我们就可以把这个特殊区域的规则设置的小一些了(前提是也要保证我们过孔孔壁到走线的间距满足7MIL极限值,),这样就可以避免这个情况出现了。当然了电源层这样做就更好了,可以加大铜皮的载流能力

 

    当然去掉非功能焊盘也不是全无缺点了,小编之前听板厂那边的人说12层以上的单板的建议还是不要去除非功能焊盘了,因为加上的话可以增加其对于孔壁的拉力,可靠性会好一些。这个小编还没有给他们要具体的数据来支撑这个理论,要是真的后续量产有问题的话还是需要注意一下的。

       以上就是小编的经验总结了,若有不同之处可以在文章的评论区大家一起讨论一下,我们下一期文章不见不散。

以上的仿真数据来自一位资深的仿真同事,大家若是对仿真感兴趣的话也可以去看下他写文章,很多干货。

https://blog.csdn.net/2301_77080582?type=bloghttps://blog.csdn.net/2301_77080582?type=blog

过孔图片来自https://www.fanyedu.com/course/20610.html

这篇关于Marin说PCB之过孔去掉非功能焊盘的优点设计总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Android使用ImageView.ScaleType实现图片的缩放与裁剪功能

《Android使用ImageView.ScaleType实现图片的缩放与裁剪功能》ImageView是最常用的控件之一,它用于展示各种类型的图片,为了能够根据需求调整图片的显示效果,Android提... 目录什么是 ImageView.ScaleType?FIT_XYFIT_STARTFIT_CENTE

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

Python实现图片分割的多种方法总结

《Python实现图片分割的多种方法总结》图片分割是图像处理中的一个重要任务,它的目标是将图像划分为多个区域或者对象,本文为大家整理了一些常用的分割方法,大家可以根据需求自行选择... 目录1. 基于传统图像处理的分割方法(1) 使用固定阈值分割图片(2) 自适应阈值分割(3) 使用图像边缘检测分割(4)

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

Redis消息队列实现异步秒杀功能

《Redis消息队列实现异步秒杀功能》在高并发场景下,为了提高秒杀业务的性能,可将部分工作交给Redis处理,并通过异步方式执行,Redis提供了多种数据结构来实现消息队列,总结三种,本文详细介绍Re... 目录1 Redis消息队列1.1 List 结构1.2 Pub/Sub 模式1.3 Stream 结

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解

MySQL索引的优化之LIKE模糊查询功能实现

《MySQL索引的优化之LIKE模糊查询功能实现》:本文主要介绍MySQL索引的优化之LIKE模糊查询功能实现,本文通过示例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一、前缀匹配优化二、后缀匹配优化三、中间匹配优化四、覆盖索引优化五、减少查询范围六、避免通配符开头七、使用外部搜索引擎八、分

Python实现特殊字符判断并去掉非字母和数字的特殊字符

《Python实现特殊字符判断并去掉非字母和数字的特殊字符》在Python中,可以通过多种方法来判断字符串中是否包含非字母、数字的特殊字符,并将这些特殊字符去掉,本文为大家整理了一些常用的,希望对大家... 目录1. 使用正则表达式判断字符串中是否包含特殊字符去掉字符串中的特殊字符2. 使用 str.isa

Android实现悬浮按钮功能

《Android实现悬浮按钮功能》在很多场景中,我们希望在应用或系统任意界面上都能看到一个小的“悬浮按钮”(FloatingButton),用来快速启动工具、展示未读信息或快捷操作,所以本文给大家介绍... 目录一、项目概述二、相关技术知识三、实现思路四、整合代码4.1 Java 代码(MainActivi

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient