This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于SRIO中doorbell中断的响应问题



小弟正在研究FPGA与C6678通过SRIO连接的系统。目前FPGA作为主端,向DSP循环发送门铃1和门铃2,在6678进入门铃中断服务时有如下两个问题:

    1)门铃1和门铃2会被同时检测到,srioRegs->DOORBELL_ICSR_ICCR[0].RIO_DOORBELL_ICSR寄存器的值一直为3。

        例如:若FPGA端轮流发送门铃1,门铃2,门铃1,门铃2,门铃1,门铃2共三组6个门铃,则中断服务函数SRIO_Doorbell_ISR只进去四次,且DOORBELL_ICSR寄存器的值分别为1,3,3,2。而希望达到的效果是进入中断六次,寄存器的值为1,2,1,2,1,2

    2)6678一旦收到门铃,进入中断服务函数后,会一直接收doorbell信号,直到所有doorbell中断处理完毕时才回到main函数。同样是上一个例子,FPGA端发送三组共6个门铃,6678这边会连续进六次中断服务函数后才返回主函数。而不是处理一次中断返回主函数,再处理一次中断返回主函数这个次序。

    6678这边中断位每次都被及时清除。FPGA端doorbell发送的频率约为50k/s,速率下降后情况也类似。小弟百思不得其解,恳请各位大神解答。