EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 alexwang 于 2019-1-16 13:58 编辑
9 C& ~5 L |4 a4 U' S1 ^- ^
7 I* f7 n T" \: u: d& S! ]高速信号-交流耦合电容 EDA365原创 作者:John
4 r$ \2 ?; I6 r8 r! V5 Y; _
我们在处理高速差分信号的时候,经常使用交流耦合,也会使用直流耦合,比如PCI Express我们看到的是交流耦合。早期光模块和芯片之间的LVPECL则更多地使用直流耦合,这篇文章我们不打算讨论什么情况下使用交流耦合,什么情况下使用直流耦合,我们要讨论的是使用交流耦合时需要解决的问题。
* n( R4 }0 W5 N 8 t4 f- Z( d) D% I
很简单的一个问题, 交流耦合的电容需要选择多大?我们最常见的有0.1uF和0.01uF, EDA365网友们有想过为什么吗?为什么不选更大或者更小的?今天我们试图来用最简单的方式来解释,我们先使用频域的方式。 ; L3 j5 |; n+ O1 \
◆◆1. 频域◆◆ " ], G5 W) S Z( n1 e
; ^7 u9 h4 L$ h& q
以PCIE为例,我们知道PCIE内含8b/10b编码,并且我们知道它的所谓2.5Gbps (PCIE1.0),5Gbps(PCIE2.0),8Gbps(PCIE3.0)速率指的包含了8b/10b后(PCIE3.0是128b/130b)的速率,也就波特率,这一点和以太网不一样,千兆以太网的SGMII接口速率其实1.25Gbps,去除8b/10b后比特率是1000M,所以这里的千兆指的payload速率,而且PCIE的速率指的是加上开销以后的速率。 - ?$ l2 e/ x4 {1 c- ]
3 t4 t; {5 i% M2 X
题外话不多说,我们知道8b/10b作用是确保0和1的平衡,使得信号不会出现很长0和很长的1,防止接收端的CDR失锁,也就是去除了信号的低频部分,使得信号的频谱保持在某个频率以上。如图所示经过8b/10b编码后信号的频谱在低频段衰减了8dB # r Y o7 s& u6 T! C. S$ r; z
" o7 y& `. a5 R& R
那么我们怎么去除、为什么我们要去除低频,保留高频呢?各位EDA365网友可以思考一下,这还得从AC耦合的结构原理说起:
' d$ W# o! g3 x5 b
, f. o- ? x% m
根据上图,我们进一步细化一下模型如下: + t: Z& j" Y, `; ^* a$ ?- b+ y
9 K( P/ [0 m5 Z1 r& c0 w5 h
我们看到耦合电容和传输线的特征阻抗组成了一个高通的滤波器,如下面的图所示我们需要确保此High pass filter的截止频率(绿色线)要低于信号经过8b/10b后的频谱的最低点(红色线),因为只有这样才能确保信号的能量完整的通过。
`3 ]0 x4 g4 T! S& @; t, h
/ _% z, F/ x: v8 p
下面我们来计算一下: 1. 传输线特征阻抗Zr=50; 2. AC coupling电容值为C; 3. PCIE信号经过8b/10b后的信号频谱也是已知的,用频谱仪测一下或者简单用速率(比如PCIE2.0的5Gbps)除以4简单估算一下, 因为8b/10b最长0或者1只有4位了; 下面我们就来计算电容的值:
我们很容易就能得出C的值了,简单吧。
5 C3 g0 r+ h5 w9 [/ n1 t. X: X
◆◆2. 时域◆◆
+ f$ Z! o9 F5 j0 {, W4 d
% b; C) ?0 O3 S- z, Z$ \
从时域来解释,如果不用8b/10b的话,问题有两个,请看下面这段英文的精妙论述:AC coupled data signals would have DC drifts depending on the data content. A long sequence of 1′s will lead into positive drift and many 0′s will drift toward negative voltage. 意思是说如果没有8b/10b的话,信号的长0和长1会使得信号本身发生直流漂移。 ; H9 l. U% |4 W% ^
- U7 h- l( t" K, \6 x* ~+ L& J
而加了8b/10b以后,CDR和恢复和信号直流漂移问题解决,下面这张图我们再来看,所谓的“constant average value”已经趋于水平而不会上下摇摆。
2 K0 s: |9 j" T/ t( ^1 t
, q5 R9 q) S a! T3 u- u" a
我们继续阐述8b/10b在时域的作用,信号经过了ac coupling电容之后,相当于经过了一个高通的滤波器,会产生的问题如下,高频跳变的能量可以顺利通过, 而低频的长0和长1则不能通过, 低频信号发生了畸变,而经过了8b/10b后,信号的低频部分被消除,也不会有畸变的事情发生了。
0 R" F+ ?9 t$ u
! K3 A/ L- r9 p# ]5 j
那么是不是就说加了8b/10b后,使用ac coupling就什么问题都没有了呢?否,我们需要仔细考虑计算我们的ac coupling电容的大小。我们先来看看经过high pass后时域信号发生的变化: 5 G" G5 y$ e8 U, I
0 P, `6 X9 x& O) D8 v/ Q& {3 h9 z
我们看到仍然有部分低频部分被去除,这可能是由于电容选择不合理,我们先来看看电容取值如果太小会怎么样?
6 G& m! C+ L# J3 K
% W3 |. q% o3 n
电容如果取值太小,高速信号在充放电的时候,很显然容易饱和,我们知道电容一旦饱和,阻抗就会变得很大,抵抗外面的高速信号的变化,为什么小电容容易饱和呢? 我们想象一下,电容的正负极板其实是随着信号跳变也在不停地做充放电,这样极板两边的极性才会随着信号的高低而变化,如果是小电容再加上长0长1的低频部分到来,一下就充满了。一旦充满,最终导致信号的有效低频部分被去除,如下如所示,连续三个1就会导致电容饱和,我们仔细看一下变化的步骤: 7 j8 D) O. l0 H- V9 y( Y# Q
1) 开关打到1; 2) 电容阻抗无穷小,电阻分压最大; 3) 随着电容充电,电容的阻抗在变大,如果饱和了,阻抗就变得无穷大,阻碍外部的交流变化,而且电阻上的分压变得很小,导致直流漂移; 4) 开关打到2; 5) 电容开始放电,如此周而复始。
% I: A2 s4 X6 b& j0 f
我们可以看到直流电平缓慢下降的直流漂移会带来什么,会带来抖动,这种特殊的抖动叫PDJ。 5 {0 Y- N( W6 I4 R
0 W4 ~; L |2 U* D/ Z9 h+ \5 q
我们看到当出现1110的数据时,就会在1到0转变的边沿偏离,产生抖动,产生的原因很简单,就是因为直流电平的起点低了,导致下降沿比正常的周期跳变信号提前了, 这种抖动是我们不喜欢的,一方面信号变形,另外一方面CDR需要跟踪并且修复这种抖动, 是的眼图质量裂化,误码率升高。 6 [$ N* N( ~7 m: g# R
那么电容选太大会怎么样? 当然很容易想明白,不能选太大的电容,因为大电容含有ESL/ESR,也会对信号有衰减。 : M9 c. |+ v( f& K) a
所以从时域和频域的两个角度,我们知道高速信号的ac coupling的电容选择需要仔细计算和考量,不能随意。 ( N0 S1 J5 G- ~ ]" b- ^. Z
注:本文为EDA365电子论坛原创文章,未经允许,不得转载。
( p) J } L6 U2 D8 W9 |8 L |