之前一直听说PCB设计中信号完整性及阻抗方面的要求,但是本人对此还是有很多的不了解,每次和别人讨论到这里后就不知道该怎么继续就这个问题交谈下去。正巧最近手头有一点工作有这方面的一些需求,就拿来花了一点时间认真的了解了一下。自我感觉只是了解到了冰山一角,在此吧所了解到的知识进行下摘抄总结,后续有新知识再进行跟进。

本文主要讲述了PCB的阻抗控制,资料源自互联网,出处附于其后。

阻抗及其影响因素

阻抗控制(eImpedace Controling),线路板中的导体中会有各种信号的传递,为提高其传输速率而必须提高频率,线路本身若因蚀刻,叠层厚度,导线宽度等不同因素,将会造成阻抗值的变化,使得信号失真。故在高速线路板上的导体,其阻抗值应该控制在某一范围内,称谓“阻抗控制”。

在实际情况中,一般数字信号边沿低于1ns或者模拟频率超过300MHz时就需要控制阻抗了。印制电路板上导线的特性阻抗是电路板设计的一个重要指标,特别是在高频电 路的PCB设计中,必须考虑导线的特性阻抗和器件或信号所要求的特性阻抗是否一致,是否匹配。

PCB迹线的阻抗将由其感应和电容性电感、电阻和电导系数确定。影响PCB走线的阻抗的因素主要有: 铜线的宽度、铜线的厚度、介质的介电常数、介质的厚度、焊盘的厚度、地线的路径、走线周边的走线等。PCB 阻抗的范围是25至120欧姆[1]。注:本文大部分参考自[1],在此对原作者表示感谢。

在实际情况下,PCB传输线路通常由一个导线迹线、一个或多个参考层和绝缘材质组成。迹线和板层构成了控制阻抗。PCB将常常采用多层结构,并且控制阻抗也可以采用各种方式来构建。但是,无论使用什么方式,阻抗值都将由其物理结构和绝缘材料的电子特性决定:

  • 信号迹线的宽度和厚度
  • 迹线两侧的内核或预填材质的高度
  • 迹线和板层的配置
  • 内核和预填材质的绝缘常数

这里需要注意了解的是,阻抗控制/匹配主要是指信号层与相邻的参考平面层之间

PCB传输线和叠层

PCB的传输线主要有两种:微带线(Microstrip)与带状线(Stripline)。

简单来说,微带线是顶层或者底层的传输线。带状线是置于两个参考平面之间的带状线,即内层走线。

文中所说的平面一般为电源平面或者地平面。参需要注意的是:在实际的PCB制造中,通常都会在PCB板表面覆了一层绿油,因此在实际的阻抗计算中,通常使用带有绿油的模型计算(此部分后面详细说明)。

微带线和带状线的区别[2]

  • 单位长度微带线的传输延迟时间,仅仅取决于介电常数而与线的宽度或间隔无关。
  • 因为微带线(microstrip)一面是FR4(或者其他电介质)一面是空气(介电常数低)因此速度很快,利于走对速度要求高的信号(例如差分线,通常为高速信号,同时抗干扰比较强)。
  • 带状线(stripline)两边都有电源或者底层,因此阻抗容易控制,同时屏蔽较好,但是信号速度慢些。
  • 通常同样的介质条件微带线(microstrip)的损耗小(线宽),带状线(stripline)的损耗大(线细,有过孔)。

PCB传输线说明
在很多的资料中,都提到了PCB传输线的横截面是一种类似梯形的结构(其形成的原因是PCB制版的过程是从上向下腐蚀形成的,因此横截面呈现梯形)。

如上图所示,其中为工程软件绘制中设置的线宽,W1为横切面上边缘长度,其计算方法为W1 = W - A,其中有关于变量A,存在如下的一个查找变关系。

其中H OZ1 OZ表示PCB铜箔的厚度单位,1 OZ(盎司)的厚度大约在1.35(1.4)mil,H OZ表示半(Half)盎司,即0.5 OZ。

至于为什么使用OZ作为铜箔厚度单位,具体也不是很清楚,但是在这里查找了部分资料简单的做个说明如下[3]。

在PCB行业中,1 OZ意思是重量1 OZ的铜均匀平铺在1平方英尺(FT2)的面积上所达到的厚度。它是用单位面积的重量来表示铜箔的平均厚度。用公式来表示即,1 OZ = 28.35 g/FT2。

具体来说,它和长度也可以说厚度的换算方法如下:

首先,我们知道铜的密度常数和相关单位换算公式如下:
铜的密度ρ=8.9g/cm3
1 mil ≈ 25.4 um
1 FT2 ≈ 929.0304 cm2
1 mil ≈ 25.4um
根据质量的计算公式m=ρ × V =ρ × S × t(厚度),知道铜箔的重量除以铜的密度和面积即为铜箔厚度!
从前文又知,1 OZ = t × 929.0304 cm2 × 8.9 g/cm3 = 28.35 g/cm2
所以,t = 28.35 ÷ 929.0304 ÷ 8.9 cm ≈ 0.0034287 cm ≈ **1.35mil**
由此可知,1 OZ铜箔的厚度约为35 um或者1.35 mil。

PCB阻抗计算

由于PCB的阻抗计算很复杂,需要考虑的因素太多,为了初期的简单方便我们在此使用软件进行阻抗的计算,手动寻找到一个合适点。另外也是由于还没有找到如何使用公式来进行计算,后续找到后再进行文章内容的补充。

