Xilinx FPGA高速串行传输技术与应用(txt+pdf+epub+mobi电子书下载)


发布时间:2020-07-01 00:12:13

点击下载

作者:黄万伟,董永吉,等

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

Xilinx FPGA高速串行传输技术与应用

Xilinx FPGA高速串行传输技术与应用试读:

前言

随着对电子系统吞吐量要求的日益提高,并行数据传输模式已不能满足高带宽应用的传输需求。高速串行数据传输技术具有高带宽、低时延、信号完整性好和扩展性强等优点,已逐步取代传统的并行总线技术。串行传输已成为数据传输的主流技术,广泛应用于通信网络、数据存储、个人计算机、服务器和嵌入式控制等诸多领域。一方面是与日俱增的带宽要求,另一方面是不断变化的新兴高速串行传输标准,二者都对设计人员提出了严峻挑战。由于 FPGA器件兼有可编程性和高速 I/O的技术优势,可以满足串行传输协议及演进变化的需求,因而 FPGA器件已成为实现串行接口应用的理想连接平台。

随着信息技术的快速发展及大数据的兴起,需要处理的数据量越来越大,数据传输对总线带宽的需求也越来越高,市场上对串行技术的需求急剧增加。Xilinx 公司以及其他芯片厂家都提供串行传输解决方案,支持芯片间、板卡和背板之间的数据互连。Xilinx FPGA器件内部集成了专用的高速收发器 IP硬核,具有串并转换、时钟数据恢复、线路编码、时钟纠正和线路绑定等功能,在此基础上可以灵活地开发多种串行传输协议,使得 Xilinx FPGA在串行接口应用中愈加广泛。Xilinx公司还提供了 XAUI、SATA、PCI-E、Interlaken、RapidIO和 Aurora等协议的解决方案,有助于开发人员缩短串行传输技术的开发周期。

串行传输技术的应用开发需要系统性的背景知识和技术基础,开发人员在初次涉及Xilinx FPGA 相关的串行传输技术时,若缺乏适当的背景知识和应用指导,在应用高速传输接口时将遇到诸多难点。由于串行传输技术应用存在的巨大市场需求,目前已有一些科研院所和培训机构开设了串行技术实现的相关培训,目前还未见系统性介绍 Xilinx FPGA的串行技术方案,包括高速收发器介绍及相关串行传输协议 IP核方面的书籍。笔者长期从事 Xilinx FPGA高速传输技术开发,期间遇到了很多技术难点并逐一解决,积累了丰富的高速串行传输设计经验。笔者将高速串行实现技术的相关基础知识、开发实践和经验积累整理成册,希望该书对读者有所裨益,可以成为实践和应用 Xilinx FPGA高速串行传输技术的首选指导用书;同时希望该书可以成为开发人员参与技术培训前的必备用书,帮助开发人员预先掌握一些基本知识和技能,在较短的培训时间里更加专注于应用实践,学习效果可以事半功倍。

本书内容经过精心设计:首先,介绍数据传输技术的发展简史,分析了串行技术取代并行技术的技术优势,重点阐述了几种推动串行技术发展的关键技术,并对现有的常用高速串行传输协议做了详细说明。其次,以 Virtex-6系列 FPGA的 GTX收发器为例,对高速收发器的内部结构和接口信号做了详细介绍,使开发人员能深入理解收发器的内部结构,夯实串行传输技术实现基础,便于开发人员举一反三从事相关高速串行传输协议开发,然后选择了目前市场上最具代表性和推广意义的 XAUI 和 PCI-Express 接口协议,给出了详细的实验步骤和解释说明,使读者能熟练掌握 XAUI 和 PCI-Express 协议的应用技能,在此基础上可以起到触类旁通的效果,可以帮助开发者快速从事其他串行协议的应用开发。最后,介绍了 Xilinx IBERT测试工具的应用经验,并对高速收发器的外部时钟和电源设计经验作了总结,对于开发人员正确设计和调试高速接口电路很有裨益。

本书按内容划分为4部分:第 1章和第 2章组成第一部分,第 1章主要介绍传输技术的背景知识和高速串行传输解决方案;第 2 章重点对 XAUI、Interlaken、SATA、PCI-Express、RapidIO、Aurora和 PICMG 3.0等串行接口协议做了简要说明。第二部分由第 3章和第 4章构成,主要说明 Virtex-6 FPGA的 GTX收发器的基本结构、功能,以及在 XAUI核中的应用。第 3章介绍了 Virtex-6 FPGA GTX收发器中的高速串-并转换、时钟数据恢复、线路编/解码、时钟纠正和通道绑定等功能电路;第 4章阐述了 Xilinx XAUI核的数据、管理和配置接口功能和应用优势,并给出了详细的 XAUI核生成和测试实例。第三部分由第 5、6、7和 8章构成,主要介绍了 Virtex-6 FPGA的 PCI-Express 核的基本结构、生成方法、接口功能和应用设计。第 5章针对 Xilinx PCI-Express核的协议层次、配置空间、各种接口信号,以及事务层的 TLP 包格式进行了详细说明;第 6 章介绍了Xilinx PCI-Express 核的生成与定制方法,并对核生成的程控输入/输出范例进行了讲解;第 7 章针对 PCI-Express 用户 AXI4 接口的设计进行详细说明;第 8 章介绍基于 Xilinx PCIe核协议电源管理、链接训练等相关的应用设计方法。最后一部分包括第 9章和第 10章,主要介绍 GTX收发器的辅助调试工具和外部电路的设计方法。第 9章主要介绍 IBERT调试工具的基本功能和调试过程;第 10章主要给出 RocketIO GTX核的外部时钟和电源设计经验总结,对于正确设计高速接口电路大有裨益。

