我们经常使用到的总线根据数据传输方式的不同,可以分为并行总线和串行总线。
并行总线是数字电路中早也是普遍采用的总线结构。在这种总线上,数据线、地址线、控制线等都是并行传输,比如要传输8位的数据宽度,就需要8根数据信号线同时传输;如果要传输32位的数据宽度,就需要32根数据信号线同时传输。除了数据线以外,如果要寻址比较大的地址空间,还需要很多根地址线的组合来不同的地址空间。图1.7是一个典型的微处理器的并行总线的工作时序,其中包含了1根时钟线、16根数据线、16根地址线以及一些读写控制信号。 数字信号的眼图分析(Eye Diagram Analysis);校准数字信号测试配件
什么是数字信号(DigitalSignal)
典型的数字设备是由很多电路组成来实现一定的功能的,系统中的各个部分主要通过数字信号的传输来进行信息和数据的交互。
数字信号通过其0、1的逻辑状态的变化来一定的含义,典型的数字信号用两个不同的信号电平来分别逻辑0和逻辑1的状态(有些更复杂的数字电路会采用多个信号电平实现更多信息的传输)。真实的世界中并不存在理想的逻辑0、1状态,所以真实情况下只是用一定的信号电平的电压范围来相应的逻辑状态。比如图1.1中,当信号的电压低于判决阈值(中间的虚线部分)的下限时逻辑0状态,当信号的电压高于判决阈值的上限时逻辑1状态。 校准数字信号测试配件示波器进行数字信号的幅度测试;
数据经过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/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以太网中也有广泛应用。数字信号带宽用每bit占用的时间间隔的倒数来近似表示,传输速率的单位是bit/s,传输速率=传输信号的带宽。
对于典型的3.3V的低电压TTL(LVTTL)信号来说,判决阈值的下限是0.8V,判决阈 值的上限是2.0V。正是由于判决阈值的存在,使得数字信号相对于模拟信号来说有更高的 可靠性和抗噪声的能力。比如对于3.3V的LVTTL信号来说,当信号输出电压为0V时, 只要噪声或者干扰的幅度不超过0.8V,就不会把逻辑状态由0误判为1;同样,当信号输出 电压为3.3V时,只要噪声或者干扰的幅度不会使信号电压低于2.0V,就不会把逻辑状态 由1误判为0。
从上面的例子可以看到,数字信号抗噪声和干扰的能力是比较强的。但也需要注意,这 个“强”是相对的,如果噪声或干扰的影响使得信号的电压超出了其正常逻辑的判决区间,数字信号也仍然有可能产生错误的数据传输。在许多场合,我们对数字信号质量进行分析和 测试的基本目的就是要保证其信号电平在进行采样时满足基本的逻辑判决条件。 数字信号处理系统设计流程;校准数字信号测试配件
什么是模拟信号和数字信号是什么。校准数字信号测试配件
数字信号测试串行总线的8b/10b编码(8b/10bEncoding)
前面我们介绍过,使用串行比并行总线可以节省更多的布线空间,芯片、电缆等的尺寸可以做得更小,同时传输速率更高。但是我们知道,在很多数字系统如CPU、DSP、FPGA等内部,进行数据处理的小单位都是Byte,即8bit,把一个或多个Byte的数据通过串行总线可靠地传输出去是需要对数据做些特殊处理的。将并行数据转换成串行信号传输的简单的方法如图1.19所示。比如发送端的数据宽度是8bit,时钟速率是100MHz,我们可以通过Mux(复用器)芯片把8bit的数据时分复用到1bit的数据线上,相应的数据速率提高到800Mbps(在有些LVDS的视频信号传输中比较常用的是把并行的7bit数据时分复用到1bit数据线上)。信号到达接收端以后,再通过Demux(解复用器)芯片把串行的信号分成8路低速的数据。 校准数字信号测试配件
数字信号并行总线与串行总线(Parallel and Serial Bus) 虽然随着技术的发展,现代的数字芯片已经集成了越来越多的功能,但是对于稍微复杂 一点的系统来说,很多时候单独一个芯片很难完成所有的工作,这就需要和其他芯片配合起 来工作。比如现在的CPU的处理能力越来越强,很多CPU内部甚至集成了显示处理的功 能,但是仍然需要配合外部的内存芯片来存储临时的数据,需要配合桥接芯片扩展硬盘、 USB等接口;现代的FPGA内部也可以集成CPU、DSP、RAM、高速收发器等,但有些 场合可能还需要配合用的DSP来进一步提高浮点处理效率,配合额外的内存芯片来扩展 存储空间,...