数据经过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耦合方式(常用的方法是在发送端或接收端串接隔直电容),这 样信号对于收发端的地电平变化和共模噪声的抵抗能力进一步增强,可以传输更远的距离。 波形参数测试室数字信号测试常用的测量方法,随着数字信号速率的提高,波形参数的测量方法越来越不适用了。河南数字信号测试调试
数字信号基础单端信号与差分信号(Single-end and Differential Signals)
数字总线大部分使用单端信号做信号传输,如TTL/CMOS信号都是单端信号。所谓单端信号,是指用一根信号线的高低电平的变化来进行0、1信息的传输,这个电平的高低变化是相对于其公共的参考地平面的。单端信号由于结构简单,可以用简单的晶体管电路实现,而且集成度高、功耗低,因此在数字电路中得到的应用。是一个单端信号的传输模型。
当信号传输速率更高时,为了减小信号的跳变时间和功耗,信号的幅度一般都会相应减小。比如以前大量使用的5V的TTL信号现在使用越来越少,更多使用的是3.3V/2.5V/1.8V/1.5V/1.2V的LVTTL电平,但是信号幅度减小带来的问题是对噪声的容忍能力会变差一些。进一步,很多数字总线现在需要传输更长的距离,从原来芯片间的互连变成板卡间的互连甚至设备间的互连,信号穿过不同的设备时会受到更多噪声的干扰。更极端的情况是收发端的参考地平面可能也不是等电位的。因此,当信号速率变高、传输距离变长后仍然使用单端的方式进行信号传输会带来很大的问题。图1.12是一个受到严重共模噪声干扰的单端信号,对于这种信号,无论接收端的电平判决阈值设置在哪里都可能造成信号的误判。
河南数字信号测试调试数字信号取值是散的,通过数学方法对原有信号处理,编码成二进制信号后,再载波的方式发送编码后的数字流。
可以插入控制字符。在10bit数据可以表示的1024个组合中,除了512个组合用 于对应原始的8bit数据以及一些不太好的组合(这样信号里有太长的 连续0或者1,而且明显0、1的数量不平衡)以外,还有一些很特殊的组合。这些特殊的组 合可以用来在数据传输过程中作为控制字符插入。这些控制字符不对应特定的 8bit数据,但是在有些总线应用里可以一些特殊的含义。比如K28.5码型,其特殊的 码型组合可以帮助接收端更容易判别接收到的连续的10bit数据流的符号边界,所以在一 些总线的初始化阶段或数据包的包头都会进行发送。还有一些特殊的符号用于进行链路训 练、标记不同的数据包类型、进行收发端的时钟速率匹配等。
对于典型的3.3V的低电压TTL(LVTTL)信号来说,判决阈值的下限是0.8V,判决阈 值的上限是2.0V。正是由于判决阈值的存在,使得数字信号相对于模拟信号来说有更高的 可靠性和抗噪声的能力。比如对于3.3V的LVTTL信号来说,当信号输出电压为0V时, 只要噪声或者干扰的幅度不超过0.8V,就不会把逻辑状态由0误判为1;同样,当信号输出 电压为3.3V时,只要噪声或者干扰的幅度不会使信号电压低于2.0V,就不会把逻辑状态 由1误判为0。
从上面的例子可以看到,数字信号抗噪声和干扰的能力是比较强的。但也需要注意,这 个“强”是相对的,如果噪声或干扰的影响使得信号的电压超出了其正常逻辑的判决区间,数字信号也仍然有可能产生错误的数据传输。在许多场合,我们对数字信号质量进行分析和 测试的基本目的就是要保证其信号电平在进行采样时满足基本的逻辑判决条件。 数字信号是一种信号与自变量和因变量的分散。变量通常用整数表示的,而因变量的数量有限的数字表示。
值得注意的是,在同步电路中,如果要得到稳定的逻辑状态,对于采样时钟和信号间的时序关系是有要求的。比如,如果时钟的有效边沿正好对应到数据的跳变区域附近,可能会采样到不可靠的逻辑状态。数字电路要得到稳定的逻辑状态,通常都要求在采样时钟有效边沿到来时被采信号已经提前建立一个新的逻辑状态,这个提前的时间通常称为建立时间(SetupTime);同样,在采样时钟的有效边沿到来后,被采信号还需要保持这个逻辑状态一定时间以保证采样数据的稳定,这个时间通常称为保持时间(HoldTime)。如图1.6所示是一个典型的D触发器对建立和保持时间的要求。Data信号在CLK信号的有效边沿到来t、前必须建立稳定的逻辑状态,在CLK有效边沿到来后还要保持当前逻辑状态至少tn这么久,否则有可能造成数据采样的错误。模拟信号和数字信号的差异;河南数字信号测试调试
数字信号带宽用每bit占用的时间间隔的倒数来近似表示,传输速率的单位是bit/s,传输速率=传输信号的带宽。河南数字信号测试调试
采用并行总线的另外一个问题在于总线的吞吐量很难持续提升。对于并行总线来说, 其总线吞吐量=数据线位数×数据速率。我们可以通过提升数据线的位数来提高总线吞吐 量,也可以通过提升数据速率来提高总线吞吐量。以个人计算机中曾经非常流行的PCI总 线为例,其**早推出时总线是32位的数据线,工作时钟频率是33MHz,其总线吞吐量= 32bit×33MHz;后来为了提升其总线吞吐量推出的PCI-X总线,把总线宽度扩展到64位, 工作时钟频率比较高提升到133MHz,其总线吞吐量=64bit×133MHz。是PCI插槽 和PCI-X插槽的一个对比,可以看到PCI-X由于使用了更多的数据线,其插槽更长。
但是随着人们对于总线吞吐量要求的不断提高,这种提升总线带宽的方式遇到了瓶颈。首先由于芯片尺寸和布线空间的限制,64位数据宽度已经几乎是极限了。另外,这64根数据线共用一个采样时钟,为了保证所有的信号都满足其建立保持时间的要求,在PCB上布线、换层、拐弯时需要保证精确等长。而总线工作速率越高,对于各条线的等长要求就越高,对于这么多根信号要实现等长的布线是很难做到的。
用逻辑分析仪采集到的一个实际的8位总线的工作时序,可以看到在数据从0x00跳变到0xFF状态过程中,这8根线实际并不是精确一起跳变的。 河南数字信号测试调试