本书由黄万伟、董永吉负责撰写并统筹规划,陈博、张建辉、马海龙、张建伟参与编著。第 1章由陈博和马海龙完成;第 2章由张建辉、陈博和张建伟完成;第 3章和第4章由黄万伟和袁征完成;第 5章由董永吉和陈博完成;第 6章由董永吉和李康士完成;第 7章由董永吉和马海龙完成;第 8章由董永吉和张建伟完成;第 9、10章由黄万伟和张霞完成。袁征完成了本书的实验部分,韩伟涛绘制了书中的大量插图。在本书编写过程中,谭立波、曹建业、贺炜、于洪涛和张晓明给予了大力支持,并提出宝贵意见。特别感谢科通数字技术公司曾江卫、杨智勇工程师和上海皮赛电子有限公司朱哲勇先生,在本书编写过程,他们给予了大力的技术支持。感谢国家“973”项目“可重构信息通信基础网络的理论和体系结构”课题 NetFPGA实验仿真小组兰巨龙教授和胡宇翔博士提供的技术支持。

本书既适合从事 Xilinx FPGA串行传输技术开发的硬件设计工程师、电子设计爱好者和学生,尤其是书中涉及的串行传输技术已触及诸多领域,也适合通信网络、数据存储、图像处理、高性能计算等领域进行高吞吐量数据传输和处理工作的高校研究生和高年级本科生、教师、工程师等技术人员。

由于 Xilinx FPGA高速串行解决方案内容广泛,本书所涉内容可能存在遗漏,加之编写时间有限,书中难免存在不妥之处,敬请广大读者指正。

作者

2015年3月

第1章 数据传输技术综述与发展趋势

随着对系统吞吐量要求的日益提高,传统的并行数据传输模式已不能满足高带宽应用的传输需求,高速串行传输技术具有带宽高、信号完整性好、电磁辐射低和 PCB设计简单的优点,在通信网络、数据存储、个人计算机、服务器和嵌入式控制等领域得到广泛应用。本章 1.1节分别介绍了并行传输技术和串行传输技术,并列举了几种典型的并行和串行传输协议;1.2 节分析了高速传输数据需求给并行传输技术带来的挑战,重点介绍了高速串行传输技术的技术优势和应用前景;1.3节详细阐述了高速串行数据传输的推动技术,分别介绍了低压差分技术、多重相位技术、线路编码技术、扰码技术、发送预加重和接收均衡技术;1.4节介绍了 Xilinx FPGA对高速串行传输技术的应用支持。

1.1 数据传输技术简介

数字通信系统中数据的传输按照每次传输的数据位不同,分为并行传输和串行传输两种模式,并行传输指一次传输多位数据,如 8bits、16bits和 32bits等,每次传输的数据量大,在早期的计算机系统中经常应用于高速数据传输。串行传输指一次传输 1bit,每次传输的数据量小。在计算机系统中普遍使用串行的通信线路连接慢速的外围设备,如键盘、鼠标器和调制解调器等。1.1.1 并行传输技术简介

1.并行传输技术原理

并行传输过程中,多个数据位(N bits)以成组的方式同时在多个不同的通信线路上传输,如图1-1所示,每个数据位使用一条通信线路,数据组通常是 8bits、16bits或 32bits。图1-1 并行传输示意图

为了数据能够正确地被接收端接收处理,并行传输的数据必须在时钟上同步。并行传输数据一般采用两种同步方式:源同步方式和系统同步方式。

1)源同步方式

为便于在接收端实现数据同步,提高数据的传输速率,业界提出了采用源同步接口传输的解决方案。源同步接口的基本思想如图1-2 所示,允许时钟和多个数据通道同时传输,时钟信号和数据保持确定的相位关系,同步时钟和并行数据都在数据发送端产生,并同时传输到数据接收端。接收端利用对端传送来的时钟信号作为采样时钟,对数据位进行采样。采样过程中只要保证接收端时钟信号与接收数据满足一定的建立/保持时间,数据即可被正确接收。图1-2 源同步结构框图

2)系统同步

传统数据传输通常采用系统同步传输方式,多个器件基于同一时钟源进行系统同步,器件之间的数据传输时序关系以系统时钟为参考,如图1-3所示。系统同步传输方式使各器件处于同步工作模式,但器件之间传输数据的传输时延难以确定,当系统时钟频率增加后,数据接收接口同步电路难以实现,因此系统同步传输方式不适用于高速数据传输。图1-3 系统同步结构图

无论是源同步方式还是系统同步方式,为了保证 PCB走线匹配,数据线一般总是成组并排布线的,线间距很小,走线之间存在较大耦合,从而导致串扰问题非常严重。除了数据线和时钟线,并行总线还需要很多控制线,走线数目多,并且一般采用单端信号传输,抗干扰能力差。

2.常用的并行接口协议介绍

并行传输接口在早期的计算机系统中应用广泛,如系统总线(ISA)、局部总线(PCI)、用于硬盘的 IDE总线和用于打印机的 IEEE 1284总线。下面简单介绍几种常见的并行传输总线接口协议。

1)ISA总线

ISA 总线是 IBM 公司为 PC/AT 计算机而制定的总线标准,其全称是“Industry Standard Architecture”,最早提出时总线宽度是 8bits,1984年为适应 Intel 80286处理器,IBM将总线宽度扩展为 16bits,工作频率为 8MHz,数据传输率大约是 16MB/s。ISA 总线的缺点是传输速率过低、CPU 占用率高、占用硬件中断资源等。当 Intel 提出 32bits 的 80386DX 处理器后,ISA 总线的 16bits 数据宽度严重影响了处理器的性能发挥,因此在 1988年,康柏、惠普、NEC等 9大厂商协同将 ISA总线宽度扩展为32bits,即著名的 EISA(Extended ISA,扩展 ISA)总线。由于总线宽度扩宽一倍,但工作频率仍为 8MHz,因此 EISA总线的带宽为 32Mb/s,速度仍然有限,并且成本过高。因此,在 20世纪 90年代初期,逐渐被 PCI总线取代。如图1-4所示为 ISA总线接口。图1-4 ISA总线接口

