问题描述:大家好,我现在正在做K7和C6678的SRIO通信,DSP作为主设备,FPGA作为从设备,当DSP连续向FPGA同一个地址处读N次(N很大)数据(数据量不大于256个字节)的时候,总会出现卡几次的情况
举例:比如DSP连续从FPGA的某一个地址0x00130000处读10000次256个字节的数据,它就有可能出现1到2次的卡壳,所谓的卡壳就是 本来读一次只需要20多个us,就因为这一次卡壳,可能花掉了30ms甚至3s。这个严重影响了我的实时性要求。
for(i=0;i<10000;i++)
{
SrioRead((Uint32)pBuf,(Uint32)fpgaAddr,sizeof(float)*64);
......
......
}
猜想:我在想是不是因为SrioRead程序中有isLSUFULL和isLSUBUSY的判断,出现了LSUFULL和LSUBUSY的情况,有时候需要等待,所以导致会卡壳,但是我把数据量改到小于256个字节的时候应该不会出现卡壳才对啊,求解。