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

对于并行总线来说,更致命的是这种总线上通常挂有多个设备,且读写共用,各种信号分叉造成的反射问题使得信号质量进一步恶化。
为了解决并行总线占用尺寸过大且对布线等长要求过于苛刻的问题,随着芯片技术的发展和速度的提升,越来越多的数字接口开始采用串行总线。所谓串行总线,就是并行的数据在总线上不再是并行地传输,而是时分复用在一根或几根线上传输。比如在并行总线上 传输1Byte的数据宽度需要8根线,而如果把这8根线上的信号时分复用在一根线上就可 以减少需要的走线数量,同时也不需要再考虑8根线之间的等长关系。 中国台湾数字信号测试信号完整性测试数字信号的抖动(Jitter);

数字信号的上升时间(Rising Time)
任何一个真实的数字信号在由一个逻辑电平状态跳转到另一个逻辑电平状态时,其中间的过渡时间都不会是无限短的。信号电平跳变的过渡时间越短,说明信号边沿越陡。我们通常使用上升时间(RisingTime)这个参数来衡量信号边沿的陡缓程度,通常上升时间是指数字信号由幅度的10%增加到幅度的90%所花的时间(也有些场合会使用20%~80%的上升时间或其他标准)。上升时间越短,说明信号越陡峭。大部分数字信号的下降时间(信号从幅度的90%下降到幅度的10%所花的时间)和上升时间差不多(也有例外)。图1.2比较了两种不同上升时间的数字信号。上升时间可以客观反映信号边沿的陡缓程度,而且由于计算和测量简单,所以得到的应用。对有些非常高速的串行数字信号,如PCIe、USB3.0、100G以太网等信号,由于信号速率很高,传输线对信号的损耗很大,信号波形中很难找到稳定的幅度10%和90%的位置,所以有时也会用幅度20%~80%的上升时间来衡量信号的陡缓程度。通常速率越高的信号其上升时间也会更陡一些(但不一定速率低的信号上升时间一定就缓),上升时间是数字信号分析中的一个非常重要的概念,后面我们会反复提及和用到这个概念。
采用AC耦合方式的另一个好处是收发端在做互连时不用太考虑直流偏置点的互相影响, 互连变得非常简单,对于热插拔的支持能力也更好。
(3)有利于信号校验。很多高速信号在进行传输时为了保证传输的可靠性,要对接收 到的信号进行检查以确认收到的信号是否正确。在8b/10bit编码表中,原始的8bit数据总 共有256个组合,即使考虑到每个Byte有正负两个10bit编码,也只需要用到512个10bit 的组合。而10bit的数据总共可以有1024个组合,因此有大约一半的10bit组合是无效的 数据,接收端一旦收到这样的无效组合就可以判决数据无效。另外,前面介绍过数据在传输 过程中要保证直流平衡, 一旦接收端收到的数据中发现违反直流平衡的规则,也可以判决数 据无效。因此采用8b/10b编码以后数据本身就可以提供一定的信号校验功能。需要注意的是,这种校验不是足够可靠,因为理论上还是可能会有几个bit在传输中发生了错误,但 是结果仍然符合8b/10b编码规则和直流平衡原则。因此,很多使用8b/10b编码的总线还 会在上层协议上再做相应的CRC校验(循环冗余校验)。 上升时间是数字信号另一个非常关键的参数,它反映了一个数字信号在电平切换时边沿变化的快慢。

数据经过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耦合方式(常用的方法是在发送端或接收端串接隔直电容),这 样信号对于收发端的地电平变化和共模噪声的抵抗能力进一步增强,可以传输更远的距离。 数字信号处理的解决方案;中国台湾数字信号测试信号完整性测试
数字信号处理系统设计流程;中国台湾数字信号测试信号完整性测试
为了提高串行数据传输的可靠性,现在很多更高速率的数字接口采用对数据进行编码后再做并/串转换的方式。编码的方式有很多,如8b/9b编码、8b/10b编码、64b/66b编码、128b/130b编码等,下面以当下流行的ANSI8b/10b编码为例进行介绍。
在ANSI8b/10b编码方式中,8bit的数据先通过相应的编码规则转换成10bit的数据,再进行并/串转换;接收端收到信号后先把串行数据进行串/并转换得到10bit的数据,再通过10bit到8bit的解码得到原始传输的8bit数据。因此,如果发送端并行侧的数据速率是8bit×100Mbps,通过8b/10b编码和并/串转换后的串行侧的数据速率就是1bit×1Gbps。8b/10b编码方法早由IBM发明,后来成为ANSI标准的一部分(ANSIX3.230-1994,clause11),并在通信和计算机总线上广泛应用。表1.1是ANSI8b/10b编码表的一部分,以数据0x00为例, 中国台湾数字信号测试信号完整性测试