2)PCI总线

PCI 总线是由 Intel 公司于 1991 年推出的一种局部总线,其全称是 Peripheral Component Interconnect(外设部件互联),是目前个人计算机中使用最广泛的接口,几乎所有的主板产品上都带有这种插槽。最早提出的 PCI 总线宽度为 32 位,工作频率为33MHz,数据带宽达到 133MB/s,远高于之前的 ISA总线,基本满足了当时处理器的发展需要。随着处理器的速度提高和对性能的更高要求,1993年提出了 64位的 PCI总线,随后又将工作频率提升到 66MHz,目前个人计算机常用的是 32位、33MHz的 PCI总线,64位的 PCI总线多用于服务器产品。不同于 ISA总线,PCI总线的地址总线与数据总线采用分时复用方式,优点如下。(1)可以节省接插件的引脚数;(2)便于实现突发数据传输。

PCI 总线是一种高性能局部总线,是为了满足外设间及外设与主机间进行高速数据传输而提出来的,具有数据传输率高、即插即用和扩展性好等优点,多用于显卡、声卡和网卡等应用中。如图1-5所示为 PCI总线插槽接口。图1-5 PCI总线插槽接口

3)IDE总线

IDE总线的全称是“Integrated Drive Electronics”,即“电子集成驱动器”,普遍应用于硬盘和光驱设备,因其使用 ATA命令集,且是并行接口,因此又称为 PATA(Parallel ATA)并口。IDE 的本意是把硬盘控制器和盘体集成在一起,降低硬盘接口的线缆数量和长度,增强数据传输的可靠性。利用 IDE总线,硬盘制造厂商不必再关心生产的硬盘是否与其他厂商生产的控制器兼容,同时也方便了用户的安装。IDE 接口使用16bits并行传输,具有体积小、价格低廉和兼容性强等优点,在 SATA接口出现之前,IDE 总线统治着硬盘和光驱接口。图1-6 所示为 IDE 硬盘和 IDE 线缆,使用 40 针脚连接器。图1-6 IDE硬盘和 IDE线缆

早期的 IDE接口支持两种传输模式:PIO(Programming I/O)模式和 DMA(Direct Memory Access)模式。PIO模式是一种通过 CPU执行 I/O端口指令来进行数据读/写的数据交换模式,是最早的硬盘数据传输模式,数据传输速率低下,CPU占有率也很高,大量传输数据时会因为占用过多的 CPU资源而导致系统停顿,无法进行其他操作。DMA模式由于需要额外的驱动程序支持,所以开始没有得到广泛接受。随着对传输速率的要求越来越高,DMA 模式由于其占用资源少、执行效率高等优点,操作系统开始直接支持,各大厂商也推出速度更快的 D M A传输速度标准。ATA发展至今经过多次修改和升级,每个新一代的接口都建立在前一代标准之上,并保持向后兼容性。ATA-1 的传输速率仅为 3.3MB/s,ATA-2的速率提升到 16.6MB/s,ATA-4首次采用 DDR技术,开始正式支持 Ultra DMA数据传输模式,数据传输速率提高到 33MB/s,又称 ATA33,随后又出现 ATA66、ATA100和 ATA133,数据传输速率分别提高到 66MB/s、100MB/s和 133MB/s。但随着传输速率的提高,信号协议和连接器都表现出诸多技术瓶颈,新出现的 SATA接口逐渐替代 IDE接口。

4)IEEE 1284总线

IEEE 1284是连接计算机与其他设备的双向并行总线标准,最初在 20世纪 70年代由 Centronics提出,主要用于打印机并行端口,并很快成为事实上的标准,1994年,IEEE委员会公布 IEEE 1284并行接口标准。IEEE 1284标准允许双向数据传输和更快的数据传输速率,理论速率可达 4MB/s,实际速率一般是 2MB/s。由于 IEEE 1284接口可以允许传输更大的数据块,因此很快在扫描仪、磁带驱动、磁盘和网络适配器上替代了昂贵的 SCSI接口。图1-7为连接打印机的 IEEE 1284线缆接口。图1-7 IEEE 1284打印机线缆接口

IEEE 1284包含以下 5种操作模式:(1)兼容模式,也称为 Centronics 标准,单向数据传输,与原始的 Centronics port稍有不同,几乎只用于打印机;(2)半字节模式,允许设备一次发送 4bit数据;(3)字节模式,半双工双向传输,每次传输一字节数据;(4)增强的并行接口(EPP),半双工双向传输,允许打印机、扫描仪、存储设备等传输大块数据并快速改变传输方向,带宽可达 2MB/s,是一般并行接口速率的 15倍;(5)扩展功能端口(ECP),半双工双向传输,可以使用 DMA方式传输数据,速度比 EPP模式更快,可达 2.5MB/s。上述 5种模式都用的是 TTL逻辑电平,因此限制了 IEEE 1284总线线缆的长度。

5)SCSI总线

