信号线多长算长呢——之上升沿与时延的爱恨情仇
创始人
2024-04-11 04:04:58
0

        忆往昔岁月,看着PCB上弯弯曲曲的走线,看着书中所说的端接,想象着日后自己也可以这么牛逼,能够设计出这么复杂的电路。“过来焊板子啦”一句话又将我拉回了现实,哎,过来吸一会我们硬件攻城狮的精神鸦片——松香吧。

        吸完后果然腰也疼了头也晕了连拿碗的手都开始抖了,我觉得我快要成仙了,然后带着我的一身仙气来到了老师傅面前露出我那谄媚的笑容,“老大,咱这板子上面为啥走线是弯弯曲曲的,为啥要做个端接”,“因为这是高速信号,需要控制时序,为了防止反射需要端接”,他好像回答了我的问题,但是我还是不懂啊,为了不暴露我的智商我只好回了一句“哦”。

        正常人听到这个回答应该是先了解为啥信号要弯弯曲曲的,但我不是一般人啊,我吸松香都要成仙了,我必须的从后往前研究,先搞明白啥是端接,为啥要端接,啥时候需要端接,啥时候又不需要端接。

        好啦,开始正题,一个信号的模型是由近端驱动器、阻抗可控的互联线,以及远端接收器组成(肯定有人说,我接收端啥也不接,哎我没有接收端,哈哈,是不是模型不成立了,啊哈哈,回复:接收端不接就是接了一个阻抗无穷大的电阻,哎,它也是接收器(打死你个键盘杠精龟孙,哼!))。那我们就按接收端啥也不接的情况来分析一下(哼!),就是当接收端开路时,驱动端发出的信号就会在驱动器和接收器之间来回的反弹,当互连线很长时,经过多次的反弹就会引起信号完整性的问题,如振铃现象,但是如果互联线足够的短,虽然也会发生反射,但是她会被上升沿或者时下降沿给掩盖了,可能就不会引起问题,想象一下你对着墙泼水,离得稍微远一点水是不是会溅起来啊(杠精,退!)当你离得足够近虽然也会溅起来但是被你泼的水给挡回去了,就如同你要下地铁结果被人流又给推回去了。那么究竟多长的互联线会产生信号完整性的问题呢,下图是信号时延是上升沿的40%、30%以及20%时接收端的信号波形。

        上图是当传输的线长时延分别为信号上升沿的40%、30%以及20%时,无终端端接情况下在传输线远端观测到的100MHz时钟信号波形,可以看出当传输时延超过信号上升沿的20%时,振铃噪声可能会引起问题。

       OK,我们就以上升沿是1ns来计算振铃不会对信号完整性产生影响的最大长度吧,上升沿是1ns,最大时延是20%×1ns=0.2ns,在FR4中信号的传输速度约为6in/ns,所以没有终端端接传输线的最大长度约为6in/s×0.2ns=1.2in。

因此,可以得到一个十分有用的经验法则,为了避免信号完整性问题,没有终端端接的传输线最大长度约为:

        其中,Lenmax表示没有终端端接传输线的最大长度(单位in),RT表示信号上升沿(单位为ns)。

        但是一般情况下我们我的只知道时钟的频率,要想看驱动器输出波形的上升沿还需要去翻看手册,作为一个硬件工程师,能够快速的计算出无需端接的最大长度,并且口算出来,那是多么的高光时刻啊,也能装逼于无形之中(得意doge,哈哈),那么怎么算呢,比如说,100MHz的时钟频率其周期是10ns我们安常规方法计算上升沿是周期的10%也就是1ns,那么100MHz的时钟最大长度就是1in也就是1000mil,那么同理1GHz的时钟其最大长度就是100mil喽,记着这两个数,同学们下次遇到机会千万不要放过装逼的机会,哈哈,但是注意实际上端接与否与时钟频率是没有强关联的,它只与信号的上升沿有关系,也就是说1MHz的上升沿如果很陡峭的话也是需要端接滴,但是我们是做工程的不是做学术研究的,能够在正确的方向上得出相对正确的答案比精确的答案更有意义。

        好啦,给大家一个思考的问题,比如说0.1ns的上升沿,最大长度是0.1in,信号在FR4中速度为6in/ns那就是0.1in信号单程是0.016666667ns,再返回到源端总的需要的时间是0.016666667ns×2约为0.03333333,就是一个来回才占了整个上升沿的三分之一,大家想想为啥是三分之一而不是二分之一或者其他,如果是二分之一就是反射回来的信号刚好在上升沿的一半,同样可以掩盖返回的数据啊,除了通过仿真看波形图,从其他角度能不能解释的通呢,哈哈,提示一点可以看一个标准的振铃图来想哦。

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...