OFweek 电子工程网 http://ee.ofweek.com/
基于 FPGA 的 PCIe 接口实现
PCI Express(PCIe)是一种高性能互连协议,可应用于网络适配、图形加
速、服务器、大数据传输、嵌入式系统等领域。PCIe 协议在软件层上可兼容于
PCI 和 PCI—X,但同时也有明显的不同。在两个设备间,其是一种基于数据包、
串行、点对点的互连,因此所连接设备独享通道带宽。根据使用的版本号和通
道数,其性能具有可扩展性。对于 PCIe 2.0,每条通道在每个方向上的数据传
输速率是 5.0 Gbit·s-1。从 PCIe×1~PCIe×16,能满足一定时间内出现的低
速设备和高速设备的需求。
Altera 提供了兼容于 PCIe 1.0 和 PCIe 2.0 的解决方案,无论是作为根节
点还是端点,都可以通过嵌入在 FPGA 内部的可配置硬核 IP 模块实现,而不占
用可编程资源,这既节省了资源也提高了应用的可靠性。Altera 的 IP 编译器可
以提供×1,×2,×4,×8 的通道接口。本文主要介绍采用 Cyclone IV GX 系
列的 FPGA 来实现×4 的 PCIe 接口所涉及的硬件电气规范、协议规范等。
1 PCIe 总线体系和 Cyclone IV GX
1.1 PCIe 总线体系概述
PCI Express 是一种基于数据包、串行、点到点的高性能互连总线协议。
其定义了一种分层的体系结构,包括软件层、处理层、数据链路层和物理层。
其中软件层是保持与 PCI 总线兼容的关键,PCIe 采用与 PCI 和 PCI—X 相同的
使用模型和读写通信模型。支持各种常见事物,如存储器读写事物,IO 读写事
物和配置读写事物。而且由于地址空间模型没有变化,所以现有的操作系统和
驱动软件无需进行修改即可在 PCIe 系统上运行。此外 PCIe 还支持一种称为消
息事物的新事物类型。这是由于 PCIe 协议在取消了许多边带信号的情况下,
需要有替代的方法来通知主机系统对设备中断,电源管理,热插拔支持等进行
服务。
1.2 Altera Cyclone IV GX 系列 FPGA
Cyclone IV GX FPGA 采用 Altera 成熟的 GX 收发器技术,具有出众的抖
动性能和优异的信号完整性。利用灵活的收发器时钟体系结构,可充分利用收
发器所有可用资源,实现多种协议。Cyclone IV GX FPGA 为根端口和端点配
置的 PCI Express×1、×2 和×4 提供唯一的硬核知识产权(IP)模块。因此不用
再接入其他专用的 PCIe 协议芯片,即可实现端到端的高速数据传输。
Cyclone IV 系列的 FPGA 还支持一系列外部存储器,包括 DDR2
SDRAM,DDR SDRAM,QDR SDRAM。Altera 可提供速度最快、效率最高、
最低延迟的存储器控制器,使得 FPGA 可以接入现有的更高速的存储器件。专
评论0