SCSI(Small Computer System Interface,小型计算机系统接口)是早期一种用于计算机和外部设备(磁盘、软盘、光驱、打印机、扫描仪等)之间的通用接口标准。最初的 SCSI-1标准同步传输速率为 5MB/s,异步传输速率为 3MB/s,已经被淘汰;随后出现的 SCSI-2标准又称为 Fast SCSI,通过提高频率而将速率提升一倍,达到 10MB/s,支持8位并行数据传输,可连接 7个外设,接口包括 50个针脚;后来又出现 Wide SCSI,支持 16位并行数据传输,同步数据传输速率也提高到 20MB/s,可连接 16个外设,主要用于扫描仪、CD-ROM驱动器中;1995年,更高速的 SCSI-3标准出现,称为 Ultra SCSI,总线频率大大提高,主要用于硬盘中。

图1-8为 SCSI接口硬盘实物图。SCSI-3有很多型号,包括 Ultra Wide SCSI、Ultra 2 SCSI、Ultra 2 Wide SCSI、Ultra 3 SCSI、Ultra 320 SCSI和 Ultra 640 SCSI,最新的Ultra 640 SCSI的数据传输速率为 640MB/s,时钟频率为 160MHz,加双倍数据速率,数据位宽为 16位。SCSI可支持多个设备,支持多任务并行执行,占用 CPU低,是一种便于系统集成、效率高的接口标准,但由于成本问题,主要用于中高端服务器和工作站上。图1-8 SCSI接口硬盘

表 1-1对 ISA、PCI、IDE、IEEE 1284和 SCSI并行接口做了总结。表1-1 几种并行接口的特征和应用总结

并行数据传输技术通常是高速传输数据的有效方法,可以通过提高时钟频率和接口位宽来提高传输速率,但并行传输的进一步发展却遇到了障碍,提升时钟频率易引起信号线间的相互干扰,增加位宽将导致 PCB上的布线数目随之增加,成本也随之攀升。1.1.2 串行传输技术简介

1.串行传输技术原理

串行传输是指通信发送方和接收方之间的数据在单根通信线上逐位顺序传送,每一位数据都占据一个固定时隙,串行传输数据示意图如图1-9 所示。在时钟频率相同的情况下,串行传输的数据传输率比并行传输低。在计算机发展初期,串行传输的速率较低,从而未得到广泛应用。随着集成电路技术的发展及差分信号技术的出现,串行传输的速率大大提高,几乎替代了并行传输。图1-9 串行传输数据示意图

在串行传输过程中,发送设备和接收设备必须达到比特同步,即发送设备与接收设备必须以同步时钟发送和接收数据,数据在接收端才能够被正确接收。衡量串行传输通道频宽的重要指标是波特率,表示单位时间内载波参数变化的次数,如每秒钟传输 240个字符,每个字符包含 10位(1个起始位,1个停止位,8个数据位),则波特率为 240Bd,比特率为 240*10=2400b/s。对串行接口必须要正确设置波特率,才能进行可靠的数据通信。

2.常用的串行接口协议简介

串行传输接口种类繁多,下面简要介绍几种常用的典型串行传输接口。

1)RS-232串行接口

RS-232是由美国电子工业协会 EIA制定的一种串行数据通信标准,其中使用最广泛的是 RS-232-C版本,RS是推荐标准(Recommended Standard)的缩写,232代表标识号,C表示第 3次修改。RS-232是目前主流的串行通信标准之一,目前 PC上广泛使用的 COM口即为 RS-232接口。

在 RS-232 标准中,数据是以比特串的形式逐比特串行传输的,这种传输方式的优点是传输线少,传输距离远。串行数据传输时,常用的编码格式是异步起停编码,它使用一个起始比特后面紧跟 7 或 8 个数据比特(bit),然后是可选的奇偶校验比特,最后是一或两个停止比特,因此发送一个字符至少需要 10 bit,如图1-10所示。图1-10 RS-232传输编码格式

使用 RS-232 接口进行通信时,需要对通信软件进行设置,主要设置内容包括波特率、奇偶校验和停止位。常见的串口波特率是 300Bd、1200Bd、2400Bd、9600Bd、19 200Bd和 115 200Bd等,一般通信两端设备都要设为相同的波特率。奇偶校验用来验证数据的正确性,一般不使用。停止位是在每个字节传输之后发送的,用于接收方进行硬件同步。RS-232在发送数据时采用异步传输的方式,不需要另外发送同步信号。RS-232接口的优点是所需传输线少,传输过程简单,传输距离较长;缺点是传输速率较低,抗干扰能力弱。常用的 RS-232接口连接器包括 DB-25和 DB-9两种型号,引脚示意图如图1-11所示。图1-11 RS-232引脚示意图

RS-232接口引脚的定义如表 1-2所示。表1-2 RS-232引脚的定义和功能说明

2)USB串行接口

USB的全称为 Universal Serial Bus(通用串行总线),是 1994年底由康柏、Intel、微软和惠普等多家厂商联合提出的,主要用于规范计算机和外部设备的连接。在 20年的发展历程中,USB协议经历 USB1.0、USB1.1、USB2.0和 USB3.0,传输速率也由 1.5Mb/s提升到 5Gb/s。USB1.0在 1996年提出,传输速率只有 1.5Mb/s,1998年升级为 USB1.1,速度也大幅提升为 12Mb/s。USB2.0是 2000年在 USB1.1的基础上演变而来的,理论传输速率达到了 480Mb/s(60MB/s),实际传输速率一般不超过 30MB/s,足以满足大多数外设与 PC 之间的高性能连接需求,并且向下兼容 USB1.1,目前大多数 USB 设备都采用 USB2.0。由于 USB2.0已经得到 PC厂商的普遍认可,2008年,Intel、微软、惠普、NEC等业界巨头组织成立 USB3.0 Promoter Group并发布 USB3.0规范。相比 USB2.0,USB3.0的传输速率进一步提高,达到 5Gb/s,目前 USB3.0已经在 PC上得到广泛应用。

