2
\$\begingroup\$

I'm using a USB2514-B as a 4-port hub connected to a Raspberry PI CM4, and I can't figure out why the USB devices connected to it only work in full-speed mode.

If I connect a USB device in high-speed mode (like a USB mass-storage device), the device is not recognized and dmesg throws out I/O errors :

error

I've normally taken care of the length matching and the 90 ohm impedance of the D+/D- traces.

Here are my schematics :

schema

I really can't understand why it doesn't work! Please help, I'm running out of steam on this one.

\$\endgroup\$
3
  • 1
    \$\begingroup\$ Please tell us why you believe that your PCB layout and impedance is OK. \$\endgroup\$ Commented Feb 6 at 17:29
  • \$\begingroup\$ What about the USB signal traces. Why do you think they have the correct impedance? \$\endgroup\$ Commented Feb 7 at 5:59
  • \$\begingroup\$ They are actually 6mil thick and 8mil spaced, the impedance calculator of JLCPCB gave me this for my PCB and 90ohm impedance : ibb.co/M5kDf8BM \$\endgroup\$ Commented Feb 7 at 12:05

2 Answers 2

4
\$\begingroup\$

I've encountered a similar problem with USB2514B where (only) high-speed transfers did not work. I was using an external PPL to generate the clock signal and the jitter was not to up to spec.

You are using a ceramic resonator on your schematic, so the clock signal is generated by USB2514B itself, so I don't think jitter can be a problem. However, looking at the datasheet for CSTNE24M0VH3C000R0 it seems that the stated frequency tolerance is out of spec for USB2514B.

The datasheet for USB2514B says external clock needs to be 24 MHz +/- 350 ppm (section 7.1). CSTNE24M0VH3C000R0 datasheet states initial accuracy of +/- 700 ppm (section 5-2). This is just the initial accuracy out of the factory. Frequency drift due to temperature changes and aging comes on top of that.

So it appears that you will need a more accurate clock source for USB2514B for your circuit. I suggest using a quartz crystal resonator. I remember Microchip used to publish reference designs with suggested parts.

\$\endgroup\$
2
  • \$\begingroup\$ I think you're right, the 24MHz resonator I've chosen seems too inaccurate, time to purchase a crystal within specs and try it, I've totally overlooked this parameter in the datasheet. \$\endgroup\$ Commented Feb 7 at 12:06
  • \$\begingroup\$ It was indeed the crystal. HS USB works as expected now! \$\endgroup\$ Commented Feb 13 at 12:54
3
\$\begingroup\$

The problem is likely the clock source. Or the complete lack of supply bypass caps.

You are using first of all a ceramic resonator, and it's only 700ppm accurate. Which by the way is very high for a ceramic resonator.

However USB needs a clock source which is within 500 ppm, and usually you will use a crystal for that.

And the USB chipset you use require a crystal with 350ppm tolerance. And it says nothing about compatibility with ceramic resonators.

So unless you have verified if the resonator parameters otherwise match what the chip requires to function properly, then the only known parameter to be outside requirements is the tolerance.

Basically, you need to change to a real 24 MHz crystal, and two capacitors matched to the crystal requirements.

\$\endgroup\$
2
  • \$\begingroup\$ The bypassing caps are indeed here and close to the Vdd pins, they are in a different part of the schematic (not visible here). \$\endgroup\$ Commented Feb 7 at 12:07
  • \$\begingroup\$ @pxidr Well you did not post them so I assumed wrong that there are none. \$\endgroup\$ Commented Feb 7 at 14:02

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.