PCI Express提供高速、高性能、点到点、双单工、串行、差分信号链路来互连设备。
PCI Express每条链路点对点的互连,即一条链路相当于之挂一个设备的总线。
PCI Express接口的开发方法:
1. 采用可编程逻辑器件
用符合PCI Express总线规范的FPGA来做
2. 采用专用接口芯片
采用PCI Express总线专用接口芯片。
----不需要过多理解总线的详细工作原理降和接口芯片的构造,只需集中于整个硬件系统设计
PCI Express总线特点
1. 点对点连接方式
—提高传输速率
2. 串行传输方式
---使用“电压差动式信号传输”,即两条线路,一相互间的电压差作为逻辑“0”“、1”表示。每两条线路组成一个通路(lane),每个通路的理论传送速率为2.5Gbit/s,实际中可以有两个传送通路,分为上行和下行,这样PCI Express就可以工作在双工状态下,能提供更高的传输速率和质量。
3. 高速率传输-
--PCI Express分为X1、X2、X4、X8、X16和X32几种形式(X1表示1条数据通道、X2表示2条数据线,···)。PCI Express 16通道具有2.5Gb*16/8=5Gb/s带宽,但由于采用8b/10b编码,实际上有效带宽为4GB/s(扣除20%的植入时钟信号)
4. 热插拔的支持(需主板支持)
5. 良好兼容性
PCI-E设备的复位方式
总线规定了两大类复位方式:传统复位(Convertional Reset);FLR(Function-Level Reset)
传统复位有cold、warm、hot reset三种方式。
A、cold reset:PCIE上电时系统通过RESET脚进行复位,可类似理解为硬复位;
B、warm rest:类似看门狗,在系统上电运行后,通过看门狗等方式对PCIe进行复位,属于全局复位,复位后PCIe设备重新启动运行;
C、 hot reset:使用软件对PCIe设备进行复位,如系统软件对Bridge Control Register某位置1,该桥片对PCIe设备进行复位
FLR:与传统方式的区别举例,当PCIe网卡的某个功能模块“与网络部分相关”的逻辑需要复位,而传统方式(cold、warm、hot reset)不能做到局部复位,而FLR方式可以。
总线信号
1. 电源信号
PCIe提供两种电源 Vcc和Vaux,其额定电压为3.3V
其中,Vcc为主电源,主要逻辑模块的供电电源均为Vcc;而一些电源管理相关的逻辑使用和一些特殊的寄存器使用Vaux供电
使用Vaux的主要原因是为了降低功耗和缩短系统恢复时间。Vaux在多数情况下不会被移除。
2. PERST#信号
全局复位信号,由处理器系统提供,处理器系统为PCIe插槽和PCIe设备提供该复位信号。PCIe使用该信号复位内逻辑。当该信号有效时,PCIe设备将进行复位操作。
3. PEFCLK+和PEFCLK-信号
PCIe设备和PCIe插槽都具有PEFCLK+和PEFCLK-信号,其中PCIe插槽使用这组信号与处理器系统同步。
在一个处理系统中,通常采用专用逻辑向PCIe插槽提供PEFCLK+和PEFCLK-信号。其中100MHZ的时钟由晶体提供,并经过“一推过”的差分时钟驱动器生成多个同相位的时钟源,与PCIe插槽一一对应连接。
PCIe插槽需要使用参考时钟,其频率范围为100MHZ±300ppm。处理器系统需要为每一个PCIe插槽、MCH、ICH、和Switch提供参考时钟,并要求在一个处理器系统中,时钟驱动器产生的参考时钟到每一个PCIe插槽(MCH、ICH、和Switch)的距离差在15英寸以内。即,不同PCIe插槽间的PEFCLK+和PEFCLK-信号传送延时差约为2.5ns。
在一个处理器系统中,如果使用PCIe链路进行机箱到机箱间的互连,因为参考时钟可以异步设置,机箱到机箱之间进行数据传送时仅需要差分信号线即可,而不需要参考时钟,从而降低了连接难度。
4. WAKE#信号
当PCIe设备进入休眠状态,主电源已经停止供电时,PCIe设备使用该向处理器系统提交唤醒请求,使处理器系统重新为该PCIe设备提供主电源Vcc。在PCIe总线中,WAKE#信号时可选的,因此使用WAKE#信号唤醒PCIe设备的机制也是可选的。产生该信号的硬件逻辑必须使用辅助电源Vaux供电。
PCIe设备处理使用WAKE#信号实现唤醒功能外,还可以使用beacon信号实现唤醒功能。与WAKE#信号实现唤醒功能不同,beacon使用in-band信号,即差分信号D+和D-实现唤醒功能。
5. SMCLK和SMDAT信号
6. JTAG信号
主要用于芯片内部测试
7. PRSNT1#和PRSNT2#信号
与PCIe设备的热插拔相关。
在基于PCIe总线的add-in卡中,PRSNT1#和PRSNT2#信号直接相连;而在处理器主板中,PRSNT1#信号接地,而PRSNT2#信号通过上拉电阻接为高。