序 言
近几年来,随着电子信息技术的飞速发展,物联网、云计算和大数据等新型应用涌现,规模庞大的数据集呈爆炸式增长,巨大的数据流使得现代通信系统的数据处理能力和数据通信带宽面临着更大的挑战。芯片级、板卡级和平台级的数据传输速度日益成为限制通信系统性能的关键因素,传统并行传输技术已成为进一步提高数据传输速率的瓶颈,追求更快速率,更高带宽的传输成为业界不容忽视的课题。
串行传输技术克服了高速传输并行信号存在的偏移问题,具有传输速率快、信号线间串扰小、电磁干扰低和PCB设计简单等优势,具有很好的抗噪能力,可以显著提高通信系统间的数据传输效果。当前,串行传输技术已经逐渐被广泛应用在业界的各个方面,为了适应不同的设备及环境,业界已经发展出了许多成熟的串行传输协议,如RapidIO、PCI-Express、XAUI、SerialATA及Interlaken等协议,高速串行传输技术在通信网络、数据存储、个人计算机、服务器和嵌入式控制等领域得到广泛应用。
以Xilinx FPGA为代表的可编程器件,兼有可编程性和高速I/O的技术优势,既能满足不断变换演进的串行传输协议的发展需求,同时支持芯片间、板卡和背板之间的高速数据互连,是实现高速串行接口应用的理想连接器件。Xilinx公司的FPGA器件提供串行传输解决方案和IP核,可以帮助用户极大地缩短开发时间和成本,已成为行业内高速串行传输设计的首选方式之一。
书中内容围绕Xilinx FPGA支持的串行传输解决方案和应用实现,具有以下特色:(1)系统性。本书系统地讲解了高速串行技术的发展历程,首先介绍高速收发器的基本结构和应用方法,以XAUI协议和PCI-E协议为例给出详细的实验步骤,最后系统地总结了高速收发器的调试方法和时钟电源电路的设计方法。(2)专业性。重点关注高速收发器的基础知识和应用技能,内容涉及高速收发器的内部结构、典型应用案例、调试工具和辅助电路设计等知识,帮助读者深入理解串行技术发展的前因后果,相较于现有高速串行传输技术的书籍突显其专业性。(3)实用性。本书重在拓展读者的高速设计开发能力,采用基础知识详解和典型实验案例,帮助读者快速掌握串行传输协议的实现方法,并可举一反三地从事其他高速串行协议开发。
本书凝结了作者多年的工程经验,希望这本书可以使读者系统掌握高速串行传输技术的基础知识和实践技能,帮助读者在应用过程中少走弯路,提升高速串行技术相关领域的应用开发能力。
信息工程大学 汪斌强教授
2015年3月
前 言
随着对电子系统吞吐量要求的日益提高,并行数据传输模式已不能满足高带宽应用的传输需求。高速串行数据传输技术具有高带宽、低时延、信号完整性好和扩展性强等优点,已逐步取代传统的并行总线技术。串行传输已成为数据传输的主流技术,广泛应用于通信网络、数据存储、个人计算机、服务器和嵌入式控制等诸多领域。一方面是与日俱增的带宽要求,另一方面是不断变化的新兴高速串行传输标准,二者都对设计人员提出了严峻挑战。由于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-E接口协议,给出了详细的实验步骤和解释说明,使读者熟练掌握XAUI和PCI-E协议的应用技能,在此基础上可以起到触类旁通的效果,可以帮助开发者快速从事其他串行协议的应用开发。最后,介绍了Xilinx IBERT测试工具的应用经验,并对高速收发器的外部时钟和电源设计经验作了总结,对于开发人员正确设计和调试高速接口电路很有裨益。
本书按内容划分为四部分:第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月