在画电路板时,往往需要过孔来切换层之间的信号。在PCB设计时,过孔的选择有盲孔,埋孔,通孔。如图3.1所示。盲孔是在表面或者底面打通到内层面,但不打穿,埋孔是在内层面之间的孔,不在表面和底面漏出;通孔是贯穿于表面到底面。处于成本以及加工难易程度的考虑,选择通孔较多。

图3.1 过孔类型

1.低频的时候,过孔不会对信号产生影响,那么对于高频,过孔就不能简单看成是信号的连接,必须考虑信号的完整性分析。我们都知道,过孔的存在会产生寄生电容和寄生电感的影响,过孔的寄生电容会影响延长信号的上升时间,降低电路的速度。而寄生电感会削弱旁路电容的贡献,削弱整个电源系统的滤波作用。所以需要格外注意信号完整性问题。

2.每个过孔寄生电容计算公式为:C =1.41εTD1/(D2-D1);其中,过孔在铺地层上的反焊盘直径为D2,过孔焊盘的直径为D1,PCB的厚度为T,板基材介电常数为ε,过孔的寄生电容会给电路造成的主要影响是延长了信号的上升时间,降低了电路的速度,电容值越小则影响越小,那么对应着公式,似乎只能去增大D2和D1的差值,减小D1的值。也就是说可以增大反焊盘直径,减小过孔焊盘直径,可以减小阻抗不连续程度。

过孔本身就存在寄生电感,在高速数字电路的设计中,过孔的寄生电感带来的危害往往大于寄生电容的影响。过孔的寄生串联电感会削弱旁路电容的作用,减弱整个电源系统的滤波效用。每个过孔的寄生电感计算公式为:L=5.08h[ln(4h/d)+1];其中L指过孔的电感,h是过孔的长度,d是中心钻孔的直径,过孔的直径对电感的影响较小,而对电感影响最大的是过孔的长度。

3.在高速、高频电路设计中,阻抗不连续处阻抗变化一般需控制在±10%范围,否则会引起信号失真。所以信号的过孔不要过大,可以选择10/20(mil);

(1)选择合理的过孔尺寸。对于多层一般密度的PCB 设计来说,选用0.25mm/0.51mm/0.91mm(钻孔/ 焊盘/ POWER 隔离区)的过孔较好;对于一些高密度的PCB 也可以使用0.20mm/0.46mm/0.86mm 的过孔,也可以尝试非穿导孔;对于电源或地线的过孔则可以考虑使用较大尺寸,以减小阻抗;
    (2)POWER隔离区越大越好;
    (3)PCB上的信号走线尽量不换层,也就是说尽量减少过孔;
    (4)使用较薄的PCB有利于减小过孔的两种寄生参数;
    (5)电源和地的管脚要就近做过孔,过孔和管脚之间的引线越短越好,因为它们会导致电感的增加。同时电源和地的引线要尽可能粗,以减少阻抗;
    (6)在信号换层的过孔附近放置一些接地过孔,以便为信号提供短距离回路。

图3.2所示接地过孔情况。对于接地过孔,是信号在两点之间的某个地方经过一个过孔到另一层,此时若没有提供地平面之间的连接,返回信号电流将无法跳跃,此时路径包括的电感量势必要比原来有所增加,这不仅会产生更多的辐射,还将产生更多的串扰。所以在过孔周围增加一些接地过孔,可以为信号的电流提供返回路径,并在信号过孔和接地过孔之间形成一个电感回路,使得信号质量得到改善。

接地过孔不但能减小阻抗不连续外,还可以避免寄生电容引起的信号延迟现象,还可以减小孔引起的损耗。考虑制作成本和信号完整性,接地过孔可以为2个。

图3.2 接地过孔

4.在普通PCB 设计中,过孔的寄生电容和寄生电感对PCB 设计的影响较小,对1-4层PCB 设计,一般选用0.36mm/0.61mm/1.02mm(钻孔/ 焊盘/POWER 隔离区)的过孔较好,一些特殊要求的信号线(如电源线、地线、时钟线等)可选用0.41mm/0.81mm/1.32mm 的过孔,也可根据实际选用其余尺寸的过孔。

