(以下都是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中用寄存器编程来控制这些参数, 也可以由用户自己接死。
————————————————
版权声明:本文为CSDN博主「lobbiy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/bcs_01/article/details/65626801