Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Design USB hub circuit #19

Open
chiplet opened this issue Jul 18, 2021 · 4 comments
Open

Design USB hub circuit #19

chiplet opened this issue Jul 18, 2021 · 4 comments

Comments

@chiplet
Copy link
Member

chiplet commented Jul 18, 2021

The backplane needs a USB hub for connecting the BMCs in each compute tray to the RMC.

@chiplet
Copy link
Member Author

chiplet commented Jul 18, 2021

The backplane needs a USB hub for connecting the BMCs in each compute tray to the RMC.

HUB IC selection

The reference rack design houses up to four computer trays so we need at least four downstream ports:

search

Part Number Unit Cost In stock?
CY7C65634-48AXCT €2,57 3,84 € no
USB2504-JT €3,22 4,83 € no
TUSB2046BIRHBR €3,37 4,65 € no
TUSB2046IBVF €3,40 5,02 € no
USB4715/Y9X €3,42 5,14 € no
USB2517-JZX digikey lcsc 5,96€, 4.91$ yes
Links, prices, and availability updated 2022-12-22.

TUSB2046x variants seem to be the only active components that are still well stocked. TUSB2046IBVF is the most accessible package so I'm basing this design around that.

TUSB2046IBVF Peripheral Components

Speed Identification

USB 2.0 full-speed should be sufficient for our needs. The resistor values are selected as described in this page. Full-speed devices require the following resistors on the data lines:

  • Downstream ports
    • Hub side (on the backplane)
      • 15k ±5% pull-down resistors on D+
      • 15k ±5% pull-down resistors on D-
    • Device sice (on the BMC)
      • 1.5k ±5% pull-up resistor on D+
  • Upstream port
    • 1.5k ±5% pull-up resistor on D+

Update 2022-10-21
USB2517-JZX seems to be better stocked than TUSB2046IBVF. It's a bit more expensive, but integrates many of the external components and has 7 downstream ports. If we use 4 for the compute, this leaves one for daisy chaining racks and two more for additional peripherals like USB sticks and such.

@chiplet
Copy link
Member Author

chiplet commented Jul 20, 2021

The electronics management (fan control, ...) also needs a microcontroller which acts as a USB device for management and data collection. Therefore, the hub controller should have at least 5 downstream ports. Additionally, if there's a desire to chain multiple racklets together and share a single RMC, one additional downstream port is required bumping the number of required downstream ports to 6.

Based on these additional requirements TUSB2077APTR seems like a suitable HUB controller.

@chiplet
Copy link
Member Author

chiplet commented Jul 22, 2021

Power on Reset Circuit

LTSpice simulation

Screenshot 2021-07-22 at 12 59 15
Screenshot 2021-07-22 at 13 01 29

Screenshot 2021-07-22 at 13 03 12

The reset signal reaches V_IH = 2.0V about 1ms after the 3.3V line reaches 90% of its stable value as recommended by the spec when R = 10kΩ and C = 100nF.

@chiplet
Copy link
Member Author

chiplet commented Jul 23, 2021

Over-current Protection

The USB 2.0 specification mandates that all USB hosts and hubs implement over-current protection circuitry (see section 7.2.1.2.1).

This could be implemented in a few ways:

  1. TUSB2077APTR has IO pins for interfacing with a load switches with overcurrent protection.
  2. Adding a series PTC fuse to each downstream bus power line.

[MIC2077-2YM] is the most affordable compatible (active-low enable and overcurrent signals) and is priced at around 2.23€. The 7 downstream ports would require two of these costing 4.46€ in total.

PTC fuses like MF-MSMF050-2 are priced at around 0.30€ giving a total cost of around 2.10€ for all 7 downstream ports.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant