Author Topic: MSP430F5528  (Read 10475 times)

sidlev

  • Member
  • ***
  • Posts: 1
MSP430F5528
« on: September 09, 2013, 06:26:07 pm »
Hi All,

I am new to this forum. I have a design with an MSP430F5528 in a ball grid package implemented as a CDC. It is powered by the USB port. When I plug it in or reset it, it enumerates correctly and communicates with the host correctly. If I disable the USB in the Device Manager, then Enable it, the interrupt handler in the code responds to the suspend when I disable it, it responds to the resume from the host, it responds to the reset from the host, and then it fails to send any data to the host. The host attempts to reset the device a few times then gives up and suspends it. I can then press the reset button on my device and it will enumerate correctly. I have looked at the USB registers and it all seems OK. As a test I tried my code on an evaluation board with an MSP430F5528 in a QFN package and it works correctly, that is it will suspend and enable correctly. This of course makes me very suspicious of my hardware, but I pretty much copied the evaluation board design for my USB connections.

Any ideas?

Sid

Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 3033
    • Lakeview Research
Re: MSP430F5528
« Reply #1 on: September 09, 2013, 09:03:45 pm »
A hardware protocol analyzer will show what is happening on the bus. If you don't have a hardware analyzer, use whatever debugging tools you have (monitor program, breakpoints, etc.) to find out what the device is doing and to isolate the problem.

For example, after the reset, does the host send a Get Port Status request, and if so, does the device ACK the Setup transaction and eventually respond to say that the reset is complete?

If yes, does the host send a Get Descriptor request, and if so, does the device respond by sending the number of bytes requested or the full descriptor, whichever is less?

And so on.

Once you know where the device is failing to respond appropriately, examine your firmware to see where it is going wrong. The firmware specifics will vary with the hardware and firmware.

One thing that appears to be different between the failed reset and the reset button is that the failed reset involves the Suspend state, so you might look there.

Tsuneo

  • Frequent Contributor
  • ****
  • Posts: 145
Re: MSP430F5528
« Reply #2 on: September 09, 2013, 10:29:59 pm »
Hi, Sid
I remember I saw your symptom on early silicon revision of MSP430F552x.
http://e2e.ti.com/support/microcontrollers/msp430/f/166/t/124221.aspx

It may be related to this silicon bug, described in the errata.
http://www.tij.co.jp/jp/lit/er/slaz313h/slaz313h.pdf
USB8: USB PLL may fail to initialize when DCO is not used

Tsuneo