对于并行总线来说,更致命的是这种总线上通常挂有多个设备,且读写共用,各种信号分叉造成的反射问题使得信号质量进一步恶化。
为了解决并行总线占用尺寸过大且对布线等长要求过于苛刻的问题,随着芯片技术的发展和速度的提升,越来越多的数字接口开始采用串行总线。所谓串行总线,就是并行的数据在总线上不再是并行地传输,而是时分复用在一根或几根线上传输。比如在并行总线上 传输1Byte的数据宽度需要8根线,而如果把这8根线上的信号时分复用在一根线上就可 以减少需要的走线数量,同时也不需要再考虑8根线之间的等长关系。 数字信号取值是散的,通过数学方法对原有信号处理,编码成二进制信号后,再载波的方式发送编码后的数字流。四川数字信号测试
伪随机码型(PRBS)
在进行数字接口的测试时,有时会用到一些特定的测试码型。比如我们在进行信号质量测试时,如果被测件发送的只是一些规律跳变的码型,可能不了真实通信时的恶劣情况,所以测试时我们会希望被测件发出的数据尽可能地随机以恶劣的情况。同时,因为这种数据流很多时候只是为了测试使用的,用户的被测件在正常工作时还是要根据特定的协议发送真实的数据流,因此产生这种随机数据码流的电路比较好尽可能简单,不要额外占用太多的硬件资源。那么怎么用简单的方法产生尽可能随机一些的数据流输出呢?首先,因为真正随机的码流是很难用简单的电路实现的,所以我们只需要生成尽可能随机的码流就可以了,其中常用的一种数据码流是PRBS(PseudoRandomBinarySequence,伪随机码)码流。PRBS码的产生非常简单,图1.21是PRBS7的产生原理,只需要用到7个移位寄存器和简单的异或门就可以实现。 陕西数字信号测试产品介绍数字信号是离散的。它的幅度被限制在一个确定的值。
为了保证接收端在时钟有效沿时采集到正确的数据,通常都有建立/保持时间的要求,以避免采到数据线上跳变时不稳定的状态,因此这种总线对于时钟和数据线间走线长度的差异都有严格要求。这种并行总线在使用中比较大的挑战是当总线时钟速率超过几百MHz后就很难再提高了,因为其很多根并行线很难满图1.15并行总线的时钟传输足此时苛刻的走线等长的要求,特别是当总线上同时挂有多个设备时。为了解决并行总线工作时钟频率很难提高的问题,一些系统和芯片的设计厂商提出了嵌入式时钟的概念。其思路首先是把原来很多根的并行线用一对或多对高速差分线来代替,节省了布线空间;然后把系统的时钟信息通过数据编码的方式嵌在数据流里,省去了专门的时钟走线。信号到了接收端,接收端采用相应的CDR(clock-datarecovery)电路把数据流中内嵌的时钟信息提取出来再对数据采样。图1.16是一个采用嵌入式时钟的总线例子。
采用AC耦合方式的另一个好处是收发端在做互连时不用太考虑直流偏置点的互相影响, 互连变得非常简单,对于热插拔的支持能力也更好。
(3)有利于信号校验。很多高速信号在进行传输时为了保证传输的可靠性,要对接收 到的信号进行检查以确认收到的信号是否正确。在8b/10bit编码表中,原始的8bit数据总 共有256个组合,即使考虑到每个Byte有正负两个10bit编码,也只需要用到512个10bit 的组合。而10bit的数据总共可以有1024个组合,因此有大约一半的10bit组合是无效的 数据,接收端一旦收到这样的无效组合就可以判决数据无效。另外,前面介绍过数据在传输 过程中要保证直流平衡, 一旦接收端收到的数据中发现违反直流平衡的规则,也可以判决数 据无效。因此采用8b/10b编码以后数据本身就可以提供一定的信号校验功能。需要注意的是,这种校验不是足够可靠,因为理论上还是可能会有几个bit在传输中发生了错误,但 是结果仍然符合8b/10b编码规则和直流平衡原则。因此,很多使用8b/10b编码的总线还 会在上层协议上再做相应的CRC校验(循环冗余校验)。 数字信号是由“0”和“1”。
数字信号测试串行总线的8b/10b编码(8b/10bEncoding)
前面我们介绍过,使用串行比并行总线可以节省更多的布线空间,芯片、电缆等的尺寸可以做得更小,同时传输速率更高。但是我们知道,在很多数字系统如CPU、DSP、FPGA等内部,进行数据处理的小单位都是Byte,即8bit,把一个或多个Byte的数据通过串行总线可靠地传输出去是需要对数据做些特殊处理的。将并行数据转换成串行信号传输的简单的方法如图1.19所示。比如发送端的数据宽度是8bit,时钟速率是100MHz,我们可以通过Mux(复用器)芯片把8bit的数据时分复用到1bit的数据线上,相应的数据速率提高到800Mbps(在有些LVDS的视频信号传输中比较常用的是把并行的7bit数据时分复用到1bit数据线上)。信号到达接收端以后,再通过Demux(解复用器)芯片把串行的信号分成8路低速的数据。 数字信号的眼图分析(Eye Diagram Analysis);陕西数字信号测试产品介绍
数字信号幅度测试的定义;四川数字信号测试
要把并行的信号通过串行总线传输,一般需要对数据进行并/串转换。为了进一步减少传输线的数量和提高传输距离,很多高速数据总线采用嵌入式时钟和8b/10b的数据编码方式。8b/10b编码由于直流平衡、支持AC耦合、可嵌入时钟信息、抗共模干扰能力强、编解码结构相对简单等优点,在很多高速的数字总线如FiberChannel、PCIe、SATA、USB3.0、DisplayPort、XAUI、RapidIO等接口上得到广泛应用。图1.20是一路串行的2.5Gbps的8b/10b编码后的数据流以及相应的解码结果,从中可以明显看到解出的K28.5等控制码以及相应的数据信息。四川数字信号测试
可以插入控制字符。在10bit数据可以表示的1024个组合中,除了512个组合用 于对应原始的8bit数据以及一些不太好的组合(这样信号里有太长的 连续0或者1,而且明显0、1的数量不平衡)以外,还有一些很特殊的组合。这些特殊的组 合可以用来在数据传输过程中作为控制字符插入。这些控制字符不对应特定的 8bit数据,但是在有些总线应用里可以一些特殊的含义。比如K28.5码型,其特殊的 码型组合可以帮助接收端更容易判别接收到的连续的10bit数据流的符号边界,所以在一 些总线的初始化阶段或数据包的包头都会进行发送。还有一些特殊的符号用于进行链路训 练、标记不同的数据包类型、进行收发端的时钟速率匹配...