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

2024-02-03 07:30

本文主要是介绍Marin说PCB之via的使用对于传输线的影响,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一,过孔的概念:

     过孔也称金属化孔,在双面板多层板中,为连通各层之间的印制导线,在各层需要连通的导线的交汇处钻上一个公共孔,即过孔。在工艺上,过孔的孔壁圆柱面上用化学沉积的方法镀上一层金属,用以连通中间各层需要连通的铜箔,而过孔的上下两面做成圆形焊盘形状,过孔的参数主要有孔的外径和钻孔尺寸。

通常来说过孔是多层PCB的重要组成部分,起着连接不同层信号的作用。过孔不仅可以是通孔,还可以是掩埋式。所谓通孔式过孔是指穿通所有敷铜层的过孔;掩埋式过孔则仅穿通中间几个敷铜层面,仿佛被其它敷铜层掩埋起来,从其工艺制程上来说,PCB过孔一般分为3类,即盲孔(blind via)、埋孔(buried via)和通孔(through via),如图1所示

 当然了如果按照PCB过孔的作用的话,又可以分为以下三类:
A PCB板上的信号VIA(正常我们板子上信号通常是使用孔径10MIL左右的,特殊区域里面可以使用8MIL或者是更小的孔,高速信号上换层孔尽量是使用小的孔,减少其寄生电容对于信号传输带来的影响,正常可以使用8MIL孔径的VIA,这个孔径的大小时和板厚由关系的,一般正常板子的过孔的厚经比要求不低于101(通孔设计),现在很多板厂都可以做到121,甚至大于这个数值的)


B PCB板上的电源和GND的VIA。(电源和GND孔正常使用10MIL或者是12MIL孔径的VIA,尤其是需要特别注意一下电源层面需要打孔换层的地方不能使用小孔经的,而且换层的via的数目尽量留一些余量,不要做到刚刚满足载流)


C PCB板上一些电源或者是PHY芯片的散热GND过孔。(散热GND孔正常使用10MIL或者是

12MIL)

凡事都是由两面性的,当然过孔也是不列外的,有优点也有缺点的。其优点就是方便了信号连通,替代了之前跳线连接工艺,使得制作工艺更加简单了,这样就会大大的提高了我们得生产效率,但是同样也有缺点,过孔存在寄生电容的同时也存在着寄生电感,在高速数字电路的设计中,过孔在传输线上表现为阻抗不连续的断点,其会造成信号的反射过孔的寄生电感带来的危害往往大于寄生电容的影响。在电源系统中它的寄生串联电感会削弱旁路电容的贡献,减弱整个电源系统的滤波效用。

我们可以把过孔的等效电路模型为一个电感两端各串联一个接地电容,如图所示:

从等效电路模型可知,过孔本身存在对地的寄生电容,假设过孔反焊盘直径为D2,过孔焊盘的直径为D1,PCB板的厚度为T, 板基材介电常数为ε,则过孔的寄生电容大小近似于:

过孔的寄生电容会给电路造成的主要影响是延长了信号的上升时间,降低了电路的速度,从而影响信号的传输质量。举例来说,对于一块厚度为50MilPCB板,如果使用内径为10Mil,焊盘直径为20Mil的过孔,焊盘与地铺铜区的距离为32Mil,则我们可以通过上面的公式近似算出过孔的寄生电容大致是:C=K*ε0*3.14*0.050x0.020/(0.032-0.020),这部分电容会引起的上升时间的变化。尽管单个过孔的寄生电容引起的上升延变缓的效用不是很明显,但是如果走线中多次使用过孔进行层间的切换,设计时就要慎重考虑。我们在实际设计中可以通过增大过孔和铺铜区的距离(Anti-pad)或者减小焊盘的直径来减小寄生电容。

刚刚我在上面也提到了过孔在产生寄生电容的同时也会寄生电感,其公式如下

其中L指过孔的电感,h是过孔的长度,d是中心钻孔的直径。从式中可以看出,过孔的直径对电感的影响较小,而对电感影响最大的是过孔的长度。仍然采用上面的例子,可以计算出过孔的电感为:L=5.08x0.050[ln(4x0.050/0.010)+1]=1.015nH 。如果信号的上升时间1ns,那么其等效阻抗大小为:XL=πL/T10-90=3.19Ω。这样的阻抗在有高频电流的通过已经不能够被忽略,特别要注意,旁路电容在连接电源层和地层的时候需要通过两个过孔,这样过孔的寄生电感就会成倍增加。

二,如何使用过孔:

       以上说了那么多,那我们在设计板子的时候该如何使用过孔呢?

  1. 首先确认下过孔的种类,我们可以根据板子上的芯片类型大致得出一个结论:板子是使用通孔来做和盲埋孔来设计。正常0.65PICTCH以上(包含)的BGA芯片都是可以使用通孔来设计的,0.65PICTCH以下的BGA芯片的设计是需要做HDI了。
  2. 确认下过孔的尺寸。这个可以根据板子的板厚层叠确认下来可以得出我们板子上可以使用的VIA的尺寸,正常板厂要求过孔的厚经比是101(通孔设计),现在很多板厂的加工能力都是大于这个设计经验值了,具体的还是按照你们对接的制板厂的能力而定吧。