USB接口具有传输速度快、使用简单、支持热插拔、连接灵活、独立供电等优点,已经逐渐取代串口和并口,成为 PC和智能设备必备的接口之一。USB接口分为 A型和B型接口,每种接口又分为公口和母口,如图1-12所示。USB接口采用 4根引脚线,用不同的颜色区分,其中两根用于数据的传输,一根接电源,另一根接地。图1-12 USB类型示意图

USB引脚的定义如表 1-3所示。表1-3 USB引脚的定义

3)IEEE 1394接口

IEEE 1394接口又称 “火线(FireWire)”接口,是由苹果公司于 1993年提出的串行总线,后经 IEEE协会于 1995年 12月正式接纳为工业标准。“火线”一词已经被苹果公司注册为商标,其他公司使用不同的名称指代该接口,如 Sony 的产品称这种接口为i.Link,德州仪器则称之为 Lynx。

IEEE 1394的设计初衷是以其高速传输率取代昂贵的 SCSI接口。采用“级联”方式,理论上 IEEE 1394可以将 63台设备串接在同一网络上,设备间采用树形或菊花链结构,其电缆的最大长度是 4.5m。IEEE 1394包括 IEEE 1394a、IEEE 1394b、IEEE 1394c和S1600、S3200 各个版本。IEEE 1394a 于 2000 年提出,支持的传输速率有 100Mb/s、200Mb/s、400Mb/s,又称 FireWire 400;IEEE 1394b的传输速率提高到 800Mb/s,因此又称为 FireWire 800;IEEE 1394c于 2007年提出,相比之前的版本,改进后的接头规格和 RJ45 相同,并使用 5 类双绞线和相同的自动协议,可以使用相同的端口来连接任何IEEE 1394设备或 IEEE 802.3的设备;2007年 12月,IEEE 1394的推广团队宣布,可以在 2008年年底使用新的 S1600和 S3200规格,理论传输速率达到 1.6 Gb/s和 3.2 Gb/s。

IEEE 1394采用点对点(Peer to Peer)结构,任何两个支持 IEEE 1394的设备可直接连接,不需要通过主机控制。IEEE 1394也支持热插拔,在增加或拆除外设后,IEEE 1394会自动调整拓扑结构,重设整个外设的网络状态。常用的 IEEE 1394接口包括 4引脚、6引脚和 9引脚,如图1-13所示。图1-13 IEEE1394总线接口

IEEE 1394接口中每个引脚定义如表 1-4所示。表1-4 IEEE1394总线引脚定义

1.2 高速串行传输技术的应用需求

1.2.1 高速并行传输的技术瓶颈

随着大数据的兴起及信息技术的快速发展,需要处理的数据量越来越大,数据传输对总线的带宽需求越来越高。在通信领域,10G 以太网的普及和 100G 以太网技术在骨干网中的逐步应用,对通信带宽提出了很高的要求。在数据存储领域,高清视频等多媒体技术对带宽的需求迅猛增长。在个人计算机领域,处理器速度的提高需要与高带宽的内部总线相匹配。

多年来,并行传输在板级互联和系统互联中一直占主导地位。技术进步周而复始,没有一项技术能够永远适用,随着对总线带宽需求的不断提高,并行传输试图通过增加总线位宽、提高总线频率、改善电平标准等措施来提升并行传输速度以适应当前的发展需求,这些改进措施在一定程度上提高了并行传输的性能,但进一步发展遇到了障碍。

1)时序同步问题

由于并行传输方式的前提是用同一时序发送信号和接收信号,即时序同步,但是随着时钟频率的提高,越来越难以让数据传送的时序与时钟合拍,布线长度稍有差异,数据就会以与时钟不同的时序送达,从而造成数据的传输错误。因此,并行传输的时钟频率很难达到 1GHz。

2)信号偏移问题

随着总线频率的提高,并行传输的信号偏移现象越来越严重,信号偏移是指在发送端信号同时被发出,但到达接收端时却不能同时被接收而存在的微小差异。信号偏移出现的原因是在并行线路设计时,理论上需保证传输线之间是平行的,且各线路特性一致,但实际上线路平直很难保证,各信号线的特性也存在不同,这就导致信号传输的差异。如图1-14所示为信号偏移示意图,从图中可以看出,同时发出的信号经过传输没有同时到达接收端,从而导致采样结果不准确,当工作频率提高时,这种情况会更加明显,产生数据采样错误。例如,使用传统的 IDE硬盘接口总线时,IDE排线不可避免地被折叠或者弯曲,这就使得传输线的特性不一致,并且没有有效的方法解决这个问题,最终的表现就是通信频率无法继续提高,传输速度受到限制。图1-14 接收端发生信号偏移示意图

3)抗干扰能力问题

并行传输大多采用单端信号,该信号与指定的电压范围(TTL,CMOS)或者参考电压(HSTL)进行比较确定传输的值。单端信号很容易受到线路上的干扰,包括开关噪声、电磁干扰等。由于抗干扰能力差,单端信号无法胜任吉比特以上的高速信号传输,并且由于设计需求,并行传输线之间排列紧密,走线间距小,存在较大耦合,从而产生串扰问题。频率越高,串扰越严重,直至无法工作,从而限制并行传输频率的提高,图1-15为并行接口的串扰示意图。图1-15 并行接口的串扰示意图

信号的同步翻转造成传输线的特性阻抗和传播延迟随着信号翻转模式而变化,从而引发时序问题。当大量的时序同步翻转时会产生很大的同步开关输出噪声,导致电源、地上的电压波动,触底反弹会引起接收器逻辑判断错误。

