伪随机码型(PRBS)
在进行数字接口的测试时,有时会用到一些特定的测试码型。比如我们在进行信号质量测试时,如果被测件发送的只是一些规律跳变的码型,可能不了真实通信时的恶劣情况,所以测试时我们会希望被测件发出的数据尽可能地随机以恶劣的情况。同时,因为这种数据流很多时候只是为了测试使用的,用户的被测件在正常工作时还是要根据特定的协议发送真实的数据流,因此产生这种随机数据码流的电路比较好尽可能简单,不要额外占用太多的硬件资源。那么怎么用简单的方法产生尽可能随机一些的数据流输出呢?首先,因为真正随机的码流是很难用简单的电路实现的,所以我们只需要生成尽可能随机的码流就可以了,其中常用的一种数据码流是PRBS(PseudoRandomBinarySequence,伪随机码)码流。PRBS码的产生非常简单,图1.21是PRBS7的产生原理,只需要用到7个移位寄存器和简单的异或门就可以实现。 什么是模拟信号和数字信号是什么。测量数字信号测试销售厂
建立时间和保持时间加起来的时间称为建立/保持时间窗口,是接收端对于信号保持在 同一个逻辑状态的**小的时间要求。数字信号的比特宽度如果窄于这个时间窗口就肯定无 法同时满足建立时间和保持时间的要求,所以接收端对于建立/保持时间窗口大小的要求实 际上决定了这个电路能够工作的比较高的数据速率。通常工 作速率高一些的芯片,很短的建 立时间、保持时间就可以保证电路可靠工作,而工作速率低一 些的芯片则会要求比较长的建 立时间和保持时间。
另外要注意的是, 一个数字电路能够可靠工作的比较高数据速率不仅取决于接收端对于 建立/保持时间的要求,输出端的上升时间过缓、输出幅度偏小、信号和时钟中有抖动、信号 有畸变等很多因素都会消耗信号建立/保持时间的裕量。因此一个数字电路能够达到的比较高数据传输速率与发送芯片、接收芯片以及传输路径都有关系。
建立时间和保持时间是数字电路非常重要的概念,是接收端可靠信号接收的**基本要 求,也是数字电路可靠工作的基础。可以说,大部分数字信号的测量项目如数据速率、信号 幅度、眼图、抖动等的测量都是为了间接保证信号满足接收端对建立时间和保持时间的要 求,在以后章节的论述中我们可以慢慢体会。 设备数字信号测试销售示波器进行数字信号的幅度测试;
数字信号的抖动(Jitter)
抖动的概念
抖动(Jitter)是数字信号,尤其是高速数字信号的一个非常关键的概念。如图1.40所 示,抖动反映的是数字信号偏离其理想位置的时间偏差。
高频数字信号的比特周期都非常短,一般为几百ps甚至几十ps,很小的抖动都会造成信号采样位置的变化从而造成数据误判,所以高频数字信号对于抖动都有严格的要求。抖动这个概念说起来简单,但实际上仔细研究起来是非常复杂的,关于其概念的理解有以下几个需要注意的方面:
时域数字信号转换得到的频域信号如果起来,则可以复现原来的时域信号。
描绘了直流频率分量加上基频频率分量与直流频域分量加上基频和3倍频频率分量,以及5倍频率分量成的时域信号之间的差别,我们可以看到不同频域分量的所造成的时域信号边沿的差别。频域里包含的频域分量越多,这些频域分量成的时域信号越接近 真实的数字信号,高频谐波分量主要影响信号边沿时间,低频的分量影响幅度。当然,如果 时域数字信号转变岀的一个个频率点的正弦波都叠加起来,则可以完全复现原来的时域 数字信号。其中复原信号的不连续点的震荡被称为吉布斯震荡现象。 数字信号上升时间的定义;
数据经过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耦合方式(常用的方法是在发送端或接收端串接隔直电容),这 样信号对于收发端的地电平变化和共模噪声的抵抗能力进一步增强,可以传输更远的距离。 数字信号的波形分析(Waveform Analysis);设备数字信号测试销售
模拟信号和数字信号的差异;测量数字信号测试销售厂
数字信号测试串行总线的8b/10b编码(8b/10bEncoding)
前面我们介绍过,使用串行比并行总线可以节省更多的布线空间,芯片、电缆等的尺寸可以做得更小,同时传输速率更高。但是我们知道,在很多数字系统如CPU、DSP、FPGA等内部,进行数据处理的小单位都是Byte,即8bit,把一个或多个Byte的数据通过串行总线可靠地传输出去是需要对数据做些特殊处理的。将并行数据转换成串行信号传输的简单的方法如图1.19所示。比如发送端的数据宽度是8bit,时钟速率是100MHz,我们可以通过Mux(复用器)芯片把8bit的数据时分复用到1bit的数据线上,相应的数据速率提高到800Mbps(在有些LVDS的视频信号传输中比较常用的是把并行的7bit数据时分复用到1bit数据线上)。信号到达接收端以后,再通过Demux(解复用器)芯片把串行的信号分成8路低速的数据。 测量数字信号测试销售厂
可以插入控制字符。在10bit数据可以表示的1024个组合中,除了512个组合用 于对应原始的8bit数据以及一些不太好的组合(这样信号里有太长的 连续0或者1,而且明显0、1的数量不平衡)以外,还有一些很特殊的组合。这些特殊的组 合可以用来在数据传输过程中作为控制字符插入。这些控制字符不对应特定的 8bit数据,但是在有些总线应用里可以一些特殊的含义。比如K28.5码型,其特殊的 码型组合可以帮助接收端更容易判别接收到的连续的10bit数据流的符号边界,所以在一 些总线的初始化阶段或数据包的包头都会进行发送。还有一些特殊的符号用于进行链路训 练、标记不同的数据包类型、进行收发端的时钟速率匹配...