Hardware: OM40005 (LPC51U68 EVK)
Software:
SDK Version: 2.15.00
Maifest Version: 3.14.0
In the example code under usb_examples > rom_dev_cdc_bm, I noticed the line USBD_API->hw->Connect(g_hUsb, 1) which seems to align with the SoftConnect functionality.
To verify whether the Connect function works, I performed open-circuit and short-circuit tests on JP10 of the LPC51U68 EVK. When JP10 is shorted, enumeration works normally, but when it’s open, enumeration fails.
Regardless of whether I configure P1_6 as USB0_VBUS or GPIO, after opening JP10 and monitoring D+ with a Logic Analyzer, I found that during operation, there’s no period where D+ goes high, meaning enumeration fails.
What confuses me is that in UM11071, Chapter 22.4.3 SoftConnect, it states:
'The softConnect signal is implemented internally. An external pull-up resistor between USB_DP and VDD is not necessary. Software can control the pull-up by setting the DCON bit in the DEVCMDSTAT register. If the DCON bit is set to 1, the USB_DP line is pulled up to VDD through an internal 1.5 KOhm pull-up resistor.'
So why does the pull-up only work when JP10 is shorted and P1_6 is set to USB0_VBUS?
Additionally, the description in Section 22.4.3 seems inconsistent with the description of the DCON bit in Table 348 of the DEVCMDSTAT register. The DCON bit is described as:
'The connect bit must be set by SW to indicate that the device must signal a connect. The pull-up resistor on USB0_DP will be enabled when this bit is set and the VBUSDEBOUNCED bit is one.'
It appears that the VBUSDEBOUNCED bit must also be set to 1, and since VBUSDEBOUNCED is tied to the VBus detection pin. Does this mean VBus detection is required for D+ to be pulled up?
I’d like to ask: If I don’t connect JP10, what methods can I use in the LPC51U68 example code to ensure normal USB operation? Or is it absolutely necessary to short JP10 for VBus detection to enable USB to perform subsequent actions properly?