Part Number:MSP430F5659
Hi Team,
We are working on a custom board (second revision) with MSP430F5659. As per the flowchart in page 3 of slaa452c.pdf, when PUR pin it pulled high when Reset is pressed with the presence of VBUS, USB BSL is invoked.
But, we are seeing some different scenario in USB BSL invoke:
Case 1: By default, VBUS will not be available. VBUS is controlled through a switch, VBUS is available after 500ms of Reset is held low and Rest is released after 500ms. We have a 120E pull-up resistor at PUR pin to VUSB. In this case, USB is not getting recognized at the Host.
We also tried by connecting the device to Windows PC. The USB cable is plugged to PC while the reset switch is pressed. Still USB is not getting recognized at the Host.
Case 2: When the USB is getting enumerated, when we press the Reset switch, USB is still enumerated and once we release the switch, USB gets disconnected and USB is not getting recognized at Device Manager.
Case 3: We are controlling the BSL sequence from the Host processor. PUR pin is controlled by the GPIO of Host Processor present in separate board. In this case, there is no external PUR pull-up resistor present on the board. This GPIO signals travel from the Host Processor to MSP430 via a cable assembly of length 200mm. Hence, we have a ESD component TPD6E05U06RVZ near the MSP430 end.Even if the PUR is pulled up by the GPIO of Host Processor, USB is not recognized. We tried after removing the ESD component and disconnected the Cable then tried the Case 4 below.
Case 4: When VBUS 5V is made available in default and USB cable is connected to Windows PC even without pressing reset, USB is getting enumerated even without PUR pulled High externally. MSP430 is powered from 3V3 LDO and 5V is provided from switcher on board, both powered from external 12V supply. There is approximately 750ms delay between 3V3 generation and 5V generation. As per the recommendations, we have 2M weak pull down at PUR pin and when probed, PUR pin detected to be low. I am not sure how the USB is getting detected in this case.
Are we missing anything here? Have anyone faced similar issue and please let us know to fix this issue.
What modification to the circuit do you suggest?