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

相关文章

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

详解SpringBoot+Ehcache使用示例

《详解SpringBoot+Ehcache使用示例》本文介绍了SpringBoot中配置Ehcache、自定义get/set方式,并实际使用缓存的过程,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录摘要概念内存与磁盘持久化存储:配置灵活性:编码示例引入依赖:配置ehcache.XML文件:配置

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

k8s按需创建PV和使用PVC详解

《k8s按需创建PV和使用PVC详解》Kubernetes中,PV和PVC用于管理持久存储,StorageClass实现动态PV分配,PVC声明存储需求并绑定PV,通过kubectl验证状态,注意回收... 目录1.按需创建 PV(使用 StorageClass)创建 StorageClass2.创建 PV

Redis 基本数据类型和使用详解

《Redis基本数据类型和使用详解》String是Redis最基本的数据类型,一个键对应一个值,它的功能十分强大,可以存储字符串、整数、浮点数等多种数据格式,本文给大家介绍Redis基本数据类型和... 目录一、Redis 入门介绍二、Redis 的五大基本数据类型2.1 String 类型2.2 Hash

Redis中Hash从使用过程到原理说明

《Redis中Hash从使用过程到原理说明》RedisHash结构用于存储字段-值对,适合对象数据,支持HSET、HGET等命令,采用ziplist或hashtable编码,通过渐进式rehash优化... 目录一、开篇:Hash就像超市的货架二、Hash的基本使用1. 常用命令示例2. Java操作示例三

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他