The CONNECT pin on the LPC2148 is supposedly for something called USB “Soft connect” feature. Can anyone tell me what this is, or why I would need it?
Many of the dev board schematics I’ve seen slap some resistors and a transistor on this pin (P0.31), with an LED, to indicate a USB link. If I don’t need an LED “good link” indicator, can I leave this pin empty, or is the enigmatic “soft connect” feature important?
This pin can be set to one of two functions: UP_LED and SOFT_CONNECT.
The UP_LED function just shows if the USB device is currently configured by the USB host.
The SOFT_CONNECT functions allows the USB device to connect and disconnect from USB under software control. This can be useful when the device needs to do some processing after it detects that it is being attached to the USB bus, but before indicating its presence to the host. If the device would have a fixed pull-up to D+, it only has a limited time to react before the host decides that the device is non-responsive.
Another example is a device that changes identity, like a USB virtual com port which you can give a command to switch the USB device to behave as a USB mass storage device. In this case, the device can drop off the bus, change from USB virtual com port to USB mass storage and reconnect.
If you don’t plan to do any of the stuff mentioned above, I think you can leave the pin empty.
Thanks, bertrik! If I want to use your excellent LPCUSB project, can I leave the pin empty then? The reason I ask is because in the wiki, the following is under “hardware requirements”:
P0.31 (CONNECT) controls a pull-up resistor to D+, such that a low-level activates the pull-up (see LPC2148 data sheet, section 10.1)
Yes I think it will work (not 100% certain because I haven’t tried). Instead of a circuit that connects a pull-up to D+ if P0.31 is low, you’ll need a fixed 1.5 kohm pull-up from 3.3V to D+.
I think I’ll leave that hardware in, then, just to be safe, and to “future-proof” the device (in case I want the ability you described previously, to switch from one class to another on the fly).