4)设计复杂度和设计成本问题

并行传输除了多位的数据信号线以外,往往还包括地址线、控制线、电源线和地线,众多信号线需要耗费较多的芯片引脚,给器件封装、测试及 PCB设计都带来了很大问题。并行传输走线多既增加了集成电路设计的复杂程度和难度,也增加了设计成本。此外,并行传输由于线路多带来了较大的传输损耗,这就要求驱动电路的功率更大,从而加大了集成电路功耗。

综合以上分析,在现有的技术条件下,并行传输方式的各种缺陷已经严重限制了其速度和带宽的进一步提升。人们已经意识到无论是单端并行 I/O还是差分并行 I/O,发展到今天都已经达到它们的物理极限,无法为超过吉比特数据速率提供可靠而低廉的实现方法。从技术发展的情况来看,串行传输方式大有彻底取代并行传输方式的势头,典型例子是 USB取代 IEEE 1284、SATA取代 IDE、PCI-Express取代 PCI。与传统并行传输方式相比,高速串行传输方案提供了更大的带宽、更远的距离、更低的成本和更高的扩展能力,克服了并行传输设计存在的缺陷。1.2.2 高速串行传输的技术优势

随着半导体工艺的快速发展,集成电路的频率越来越高,传统的并行数据传输方式由于高频下的时钟抖动和偏移,严重阻碍了传输速率的提高,设计人员要处理与并行总线实施相关联的通道与通道畸变、抖动和信号占空比变形等问题,同时还要达到带宽要求,这对设计人员来说几乎是一个不可能实现的难题。

高速串行 I/O 接口采用了嵌入式时钟、点对点连接、低压差分信号模式和数据编码等技术,可获得更高的传输速率和距离,同时较少的引脚数简化了器件封装和设计。高速串行通信的优势主要体现在以下几个方面。(1)传输速率的提高是高速串行通信的最大优势。串行通信在发送端通过数据编码技术把时钟信号嵌入到数据信号中,在接收端使用时钟数据恢复技术,从数据中提取同步时钟信号来恢复数据,从而消除了传输线延迟导致的时序问题对速率的约束,能够实现单通道的数据传输速率高达 10Gb/s以上。(2)使用低压差分信号传输,一方面消除了共模噪声的影响,增加了抗共模干扰能力;另一方面,在相同驱动电压的驱动下,差分信号的摆幅是单端信号的两倍,使得发送端能以更低的摆幅发送信号,在降低功耗的同时有效地抑制了电磁干扰,减小对外的电磁辐射。此外,差分信号模式往往采用恒定电流源驱动,这将保证驱动器电路在任何时刻保持不变,消除了信号同步翻转而产生的同步开关噪声问题。(3)较少的引脚数目,简化了 PCB设计的复杂度和难度,提高了电路板的空间利用率,减小了连接器尺寸,进一步提高了设计的灵活性,且节约了总体系统成本。(4)使用点对点连接方式,避免了并行总线的共享机制造成的总线利用率低的问题,通信链路利用率达到 100%,而且在点对点拓扑情况下,阻抗的匹配端接非常简单,一般高速串行收发器都自带匹配,实现双端端接,进一步降低反射。

基于上述技术优势,高速串行传输突破了并行传输方式的速度瓶颈,能够实现极高的数据传输速率,成为高速数据通信的理想选择。表 1-5 对比了高速并行传输和串行传输的特点。表1-5 高速并行传输和高速串行传输的特点对比

近几年来,高速串行传输技术快速发展,因其具有高带宽、低时延、扩展性好等优点,已经广泛应用于通信网络、数据存储、个人计算机、服务器和嵌入式控制领域。在通信网络中,以光纤为传输媒介的高速串行传输技术极大地推动了广域网的发展,XAUI协议的提出扩展了 10G 以太网中 MAC 层和 PHY 层之间的与介质无关的万兆接口(XGMII)。在数据存储领域,串行连接 SCSI(SAS)和 SATA的提出迅速淘汰了并行 SCSI和 IDE,2001 年提出的 SAS1.0 标准的数据传输率是 3Gb/s,2013 年,美国超微公司推出 SAS3.0存储解决方案,其数据传输率达到 12Gb/s。SATA1.0标准的速率是 1.5Gb/s,SATA2.0的速率是 3Gb/s,2009年推出的 SATA3.0标准的速率达到 6Gb/s。

在个人计算机领域,IEEE1394 和 USB 接口已经得到广泛应用,基于 USB3.0 标准的产品也已于 2010 年 1 月问世,其速率达到 5Gb/s。PCI-Express 标准已经取代 PCI 和PCI-X,成为计算机外围设备的通用高速接口标准,2010年 11月最新发布的 PCI-Express 3.0标准,其速率达到 8Gb/s。Serial RapidIO接口作为一种高性能嵌入式互联技术,主要用于嵌入式系统的处理器总线、局部 I/O总线及背板。InfiniBand是一种支持多并发链接的“转换线缆”技术,主要应用于服务器与服务器、服务器和存储设备,以及服务器和网络之间的通信,具有高带宽、低时延和系统扩展性好等优点。

1.3 高速串行传输技术的推动力

1.3.1 I/O技术的不断改进

1.工艺进步推动 I/O技术发展

