有一个项目,用到XIO2001为PCI-E转PCI的桥。具体的实现是以FPGA作为PCI-E root,然后通过XIO2001转成PCI总线连到DM642上。目前的情况,ROOT可以主动去读写DSP,但是DSP无法通过DMA的方式访问ROOT。也可以抓到DSP发出的中断,但是经过XIO2001后,ROOT收不到中断消息。DSP发起的请求全部都到不了ROOT。由于使用FPGA作为ROOT,不像CPU那么标准,可能存在配置错误或者其他考虑不周的问题。XIO2001方面是否有对应的配置或者电源状态等因素需要考虑?
Amy Luo:
您好,
应用手册:www.ti.com.cn/…/scpa045d.pdf
里面提到了一些电源、接口方面的注意事项,可以参考一下。
Kailyn Chen:
能附上您的电路看下吗? XIO2001能正确识别到吗?
user3838908:
回复 Kailyn Chen:
XIO2001的识别没有问题。以前是ROOT是CPU,现在ROOT是FPGA。以前是完全可以用的,现在主要是换了一个FPGA作为ROOT的平台。
user3838908:
回复 Amy Luo:
这份文档看过,里面对中断的控制极为简单,只要有INTX 信号发出,PCI-E的链路训练完成,总线处于L0状态应该就会有中断消息发出。现在INTX肯定是有的,链路训练问题不大,因为一个方向已经可以通信了。有没有可能是没有处于L0状态导致?
Kailyn Chen:
恩,那说明电路没什么问题,那么在电源方面,需要注意的是VDD_15_PLL这个电压需要和其他电压隔离,因为PLL 供电需要尽量干净,不要被其他1.5V或电压干扰导致通信异常。
Amy Luo:
回复 user3838908:
中断配置部分有提到L0要处于有效状态下,可以确认下是不是这个原因导致的。
user3838908:
回复 Amy Luo:
如何判断是否处于L0状态,或者是否有方案让XIO2001一直处于L0状态而不做状态切换或者什么操作能让XIO2001回到L0状态。
Amy Luo:
回复 user3838908:
读一下Link Status Register,看看低4位是不是1h