我用OMAPL138的upp模块读取FPGA端发送过来的数据,UPP只用作接收,单通道75M运行。程序运行时,首先FPGA端给DSP中断,之后,DSP首先初始化UPP的三个参数值,即UPID0、UPID1、UPID2,之后UPP开始接收数据,接收完之后等待下一次FPGA端发送的中断。(两次中断间时间间隔为200微妙,UPP传输数据量为7200word,word为16bit,所以两次中断的时间间隔足够UPP接收完7200个16bit的数据),每次UPP都写入到同一个SDRAM地址范围内,但是运行过程中发现DPEI中断出现了,用计数器累加时,发现大部分都是DPEI中断,而EOWI中断数量却很少。如果在写UPID0、UPID1、UPID2寄存器前先用while(((CSL_UppReg->UPIS2) & 0x02) != 0x02)判断的话,这样不会出现DPEI中断了,但是得到的EOWI中断的数目要远远少于正常数目,也就是丢包了。时间,计算着完全够用。不知道咋回事。有知道的帮忙解答一下吧,谢谢啦