3,确认过孔的数目,这个对于高速线尤其重要。一些芯片的设计手册中的对于高速信号部分都会提到其换层孔的数目的要求的,我们在做设计的时候要严格按照手册上推荐的过孔的数目来设计,不可超过其推荐值。

三,过孔的优化设计:

我们把过孔的类型和尺寸都已经确认下来了,剩下的就需要我们在设计PCB板子的时候对于一些高速信号线做出一些优化上的设计了。由于过孔是导致信号阻抗不连续的一个主要因素,我们是可以通过降低过孔的寄生电容、电感来最小化过孔的影响,从而改善信号线的阻抗,具体操作如下:

1,去除非功能焊盘,在allegro出gerber的时候是可以设置这个参数的。(随着过孔厚径比增大,去除非功能焊盘有助于增强过孔的可靠性,但是小厚径比过孔去除非功能焊盘后可靠性会降低,这点是需要我们注意的。

2,增加antipad尺寸。(减少过孔的寄生电容)

具体的反焊盘的尺寸大小要按照板子的层叠和板材,利用仿真软件得出一个具体的反焊盘的尺寸的大小,这个是之前是有一个设计的经验值:一般是按照VIA的反焊盘的尺寸可以根据ANTI PAD的尺寸来做就好了,如下图所示

但是这个数值最好是以实际仿真给出的数值为准的。我们是可以使用仿真软件计算找到最优的值设置反焊盘的尺寸的,这样就会降低阻抗的波动对信号传输的影响了。

3,减少过孔的stub。(过孔的寄生电感主要来源,一般信号速率大于5G左右了就需要考虑残桩带来的影响了,至于怎么做可以减少过孔的stub,一般是使用背钻工艺或者是HDI设计来

还有一些PCB设计上需要注意事项就是:

1,高速线走线尽量不要换层,需要换层的地方加上回流GND孔而且尽量保持对称放置。这个VIA的距离信号过孔也是有要求的,一般是要按照实际的仿真的结果来设置的。之前仿真同事推荐的高速线换层的GND过孔距离信号VIA的间距的数值是小于200MIL,不过这个是按照实际的板子的层叠仿真来的,这个是没有固定数值的。

2,过孔间距不要太密集,防止相邻的高速线走线没有参考平面,同样也会使得一部分电源层面电流密度过大,不能均匀分布了,对于电源完整性有一定的影响的。

3,重要的单端信号打孔换层的地方记得在周围1MM左右加上GND回流via

4,电源和GND信号的过孔尽量就近打孔,过孔和管脚之间的引线最好是越短越好。也可以考虑一下并联打多几个过孔(实际上还是要看板子的布线空间了),这样可以减少等效电感。

5,打孔尽量在保证信号质量的前提下做到美观整齐。

以上就是小编对于via使用的一些设计经验总结,当然若有不足之处,希望路过的大神们指点一二。

这篇关于Marin说PCB之via的使用对于传输线的影响的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Pandas使用SQLite3实战

《Pandas使用SQLite3实战》本文主要介绍了Pandas使用SQLite3实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1 环境准备2 从 SQLite3VlfrWQzgt 读取数据到 DataFrame基础用法:读

JSON Web Token在登陆中的使用过程

《JSONWebToken在登陆中的使用过程》:本文主要介绍JSONWebToken在登陆中的使用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录JWT 介绍微服务架构中的 JWT 使用结合微服务网关的 JWT 验证1. 用户登录,生成 JWT2. 自定义过滤

Java中StopWatch的使用示例详解

《Java中StopWatch的使用示例详解》stopWatch是org.springframework.util包下的一个工具类,使用它可直观的输出代码执行耗时,以及执行时间百分比,这篇文章主要介绍... 目录stopWatch 是org.springframework.util 包下的一个工具类,使用它

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

springboot security使用jwt认证方式

《springbootsecurity使用jwt认证方式》:本文主要介绍springbootsecurity使用jwt认证方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录前言代码示例依赖定义mapper定义用户信息的实体beansecurity相关的类提供登录接口测试提供一

go中空接口的具体使用

《go中空接口的具体使用》空接口是一种特殊的接口类型,它不包含任何方法,本文主要介绍了go中空接口的具体使用,具有一定的参考价值,感兴趣的可以了解一下... 目录接口-空接口1. 什么是空接口?2. 如何使用空接口?第一,第二,第三,3. 空接口几个要注意的坑坑1:坑2:坑3:接口-空接口1. 什么是空接

springboot security快速使用示例详解

《springbootsecurity快速使用示例详解》:本文主要介绍springbootsecurity快速使用示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录创www.chinasem.cn建spring boot项目生成脚手架配置依赖接口示例代码项目结构启用s

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

Spring Boot3虚拟线程的使用步骤详解

《SpringBoot3虚拟线程的使用步骤详解》虚拟线程是Java19中引入的一个新特性,旨在通过简化线程管理来提升应用程序的并发性能,:本文主要介绍SpringBoot3虚拟线程的使用步骤,... 目录问题根源分析解决方案验证验证实验实验1:未启用keep-alive实验2:启用keep-alive扩展建