I'm having a problem getting CDC Example 4 in the USB Developer's Package initiating enumeration with the host PC.
Configuration:
- MSP430 USB Developers Package 3.10.00
- Code Composer Studio Version: 5.1.0.09000
- MSP-TS430Z100USB Development Board
- MSP-FET430UIF Debug Interface
- MSP430F5636 Rev. D microprocessor
- Win7 w/ Intel Motherboard
I've looked through the E2E forums and found a few related posts but nothing is working. Post MSP430F6638 USB enumeration issue discussed Errata related to the USB PLL, but my version of the 5636 has that problem fixed. Post MSP430 5529 Rev A enumeration fails (USB) showed recommended values for the Device's base class, sub class and protocol codes, but my descriptor.c uses the recommended values.
At the start of this problem I uninstalled and re-installed CCS and the USB Developers Package. The setup seems stable (other than the fact that CCS seemed to reprogram the FET430 so it's not recognized by IAR anymore).
The code compiles clean (for the 5636 target) and gets through Init_Ports(); SetVCore(3); Init_Clock(); and USB_init(); without error (until the target was specified correctly as the 5636 it did hang in Init_Clock()/XT2_Start()).
I'm using LEDs to show the enumeration state in the while { switch{ } } loop and can reliably detect when the USB cable is removed and inserted. Enumeration hangs in the ST_ENUM_IN_PROGRESS: state or the ST_NOENUM_SUSPENDED:state (as described in Section 6 on page 33 of the Programmer's Guide).
The USB activity as reported by the USBTrace as provided by sysnucleus.com shows a lot of transfers, but no GET_DESCRIPTOR_FROM_DEVICE requests expected during a normal enumeration process.
There are no Unknown USB devices either shown on the Win7 Device Manager screen or the USBDview utility I downloaded from nirsoft.net. I've incremented the PID via the Descriptor Tool to ensure there aren't any other VID/PID conflicts. I also cleared out the old unused COM ports in the Win7 registry.
I also tried to get the example to enumerate on two other PCs with no luck.
In following the recommended debug steps in Section 12 (pg. 126) of the Programmer's Guide, we did verify that D+ is held high (measured at 3.05V). That presumably should prod Win7 to start enumeration, but no luck. I upped the max power draw in the Descriptor Tool to see if the D+ voltage would increase, but still no luck.
Any suggestions would be appreciated. I'm sure the solution is something simple I'm overlooking.
Thanks,
Doug