问题概述:主板配套客户整机,无法识别机箱内PCIE外设卡(以下简称外设卡)。从以下方面进行分析,最终解决问题。
1)、PCIE参考时钟与同步时钟差异分析:
详见https://download.youkuaiyun.com/download/fengkuangzhe4/90191602
PCIE通讯信号主要包括时钟、复位、数据线,但是客户的PCIE外设卡与主板之间只有数据线连接。而该主板的PCIE功能不支持非同源100MHz PCIE时钟,外设卡的PCIE时钟必须使用主板输出的100MHz时钟。所以,需要通过飞线连接100MHz PCIE时钟。
2)、复位时序
外设卡没有连接PCIE RST信号,内部使用FPGA做的时序。使用的FPGA上电过程需要约150ms加载Flash中的程序,然后再初始化PowerPC,用时太长,而主板从上电到PCIE RST有效约400ms,已错过主板扫描外设阶段。更改外设卡上电时序,缩短FPGA加载程序时间(增大读取FLASH程序的时钟频率),上电后立马初始化PowerPC,等待100MHz PCIE时钟,当检测到100MHz PCIE时钟时,延迟几个时钟周期后释放PCIE复位,等待主板扫描外设。
经过更改时钟和外设卡时序后,主板可以正常识别外设卡。
PCIE外设卡设计过程中,尽量使用主板输出的100MHz PCIE时钟和PCIE复位信号。因为X86架构卡比龙芯和飞腾板卡启动快很多,如果自主设计的PCIE外设卡配套X86板卡使用,需缩短外设卡上电时间和初始化,尽量保证在300ms内完成。