数据经过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耦合方式(常用的方法是在发送端或接收端串接隔直电容),这 样信号对于收发端的地电平变化和共模噪声的抵抗能力进一步增强,可以传输更远的距离。 数字信号带宽、信道带宽、信息速率、基带、频带的带宽;吉林数字信号测试HDMI测试
简单的预加重对信号的频谱改善并不是完美的,比如其频率响应曲线并不一定与实际 的传输通道的损耗曲线相匹配,所以高速率总线会采用阶数更高、更复杂的预加重技术。 图1.28所示是一个3阶的预加重,其除了对跳变沿后面的第1个比特进行预加重处理外,跳变沿 之后的第2个比特的幅度也有变化。跳变沿后第1个比特的幅度变化有时也叫Post Cursorl,
跳变沿后的第2个比特的幅度变化有时也叫Post Cursor2。有些总线如PCIe3.0,会对跳变 沿前面的1个比特的幅度也进行调整,叫作Pre Cursor1,有时也称为PreShoot。 吉林数字信号测试HDMI测试什么是模拟信号和数字信号是什么。
为了提高串行数据传输的可靠性,现在很多更高速率的数字接口采用对数据进行编码后再做并/串转换的方式。编码的方式有很多,如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为例,
需要注意的是,采用8b/10b编码方式也是有缺点的,比较大的缺点就是8bit到10bit的编码会造成额外的20%的编码开销,所以很多10Gbps左右或更高速率的总线不再使用8b/10b编码方式。比如PCIe1.0和PCIe2.0的总线速率分别为2.5Gbps和5Gbps,都是采用8b/10b编码,而PCle3.0、PCle4.0、PCle5.0的总线速率分别达到8Gbps、16Gbps和32Gbps,并通过效率更高的128b/130b的编码结合扰码的方法来实现直流平衡和嵌入式时钟。另一个例子是FibreChannel总线,1xFC、2xFC、4xFC、8xFC的数据速率分别为1.0625Gbps、2 . 125Gbps,4 . 25Gbps 、8 . 5Gbps,都是采用8b/10b编码,而16xFC 、32xFC 的数据速率分别 为14.025Gbps和28.05Gbps,采用的是效率更高的64b/66b编码方式。64b/66b编码在 10G和100G以太网中也有广泛应用。数字信号的时钟分配(Clock Distribution);
要把并行的信号通过串行总线传输,一般需要对数据进行并/串转换。为了进一步减少传输线的数量和提高传输距离,很多高速数据总线采用嵌入式时钟和8b/10b的数据编码方式。8b/10b编码由于直流平衡、支持AC耦合、可嵌入时钟信息、抗共模干扰能力强、编解码结构相对简单等优点,在很多高速的数字总线如FiberChannel、PCIe、SATA、USB3.0、DisplayPort、XAUI、RapidIO等接口上得到广泛应用。图1.20是一路串行的2.5Gbps的8b/10b编码后的数据流以及相应的解码结果,从中可以明显看到解出的K28.5等控制码以及相应的数据信息。数字信号处理系统架构分析;吉林数字信号测试HDMI测试
数字信号的抖动(Jitter);吉林数字信号测试HDMI测试
采用并行总线的另外一个问题在于总线的吞吐量很难持续提升。对于并行总线来说, 其总线吞吐量=数据线位数×数据速率。我们可以通过提升数据线的位数来提高总线吞吐 量,也可以通过提升数据速率来提高总线吞吐量。以个人计算机中曾经非常流行的PCI总 线为例,其**早推出时总线是32位的数据线,工作时钟频率是33MHz,其总线吞吐量= 32bit×33MHz;后来为了提升其总线吞吐量推出的PCI-X总线,把总线宽度扩展到64位, 工作时钟频率比较高提升到133MHz,其总线吞吐量=64bit×133MHz。是PCI插槽 和PCI-X插槽的一个对比,可以看到PCI-X由于使用了更多的数据线,其插槽更长。
但是随着人们对于总线吞吐量要求的不断提高,这种提升总线带宽的方式遇到了瓶颈。首先由于芯片尺寸和布线空间的限制,64位数据宽度已经几乎是极限了。另外,这64根数据线共用一个采样时钟,为了保证所有的信号都满足其建立保持时间的要求,在PCB上布线、换层、拐弯时需要保证精确等长。而总线工作速率越高,对于各条线的等长要求就越高,对于这么多根信号要实现等长的布线是很难做到的。
用逻辑分析仪采集到的一个实际的8位总线的工作时序,可以看到在数据从0x00跳变到0xFF状态过程中,这8根线实际并不是精确一起跳变的。 吉林数字信号测试HDMI测试
建立时间和保持时间加起来的时间称为建立/保持时间窗口,是接收端对于信号保持在 同一个逻辑状态的**小的时间要求。数字信号的比特宽度如果窄于这个时间窗口就肯定无 法同时满足建立时间和保持时间的要求,所以接收端对于建立/保持时间窗口大小的要求实 际上决定了这个电路能够工作的比较高的数据速率。通常工 作速率高一些的芯片,很短的建 立时间、保持时间就可以保证电路可靠工作,而工作速率低一 些的芯片则会要求比较长的建 立时间和保持时间。 另外要注意的是, 一个数字电路能够可靠工作的比较高数据速率不仅取决于接收端对于 建立/保持时间的要求,输出端的上升时间过缓、输出幅度偏小、信号和时钟中有抖动、信...