《FPGA全程进阶---实战演练》第三章之PCB设计之过孔的更多相关文章

  1. 《FPGA全程进阶---实战演练》第二章之PCB layout注意事项以及投板几点说明

           上一篇博客讲述了各个部分的原理图,那么根据原理图画出PCB,其实PCB是一门很大的学问,想要掌握谈何容易.就笔者在画PCB时的一些注意事项做一些说明.        1.电源部分的电源线 ...

  2. 《FPGA全程进阶---实战演练》第二章之焊接板子及调试注意事项

    1.若是读者第一次做板子,强烈建议画完PCB板后将PCB图打印出来,然后对照你买的芯片将芯片放置对 应的位置,然后查看所有的封装格式适不适合,否则等你做出板子来后再试,为时晚矣.笔者虽然知道要这么 做 ...

  3. 《FPGA全程进阶----实战演练》第二章之系统搭建

    1 系统方案 对于设计一款硬件平台,首先要确定整体框架,确定各个模块所需要的芯片以及电压分配情况.图2.6是笔者曾经设计的硬件平台系统. 图2.6系统框图 对于选定一个系统方案之后,接下来做的要先去查 ...

  4. 《FPGA全程进阶---实战演练》第二章之硬件平台的搭建

    学习FPGA,多多少少应该要懂得硬件电路的设计,这样不单单增加了自己的技能,而且还能够对FPGA的硬件实现有更好的了解. 1 模块划分 对于一个基本的FPGA硬件平台,常用的几个电路部分:(1)电源电 ...

  5. 《FPGA全程进阶---实战演练》第一章之如何学习FPGA

    对于很多初学者,大部分都是急于求成,熟不知越是急于求成,最终越是学无所成,到头来两手空空,要学好FPGA,必须弄懂FPGA本质的一些内容. 1.FPGA内部结构及基本原理 FPGA是可以编程的,必须通 ...

  6. 《FPGA全程进阶---实战演练》第一章之FPGA介绍

    1 什么是FPGA FPGA也即是Field Programmable Gate Array的缩写,翻译成中文就是现场可编程门阵列.FPGA是在PAL.GAL.CPLD等可编程器件的基础上发展起来的新 ...

  7. 《FPGA全程进阶---实战演练》第九章 计数器要注意

    本小节我们来做一个好玩的事情,就是计数器,还记得在做LED自加实验时我们就曾经提到过关于计数器的相关议题,那么这节我们就来讨论讨论. 探讨一下如下的问题:请用verilog记八个数的写法,分析这个可以 ...

  8. 《FPGA全程进阶---实战演练》第三十二章 Signal Tap II 应用实例

    还有几天就要交文章终稿了,三年的研究生生活也快要结束了,时间飞快,岁月如梭,但学习技术的热情仍然不能松懈,不懂的东西太多,需要实时保持奋斗!!过些天会继续更新<FPGA全程进阶---实战演练&g ...

  9. 《FPGA全程进阶---实战演练》第二十一章 细说低速与高速电路设计之电阻 电容 电感 磁珠

      1.1 什么是高速电路 信号的最高频率成分是取决于有效频率,而不是周期频率. 高速电路的定义是根据信号的有效频率来计算的,在现实世界中,任何信号都是由多个频率分量的正弦波叠加而成的.定义各正弦波分 ...

随机推荐

  1. Python rpartition() 方法

    描述 Python rpartition() 方法用来根据指定的分隔符将字符串进行分割. 如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符前面的子字符串,第二个为分隔符本身,第三个为分 ...

  2. DOA——MUSIC算法

    一.均匀圆阵(UCA, Uniform Circular Array)的MUSIC算法 假设一个半径为R的M元均匀圆阵的所有阵元均位于坐标系X-Y平面内,第k-1个阵元坐标为,第i个窄带信号波长为,来 ...

  3. Java 异常处理的 9 个最佳实践

    在 Java 中,异常处理是个很麻烦的事情.初学者觉得它很难理解,甚至是经验丰富的开发者也要花费很长时间决定异常是要处理掉和抛出. 所以很多开发团队约定一些原则处理异常.如果你是一个团队的新成员,你可 ...

  4. C 字符串常量和字符串变量定义和区别

    字符串常量 定义:在一个双引号""内的字符序列或者转义字符序列称为字符串常量 例如:"HA HA!"  "abc"  "\n\t& ...

  5. jquery中选择块并改变属性值的方法

    本文为大家介绍下使用jquery改变class属性的值,通过removeClass.addClass实现,具体如下,感兴趣的朋友可以学习下jquery改变class属性的值 $("#top_ ...

  6. Linux系统CPU的性能监控及调优

    前言: 性能优化是一个老生常谈的话题,典型的性能问题如页面响应慢.接口超时,服务器负载高.并发数低,数据库频繁死锁等.尤其是在“糙快猛”的互联网开发模式大行其道的今天,随着系统访问量的日益增加和代码的 ...

  7. linux 建立反向shell

    首先是netcat的版本选择BSD版的不支技-c -e参数,而GNU版的有-e参数,这里我用的是GNU版: sh-4.1# nc -V netcat (The GNU Netcat) Copyrigh ...

  8. compiled inline cache

    http://cr.openjdk.java.net/~jrose/pres/200910-VMIL.pdf https://wiki.openjdk.java.net/display/HotSpot ...

  9. C do {...} while (0) 在宏定义中的作用

    如果你是一名C程序员,你肯定很熟悉宏,它们非常强大,如果正确使用可以让你的工作事半功倍.然而,如果你在定义宏时很随意没有认真检查,那么它们可能使你发狂,浪费N多时间.在很多的C程序中,你可能会看到许多 ...

  10. AngularJS实现跨域请求

    跨域,前端开发中经常遇到的问题,AngularJS实现跨域方式类似于Ajax,使用CORS机制. 下面阐述一下AngularJS中使用$http实现跨域请求数据. AngularJS XMLHttpR ...