DWC PCIE学习笔记(一)----->PCIE PHY接口


(以下都是PCIE2 PHY的各种问题)

一、PIPE接口

1、PIPE接口用于连接PCIE controller和PCIE PHY, controller用PIPE接口发送并行数给PHY用于并串转换等操作, PHY把串并转换得到的并行数通过PIPE接口送给controller。

NOTE1:为了使能PIPE接口以便控制PHY:

1)macP_pclkreq_n[1:0]要置为2'b00,参考时钟要稳定。

2)要设置mpll_multuplier、ref_use_pad和parameter control信号(这些信号的设置一般由厂家提供解决方案)。另, phy_test_burnin, phy_test_powerdown, 

laneN_tx2rx_loopbk信号要设置为无效。 

3)PCIE PHY要释放复位(phy_reset信号要释放)。注:phy_reset貌似高电平复位。

NOTE2:DWC PCIE PHY的实现是直接把PIPE接口暴露在PHY的端口上, 因为这样很容易和它的PCIE controller连接。在实际工程中有很多PHY是自研的,但依然使用

DWC PCIE controller, 自研的PHY可能并没有实现PIPE接口,只实现了controller到PHY的数据通路, 这个时候PIPE接口的一部分功能就必须在其它的模块中实现。

2、电气空闲指示信号:pipeP_rx_elecidle_disable(I),pipeP_txN_elecidle(I), pipeP_rxN_elecidle(O)

PHY内部一般都有一个loss_of_signal(LOS), 用于报告出现在高速线上的信令。PHY会用pipeP_rxN_elecidle信号通知控制器产生了一个电气空闲条件。但是, 由于LOS

检测器的带宽限制, 这个检测器检测的数据最大速率为1.5Gbps,大于这个速率的检测结果就不可靠。

3、Beacon检测

beacon pulse大于50ns方能检测到, 否则PCIe控制器会忽略这个脉冲。

二、时钟复位接口

1、两个时钟来源,片外时钟源(来自pad)或者片内时钟源(信号phy_ref_use_pad用来选择使用哪个时钟源), 支持100MHz或者200MHz。
2、输出时钟: 
1)phy_ref_output_clk : 跟参考时钟一致的一个输出时钟, 可提供给别的PHY作参考时钟。

2)MPLL clocks:MPLL时钟是对参考时钟的倍频(refclk x phy_mpll_multiplier), 用来作串行数据流的时钟。(mpll_word_clk, mpll_dword_clk, 

mpll_qword_clk)。

3、复位:dwc PHY由硬核和软核两部分构成,两部分独立复位。

phy_reset用于复位PHY硬核(模拟部分, 用于串行数据流驱动)。

pipeP_reset_n用于复位软核部分。

三、电源

vp, vptxN, vph, gd,, vss

四、串行口

每lane一对差分输入输出口,四根线,速率为标准的PCIE速率。

五、参数控制接口

这么解释:当一个IP核既有数字部分,又有模拟部分的时候, 通常这个模拟部分会以硬核的方式提供给使用者, 但是使用者又不希望硬核接死, 他们希望某些参数可调, 

于是厂家就把一些可调的参数拉出来, 供使用者自行控制。这就是这个参数接口的来源, 通常在SOC中用寄存器编程来控制这些参数, 也可以由用户自己接死。


 

你可能感兴趣的:(DWC PCIE学习笔记(一)----->PCIE PHY接口)