高速先生成员--黄刚
交流耦合电容,坊间也俗称隔直电容,相信大家对它的原理都非常的熟悉,就是把直流电平隔掉,保证传输过程中电平的转换不会影响接收端。下面的一条常见的PCIE4.0的金手指链路,TX端会有隔直电容,做过类似硬件原理的朋友都知道,电容的容值一般就是100到几百nf级别的,有的用100nf,有的用220nf,差不多就是这个量级了。

大家用着也很习惯,只要链路的阻抗损耗等PCB参数优化好了,功能上也不会有什么问题,今天高速先生抛开自己的老本行---高速链路在PCB的优化不说,就聊聊这个隔直电容容值的不同对高速信号的影响!

首先我们提取上面的这条PCB链路的无源结果,电容的话我们来尝试PCIE常用的220nF的电容,为了研究不同容值电容的影响,我们找一个1nF的电容来做对比。看看220nf和1nf电容对PCIE4.0信号的影响。
首先我们看看损耗方面的差异哈,16Gbps的PCIE4.0信号基频是8GHz,然后我们“惊讶”的发现,两种不同容值的电容在8GHz频点的损耗几乎是一样的。

难道不同容值的电容就真的对高速信号没有影响?细心的朋友可能此刻已经在放大上面那张损耗的对比图了,然后就猛的发现还是有一个局部地方是有差异的,没错!就是放大很多倍之后看到低频的位置其实是不一样的哈。

从放大之后的结果可以看到,1nf电容在很低很低频段的时候其实是比220nf电容的损耗要大的,后面频率上去之后两者才慢慢趋于一致。也就是说,不同容值电容在较低频段对高速信号的传输作用是不同的。

当然说到这里很多朋友会问,那然后呢,到底对高速信号的影响在哪里,能不能说得让大家明白一点?当然可以!高速先生的宗旨就是通俗易懂,那我们再接着往下讲,通过波形和眼图的形式继续分析它们的差异哈!
我们知道,高速串行信号的码型其实是随机码,什么叫随机码,也就是可能在某些时刻会出现下面这两种码型比较极端的码型。

上面那种就是很多长“1”的码型,也就是连续很多位都是“1”,下面那种可能还正常一点,就是“1”和“0”切换得更频繁的码型。相信我!对比这两种码型经过这条不同容值电容链路后的情况你们就知道差异了。

首先我们用这两串码型去通过220nf电容的链路,第一串长“1”的码型发送过去的效果:

然后是第二串“1”和“0”切换频繁的链路发送过去的效果:

感觉还行啊,两种码型都符合大家的预期吧,除了有一点损耗之外,幅度,电平这些都很好,没什么问题!
那趁热打铁吧,我们再用这两串码型发送到1nf的链路中去,看看接收端的表现。
首先我们先用第二串“1”和“0”切换频繁的链路发送过去,先看它的表现:

不能说一模一样,但是真的和220nf的时候没区别啊!先别紧张,我们接着来看看长“1”的这串码型发到1nf电容链路的情况,要是看完了,也没区别,你们再走呗!

来啦,长“1”的这串码型发到1nf电容链路的效果是这样的:

从波形的大小上看也没区别啊????不是,好像还真有点区别,什么区别呢?波形和眼图的幅度为什么会拉下来啦?怕大家没理解,我补一张对比的波形图,这次能看到差异了吧?

这时就看到1nf电容链路对高速信号的影响了吧,不对称的眼图会导致有效的眼宽和眼高都非常小,所以选对隔直电容的容值对高速串行信号的性能还是影响贼大的,一直沿用下来的100nf或者220nf还是很有道理的哈!
