使用自己做的6678的板卡. PCIe参考时钟100MHz.
运行例程中的PCIe测试.pcie_phy_loopback. 当运行完
gpPCIE_app_regs->CMD_STATUS |= CSL_PCIESS_APP_CMD_STATUS_LTSSM_EN_MASK;
此时 LTSSM_STAT_L0 = 0x11.
但当运行
gpPCIE_CAP_implement_regs->PL_FORCE_LINK |=
CSL_PCIE_CFG_SPACE_ENDPOINT_PL_FORCE_LINK_FORCE_LINK_MASK
|(LTSSM_STAT_POLL_ACTIVE
<<CSL_PCIE_CFG_SPACE_ENDPOINT_PL_FORCE_LINK_LNK_STATE_SHIFT);
之后 LTSSM_STAT_L0 = 0x00.
在RC模式下,PCIeSSEN =1; 2.5G,5G均试过. 1线,2线也均试过.1.8V 1.5V输入均正常.时钟也测得,并且pll锁定.
请问可能是哪里的问题?
Brighton Feng:
你另一端接的什么?
试一下不用loopback模式,或去掉PL_FORCE_LINK语句试试。
bin zhang8:
回复 Brighton Feng:
另一端是 PCIe的switch, PLX的pex8624
bin zhang8:
回复 Brighton Feng:
Brighton Feng ,你好我尝试将PL_FORCE_LINK 注释掉
// gpPCIE_CAP_implement_regs->PL_FORCE_LINK |=// CSL_PCIE_CFG_SPACE_ENDPOINT_PL_FORCE_LINK_FORCE_LINK_MASK// |(LTSSM_STAT_POLL_ACTIVE// <<CSL_PCIE_CFG_SPACE_ENDPOINT_PL_FORCE_LINK_LNK_STATE_SHIFT);
程序能正常运行.输出信息见 附件
我如何判断有没有错误呢?
bin zhang8:
回复 Brighton Feng:
Brighton Feng,你好
我运行 \ti\pdk_C6678_1_0_0_17\packages\ti\drv\exampleProjects\PCIE_exampleProject
目录里的PCIe工程,#define ENABLE_PHYLOOPBACK
同样注释掉Force_link
运行过程中出现异常
输出信息见附件
能否判断硬件存在什么问题?