热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

电路板上的连线也存在坑

关注、星标公众号,不错过精彩内容素材来源:Ittbank、电子森林我们设计电路图的时候,器件管脚之间的连线都是理想化的,但在

关注、星标公众,不错过精彩内容

素材来源:Ittbank、电子森林

我们设计电路图的时候,器件管脚之间的连线都是理想化的,但在实际的电路板上要通过有一定宽度、长度、厚度的导线进行连接,而且相邻的导线之间还会由于电磁作用互相影响,实际的走线是有一定的阻抗、感抗、容抗的,导致了PCB上一系列干扰、串扰、信号完整性等问题。要保证PCB达到你设计所预期的性能,就要基于电磁场理论对“传输线”进行有效的设计。

相信大家时不时的都会听到传输线(Transmission Line,TL)的概念,在信号完整性分析中占据重要地位。这一期我们就浅显的学习下其基本概念和特性。

电路系统是器件(Device)和连线(Interconnect)的整体。在电路图中经常使用的是理想连线。在集成电路中的制造中,连线的实现可能会用到多晶硅,铝线或者铜线。封装过程中的bonding wire可能会用到铝线或者金线。板级pcb走线通常会用到铜线等等。

那么实际的互联线的等效模型该怎么表示那?图1给出了简单的示意图。理想走线当然不考虑其走线电阻、电容和电感等电气特性,其特点就是等电势(无延迟)。当然部分场合可根据需要简单等效为集总(lumped)的L、R或C。或者使用复杂的RC模型、LC模型。最后可能是更完整的RLGC模型。

图1

那么是不是什么时候都需要考虑RLGC模型那,当然不是了,这对于电路中成千上万的连线也不现实。图2给出了一些简单的简化等效场景。

图2

我们都知道信号在导线中的传输,本质上并不是电子的移动,而是电磁场以接近光速进行传播。实际传播速度由材质的相对介电常数εr和相对磁导率μr决定。那么如果知道了传输线的长度l,就可以得到传输线的延迟td=l/v。

图3

下面重点分析RLGC模型。既然以有限速度传播,那么信号的传播就有先后顺序,图4给出了无限长度传输线中某一点x和无限小增量dx的模型。其中R、L、G和C都是传输线单位长度的电阻、电感、电导和电容。电压和电流都是位置x和时间t的函数,偏微分方程中当位置增量dx无限趋近于0时,能够得到著名的传输线方程,也叫电报方程(telegraph equation )。

图4

对传输线方程进行拉式变换并求解得到位置为x处的信号和x=0处信号的关系。如图5中④式。其中γ称之为传播常数(propagation constant)。表明信号在传输线上传输时随着传输距离x和频率会发生变化。实部α影响单位距离幅度衰减,虚部β影响单位距离相位延迟。

图5

对于传输线的阻抗计算,图6给出思路,首先假设无限长度传输线的输出阻抗为Z0如图6(a),那么在(a)的基础上,再增加无限小长度dx,取极限dx→0,阻抗仍然应该是Z0,如图5(b)所示。最终我们得到的阻抗Z0的表达式。可以看到这是个和频率及RLGC有关的量。当然如果不考虑R和G,也就是LC模型,也称之为无损传输线(Lossless TL)模型。其阻抗就和频率无关,也就是常说的无损传输线的特征阻抗(L/C)^0.5。

图6

当然对于实际的的传输线为保证其阻抗恒定,避免出现阻抗不连续。需要传输线在其整个长度上具有均匀性(uniform)。图7为一些常见pcb走线(trace)的剖面示意图。包含了常见的双绞线、同轴线,微带线,带状线等剖面图。在需要控制传输线的特征阻抗时,需要通过控制走线的宽度、厚度、间距等来设计L和C,从而达到可控阻抗(Controlled Impedance)的目的。比如常见的50欧姆。

图7

关于阻抗还可以形象地从信号的角度理解,信号在通过传输线的过程中需要对线上电容进行充电,对于一定的输入信号幅度,瞬时电流的大小反映了瞬时阻抗( instantaneous impedance),如果传输线在其传输的路径上是均匀的,信号能"看到"的阻抗就是固定的。如图8所示。

图8

之所以要讨论传输线的特征阻抗,是因为在信号的传输过程遇到了阻抗不连续(不相等)就会出现信号的反射(Reflection)现象。也就是部分信号在不连续点继续前进,部分折返朝源端传播。对于这种情况有反射系数的定义。如图9,当传输线出现阻抗为Z0和ZT的不连续处,需要通过反射电压Vr的定义才能满足边界条。从而得到反射系数Kr的定义,即反射电压Vr和入射电压Vi的比例。

图9

反射现象会影响到信号完整性,在实际的传输线应用中,当传输线设计是均匀一致时,为减小和避免反射问题,通常也需要传输线两端的终端匹配的问题,通过端接电阻达到匹配目的,尽可能的使Kr接近0。降低由阻抗不连续引起的反射量。

所以,理想的连线和现实的导线是有差别的。平时遇到的各种坑,不是说理论就这样,往往需要考虑也实际情况。

‧  END  

推荐阅读:

精选汇总 | 目录 | 搜索

从信号完整性角度谈如何选择示波器

你了解三极管,但你了解晶闸管吗?

关注微信公众号『strongerHuang』,后台回复“1024”,查看更多精彩内容。

长按识别图中二维码关注


推荐阅读
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ... [详细]
  • 判断数组是否全为0_连续子数组的最大和的解题思路及代码方法一_动态规划
    本文介绍了判断数组是否全为0以及求解连续子数组的最大和的解题思路及代码方法一,即动态规划。通过动态规划的方法,可以找出连续子数组的最大和,具体思路是尽量选择正数的部分,遇到负数则不选择进去,遇到正数则保留并继续考察。本文给出了状态定义和状态转移方程,并提供了具体的代码实现。 ... [详细]
  • 本文介绍了UVALive6575题目Odd and Even Zeroes的解法,使用了数位dp和找规律的方法。阶乘的定义和性质被介绍,并给出了一些例子。其中,部分阶乘的尾零个数为奇数,部分为偶数。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  • ALTERTABLE通过更改、添加、除去列和约束,或者通过启用或禁用约束和触发器来更改表的定义。语法ALTERTABLEtable{[ALTERCOLUMNcolu ... [详细]
  • 本文介绍了一个题目的解法,通过二分答案来解决问题,但困难在于如何进行检查。文章提供了一种逃逸方式,通过移动最慢的宿管来锁门时跑到更居中的位置,从而使所有合格的寝室都居中。文章还提到可以分开判断两边的情况,并使用前缀和的方式来求出在任意时刻能够到达宿管即将锁门的寝室的人数。最后,文章提到可以改成O(n)的直接枚举来解决问题。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • 2022年的风口:你看不起的行业,真的很挣钱!
    本文介绍了2022年的风口,探讨了一份稳定的副业收入对于普通人增加收入的重要性,以及如何抓住风口来实现赚钱的目标。文章指出,拼命工作并不一定能让人有钱,而是需要顺应时代的方向。 ... [详细]
author-avatar
中域信和通信技术_229
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有