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.

AM1808 USB2.0 Device Communication Stop

Guru 15520 points
Other Parts Discussed in Thread: AM1808
Hi,

I'm using AM1808 as USB device(peripheral mode) and having a problem with USB2.0.

While USB communication is pending after the completion of enumueration, 
communication disconnect problem occurs.
By recovery of communication disconnect state, bus reset or enumeration are executed.
But the USB device won't be detected correctly(it is detected as unknown device).
This problem occurs so rarely. I'm trying to reappear the problem but not happening now.
So, I'm searching the following 

I'm searching for this problem including a possibility of the following errata.
And I have questions about this errata.

*AM1808 USB errata(advisory 2.3.1 USB0: Extraneous RESET Interrupt)
Q1.By what kind of condition does this errata occur? I want to know the details.

Q2.Once this errata occurs, how USB controller will act ?

Q3.There are workaround written in the errata sheet, 
   but I want the sample code. Is there any sample code?

Q4.Do you think there are relationship between this errata and the problem?

best regards,
g.f.

  • Hi,

    We are looking out your request and will update you once we have an answer.

    Thanks & regards,
    Sivaraj K
  • Hi Sivaraj,

    Thank you for the reply.
    I have additional questions about following AM1808 USB errata.

    Q1. *"Advisory 2.3.1 USB0: Extraneous RESET Interrupt"
    Even if multiple RESET interrupt are generated during duration of RESET,
    I guess it won't be problem but what kind of phenomenon are assumed?

    Q2. *"Advisory 2.3.3 Potential USB2.0 Soft Reset Timing Violation"
    If timing violation occur, what will happen?

    In AM1808 errata sheet(sprz313h) page.11, it said as follow:
    *************************************************************************************************************
    Although this timing violation has not been observed in practice, the potential for a timing violation exists.
    *************************************************************************************************************
    Do you know the details of when and what condition this timing violation will occurs?
    Does this timining violation occur only when resetting the USB by setting RESET bit of
    the USB CTRLR register (CTRLR[RESET] = 1)?

    Q3.
    If Power-on-Reset (POR) the board just after "Advisory 2.3.1 USB0: Extraneous RESET Interrupt" or
    "Advisory 2.3.3 Potential USB2.0 Soft Reset Timing Violation" occurs,
    will these advisory problem be recovered by POR?
    I guess AM1808 state will be default state by POR so that
    the problem (mulit interrupt/reset timing violation)be recovered.

    best regards,
    g.f.
  • Hi g.f.,

    g.f said:
    I'm using AM1808 as USB device(peripheral mode) and having a problem with USB2.0.
    While USB communication is pending after the completion of enumueration,
    communication disconnect problem occurs.
    By recovery of communication disconnect state, bus reset or enumeration are executed.
    But the USB device won't be detected correctly(it is detected as unknown device).
    This problem occurs so rarely. I'm trying to reappear the problem but not happening now.


    Using which driver code, this problem is observed? Is it a TI released code or the customer code? And also check that the USB devices connected are USB 2.0 compliant.
    As you said that the problem is intermittent, please tell us the test case and sequence, details of type USB peripheral device , i.e, Is it a pendrive / Keyboard / Mouse and its make e.t.c.. Sequence like whether the device is connected to the port before the board gets powered on ? or connected after power on?

    g.f said:
    AM1808 USB errata(advisory 2.3.1 USB0: Extraneous RESET Interrupt)
    Q1.By what kind of condition does this errata occur? I want to know the details.
    Q2.Once this errata occurs, how USB controller will act ?


    These questions will be answered by USB Hardware experts.

    g.f said:

    Q3.There are workaround written in the errata sheet,
    but I want the sample code. Is there any sample code?


    I don't think there will be a sample code. But however , you try looking at the USB source code of the latest starterware release for AM1808.

    g.f said:
    Q4.Do you think there are relationship between this errata and the problem?

    yes, possibilities are there.

  • Hi Shankari,

    Thank you for the reply.

    Actually this USB problem occured at my customer.

    >Using which driver code, this problem is observed? Is it a TI released code or the customer code?
    >And also check that the USB devices connected are USB 2.0 compliant.

    I will ask to my customer.

    >As you said that the problem is intermittent, please tell us the test case and sequence,
    >details of type USB peripheral device , i.e, Is it a pendrive / Keyboard / Mouse and its make e.t.c..
    >Sequence like whether the device is connected to the port before the board gets powered on ? or connected after power on?

    USB peripheral device is not pendrive / Keyboard / Mouse.
    AM1808 is USB peripheral device. It is connected to the base board which is USB Host
    and Host are getting a data from AM1808 via USB I/F.

    I guess AM1808 USB peripheral device are always connected to USB Host.
    So, which means it is connected before the board gets powered on.
    But I will ask to my customer to make me sure.

    I have a question about your answer against my following question.
    >>Q4.Do you think there are relationship between this errata and the problem?
    >yes, possibilities are there.

    My guess was there are no relationship between this errata and the problem.
    Because from details of "Advisory 2.3.1 USB0: Extraneous RESET Interrupt",
    it seems that it just generate multiple interrupt against CPU and doesn't
    affect to USB Controller. Is this my understanding wrong?

    By the way, I have additonal questions and I aready posted.
    Can you please see the above post which I posted at Nov 18, 2015 10:41 AM.

    best regards,
    g.f.
  • Hi Shankari,

    AM1808 USB Device are always connected to PC. Sorry, I said it is connected to base board yesterday.
    AM1808 USB Device power are supplied from PC(Bus power), so it gets power at the same timing as PC goes on.

    They are using their custom USB driver code not TI released code.

    best regards,
    g.f.
  • Hi Sivaraj and Shankari,

    I need to answer to my customer soon.
    Right now, they are asking me about the following questions which I posted at Nov 18, 2015.
    ///////////////////////////////////////////////////////////////////////
    Q1. *"Advisory 2.3.1 USB0: Extraneous RESET Interrupt"
    Even if multiple RESET interrupt are generated during duration of RESET,
    I guess it won't be problem but what kind of phenomenon are assumed?

    Q2. *"Advisory 2.3.3 Potential USB2.0 Soft Reset Timing Violation"
    If timing violation occur, what will happen?

    In AM1808 errata sheet(sprz313h) page.11, it said as follow:
    *************************************************************************************************************
    Although this timing violation has not been observed in practice, the potential for a timing violation exists.
    *************************************************************************************************************
    Do you know the details of when and what condition this timing violation will occurs?
    Does this timining violation occur only when resetting the USB by setting RESET bit of
    the USB CTRLR register (CTRLR[RESET] = 1)?

    Q3.
    If Power-on-Reset (POR) the board just after "Advisory 2.3.1 USB0: Extraneous RESET Interrupt" or
    "Advisory 2.3.3 Potential USB2.0 Soft Reset Timing Violation" occurs,
    will these advisory problem be recovered by POR?
    I guess AM1808 state will be default state by POR so that
    the problem (mulit interrupt/reset timing violation)be recovered.
    ///////////////////////////////////////////////////////////////////////

    Can you please give me anwsers for these question?

    best regards,
    g.f.
  • HI g.f,

    I have already posted your questions to our internal hardware team but havenot received their inputs.

    Will ping them again.

    Thanks for your patience.
  • Hi Shankari,

    Thank you for supporting me.
    Ok, I will wait.

    best regards,
    g.f.
  • g.f.

    For advisory 2.3.1 – This will cause multiple interrupts during a bus reset, but software can manage this by applying a filter that responds to the first interrupt, mask this interrupt and schedule a periodic pooling of the register that indicates bus reset is complete while performing normal tasks, when the periodic polling has detected the end of bus reset it is time to perform the expected interrupt task, once the interrupt task is complete it is time to unmask the interrupt and proceed with normal code execution.

     The issue described by Advisory 2.3.3 only applies if software performs a soft reset.  If this is a requirement, the soft reset procedure should follow the steps defined in the workaround.

    Thanks

    David

  • Hi David,

    Thank you for the reply.

    Let me ask following question to make me sure.

    For advisory 2.3.1, do you think this errata will cause the following problem which I posted first?
    My guess is there are no relationship between this errata and the problem.
    Because it seems that it just generate multiple interrupt against CPU and
    doesn't affect to USB Controller. Is my understanding wrong?

    If Power-on-Reset (POR) the board just after "Advisory 2.3.1 USB0: Extraneous RESET Interrupt" or
    "Advisory 2.3.3 Potential USB2.0 Soft Reset Timing Violation" occurs,
    will these advisory problem be recovered by POR?
    I guess AM1808 state will be default state by POR so that
    the problem (mulit interrupt/reset timing violation)be recovered.

    best regards,
    g.f.
  • g.f

    Do we have any log file or USB traffic trace when the problem happens? Which code do they use? Did this happen on their board or AM1808 EVM? I think having more background info would help.

    Thanks
    David

  • Hi David,

    Thank you for the reply.
    This problem occured at my customer's board, not EVM.
    And it's not occuring at my customer, it occured at my customer's end customer.

    This problem occurs so rarely. My customer are trying to reappear the problem but not happening.
    So, they don't have any log or USB traffic trace.

    The code is their own software.

    best regards,
    g.f.
  • g.f.

    From the description, it sounds like the enumeration has completed and problem only happened during data transaction. If this is the case, reset should already be completed by then. I don't see how the two errata apply to this particular problem without further information.

    Thanks

    David