计算PCB阻抗的软件读者可以自行查找下载,在此推荐两个,Polar公司的CITS25SI9000。其中CITS25足够轻量,界面也很简洁,需要说明的一点,CITS25软件中所填数值的单位为mil。SI9000更加专业而且其中的模型也更多,单位也可以自由选择,更加灵活。

有关如何使用两个软件进行阻抗的计算,这些本文中不进行叙述,若有此方面阅读需求,可以点此跳转详细了解其如何上手使用。

通过阻抗计算,我们所能确定的有:阻抗大小、各层使用基材以及各个层的厚度。这些也是我们在制板时和厂商所约定的要求。

[整理]PCB阻抗控制的更多相关文章

  1. 为什么PCB上的单端阻抗控制50欧姆

    很多刚接触阻抗的人都会有这个疑问,为什么常见的板内单端走线都是默认要求按照50欧姆来管控而不是40欧姆或者60欧姆?这是一个看似简单但又不 好回答的问题.在写这篇文章前我们也查找了很多资料,其中最有知 ...

  2. PCB的阻抗控制

    多层板的结构: 通常我们所说的多层板是由芯板和半固化片互相层叠压合而成的,芯板是一种硬质的.有特定厚度的.两面包铜的板材,是构成印制板的基础材料.而半固化片构成所谓的浸润层,起到粘合芯板的作用,虽然也 ...

  3. PCB阻抗调节

    在PCB厂家调节的阻抗指的是:传输线的“特征阻抗”,反映传输线上所走“行波”某点的电压和电流的比值,与线长无关.传输线本身的特性. 线宽:反比 介质厚度:正比

  4. 13、SQL基础整理(流程控制begin……end)

    流程控制 begin ……end将一个语句块包含起来,中间可以写任何语句 格式: begin--开始 select *from student end--结束 if declare @bianlian ...

  5. javascript笔记整理(流程控制)

    流程:就是程序代码的执行顺序 流程控制:通过规定的语句让程序代码有条件的按照一定的方式执行 1.顺序结构(按照书写顺序来执行,是程序中最基本的流程结构) 2.选择结构(分支结构.条件结构):根据给定的 ...

  6. MongoDB整理笔记の进程控制

    查看活动进程 > db.currentOp(); > // 等同于: db.$cmd.sys.inprog.findOne() { inprog: [ { "opid" ...

  7. PCB走线角度选择 — PCB Layout 跳坑指南

    现在但凡打开SoC原厂的PCB Layout Guide,都会提及到高速信号的走线的拐角角度问题,都会说高速信号不要以直角走线,要以45度角走线,并且会说走圆弧会比45度拐角更好.狮屎是不是这样?PC ...

  8. 【转载】USB2.0接口差分信号线设计

    引 言 通用串行总线(Universal Serial Bus)从诞生发展到今天,USB协议已从1.1过渡到2.0,作为其重要指标的设备传输速度,从1.5 Mbps:的低速和12 Mbps的全速,提高 ...

  9. 硬件问题大杂烩&Coffee lake框图

    PCB阻抗控制 https://www.cnblogs.com/lifan3a/articles/6095372.html 1.高速差分信号串联AC耦合电容什么请况下要做镂空处理: (1)为了阻抗匹配 ...

随机推荐

  1. 黑马程序员——JAVA基础之GUI

    -----Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- GUI(图形用户界面)  GUI •  Graphical User Interface(图形用 ...

  2. Servlet与JSP的区别

    一.基本概念 1.1 Servlet Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面.它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器 ...

  3. HackerRank "New Year Chaos"

    Two tricks here: 1. Counting no. of inversed pairs - using Merge Sort, nothing special 2. How to che ...

  4. python学习-day15:函数作用域、匿名函数、函数式编程、map、filter、reduce函数、内置函数r

    ---恢复内容开始--- 一.全局变量与局部变量 在子程序中定义的变量称为局部变量, 在程序的一开始定义的变量称为全局变量. 全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序.当全局变量与 ...

  5. JDBC使用步骤

    JDBC编程步骤 加载驱动程序:Class.forName(driverClass) 加载Mysql驱动:Class.forName("com.mysql.jdbc.Driver" ...

  6. OAF_文件系列1_实现OAF文件上传和下载MessageFileUpload/MessageDownload(案例)

    20150707 Created By BaoXinjian

  7. 如何用pdb进行python调试

    本文章讲述了如何用pdb进行python调试讲解. 当手边 没有IDE,面对着python调试犯愁时,你就可以参考下本文;(pdb 命令调试) 参 考:http://docs.python.org/l ...

  8. 解决:新版火狐浏览器3d打不开

    重启:按 Ctrl + Shift + L 键唤出 3d 视图 参考文档:http://tieba.baidu.com/p/4606488108

  9. 转:Tomcat启动过程中找不到JAVA_HOME JRE_HOME的解决方法

    转自:http://blog.sina.com.cn/s/blog_61c006ea0100l1u6.html 原文: 在XP上明明已经安装了JDK1.5并设置好了JAVA_HOME,可偏偏Tomca ...

  10. 【VB.NET】类绑定控件,实现文本框快捷键全选

    Public Class KeyBinder Public Sub BindControl(ByRef CControl As TextBox) AddHandler CControl.KeyDown ...