pixalynx/usb3-hub-10g

A USB 3.2 Gen 2 six-port hub board with USB-C PD power input, regulated 5 V/3.3 V/1.15 V rails, one upstream and four protected downstream USB-A/USB-C ports, SuperSpeed muxes, ESD protection, and controlled port power.

Version
0.0.1
License
unset
Stars
0

parts/Protection.tsx

import type { ChipProps } from "tscircuit"
import { JlcFootprint } from "../lib/jlc"
import { CAD } from "../lib/cad-models"

/** Nexperia PUSB3FR4Z 4-channel ESD array, DFN2510A-10, 0.29 pF per line (research/pusb3fr4.txt Table 1).
 * Flow-through: each line runs across the land pair CHn / FTn (the FT lands are n.c. inside the part and are
 * given the same net so the trace can pass over them). CH1+CH2 and CH3+CH4 are the matched pairs. */
export const pusb3fr4Pins = {
  pin1: ["CH1"], pin2: ["CH2"], pin3: ["GND3"], pin4: ["CH3"], pin5: ["CH4"], pin6: ["FT4"], pin7: ["FT3"], pin8: ["GND8"], pin9: ["FT2"], pin10: ["FT1"],
} as const
export const Pusb3fr4 = (props: ChipProps<typeof pusb3fr4Pins>) => (
  <chip {...props} manufacturerPartNumber="PUSB3FR4Z" supplierPartNumbers={{ jlcpcb: ["C503418"] }} pinLabels={pusb3fr4Pins}
    footprint={<JlcFootprint part="pusb3fr4" />} cadModel={CAD.pusb3fr4} schWidth={1.4} schHeight={1.2}
    schPinArrangement={{ leftSide: { direction: "top-to-bottom", pins: ["CH1", "CH2", "CH3", "CH4", "GND3"] }, rightSide: { direction: "top-to-bottom", pins: ["FT1", "FT2", "FT3", "FT4", "GND8"] } }}
    pinAttributes={{ GND3: { requiresGround: true }, GND8: { requiresGround: true } }} />
)

/** ST USBLC6-2SC6 2-line USB 2.0 ESD array with VBUS rail clamp, SOT-23-6 (1 IO1, 2 GND, 3 IO2, 4 IO2, 5 VBUS, 6 IO1). */
export const usblc6Pins = { pin1: ["IO1"], pin2: ["GND"], pin3: ["IO2"], pin4: ["IO2B"], pin5: ["VBUS"], pin6: ["IO1B"] } as const
export const Usblc6 = (props: ChipProps<typeof usblc6Pins>) => (
  <chip {...props} manufacturerPartNumber="USBLC6-2SC6" supplierPartNumbers={{ jlcpcb: ["C7519"] }} pinLabels={usblc6Pins}
    footprint={<JlcFootprint part="usblc6" />} cadModel={CAD.usblc6} schWidth={1.2} schHeight={0.8}
    schPinArrangement={{ leftSide: { direction: "top-to-bottom", pins: ["IO1", "IO2", "VBUS"] }, rightSide: { direction: "top-to-bottom", pins: ["IO1B", "IO2B", "GND"] } }}
    pinAttributes={{ GND: { requiresGround: true } }} />
)

/** TI TPD1E10B06DPYR single-line bidirectional ESD diode, 5.5 V working voltage, X1SON-2 (CC lines). */
export const tpd1ePins = { pin1: ["IO"], pin2: ["GND"] } as const
export const Tpd1e10b06 = (props: ChipProps<typeof tpd1ePins>) => (
  <chip {...props} manufacturerPartNumber="TPD1E10B06DPYR" supplierPartNumbers={{ jlcpcb: ["C48260"] }} pinLabels={tpd1ePins}
    footprint={<JlcFootprint part="tpd1e10b06" />} cadModel={CAD.tpd1e10b06} schWidth={0.6} schHeight={0.8}
    schPinArrangement={{ topSide: { direction: "left-to-right", pins: ["IO"] }, bottomSide: { direction: "left-to-right", pins: ["GND"] } }} />
)

/** TI TVS2200DRVR 22 V flat-clamp surge protector, WSON-6 (4-6 IN, 1-3 + pad 7 GND). */
export const tvs2200Pins = { pin1: ["GND1"], pin2: ["GND2"], pin3: ["GND3"], pin4: ["IN4"], pin5: ["IN5"], pin6: ["IN6"], pin7: ["EP"] } as const
export const Tvs2200 = (props: ChipProps<typeof tvs2200Pins>) => (
  <chip {...props} manufacturerPartNumber="TVS2200DRVR" supplierPartNumbers={{ jlcpcb: ["C523793"] }} pinLabels={tvs2200Pins}
    footprint={<JlcFootprint part="tvs2200" />} cadModel={CAD.tvs2200} schWidth={0.8} schHeight={1.2}
    schPinArrangement={{ topSide: { direction: "left-to-right", pins: ["IN4", "IN5", "IN6"] }, bottomSide: { direction: "left-to-right", pins: ["GND1", "GND2", "GND3", "EP"] } }} />
)