随着集成电路和半导体技术的发展,当前的接口芯片制造工艺已经达到超深亚微米甚至纳米级。在工业界,德州仪器(TI)在 2009年推出的四通道 SerDes芯片 TLK3134,采用 90nm 制造工艺,其速度可以达到 30Gb/s,2012 年推出 65nm 工艺下的收发器TLK10034,支持 40G以太网标准。安华高科技公司在 2007年推出 65nm工艺下的 17Gb/s的 SerDes 芯片,最新更是推出 40nm 工艺下的速度达到 25Gb/s 的 SerDes 芯片。Xilinx公司在 2013 年 12 月推出 20nm 工艺下的 Virtex UltraScale GTY 收发器,最高支持32.75Gb/s,最大支持 120个收发器,峰值带宽可达 5.8Tb/s。Altera公司的 Stratix V GT FPGA采用 28nm工艺,集成了 28.05Gb/s的收发器。在学术界,Intel Santa Clara研究室在长度为 24in的 PCB走线上,采用 32nm CMOS工艺设计了一种速率为 11.8Gb/s的收发器。中国台湾国立大学设计了一款基于 FR4基板的接口电路,在 65nm CMOS工艺下达到 21Gb/s的传输速率。以色列 VLSI系统研究中心 Technion基于 Wave pipelined异步比特位流串行连接,设计了一款异步收发电路,使得数据周期降低到单门延迟级别,在65nm的工艺下,7mm铜金属互联数据传输速率达到 67Gb/s。半导体制造工艺的不断进步及接口芯片制造工艺的高速发展都极大地推动了高速 I/O接口的发展及普及应用。

2.低电压高速 I/O技术

随着集成电路工作频率的不断提高,常规的 CMOS 和 TTL 电平传输接口由于供电电压高、功耗高、转换速度慢等自身的电路特性和信号特点,已不再适应高速 I/O接口。为了实现高速信号传输节省功耗和降低成本,研究人员提出低电压低摆幅的信号传输技术,开发了 GTL、SSTL、LVPECL、LVTTL、LVDS、CML等多种电平标准的传输接口,用来代替传统全摆幅的 TTL和 CMOS电平的传输接口。其中,CML和 LVDS电路采用低电压小摆幅、差分信号传输,以及驱动模式,具有高速度、低噪声、低功耗和低成本等优点,广泛应用于多种高速串行传输协议的物理层电路中。

LVDS电路又称低电压差分信号,是 20世纪 90年代出现的一种数据传输和接口技术,由美国的国家半导体公司率先提出,并于 1996年制定为 IEEE标准。LVDS物理接口采用 1.2V电压,信号逻辑摆幅很小,一般只有 350~400mV,能实现快速反转,因此传输速度可以很快。LVDS 具有恒定电流、低电压摆幅、低边沿速率、奇模差分信号等电气特性,因而在传输过程中只产生很低的电磁干扰,对共模输入噪声信号有更强的抵抗能力。LVDS 使用恒定的电流源驱动器,随着工作频率的增加,其电源电流仍保持平坦,因此,恒定电流驱动模式大大降低了 LVDS的功耗。

LVDS 的核心是采用低电压低摆幅将数据高速差分地传输出去,可以实现点对点或者一点对多点的连接,具有低功耗、低误码率、低串扰和低辐射等特点,适合长距离传输,能够在广泛的应用领域中解决高速数据传输的瓶颈问题。

CML(Current Mode Logic)技术起源于 ECL,来自于通用电气公司,是继 ECL和LVDS之后出现的一种传输差分信号的非官方标准的高速串行接口技术。CML是点对点的高速传输接口,其端接电阻一般都在发送器或者接收器的内部芯片中实现,无须任何外接电阻。CML技术采用低电压摆幅、差分信号传输和电流驱动模式,具有高速度、低功耗、低噪声和低成本等优点,在高速传输领域具有广阔的应用前景。目前,传输速率在 2.5Gb/s以上的串行接口电路一般都会采用 CML技术。根据不同的设计方法和制造工艺,CML的数据传输速率可以达到几 Gb/s甚至十几 Gb/s。

3.差分高速 I/O传输技术

随着制造工艺的进一步提高,电路集成度的加大,供电电压的降低,以及速度的提高,使得噪声和功耗对电路性能的影响日益凸显出来,传统的单端信号传输不再适应高速数据通信。高速数据通信中信号的完整性越来越引起人们的关注,为了解决噪声和功耗等对电路性能的影响,提高信号完整性,差分信号传输技术应运而生。

差分结构最大的优点在于其能有效抑制噪声,同时能增加输出摆幅,显著降低系统的功耗。差分信号传输采用两条传输线传输互补的两个信号,在接收端接收到的信号是两个互补信号的电位差,这个差值称为差分信号。一般情况下,外界噪声对两个信号的干扰是相同的,因此差分传输具有很强的抗干扰能力。

在高速数字 PCB设计中,运用差分传输线传输高速信号是控制破坏信号完整性因素的有效措施之一。差分传输线具有抗噪声、抗干扰、有效抑制返回路径引起的地噪声和电磁耦合干扰及信号失真的优点,是高速互联中常用的传输方式。数据传输速率上升到吉比特以后,越来越多的串行电路采用了差分信号的形式,用于提高信号的完整性和减轻电磁干扰。同时,采用差分电路设计的通信系统无论在性能指标还是电磁兼容方面都明显比传统的基于单端设计的系统性能要优越。

差分信号传输相对于单端信号传输而言,存在以下优点。(1)抗干扰能力强。因为差分走线由两根走线紧密耦合,当外界存在噪声干扰时,几乎同时被耦合到两条线上,而接收端关心的只是两信号的差值,所以外界的共模噪声可以被完全抵消。(2)能有效抑制 EMI。同样的道理,由于两根信号的极性相反,它们对外辐射的电磁场可以相互抵消,耦合得越紧密,泄漏到外界的电磁能量就越少。(3)时序定位精确。由于差分信号的开关变化位于两个信号的交点,而不像单端信号那样依靠高、低两个阈值电压判断,因而受工艺、温度的影响小,能降低时序上的误差,同时也更适合于低幅信号的电路设计。1.3.2 多重相位技术

