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.

TMS320C5517: Double USB TX interrupt when CPU run at 200MHz

Guru 24520 points
Part Number: TMS320C5517

Hi TI Experts,

Please let me confirm the following question.

Now my customer development the C5517 with using the Audio connected Framework for C55x device. As you know, this Framework is made for C5515 or C5535 devices and TI did not provide it for C5517. So, they have been porting it to C5517, but they have met the following issue.

[Issue]
The EP1TX interrupt happen twice within a very short time when C5517 run in 200MHz.
In normally, the EP1TX interrupt will happen every 1ms. But when C5517 run in 200MHz, EP1TX interrupt happened after 40us, and it cause the problem for FIFO data.


Note:
- If C5517 run in 100MHz, this issue did not occur.
- When inserted the delay cycles on USB AC task, not happened this issue.
- If used the low sampling rate under 16kHz, not happned it.

Would you please advice in order to resolve this issue? Do you know the way to avoide "the interrupt in short time"?
And have you ever seen this issue?

If you have any questions, please let me know.
Best regards.
Kaka

  • Hi Kaka-San,

    I've forwarded your query to the c55x experts. Their feedback should be posted here.

    BR
    Tsvetolin Shulev
  • Hi Tsvetilin,

    Thank you for your support. I am waiting for your team feedback.

    Best regards.
    Kaka
  • Kaka-san,

    In app_usb.c  please try to change the void USBisr() to the below. In essence Latch and clear the interrupts before the handle SOF processing.

    void USBisr()
    {
        pUsbContext pContext;
        Uint16 dmaSampCnt;
    
        /* Latch and clear interrupts */
        pContext = &gUsbContext;
        pContext->dwIntSourceL = usbRegisters->INTMASKEDR1;
        pContext->dwIntSourceH = usbRegisters->INTMASKEDR2;
        usbRegisters->INTCLRR1 = pContext->dwIntSourceL;
        usbRegisters->INTCLRR2 = pContext->dwIntSourceH;
    
    
        /* Handle SOF processing */
        if (pContext->dwIntSourceH  & CSL_USB_GBL_INT_SOF)
        {
            //HWI_disable();
            latchDmaXferState();
            //HWI_enable();
    
    #if 1
            /* Compute DMA transfer count since last SOF */
            dmaSampCnt = computeDmaXferCnt();
    
            /* Calculate playback and record pitch */
            calcPitch(dmaSampCnt);
    #endif
        }
    
    
        USB_MUSB_Isr();
    }

    Please keep in mind that the register offsets between C5515 and C5517 are different. USB mapping in general is also different. So, please ensure you are using the latest version of CSLr since CAF might be using an older version of CSL.

    Hope this helps.

    Lali

     

  • Hi Lali,

    Thank you for your support.
    I will inform this to our customer. I will post their feedback if I get it.

    Best regards.
    Kaka
  • Hi Lali,

    My customer could not resolve this issue even thought they have tried to test their application code with using for your code.  And if they set the CPU as 150MHz, this phenomenon did not occur. Do you have any idea to resolve this issue?

    By the way, have you ever checked the CAF behavior that ported from C5515 to C5517? And would you please provide your advice to port the latest CSL to CAF?


    Best regards.
    Kaka

  • Hi Lali,

    Would you please provide your answer for our questions??

    Best regards.
    Kaka
  • Hi Lali,

    I am waiting for your feedback... Would you please provide your comments?

    Best regards.
    Kaka
  • Kaka-san,
    Unfortunately, I don't have any more details regarding the port of CAF from C5515 to C5517.
    The only thing I can advise is to look at the differences between the 2 CSL releases and also any API specific differences between the 2 platforms.
    Sorry I don't have more details.

    Lali
  • Hi Lali,

    Thank you for your comments.
    I could understand your situation. Would you please provide the additional advice to resolve this issue?

    If customer make the sample code which this phenomenon observe, could you check it? Also, do you think that the CAF can run on 200MHz?

    If you have any questions, please let me know.
    Best regards.
    Kaka

  • Hi Lali,

    Would you please provide your comment for our request?

    Best regards.
    Kaka
  • Hi Kaka-san,

    Apologies for the slow reply. We don't have a readily shareable example that runs on the C5517 configured for 200Mhz to be certain that it will work as expected at that frequency.

    Let me dig into this a bit more and get back to you. Please ping this thread in a few days to see if I have something.
    Thanks for your patience.

    Lali
  • Hi Lali,

    Thank you for your response.
    I am waiting for your kind feedback.

    We got additional data from my customer. Please check it and if you have any comments,. please let me know.

     7457.USB.pdf

    I also get the request from my customer. Could you reproduce this issue on your side by using the CAF and the latest CSL?

    Best regards.
    Kaka

  • I closed this thread. Thank you for your support.

    Best regards.
    Kaka