4

enter image description hereI have designed a custom USB hub PCB with a TI TUSB2046(USB Full-Spped hub).

Considering 12Mbps data rate, how critical are the layout constraints for the USB data lines?

I did not follow the exact layout guidelines (had a short stub, slight length mismatch etc, did not use a differential impedance calculator).

The hub gets enumerated on the host PC, but the downstream devices don't. Could the PCB layout have anything to do with this?

Please enlighten, thanks.

Rohit Garg
  • 69
  • 6
  • 3
    How are power & Gnd connected to all the devices? I only see signal connections in your layout. – CrossRoads Dec 03 '18 at 17:07
  • 1
    Power is being supplied externally through the jumper pin connection on the bottom edge. The top layer polygon and bottom layer are Gnd. – Rohit Garg Dec 03 '18 at 17:10
  • Even if all of your USB devices are self-powered, you still need the VUSB connection to each one -- it's what kicks off the enumeration process. – Dave Tweed Dec 03 '18 at 18:59
  • @DaveTweed I am using the jumper headers adjacent the USB ports to supply 5V to VUSB externally.. – Rohit Garg Dec 03 '18 at 19:10
  • That doesn't matter. You still need the VUSB connection **in the cable** to enable enumeration. Specifically, there is a pullup resistor on the device that pulls up on either D+ or D- to indicate the type of device. The host or hub pulls down (weakly) on both of these lines, and it's the low-to-high transition that triggers enumeration. Inside the device, this pullup is connected to VUSB coming from the cable, NOT to its internal power supply. If there is no VUSB on the cable, this mechanism doesn't work. – Dave Tweed Dec 03 '18 at 19:37
  • @DaveTweed thanks for the explanation. So what I am doing is, I supply VUSB in the cable from an external 5V source (the jumper pin connects to VUSB pin of the micro USB port, which is connects through a cable to a downstream device). I do see the D+ line on the device go high. Correct me if I'm wrong.. – Rohit Garg Dec 03 '18 at 19:54
  • 1
    If your devices, as well as your hub, are custom assemblies, then that's information you've been withholding. I think I'm done here. – Dave Tweed Dec 03 '18 at 19:56
  • You probably should start with your schematics. Why do you have pull-downs on downstream ports? – Ale..chenski Dec 03 '18 at 21:50
  • @Ale..chenski I have attached the schematic. 15K pull down resistors are required on downstream data lines according to full-speed USB spec. – Rohit Garg Dec 03 '18 at 22:01
  • Why are ports 1 and 2 in parallel to each other? Why don't those share at least a common ground with the rest of the circuit? (Judging from the schematic) Is this an attempt at connecting one USB hub to multiple hosts? – Richard the Spacecat Dec 03 '18 at 22:10
  • @RichardtheSpacecat Sorry for the careless mistake in the schematic. They do share a ground with the rest of the circuit. I have the 2nd upstream USB port as an extra optional USB connector(using only one of them at a time, but wanted that for hardware testing). – Rohit Garg Dec 03 '18 at 22:15
  • You said "hub gets enumerated". Are you sure that it is enumerated, but not just "detected"? When you connect a downstream device, do you see any pull-up on any D+ or D- wires downstream? – Ale..chenski Dec 03 '18 at 22:16
  • @Ale..chenski I have attached the Device Manger capture. Doesn't that indicate that the hub is enumerated? – Rohit Garg Dec 03 '18 at 22:21
  • A bit strange is that the 1.1 hub gets USB3 driver. Did you try USBTreeView? And again, do any pull-ups appear on downstream ports when you attach devices? – Ale..chenski Dec 04 '18 at 00:09
  • @Ale..chenski yes i did try the tree view. Also, I used the USBView softwsre too. Screenshots here: https://e2e.ti.com/support/interface/f/138/p/752106/2780059#2780059 The downstream D+ line does pull high when I connect a device. But cannot seem to enumerate on host. – Rohit Garg Dec 05 '18 at 17:51
  • If D+ goes HIGH, do you see it toggles down for 200-300 ms ? (USB_RESET)? You should get the hub diagnostics utilities from USB.ORG/developers, something like USB20CV.exe (Command Verifier) and check what is wrong with your port configuration. – Ale..chenski Dec 05 '18 at 19:41
  • 1
    I see a couple of potential issues. There are *2* devices on the D0 pair (one physical device per pair only), and the two lower devices are pulling both DP and DM *down* where the detection requires a pull-up on *either* DP or DM. See https://www.ftdichip.com/Support/Documents/TechnicalNotes/TN_113_Simplified%20Description%20of%20USB%20Device%20Enumeration.pdf – Peter Smith Dec 07 '18 at 13:11
  • 12 Mbs is pretty slow, try to have shorter traces though. If you're talking USB 3.0 that's another story. – FourierFlux Sep 11 '20 at 07:49

3 Answers3

3

The PCB layout for USB Full-Speed is somewhat critical. It is more critical than the layout for a 400 kHz I2C bus, but not as critical as a 6 Gb/s SATA bus.

It is possible that you have layout issues that are preventing the downstream devices from enumerating. These "issues" might include, but not be limited to, proper layout of high speed signal paths. You might also have a problem with power distribution or bypassing. Maybe you installed the wrong resistor somewhere. Perhaps you have a bad solder joint on a connector.

You might want to try asking a more specific question and providing much more information if you need more detailed advice.

Elliot Alderson
  • 31,192
  • 5
  • 29
  • 67
  • My doubt was also that the hub by itself was getting enumerated. But downstream devices aren't. So does that isolate the issue to downstream data lines? – Rohit Garg Dec 03 '18 at 17:04
3

Its quite old thread but will add my two cents.

I have been designing several USB devices and haven't had any problems just by applying these easy to understand rules made by Intel. My personal experience is that is good to try comply with most of the requirements or you will be surprised at the latest in EMI testing... At least check them out.

(Sorry didn't find original sources):

High Speed USB Platform Design Guidelines http://apachetechnology.in/KC/Multimedia/PCI/hs_usb_pdg_r1_0.pdf

EMI Design Guidelines for USB Components https://www.ti.com/sc/docs/apps/msp/intrface/usb/emitest.pdf

Good luck!

JuhoR
  • 126
  • 4
0

Page 18 of the TUSB2046 datasheet says in section 11.1.3 that "The thermal pad of the TUSB2046x and any of the voltage regulators should be connected to this plane with vias." Based on your layout, it looks like the thermal pad is only connected to the GND plane through a few relatively thin traces. I suspect that this is part of your problem.

Chris Fernandez
  • 1,316
  • 14
  • 32