多重相位技术是实现高速串行 I/O 通信的重要技术之一。多重相位技术在时钟的不同相位对串行数据流进行采样,将串行数据流转化为并行数据输出,从而实现了低速时钟处理高速时钟的数据。图1-16为采用多重相位技术提出数据的示例图,由锁相环的多相时钟产生器输出 4 个相时钟信号,即分别在 0°、90°、180°和 270°上采样数据,最后由零相位时钟信号同步并行输出。采用多重相位提取电路,若输入的串行数据流比特率为 x,则并行输出的数据流比特率为 x/4。图1-16 多重相位技术的实现示例图

在图1-16中,第一级触发器的输出 a、b、c和 d信号及并行输出数据波形如图1-17所示。图1-17 多重相位提取电路示例波形图

在上述多重相位提取电路示例中,相位要求等差排列,且采样时钟频率严格等于输入数据流速率的 1/4。1.3.3 线路编码技术

线路编码机制将输入的原始数据转变成接收器可以接收的格式,同时保证数据流中有足够的时钟信息提供给接收端的时钟恢复电路。编码技术提供一种将数据对齐到字的方法,同时线路可以保持良好的直流平衡,增加了数据的传输距离,提供了更有效的错误检测机制。除此之外,线路编码机制也可用来实现时钟修正、块同步、通道绑定和将带宽划分到子通道。线路编码机制主要有两种:数值查找机制和自修改数据流或扰码器机制。目前常用的有 8b/10b编码和 64b/66b编码。

1.8b/10b编码技术简介

8b/10b编码是 1983年由 IBM公司的 Al Widmer与 Peter Franaszek所提出的数据传输编码标准,目前已经被广泛应用于高速串行总线,如 IEEE 1394b、SATA、PCI-Express、Infiniband、FiberChannel、XAUI、RapidIO、USB3.0等。8b/10b编码将待发送的二进制数据由 8位代码组转换成 10位代码组,其目的是保证直流平衡,以及足够密集的电平转换。

8b/10b 编码示意图如图1-18 所示,原始 8b 数据分成两部分,即低位的 5 比特EDCBA和高位的 3比特 HGF。低 5位经过 5b/6b编码成为 6比特码 abcdei,高 3位经过 3b/4b 编码成为 4 比特码 fghj,最后再将两部分合起来,组成一个 10 比特码abcdeifghj。

5b/6b编码和 3b/4b编码都可以使用基于查找表的方式来实现。习惯上,人们将原始8b数据记为 D.X.Y,其中,X代表低 5位的十进制数值;Y代表高 3位的值,如原始数据为 101 10101,X=10101(21),Y=101(5),因此这 8b数据就写作 D.21.5。8b/10b编码中还用到 12个控制字符,它们可以作为传输中帧起始、帧结束、传输空闲等状态标志,与数据字符的记法类似,控制字符一般记为 K.X.Y。8b数据有 256种,加上 12种控制字符,总共有 268种,而 10b数据有 1024种,从而可以从 1024种待选编码中选取一部分来表示 8b数据。图1-18 8b/10b编码示意图

将 8b码编码成 10b码后,10b码中 0和 1的位数只可能出现 3种情况,即有 5个 0和 5个 1、有 6个 0和 4个 1,以及有 4个 0和 6个 1,这也是在 1024种待选编码中选择 8b/10b码字的条件。8b/10b编码中使用不一致性(Disparity)来描述 10b码中 1的位数和 0的位数的差值,上述 3种情况的不一致性分别为 0、-2和+2。由于数据流不停地从发送端向接收端传输,每一个 8b的编码会随着前面数据累积的不均等性的状态而产生正确的映射关系,这个作为判断的状态称为运行不一致性(Running Disparity,RD),RD仅有两种状态:+1和-1,分别表示 1的位数比 0多和 1的位数比 0少,其初始值设为-1。RD值的改变依赖前一个 RD及当前 6b码或 4b码的不一致性,其变化规律如表 1-6所示,当 PRD(Previous RD)=-1时,表示之前传输的数据中 0的个数多,如果当前 6b码(4b码)的 Disparity=0,表示 0 的个数等于 1 的个数,则 NRD(Next RD)不变,如果Disparity=+2,表示 0的个数比 1的个数少,则 NRD=+1,以此保证码流的直流平衡。数据经过 8b/10b编码后,连续的“1”或“0”基本不超过 5位,从而使两条差分信号线中的电荷保持平衡,具有强大的直流平衡能力,减小差分信号的直流分量。表1-6 RD变化规律

经过 8b/10b编码后的 10b码在发送时,一般按照先发送低位再发送高位的顺序依次发送各个比特位,即先发送码位 a,最后发送码位 i。在 8b/10b编码中将 K.28.1、K.28.5、K.28.7作为 K码控制字符,称为“comma”。在任意数据组合中,comma码只作为控制字符出现,而在数据负荷部分不会出现,因而可以利用“comma”字符指示帧的开始和结束标志,或时钟修正和数据流对齐的控制字符。

2.64b/66b编码技术简介

64b/66b编码是由 IEEE 802.3工作组为 10G以太网提出的,目的是减少编码开销,降低硬件的复杂性,并作为 8b/10b 编码的另一种选择,以支持新的程序和数据。当前64b/66b编码主要应用于 Fiber Channel 10GFC和 16GFC、10G以太网、100G以太网、10G EPON、InfiniBand、Thunderbolt和 Xilinx的 Aurora协议。

64b/66b编码将 64b数据或控制信息编码成 66b块传输,66b块的

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载