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.

Normal USB interrupt frequency in DM365

Hi there,

What's the normal USB interrupt frequency for DM365 as a MSC device ?
I see ~8KHz in my non-Linux implememtation and wonder if it is too high.

Thanks & regards,
Yulin.

  • Dear Sir :

    We have problem about resize YUV 4:2:0 to YUV 4:2:0.

    I know you have the same problem few weeks ago.

    We also use non-linux platform, so maybe we can help each other.

    I know it is very impolite to ask you to help us.

    However, we have bothered by this problem few weeks, if you are willing to help us, below is my e-mail and msn account.

    yuenjune0419@gmail.com

    best regards,

    yuenjune

  • Hi,

    Mass storage application usually uses Bulk transfer and we have several DMA modes available. Make sure you are using RNDIS mode. If you are performing a single large transfer and you are using RNDIS mode (I forgot the size of the max transfer size the DMA supports but it is in Megabyte size) you should be getting interrupt amount equaling to this chunk of data. So, check the DMA mode  you are using. That is the only thing I can think of here.

    I am thinking that the interrupt you are receiving is an Endpoint or DMA interrupt. If you are talking about the SOF interrupt, yes, you will be getting one interrupt for every SOF which will be every 125uSec and this translates to 8000 interrupts per sec. I suggest you mask this interrupt unless you  have some use for it.

    Best regards, Zegeye

  • Zegeye,

    Thanks!
    Disable SOF interrupt lowers the interrupt frequency.
    However, why do sometimes SOF interrupts still occur ?

    BR,
    Yulin.

     

  • Hi,

    If it is masked, it should not occur at all. This is the first time I heard of this and for this reason, I strongly believe that this problem does not exist and you probably want to check it again.

    Btw, if you are observing the raw interrupt, then you will see the interrupt bit set. However, if masked, it will not generate interrupt. The core operation is in sync with the mask interrupt registers not the raw. What this means is that within your code you should not use the raw interrupt register value to handle your interrupts.

    Best regards, Zegeye

     

  • Hello,

    I'm getting the same behavior on my side. The SOF interrupt is disabled. But I'm still receiving ± 2700 SOF interrupts / sec.

    I'm setting the interrupt mask with: OUTREG8

    (&pGen->IntrUSBE, INTRUSB_ALL&~INTRUSB_SOF);

    And I'm checking the interrupt status with:  m_pOTG->intr_usb = INREG8(&m_pOTG->pUsbGenRegs->IntrUSB);

    How can this be?

    Regards!

    David