我在开发PCIE板卡的过程中遇到以下问题,请高手们帮忙分析一下: 我利用软件将一大段数据发送到我的板卡,大家知道PCIE传输数据是将数据封装为TLP包来传输的,我现在选择的是每64B封装一个TLP,假设我传输了4×64B的数据,应该封装为4个TLP包,将这四个TLP按照软件发送数据的先后顺序定义为TLP0,TLP1,TLP2和TLP3,这时候,我用逻辑分析仪跟踪我的板卡收到的数据,发现这些TLP没有按照顺序发送,TLP0,TLP1,TLP2和TLP3这4个数据包出现了顺序混乱,例如顺序是TLP0,TLP3,TLP1和TLP2。 另外,这个现象只有当一次发送的数据量比较大的时候才会出现这种情况,而发送的数据比较少的则不会出现这种情况。 那位高手给分析一下出现这种情况的原因,并给出一个解决方案!!! |