《FPGA全程进阶---实战演练》第三章之PCB设计之过孔
在画电路板时,往往需要过孔来切换层之间的信号。在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设计之过孔的更多相关文章
- 《FPGA全程进阶---实战演练》第二章之PCB layout注意事项以及投板几点说明
上一篇博客讲述了各个部分的原理图,那么根据原理图画出PCB,其实PCB是一门很大的学问,想要掌握谈何容易.就笔者在画PCB时的一些注意事项做一些说明. 1.电源部分的电源线 ...
- 《FPGA全程进阶---实战演练》第二章之焊接板子及调试注意事项
1.若是读者第一次做板子,强烈建议画完PCB板后将PCB图打印出来,然后对照你买的芯片将芯片放置对 应的位置,然后查看所有的封装格式适不适合,否则等你做出板子来后再试,为时晚矣.笔者虽然知道要这么 做 ...
- 《FPGA全程进阶----实战演练》第二章之系统搭建
1 系统方案 对于设计一款硬件平台,首先要确定整体框架,确定各个模块所需要的芯片以及电压分配情况.图2.6是笔者曾经设计的硬件平台系统. 图2.6系统框图 对于选定一个系统方案之后,接下来做的要先去查 ...
- 《FPGA全程进阶---实战演练》第二章之硬件平台的搭建
学习FPGA,多多少少应该要懂得硬件电路的设计,这样不单单增加了自己的技能,而且还能够对FPGA的硬件实现有更好的了解. 1 模块划分 对于一个基本的FPGA硬件平台,常用的几个电路部分:(1)电源电 ...
- 《FPGA全程进阶---实战演练》第一章之如何学习FPGA
对于很多初学者,大部分都是急于求成,熟不知越是急于求成,最终越是学无所成,到头来两手空空,要学好FPGA,必须弄懂FPGA本质的一些内容. 1.FPGA内部结构及基本原理 FPGA是可以编程的,必须通 ...
- 《FPGA全程进阶---实战演练》第一章之FPGA介绍
1 什么是FPGA FPGA也即是Field Programmable Gate Array的缩写,翻译成中文就是现场可编程门阵列.FPGA是在PAL.GAL.CPLD等可编程器件的基础上发展起来的新 ...
- 《FPGA全程进阶---实战演练》第九章 计数器要注意
本小节我们来做一个好玩的事情,就是计数器,还记得在做LED自加实验时我们就曾经提到过关于计数器的相关议题,那么这节我们就来讨论讨论. 探讨一下如下的问题:请用verilog记八个数的写法,分析这个可以 ...
- 《FPGA全程进阶---实战演练》第三十二章 Signal Tap II 应用实例
还有几天就要交文章终稿了,三年的研究生生活也快要结束了,时间飞快,岁月如梭,但学习技术的热情仍然不能松懈,不懂的东西太多,需要实时保持奋斗!!过些天会继续更新<FPGA全程进阶---实战演练&g ...
- 《FPGA全程进阶---实战演练》第二十一章 细说低速与高速电路设计之电阻 电容 电感 磁珠
1.1 什么是高速电路 信号的最高频率成分是取决于有效频率,而不是周期频率. 高速电路的定义是根据信号的有效频率来计算的,在现实世界中,任何信号都是由多个频率分量的正弦波叠加而成的.定义各正弦波分 ...
随机推荐
- tp表单的提交与验证
一.控制器如下 引用use app\index\model\User; //注意模型类名不能和控制器类名相同 public function index(){ return $this->fet ...
- 获取Android运行apk的packagename 和activityname
自动化测试中经常遇到这个问题,关于这个题目,方法众多,咱的目的是找个比较简单靠谱的: 方法一: 先进入cmd窗口,adb shell 后: cd /data/data ls 可以看到包名了吧,缺点很明 ...
- JavaScript与DOM(下)
介绍 上一章我们介绍了JavaScript的基本内容和DOM对象的各个方面,包括如何访问node节点.本章我们将讲解如何通过DOM操作元素并且讨论浏览器事件模型. 本文参考:http://net.tu ...
- Spark核心概念理解
本文主要内容来自于<Hadoop权威指南>英文版中的Spark章节,能够说是个人的翻译版本号,涵盖了基本的Spark概念.假设想获得更好地阅读体验,能够訪问这里. 安装Spark 首先从s ...
- java.lang.IllegalStateException: The specified child already has a parent. You must call removeView
java.lang.IllegalStateException: The specified child already has a parent. You must call removeVi ...
- python搭建简易服务器实例参考
有关python搭建简易服务器的方法. 需求分析: 省油宝用户数 已经破了6000,原有的静态报表 已经变得臃肿不堪, 每次打开都要缓上半天,甚至浏览器直接挂掉 采用python搭建一个最最简易的 w ...
- 常用的正则表达式C#工具类
Regex类实现了一些特殊功能数据检查,正则表达式的一些常用的功能,集成至该类中. public class RegexDao { private RegexDao() { } private sta ...
- Java 9和Java 10的新特性
http://www.infoq.com/cn/news/2014/09/java9 Java 9新特性汇总 继2014年3月份Java 8发布之后,Open JDK加快了开发速度, Java 9的发 ...
- 428. Pow(x, n)【medium】
Implement pow(x, n). Notice You don't need to care about the precision of your answer, it's acceptab ...
- django:DateTimeField如何自动设置为当前时间并且能被修改 ——django日期时间字段的使用
创建django的model时,有DateTimeField.DateField和TimeField三种类型可以用来创建日期字段,其值分别对应着datetime().date().time()三中对象 ...