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

相关文章

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

redis中使用lua脚本的原理与基本使用详解

《redis中使用lua脚本的原理与基本使用详解》在Redis中使用Lua脚本可以实现原子性操作、减少网络开销以及提高执行效率,下面小编就来和大家详细介绍一下在redis中使用lua脚本的原理... 目录Redis 执行 Lua 脚本的原理基本使用方法使用EVAL命令执行 Lua 脚本使用EVALSHA命令

Java 中的 @SneakyThrows 注解使用方法(简化异常处理的利与弊)

《Java中的@SneakyThrows注解使用方法(简化异常处理的利与弊)》为了简化异常处理,Lombok提供了一个强大的注解@SneakyThrows,本文将详细介绍@SneakyThro... 目录1. @SneakyThrows 简介 1.1 什么是 Lombok?2. @SneakyThrows

使用Python和Pyecharts创建交互式地图

《使用Python和Pyecharts创建交互式地图》在数据可视化领域,创建交互式地图是一种强大的方式,可以使受众能够以引人入胜且信息丰富的方式探索地理数据,下面我们看看如何使用Python和Pyec... 目录简介Pyecharts 简介创建上海地图代码说明运行结果总结简介在数据可视化领域,创建交互式地

Java Stream流使用案例深入详解

《JavaStream流使用案例深入详解》:本文主要介绍JavaStream流使用案例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录前言1. Lambda1.1 语法1.2 没参数只有一条语句或者多条语句1.3 一个参数只有一条语句或者多

Java Spring 中 @PostConstruct 注解使用原理及常见场景

《JavaSpring中@PostConstruct注解使用原理及常见场景》在JavaSpring中,@PostConstruct注解是一个非常实用的功能,它允许开发者在Spring容器完全初... 目录一、@PostConstruct 注解概述二、@PostConstruct 注解的基本使用2.1 基本代

C#使用StackExchange.Redis实现分布式锁的两种方式介绍

《C#使用StackExchange.Redis实现分布式锁的两种方式介绍》分布式锁在集群的架构中发挥着重要的作用,:本文主要介绍C#使用StackExchange.Redis实现分布式锁的... 目录自定义分布式锁获取锁释放锁自动续期StackExchange.Redis分布式锁获取锁释放锁自动续期分布式

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删

使用Python实现矢量路径的压缩、解压与可视化

《使用Python实现矢量路径的压缩、解压与可视化》在图形设计和Web开发中,矢量路径数据的高效存储与传输至关重要,本文将通过一个Python示例,展示如何将复杂的矢量路径命令序列压缩为JSON格式,... 目录引言核心功能概述1. 路径命令解析2. 路径数据压缩3. 路径数据解压4. 可视化代码实现详解1