数据经过8b/10b编码后有以下优点:
(1)有足够多的跳变沿,可以从数据中进行时钟恢复。正常传输的数据中可能会有比较长的连续的0或者连续的1,而进行完8b/10b编码后,其编码规则保证了编码后的数据流中不会出现超过5个连续的0或1,信号中会出现足够多的跳变沿,因此可以采用嵌入式的时钟方式,即接收端可以从数据流中通过PLL电路直接恢复时钟,不需要专门的时钟传输通道。
(2)直流平衡,可以采用AC耦合方式。经过编码后数据中不会出现连续的0或者1, 但还是有可能在某个时间段内0或者1的数量偏多一些。从上面的编码表中我们可以看 到,同一个Byte对应有正、负两组10bit的编码, 一个编码中1的数量多一些,另一个编码中 0 的数量多一些。数据在对当前的Byte进行8b/10b编码传输时,会根据前面历史传输的 数据中正负bit的数量来选择使用哪一组编码,从而可以保证总线上正负bit的数量在任何 时刻基本都是平衡的,也就是直流点不会发生大的变化。直流点平衡以后,在信号传输的路 径上我们就可以采用AC耦合方式(常用的方法是在发送端或接收端串接隔直电容),这 样信号对于收发端的地电平变化和共模噪声的抵抗能力进一步增强,可以传输更远的距离。 真实的数字信号频谱;PCI-E测试数字信号测试眼图测试

数字信号的预加重(Pre-emphasis)
如前所述,很多常用的电路板材料或者电缆在高频时都会呈现出高损耗的特性。目前的高速串行总线速度不断提升,使得流行的电路板材料达到极限从而对信号有较大的损耗,这可能导致接收端的信号极其恶劣以至于无法正确还原和解码信号,从而出现传输误码。如果我们观察高速的数字信号经过长的传输通道传输后到达接收端的眼图,它可能是闭合的或者接近闭合的。因此工程师可以有两种选择:一种是在设计中使用较为昂贵的电路板材料;另一种是仍然沿用现有材料,但采用某种技术来补偿传输通道的损耗影响。考虑到在高速率的情况下低损耗的电路板材料和电缆的成本过高,我们通常会优先尝试相应的信号补偿技术,预加重(Pre-emphasis)和均衡就是高速数字电路中常用的两种信号补偿技术。
PCI-E测试数字信号测试眼图测试传统的数字信号带宽计算;

由于真正的预加重电路在实现时需要有相应的放大电路来增加跳变比特的幅度,电路 比较复杂而且增加系统功耗,所以在实际应用时更多采用去加重的方式。去加重技术不是 增大跳变比特的幅度,而是减小非跳变比特的幅度,从而得到和预加重类似的信号波形。 图 1.29是对一个10Gbps的信号进行-3.5dB的去加重后对频谱的影响。可以看到,去加 重主要是通过压缩信号的直流和低频分量(长0 或者长 1 的比特流),从而改善其在传输过 程中可 能造成的对短0或者短1 比特的影响。
抖动的频率范围。抖动实际上是时间上的噪声,其时间偏差的变化频率可能比较 快也可能比较慢。通常把变化频率超过10Hz以上的抖动成分称为jitter,而变化频率低于 10Hz的抖动成分称为wander(漂移)。wander主要反映的是时钟源随着时间、温度等的缓 慢变化,影响的是时钟或定时信号的***精度。在通信或者信号传输中,由于收发双方都会 采用一定的时钟架构来进行时钟的分配和同步,缓慢的时钟漂移很容易被跟踪上或补偿掉, 因此wander对于数字电路传输的误码率影响不大,高速数字电路测量中关心的主要是高 频的jitter。模拟信号和数字信号的相互转换;

为了保证接收端在时钟有效沿时采集到正确的数据,通常都有建立/保持时间的要求,以避免采到数据线上跳变时不稳定的状态,因此这种总线对于时钟和数据线间走线长度的差异都有严格要求。这种并行总线在使用中比较大的挑战是当总线时钟速率超过几百MHz后就很难再提高了,因为其很多根并行线很难满图1.15并行总线的时钟传输足此时苛刻的走线等长的要求,特别是当总线上同时挂有多个设备时。为了解决并行总线工作时钟频率很难提高的问题,一些系统和芯片的设计厂商提出了嵌入式时钟的概念。其思路首先是把原来很多根的并行线用一对或多对高速差分线来代替,节省了布线空间;然后把系统的时钟信息通过数据编码的方式嵌在数据流里,省去了专门的时钟走线。信号到了接收端,接收端采用相应的CDR(clock-datarecovery)电路把数据流中内嵌的时钟信息提取出来再对数据采样。图1.16是一个采用嵌入式时钟的总线例子。数字信号可通过分时将大量信号合成为一个信号(称复用信号),通过某个处理器处理后,再将信号解复用;PCI-E测试数字信号测试眼图测试
数字信号上升时间是示波器中进行上升时间测量例子,光标交叉点指示出上升时间测量的起始点和结束点的位置;PCI-E测试数字信号测试眼图测试
采用并行总线的另外一个问题在于总线的吞吐量很难持续提升。对于并行总线来说, 其总线吞吐量=数据线位数×数据速率。我们可以通过提升数据线的位数来提高总线吞吐 量,也可以通过提升数据速率来提高总线吞吐量。以个人计算机中曾经非常流行的PCI总 线为例,其**早推出时总线是32位的数据线,工作时钟频率是33MHz,其总线吞吐量= 32bit×33MHz;后来为了提升其总线吞吐量推出的PCI-X总线,把总线宽度扩展到64位, 工作时钟频率比较高提升到133MHz,其总线吞吐量=64bit×133MHz。是PCI插槽 和PCI-X插槽的一个对比,可以看到PCI-X由于使用了更多的数据线,其插槽更长。
但是随着人们对于总线吞吐量要求的不断提高,这种提升总线带宽的方式遇到了瓶颈。首先由于芯片尺寸和布线空间的限制,64位数据宽度已经几乎是极限了。另外,这64根数据线共用一个采样时钟,为了保证所有的信号都满足其建立保持时间的要求,在PCB上布线、换层、拐弯时需要保证精确等长。而总线工作速率越高,对于各条线的等长要求就越高,对于这么多根信号要实现等长的布线是很难做到的。
用逻辑分析仪采集到的一个实际的8位总线的工作时序,可以看到在数据从0x00跳变到0xFF状态过程中,这8根线实际并不是精确一起跳变的。 PCI-E测试数字信号测试眼图测试
对于并行总线来说,更致命的是这种总线上通常挂有多个设备,且读写共用,各种信号分叉造成的反射问题使得信号质量进一步恶化。 为了解决并行总线占用尺寸过大且对布线等长要求过于苛刻的问题,随着芯片技术的发展和速度的提升,越来越多的数字接口开始采用串行总线。所谓串行总线,就是并行的数据在总线上不再是并行地传输,而是时分复用在一根或几根线上传输。比如在并行总线上 传输1Byte的数据宽度需要8根线,而如果把这8根线上的信号时分复用在一根线上就可 以减少需要的走线数量,同时也不需要再考虑8根线之间的等长关系。 数字总线采用的时钟 分配方式大体上可以分为3类,即并行时钟、嵌入式时钟、前向时钟,各有各...