From c11307d44af07a3253a49f4d48d3fb6993b8ec7c Mon Sep 17 00:00:00 2001 From: ShiboSoftwareDev Date: Tue, 25 Aug 2026 11:18:51 +0200 Subject: [PATCH 1/7] Add PMP11282 isolated DC/DC reference --- README.md | 7 + index.ts | 15 + lib/chips/CSD18532KCS.circuit.tsx | 21 + lib/chips/INA213AIDCK.circuit.tsx | 24 + lib/chips/TL431BIDBZR.circuit.tsx | 21 + lib/chips/UCC24610D.circuit.tsx | 31 + lib/chips/UCC25600D.circuit.tsx | 30 + lib/chips/UCC27714D.circuit.tsx | 37 + lib/chips/index.tsx | 6 + .../PMP11282_IsolatedDCDC.circuit.tsx | 1295 +++++++++++++++++ ...82_IsolatedDCDC.circuit-schematic.snap.svg | 418 ++++++ 11 files changed, 1905 insertions(+) create mode 100644 lib/chips/CSD18532KCS.circuit.tsx create mode 100644 lib/chips/INA213AIDCK.circuit.tsx create mode 100644 lib/chips/TL431BIDBZR.circuit.tsx create mode 100644 lib/chips/UCC24610D.circuit.tsx create mode 100644 lib/chips/UCC25600D.circuit.tsx create mode 100644 lib/chips/UCC27714D.circuit.tsx create mode 100644 lib/subcircuits/PMP11282_IsolatedDCDC.circuit.tsx create mode 100644 lib/subcircuits/__snapshots__/PMP11282_IsolatedDCDC.circuit-schematic.snap.svg diff --git a/README.md b/README.md index 5e34674f..81eef15e 100644 --- a/README.md +++ b/README.md @@ -136,6 +136,7 @@ The package currently exports these subcircuit components: - `LevelShifter_TXB0104` - `LevelShifter_TXS0102` - `RFIDReader_TRF7960` +- `PMP11282_IsolatedDCDC` — PMP11282 half-bridge LLC isolated 24 V DC/DC ## Exported Chips @@ -153,18 +154,21 @@ chip is listed individually below, including whether it supports a | `CC2564C` | `-` | `CC2564C` | | `CC2745R10` | `-` | `CC2745R10E0WRHARQ1` | | `CC3235SF` | `vqfn_64_ep` | `CC3235SF12RGKR` | +| `CSD18532KCS` | `-` | `CSD18532KCS` | | `DRV8833` | `-` | `DRV8833` | | `DRV8876` | `-` | `DRV8876` | | `HDC2080` | `wson_6_ep_3x3` | `HDC2080DMBR` | | `HDC3020` | `wson_8_ep_2p5x2p5` | `HDC3020DEFR` | | `HDC3022` | `wson_8_ep_2p5x2p5` | `HDC3022DEJR` | | `INA237` | `vssop_10` | `INA237AQDGSRQ1` | +| `INA213AIDCK` | `-` | `INA213AIDCK` | | `ISOW7841` | `soic_16_wide` | `ISOW7841DWR` | | `MSP430G2230ID` | `-` | `MSP430G2230ID` | | `MSP430F5229` | `-` | `MSP430F5229IRGCR` | | `MSPM0G3507` | `lqfp_64` | `MSPM0G3507SPMR` | | `SN65HVD1473` | `vssop_10` | `SN65HVD1473DGSR` | | `TLV755P` | `sot_23_5` | `TLV75533PDBVR` | +| `TL431BIDBZR` | `-` | `TL431BIDBZR` | | `TAS2505` | `-` | `TAS2505` | | `TMP1827` | `-` | `TMP1827` | | `TMP1075` | `wson_8_ep_2x2` | `TMP1075DSGR` | @@ -178,6 +182,9 @@ chip is listed individually below, including whether it supports a | `TPSM82823` | `-` | `TPSM82823` | | `TXB0104` | `vqfn_14_ep_3p5x3p5` | `TXB0104RGYR` | | `TXS0102` | `vssop_8` | `TXS0102DCUR` | +| `UCC24610D` | `-` | `UCC24610D` | +| `UCC25600D` | `-` | `UCC25600D` | +| `UCC27714D` | `-` | `UCC27714D` | Rows with `-` are direct chip exports and do not currently expose a `footprintVariant` prop. For the wrapper exports, the underlying component diff --git a/index.ts b/index.ts index 0a82ed48..51e0c324 100644 --- a/index.ts +++ b/index.ts @@ -10,12 +10,14 @@ import { CC2564C, CC2745R10, CC3235SF, + CSD18532KCS, DRV8833, DRV8876, HDC2080, HDC3020, HDC3022, INA237, + INA213AIDCK, ISOW7841, MSP430G2230ID, MSP430F5229, @@ -24,6 +26,7 @@ import { SN65HVD1473, TAS2505, TLC59116, + TL431BIDBZR, TLV755P, TMP1827, TMP1075, @@ -39,6 +42,9 @@ import { TRF7960RHB, TXB0104, TXS0102, + UCC24610D, + UCC25600D, + UCC27714D, W25Q128JVSIQ, } from "./lib/chips/index.tsx"; import { BatteryManagement_BQ24072 } from "./lib/subcircuits/BatteryManagement_BQ24072.circuit.tsx"; @@ -84,6 +90,7 @@ import { LevelShifter_TXB0104 } from "./lib/subcircuits/LevelShifter_TXB0104.cir import { LevelShifter_TXS0102 } from "./lib/subcircuits/LevelShifter_TXS0102.circuit.tsx"; import { RFIDReader_TRF7960 } from "./lib/subcircuits/RFIDReader_TRF7960.circuit.tsx"; import { FlashMemory_W25Q128JVSIQ } from "./lib/subcircuits/FlashMemory_W25Q128JVSIQ.circuit.tsx"; +import { PMP11282_IsolatedDCDC } from "./lib/subcircuits/PMP11282_IsolatedDCDC.circuit.tsx"; export * from "./lib/chips/index.tsx"; @@ -129,6 +136,7 @@ export { LevelShifter_TXS0102, RFIDReader_TRF7960, FlashMemory_W25Q128JVSIQ, + PMP11282_IsolatedDCDC, }; export const TiChipComponents = { @@ -143,12 +151,14 @@ export const TiChipComponents = { CC2564C, CC2745R10, CC3235SF, + CSD18532KCS, DRV8833, DRV8876, HDC2080, HDC3020, HDC3022, INA237, + INA213AIDCK, ISOW7841, MSP430G2230ID, MSP430F5229, @@ -157,6 +167,7 @@ export const TiChipComponents = { SN65HVD1473, TAS2505, TLC59116, + TL431BIDBZR, TLV755P, TMP1827, TMP1075, @@ -172,6 +183,9 @@ export const TiChipComponents = { TRF7960RHB, TXB0104, TXS0102, + UCC24610D, + UCC25600D, + UCC27714D, W25Q128JVSIQ, } as const; @@ -216,6 +230,7 @@ export const TiSubcircuitComponents = { LevelShifter_TXS0102, RFIDReader_TRF7960, FlashMemory_W25Q128JVSIQ, + PMP11282_IsolatedDCDC, } as const; export type TiChipName = keyof typeof TiChipComponents; diff --git a/lib/chips/CSD18532KCS.circuit.tsx b/lib/chips/CSD18532KCS.circuit.tsx new file mode 100644 index 00000000..20ba6164 --- /dev/null +++ b/lib/chips/CSD18532KCS.circuit.tsx @@ -0,0 +1,21 @@ +import type { ChipProps } from "@tscircuit/props"; +import "tscircuit"; + +const pinLabels = { + pin1: ["G", "GATE"], + pin2: ["D", "DRAIN"], + pin3: ["S", "SOURCE"], +} as const; + +/** CSD18532KCS 60-V N-channel NexFET power MOSFET. */ +export const CSD18532KCS = (props: ChipProps) => ( + +); + +export default CSD18532KCS; diff --git a/lib/chips/INA213AIDCK.circuit.tsx b/lib/chips/INA213AIDCK.circuit.tsx new file mode 100644 index 00000000..0a3f3416 --- /dev/null +++ b/lib/chips/INA213AIDCK.circuit.tsx @@ -0,0 +1,24 @@ +import type { ChipProps } from "@tscircuit/props"; +import "tscircuit"; + +const pinLabels = { + pin1: "REF", + pin2: "GND", + pin3: ["V_PLUS", "VS"], + pin4: ["IN_PLUS", "INP"], + pin5: ["IN_MINUS", "INN"], + pin6: "OUT", +} as const; + +/** INA213 50-V/V current-shunt monitor in DCK (SC70-6) package. */ +export const INA213AIDCK = (props: ChipProps) => ( + +); + +export default INA213AIDCK; diff --git a/lib/chips/TL431BIDBZR.circuit.tsx b/lib/chips/TL431BIDBZR.circuit.tsx new file mode 100644 index 00000000..72c7ce16 --- /dev/null +++ b/lib/chips/TL431BIDBZR.circuit.tsx @@ -0,0 +1,21 @@ +import type { ChipProps } from "@tscircuit/props"; +import "tscircuit"; + +const pinLabels = { + pin1: ["K", "CATHODE"], + pin2: ["REF", "REFERENCE"], + pin3: ["A", "ANODE"], +} as const; + +/** TL431B adjustable shunt regulator in DBZ (SOT-23) package. */ +export const TL431BIDBZR = (props: ChipProps) => ( + +); + +export default TL431BIDBZR; diff --git a/lib/chips/UCC24610D.circuit.tsx b/lib/chips/UCC24610D.circuit.tsx new file mode 100644 index 00000000..5d12e398 --- /dev/null +++ b/lib/chips/UCC24610D.circuit.tsx @@ -0,0 +1,31 @@ +import type { ChipProps } from "@tscircuit/props"; +import "tscircuit"; + +const pinLabels = { + pin1: "SYNC", + pin2: "EN_TOFF", + pin3: "TON", + pin4: "VCC", + pin5: "GATE", + pin6: "GND", + pin7: "VS", + pin8: "VD", +} as const; + +/** UCC24610 synchronous-rectifier controller. */ +export const UCC24610D = (props: ChipProps) => ( + +); + +export default UCC24610D; diff --git a/lib/chips/UCC25600D.circuit.tsx b/lib/chips/UCC25600D.circuit.tsx new file mode 100644 index 00000000..44422089 --- /dev/null +++ b/lib/chips/UCC25600D.circuit.tsx @@ -0,0 +1,30 @@ +import type { ChipProps } from "@tscircuit/props"; +import "tscircuit"; + +const pinLabels = { + pin1: "DT", + pin2: "RT", + pin3: "OC", + pin4: "SS", + pin5: "GD2", + pin6: "GND", + pin7: "VCC", + pin8: "GD1", +} as const; + +/** UCC25600 8-pin high-performance resonant-mode controller. */ +export const UCC25600D = (props: ChipProps) => ( + +); + +export default UCC25600D; diff --git a/lib/chips/UCC27714D.circuit.tsx b/lib/chips/UCC27714D.circuit.tsx new file mode 100644 index 00000000..98d5e6e0 --- /dev/null +++ b/lib/chips/UCC27714D.circuit.tsx @@ -0,0 +1,37 @@ +import type { ChipProps } from "@tscircuit/props"; +import "tscircuit"; + +const pinLabels = { + pin1: "HI", + pin2: "LI", + pin3: "VSS", + pin4: "NC_EN", + pin5: "COM", + pin6: "LO", + pin7: "VDD", + pin8: "NC_8", + pin9: "NC_9", + pin10: "NC_10", + pin11: "HS", + pin12: "HO", + pin13: "HB", + pin14: "NC_14", +} as const; + +/** UCC27714 600-V high-side/low-side gate driver. */ +export const UCC27714D = (props: ChipProps) => ( + +); + +export default UCC27714D; diff --git a/lib/chips/index.tsx b/lib/chips/index.tsx index d1863261..6a20a514 100644 --- a/lib/chips/index.tsx +++ b/lib/chips/index.tsx @@ -57,6 +57,12 @@ export { MSPM0G3507SPMR } from "./MSPM0G3507SPMR.circuit.tsx"; export { SN65HVD1473DGSR } from "./SN65HVD1473DGSR.circuit.tsx"; export { TMP1075DSGR } from "./TMP1075DSGR.circuit.tsx"; export { W25Q128JVSIQ } from "./W25Q128JVSIQ.circuit.tsx"; +export { CSD18532KCS } from "./CSD18532KCS.circuit.tsx"; +export { INA213AIDCK } from "./INA213AIDCK.circuit.tsx"; +export { TL431BIDBZR } from "./TL431BIDBZR.circuit.tsx"; +export { UCC24610D } from "./UCC24610D.circuit.tsx"; +export { UCC25600D } from "./UCC25600D.circuit.tsx"; +export { UCC27714D } from "./UCC27714D.circuit.tsx"; export { TPS61299DRLR } from "./TPS61299DRLR.circuit.tsx"; export { TPS63802DLAR } from "./TPS63802DLAR.circuit.tsx"; export { TPS7A0230PDBVR } from "./TPS7A0230PDBVR.circuit.tsx"; diff --git a/lib/subcircuits/PMP11282_IsolatedDCDC.circuit.tsx b/lib/subcircuits/PMP11282_IsolatedDCDC.circuit.tsx new file mode 100644 index 00000000..fa5cef4d --- /dev/null +++ b/lib/subcircuits/PMP11282_IsolatedDCDC.circuit.tsx @@ -0,0 +1,1295 @@ +import type { SubcircuitProps } from "@tscircuit/props"; +import "tscircuit"; +import { CSD18532KCS } from "../chips/CSD18532KCS.circuit.tsx"; +import { INA213AIDCK } from "../chips/INA213AIDCK.circuit.tsx"; +import { TL431BIDBZR } from "../chips/TL431BIDBZR.circuit.tsx"; +import { UCC24610D } from "../chips/UCC24610D.circuit.tsx"; +import { UCC25600D } from "../chips/UCC25600D.circuit.tsx"; +import { UCC27714D } from "../chips/UCC27714D.circuit.tsx"; + +type TwoPinPart = { + name: string; + value: string; + footprint: string; + x: number; + y: number; + pin1: string; + pin2: string; + dnp?: boolean; +}; + +// Expand the native Altium sheet coordinates so tscircuit's larger symbols and +// net labels retain the same relative layout without crowding each other. +const sheetCoord = (value: number) => value * 1.6; + +// PMP11064.Dat is the final fitted BOM from the supplied TI package. It is +// authoritative where older TIDRK28 drawing callouts differ (R526 and C530). +const capacitors: TwoPinPart[] = [ + { + name: "C100", + value: "2700pF", + footprint: "0603", + x: 5.3, + y: -3.65, + pin1: "net.V20V2", + pin2: "net.OUTPUT_FB_DIV", + }, + { + name: "C500", + value: "1500pF", + footprint: "pinrow2_p7.5mm_id1mm_od2mm", + x: -3.2, + y: 6.58, + pin1: "net.V20V1", + pin2: "net.GND1", + }, + { + name: "C501", + value: "47pF", + footprint: "0402", + x: 6.4, + y: 6.67, + pin1: "net.U500_VD", + pin2: "net.U500_VS", + }, + { + name: "C502", + value: "47pF", + footprint: "0402", + x: 12.06, + y: 6.67, + pin1: "net.U501_VD", + pin2: "net.U501_VS", + }, + { + name: "C503", + value: "0.047uF", + footprint: "1210", + x: -6.76, + y: 6.12, + pin1: "net.VBULK", + pin2: "net.GND1", + }, + { + name: "C504", + value: "1pF", + footprint: "1206", + x: 1.55, + y: 5.85, + pin1: "net.SGND", + pin2: "net.SR2_SNUBBER", + dnp: true, + }, + { + name: "C505", + value: "0.22uF", + footprint: "1206", + x: -9.6, + y: 4.75, + pin1: "net.BOOTSTRAP", + pin2: "net.HB_SW", + }, + { + name: "C506", + value: "1uF", + footprint: "0603", + x: 7.77, + y: 4.39, + pin1: "net.V5Vs", + pin2: "net.SGND", + }, + { + name: "C507", + value: "1uF", + footprint: "0603", + x: 13.43, + y: 4.39, + pin1: "net.V5Vs", + pin2: "net.SGND", + }, + { + name: "C508", + value: "1uF", + footprint: "0805", + x: -14.44, + y: 4.48, + pin1: "net.V12V", + pin2: "net.GND1", + }, + { + name: "C509", + value: "1uF", + footprint: "0805", + x: -13.71, + y: 4.48, + pin1: "net.V12V", + pin2: "net.GND1", + }, + { + name: "C510", + value: "680uF", + footprint: "pinrow2_p5mm_id1mm_od2mm", + x: 3.66, + y: 3.87, + pin1: "net.V20V1", + pin2: "net.SGND", + }, + { + name: "C511", + value: "680uF", + footprint: "pinrow2_p5mm_id1mm_od2mm", + x: 4.57, + y: 3.87, + pin1: "net.V20V1", + pin2: "net.SGND", + }, + { + name: "C512", + value: "0.1uF", + footprint: "0805", + x: 2.74, + y: -2.1, + pin1: "net.V12Vs", + pin2: "net.SGND", + }, + { + name: "C513", + value: "680uF", + footprint: "pinrow2_p5mm_id1mm_od2mm", + x: 6.95, + y: 2.35, + pin1: "net.V20V2", + pin2: "net.SGND", + }, + { + name: "C514", + value: "220pF", + footprint: "0603", + x: -14.07, + y: 2.47, + pin1: "net.V12V", + pin2: "net.GND1", + }, + { + name: "C515", + value: "220pF", + footprint: "0603", + x: -13.34, + y: 2.47, + pin1: "net.V12V", + pin2: "net.GND1", + }, + { + name: "C516", + value: "680uF", + footprint: "pinrow2_p5mm_id1mm_od2mm", + x: 7.86, + y: 2.35, + pin1: "net.V20V2", + pin2: "net.SGND", + }, + { + name: "C517", + value: "680uF", + footprint: "pinrow2_p5mm_id1mm_od2mm", + x: 3.47, + y: 2.17, + pin1: "net.V20V1", + pin2: "net.SGND", + }, + { + name: "C518", + value: "680uF", + footprint: "pinrow2_p5mm_id1mm_od2mm", + x: 4.39, + y: 2.17, + pin1: "net.V20V1", + pin2: "net.SGND", + }, + { + name: "C519", + value: "0.047uF", + footprint: "pinrow2_p15mm_id1mm_od2mm", + x: -4.11, + y: 0.91, + pin1: "net.RESONANT_RETURN", + pin2: "net.GND1", + }, + { + name: "C523", + value: "0.1uF", + footprint: "0805", + x: 8.77, + y: 2.1, + pin1: "net.V20V2", + pin2: "net.SGND", + }, + { + name: "C525", + value: "1pF", + footprint: "1206", + x: 1.55, + y: 0.37, + pin1: "net.SGND", + pin2: "net.SR1_SNUBBER", + dnp: true, + }, + { + name: "C526", + value: "100pF", + footprint: "1206", + x: -5.76, + y: -0.91, + pin1: "net.STARTUP_HV", + pin2: "net.RESONANT_RETURN", + }, + { + name: "C527", + value: "0.47uF", + footprint: "0603", + x: -8.59, + y: -1.19, + pin1: "net.CTRL_SS", + pin2: "net.GND1", + }, + { + name: "C528", + value: "0.01uF", + footprint: "0603", + x: -4.75, + y: -3.38, + pin1: "net.CTRL_FB", + pin2: "net.GND1", + }, + { + name: "C529", + value: "100pF", + footprint: "0603", + x: 2.65, + y: -3.66, + pin1: "net.FB_REF", + pin2: "net.FB_CATHODE", + }, + { + name: "C530", + value: "0.01uF", + footprint: "0603", + x: 2.29, + y: -4.39, + pin1: "net.FB_COMP", + pin2: "net.FB_CATHODE", + }, + { + name: "C531", + value: "4.7pF", + footprint: "0603", + x: 10.24, + y: -4.84, + pin1: "net.CS_IN_MINUS", + pin2: "net.CS_IN_PLUS", + dnp: true, + }, + { + name: "C532", + value: "0.22uF", + footprint: "0805", + x: -8.77, + y: -5.03, + pin1: "net.V12V", + pin2: "net.GND1", + }, + { + name: "C533", + value: "1uF", + footprint: "0603", + x: -7.31, + y: -5.03, + pin1: "net.CTRL_OC", + pin2: "net.GND1", + }, + { + name: "C534", + value: "0.1uF", + footprint: "0402", + x: 5.48, + y: -5.39, + pin1: "net.CS_SHARE", + pin2: "net.SGND", + dnp: true, + }, + { + name: "C535", + value: "0.1uF", + footprint: "0402", + x: 6.58, + y: -5.39, + pin1: "net.V5Vs", + pin2: "net.SGND", + dnp: true, + }, + { + name: "C536", + value: "1uF", + footprint: "1206", + x: 0.37, + y: -5.58, + pin1: "net.SGND", + pin2: "net.FB_AUX", + }, +]; + +const resistors: TwoPinPart[] = [ + { + name: "R500", + value: "10ohm", + footprint: "0603", + x: 5.85, + y: 6.95, + pin1: "net.U500_VD", + pin2: "net.U500_CLAMP", + }, + { + name: "R501", + value: "10ohm", + footprint: "0603", + x: 11.52, + y: 6.95, + pin1: "net.U501_VD", + pin2: "net.U501_CLAMP", + }, + { + name: "R502", + value: "10ohm", + footprint: "0603", + x: 5.85, + y: 6.22, + pin1: "net.U500_VS", + pin2: "net.SGND", + }, + { + name: "R503", + value: "10ohm", + footprint: "0603", + x: 11.52, + y: 6.22, + pin1: "net.U501_VS", + pin2: "net.SGND", + }, + { + name: "R504", + value: "0ohm", + footprint: "2010", + x: 0.73, + y: 5.85, + pin1: "net.SR2_SNUBBER", + pin2: "net.VD_SR2", + dnp: true, + }, + { + name: "R505", + value: "100kohm", + footprint: "0603", + x: 6.76, + y: 5.85, + pin1: "net.SGND", + pin2: "net.U500_TON", + }, + { + name: "R506", + value: "100kohm", + footprint: "0603", + x: 12.43, + y: 5.85, + pin1: "net.SGND", + pin2: "net.U501_TON", + }, + { + name: "R507", + value: "3.3ohm", + footprint: "1206", + x: -12.25, + y: 5.67, + pin1: "net.V12V", + pin2: "net.BOOT_CHARGE", + }, + { + name: "R508", + value: "221kohm", + footprint: "0603", + x: 6.76, + y: 5.3, + pin1: "net.SGND", + pin2: "net.U500_EN", + }, + { + name: "R509", + value: "221kohm", + footprint: "0603", + x: 12.43, + y: 5.3, + pin1: "net.SGND", + pin2: "net.U501_EN", + }, + { + name: "R510", + value: "3ohm", + footprint: "0603", + x: -8.23, + y: 4.94, + pin1: "net.HO", + pin2: "net.HV_GATE_HIGH", + }, + { + name: "R511", + value: "20kohm", + footprint: "0805", + x: -6.76, + y: 4.2, + pin1: "net.HV_GATE_HIGH", + pin2: "net.HB_SW", + }, + { + name: "R512", + value: "0ohm", + footprint: "0603", + x: 1.83, + y: 3.84, + pin1: "net.Q502_GATE", + pin2: "net.VG_SR2", + }, + { + name: "R513", + value: "0.01ohm", + footprint: "2010", + x: 6.03, + y: 3.11, + pin1: "net.V20V1", + pin2: "net.V20V2", + }, + { + name: "R514", + value: "0.01ohm", + footprint: "2010", + x: 6.03, + y: 2.56, + pin1: "net.V20V1", + pin2: "net.V20V2", + }, + { + name: "R515", + value: "21.5kohm", + footprint: "0603", + x: 4.57, + y: -3.66, + pin1: "net.OUTPUT_FB_DIV", + pin2: "net.V20V2", + }, + { + name: "R516", + value: "0ohm", + footprint: "0603", + x: 1.83, + y: 2.19, + pin1: "net.Q505_GATE", + pin2: "net.VG_SR1", + }, + { + name: "R517", + value: "0.01ohm", + footprint: "2010", + x: 6.03, + y: 2.01, + pin1: "net.V20V1", + pin2: "net.V20V2", + }, + { + name: "R518", + value: "3ohm", + footprint: "0603", + x: -8.04, + y: 1.83, + pin1: "net.LO", + pin2: "net.HV_GATE_LOW", + }, + { + name: "R520", + value: "0.01ohm", + footprint: "2010", + x: 6.03, + y: 1.46, + pin1: "net.V20V1", + pin2: "net.V20V2", + }, + { + name: "R521", + value: "20kohm", + footprint: "0805", + x: -6.76, + y: 1.28, + pin1: "net.HV_GATE_LOW", + pin2: "net.GND1", + }, + { + name: "R522", + value: "0ohm", + footprint: "2010", + x: 0.73, + y: 0.37, + pin1: "net.SR1_SNUBBER", + pin2: "net.VD_SR1", + dnp: true, + }, + { + name: "R523", + value: "10ohm", + footprint: "0603", + x: -10.42, + y: -0.73, + pin1: "net.PWM_DISABLE_GATE", + pin2: "net.PWMCNTL1", + }, + { + name: "R524", + value: "51ohm", + footprint: "0603", + x: -14.99, + y: -0.73, + pin1: "net.GD2_INPUT", + pin2: "net.GD2_DRIVER", + }, + { + name: "R525", + value: "1Mohm", + footprint: "0603", + x: -9.87, + y: -1.1, + pin1: "net.GND1", + pin2: "net.PWM_DISABLE_GATE", + }, + { + name: "R526", + value: "4.99kohm", + footprint: "0603", + x: 0.55, + y: -1.46, + pin1: "net.FB_LED_ANODE", + pin2: "net.V12Vs", + }, + { + name: "R527", + value: "51ohm", + footprint: "0603", + x: -14.44, + y: -1.46, + pin1: "net.GD1_INPUT", + pin2: "net.GD1_DRIVER", + }, + { + name: "R528", + value: "10kohm", + footprint: "0603", + x: 1.83, + y: -2.38, + pin1: "net.FB_CATHODE", + pin2: "net.V12Vs", + }, + { + name: "R530", + value: "15ohm", + footprint: "0603", + x: -0.37, + y: -2.56, + pin1: "net.FB_LED_CATHODE", + pin2: "net.FB_CATHODE", + }, + { + name: "R531", + value: "511ohm", + footprint: "0603", + x: -5.3, + y: -2.74, + pin1: "net.CTRL_RT", + pin2: "net.CTRL_FB", + }, + { + name: "R534", + value: "10kohm", + footprint: "0603", + x: 3.11, + y: -4.39, + pin1: "net.FB_COMP", + pin2: "net.FB_REF", + }, + { + name: "R535", + value: "30.1kohm", + footprint: "0603", + x: 4.94, + y: -4.57, + pin1: "net.OUTPUT_FB_DIV", + pin2: "net.CS_SHARE", + dnp: true, + }, + { + name: "R536", + value: "1kohm", + footprint: "0603", + x: 5.85, + y: -4.57, + pin1: "net.CS_SHARE", + pin2: "net.CS_FILTER", + dnp: true, + }, + { + name: "R537", + value: "15ohm", + footprint: "0603", + x: 6.76, + y: -4.57, + pin1: "net.CS_FILTER", + pin2: "net.CS_OUT", + dnp: true, + }, + { + name: "R538", + value: "10ohm", + footprint: "0603", + x: 11.15, + y: -4.57, + pin1: "net.CS_IN_MINUS", + pin2: "net.V20V2", + dnp: true, + }, + { + name: "R539", + value: "100kohm", + footprint: "0402", + x: 1.28, + y: -4.57, + pin1: "net.V12Vs", + pin2: "net.FB_AUX", + }, + { + name: "R540", + value: "0ohm", + footprint: "0603", + x: 4.02, + y: -4.94, + pin1: "net.FB_REF", + pin2: "net.OUTPUT_FB_DIV", + }, + { + name: "R541", + value: "200ohm", + footprint: "0603", + x: -8.04, + y: -4.94, + pin1: "net.GND1", + pin2: "net.CTRL_OC", + }, + { + name: "R542", + value: "20kohm", + footprint: "0603", + x: -6.58, + y: -4.94, + pin1: "net.GND1", + pin2: "net.CTRL_DT", + }, + { + name: "R543", + value: "3.4kohm", + footprint: "0603", + x: -5.85, + y: -4.94, + pin1: "net.GND1", + pin2: "net.CTRL_RT", + }, + { + name: "R544", + value: "10ohm", + footprint: "0603", + x: 11.15, + y: -5.12, + pin1: "net.CS_IN_PLUS", + pin2: "net.V20V1", + dnp: true, + }, + { + name: "R545", + value: "2.49kohm", + footprint: "0603", + x: 4.57, + y: -5.48, + pin1: "net.SGND", + pin2: "net.OUTPUT_FB_DIV", + }, + { + name: "R546", + value: "1kohm", + footprint: "0603", + x: -1.46, + y: -6.22, + pin1: "net.OPTO_AUX_ANODE", + pin2: "net.AUX_ZENER", + }, + { + name: "R547", + value: "1kohm", + footprint: "0603", + x: -1.46, + y: -7.13, + pin1: "net.SGND", + pin2: "net.OPTO_AUX_ANODE", + }, +]; + +const standardDiodes = [ + { + name: "D500", + mpn: "BAS316,115", + footprint: "sod323", + x: 5.48, + y: 7.68, + a: "net.U500_CLAMP", + k: "net.V5Vs", + variant: "standard" as const, + }, + { + name: "D501", + mpn: "BAS316,115", + footprint: "sod323", + x: 11.15, + y: 7.68, + a: "net.U501_CLAMP", + k: "net.V5Vs", + variant: "standard" as const, + }, + { + name: "D502", + mpn: "MURA160T3G", + footprint: "sma", + x: -11.15, + y: 5.67, + a: "net.BOOT_CHARGE", + k: "net.BOOTSTRAP", + variant: "standard" as const, + }, + { + name: "D503", + mpn: "BAT54HT1G", + footprint: "sod323", + x: -8.34, + y: 4.2, + a: "net.HV_GATE_HIGH", + k: "net.HO", + variant: "schottky" as const, + }, + { + name: "D504", + mpn: "BAT54HT1G", + footprint: "sod323", + x: -8.15, + y: 1.1, + a: "net.HV_GATE_LOW", + k: "net.LO", + variant: "schottky" as const, + }, + { + name: "D507", + mpn: "MMSZ5254B-7-F", + footprint: "sod123", + x: -1.46, + y: -5.36, + a: "net.AUX_ZENER", + k: "net.FB_AUX", + variant: "zener" as const, + }, +]; + +const tp = [ + { name: "TP500", x: 10.05, y: 3.55, net: "net.V20V2", color: "#d62828" }, + { name: "TP501", x: 10.05, y: 1.02, net: "net.SGND", color: "#111111" }, + { + name: "TP502", + x: -0.11, + y: -2.01, + net: "net.FB_LED_CATHODE", + color: "#f77f00", + }, + { + name: "TP503", + x: -0.11, + y: -2.93, + net: "net.FB_CATHODE", + color: "#fcbf49", + }, + { + name: "TP504", + x: 6.22, + y: -3.77, + net: "net.CS_FILTER", + color: "#d62828", + dnp: true, + }, + { + name: "TP505", + x: 7.13, + y: -3.77, + net: "net.CS_OUT", + color: "#111111", + dnp: true, + }, + { name: "TP506", x: 0.11, y: -5.85, net: "net.SGND", color: "#111111" }, +]; + +const mosfetPins = { + pin1: ["G", "GATE"], + pin2: ["D", "DRAIN"], + pin3: ["S", "SOURCE"], +} as const; +const optocouplerPins = { + pin1: ["A", "ANODE"], + pin2: ["K", "CATHODE"], + pin3: ["E", "EMITTER"], + pin4: ["C", "COLLECTOR"], +} as const; + +/** + * PMP11282's complete half-bridge LLC isolated DC/DC sheet (PMP11064 sheet 2). + * + * Extracted from TI's published Altium design package and checked against + * TIDRK28. The PFC and auxiliary flyback sheets are intentionally excluded. + * Gray/DNP parts are retained because they are explicit tuning options on the + * isolated stage's source sheet. + * + * Reference design: https://www.ti.com/tool/PMP11282 + */ +export const PMP11282_IsolatedDCDC = (props: SubcircuitProps) => ( + + + + + {capacitors.map((c) => ( + + ))} + {resistors.map((r) => ( + + ))} + {standardDiodes.map((d) => ( + + ))} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {tp.map((t) => ( + + ))} + + + + + + + + +); + +export default PMP11282_IsolatedDCDC; diff --git a/lib/subcircuits/__snapshots__/PMP11282_IsolatedDCDC.circuit-schematic.snap.svg b/lib/subcircuits/__snapshots__/PMP11282_IsolatedDCDC.circuit-schematic.snap.svg new file mode 100644 index 00000000..c565b4f3 --- /dev/null +++ b/lib/subcircuits/__snapshots__/PMP11282_IsolatedDCDC.circuit-schematic.snap.svg @@ -0,0 +1,418 @@ +C1002700pFC5001500pFC50147pFC50247pFC5030.047uFC5041pFC5050.22uFC5061uFC5071uFC5081uFC5091uFC510680uFC511680uFC5120.1uFC513680uFC514220pFC515220pFC516680uFC517680uFC518680uFC5190.047uFC5230.1uFC5251pFC526100pFC5270.47uFC5280.01uFC529100pFC5300.01uFC5314.7pFC5320.22uFC5331uFC5340.1uFC5350.1uFC5361uFR50010ΩR50110ΩR50210ΩR50310ΩR504R505100kΩR506100kΩR5073.3ΩR508221kΩR509221kΩR510R51120kΩR512R51310mΩR51410mΩR51521.5kΩR516R51710mΩR518R52010mΩR52120kΩR522R52310ΩR52451ΩR5251MΩR5264.99kΩR52751ΩR52810kΩR53015ΩR531511ΩR53410kΩR53530.1kΩR5361kΩR53715ΩR53810ΩR539100kΩR540R541200ΩR54220kΩR5433.4kΩR54410ΩR5452.49kΩR5461kΩR5471kΩD500D501D502D503D504D507BAV99WT1GD5051A2C3KBAV99WT1GD5061A2C3KBSS123Q5001G2D3SBSS123Q5011G2D3SCSD18532KCSQ5021G2D3SIPW50R190CEQ5031G2D3SIPW50R190CEQ5041G2D3SCSD18532KCSQ5051G2D3S2N7002-7-FQ5061G2D3SRLTI-1150L5001IN_12IN_23OUT_114OUT_12RLTI-1149T5001PRI_32PRI_43SEC_134SEC_145CT_156CT_167CT_178CT_189SEC_1910SEC_20UCC24610DU5001SYNC2EN_TOFF3TON4VCC5GATE6GND7VS8VDUCC24610DU5011SYNC2EN_TOFF3TON4VCC5GATE6GND7VS8VDUCC27714DU5021HI2LI3VSS4NC_EN5COM6LO7VDD8NC_89NC_910NC_1011HS12HO13HB14NC_14PC817X4NSZ0FU5031A2K3E4CUCC25600DU5041DT2RT3OC4SS5GD26GND7VCC8GD1INA213AIDCKU5051REF2GND3V_PLUS4IN_PLUS5IN_MINUS6OUTTL431BIDBZRU5061K2REF3ALTV-817U5071A2K3E4C24V OUTPUT120V2220V23SGND4SGND782653B04250GH5001MOUNT_12MOUNT_23MOUNT_3513101B02500GH5011MOUNT_12MOUNT_2TP500TP501TP502TP503TP504TP505TP506V20V2V20V2V20V2OUTPUT_FB_DIVV20V1V20V1V20V1V20V1V20V1GND1GND1GND1GND1GND1GND1U500_VDU501_VDVBULKSGNDSGNDSGNDSGNDSGNDSGNDSGNDSGNDSGNDBOOTSTRAPHB_SWV5VsV5VsV5VsV5VsV12VV12VV12VsRESONANT_RETURNRESONANT_RETURNCTRL_SSCTRL_SSCTRL_SSCTRL_FBCTRL_FBFB_REFFB_CATHODECS_IN_MINUSCS_IN_PLUSCTRL_OCCTRL_OCCS_SHAREFB_AUXFB_AUXU500_CLAMPU500_CLAMPU501_CLAMPU501_CLAMPVD_SR2U500_TONU500_TONU501_TONU501_TONBOOT_CHARGEHOHOVG_SR2VG_SR2VG_SR1VG_SR1LOLOHV_GATE_LOWVD_SR1VD_SR1PWM_DISABLE_GATEPWMCNTL1FB_LED_CATHODECTRL_RTCTRL_RTCTRL_RTCS_OUTCTRL_DTCTRL_DTOPTO_AUX_ANODERESONANT_INPUTNotes: L500 and C100 are modified parts.Current sharing control.40uH (modified part)210uH LLC transformerSR2_SNUBBERSR1_SNUBBERSTARTUP_HVFB_COMPU500_ENU501_ENQ502_GATEQ505_GATEGD2_INPUTGD2_INPUTGD2_DRIVERGD2_DRIVERFB_LED_ANODEFB_LED_ANODEGD1_INPUTGD1_INPUTGD1_DRIVERGD1_DRIVERAUX_ZENER \ No newline at end of file From ef51b68f41b91f239d38da479d971983c8e267c6 Mon Sep 17 00:00:00 2001 From: ShiboSoftwareDev Date: Tue, 25 Aug 2026 12:15:20 +0200 Subject: [PATCH 2/7] Align PMP11282 schematic with TI reference --- .../PMP11282_IsolatedDCDC.circuit.tsx | 115 ++- ...82_IsolatedDCDC.circuit-schematic.snap.svg | 964 ++++++++++-------- 2 files changed, 664 insertions(+), 415 deletions(-) diff --git a/lib/subcircuits/PMP11282_IsolatedDCDC.circuit.tsx b/lib/subcircuits/PMP11282_IsolatedDCDC.circuit.tsx index fa5cef4d..9e200887 100644 --- a/lib/subcircuits/PMP11282_IsolatedDCDC.circuit.tsx +++ b/lib/subcircuits/PMP11282_IsolatedDCDC.circuit.tsx @@ -18,9 +18,40 @@ type TwoPinPart = { dnp?: boolean; }; -// Expand the native Altium sheet coordinates so tscircuit's larger symbols and -// net labels retain the same relative layout without crowding each other. -const sheetCoord = (value: number) => value * 1.6; +// Preserve the native Altium sheet coordinate system. The component centers +// below are taken directly from PMP11064 sheet 2. +const sheetCoord = (value: number) => value; + +const horizontalCapacitors = new Set([ + "C500", + "C504", + "C505", + "C506", + "C507", + "C519", + "C525", + "C526", + "C529", + "C530", +]); + +const verticalResistors = new Set([ + "R511", + "R515", + "R521", + "R524", + "R525", + "R527", + "R528", + "R530", + "R539", + "R541", + "R542", + "R543", + "R545", + "R546", + "R547", +]); // PMP11064.Dat is the final fitted BOM from the supplied TI package. It is // authoritative where older TIDRK28 drawing callouts differ (R526 and C530). @@ -866,7 +897,12 @@ const optocouplerPins = { * Reference design: https://www.ti.com/tool/PMP11282 */ export const PMP11282_IsolatedDCDC = (props: SubcircuitProps) => ( - + ( footprint={c.footprint} schX={sheetCoord(c.x)} schY={sheetCoord(c.y)} - schOrientation="vertical" + schOrientation={ + horizontalCapacitors.has(c.name) ? "horizontal" : "vertical" + } doNotPlace={c.dnp} connections={{ pin1: c.pin1, pin2: c.pin2 }} /> @@ -904,6 +942,9 @@ export const PMP11282_IsolatedDCDC = (props: SubcircuitProps) => ( footprint={r.footprint} schX={sheetCoord(r.x)} schY={sheetCoord(r.y)} + schOrientation={ + verticalResistors.has(r.name) ? "vertical" : "horizontal" + } doNotPlace={r.dnp} connections={{ pin1: r.pin1, pin2: r.pin2 }} /> @@ -917,6 +958,11 @@ export const PMP11282_IsolatedDCDC = (props: SubcircuitProps) => ( variant={d.variant} schX={sheetCoord(d.x)} schY={sheetCoord(d.y)} + schOrientation={ + d.name === "D500" || d.name === "D501" || d.name === "D507" + ? "vertical" + : "horizontal" + } connections={{ anode: d.a, cathode: d.k }} /> ))} @@ -1033,6 +1079,12 @@ export const PMP11282_IsolatedDCDC = (props: SubcircuitProps) => ( pinLabels={{ pin1: "IN_1", pin2: "IN_2", pin3: "OUT_11", pin4: "OUT_12" }} schX={sheetCoord(-4.02)} schY={sheetCoord(4.8)} + schWidth="1.1mm" + schHeight="0.46mm" + schPinArrangement={{ + leftSide: { direction: "top-to-bottom", pins: [1, 2] }, + rightSide: { direction: "top-to-bottom", pins: [3, 4] }, + }} connections={{ pin1: "net.HB_SW", pin2: "net.HB_SW", @@ -1064,8 +1116,15 @@ export const PMP11282_IsolatedDCDC = (props: SubcircuitProps) => ( }} schX={sheetCoord(-2.39)} schY={sheetCoord(3.11)} - schWidth="3mm" - schHeight="4.5mm" + schWidth="0.4mm" + schHeight="2.56mm" + schPinArrangement={{ + leftSide: { direction: "top-to-bottom", pins: [1, 2] }, + rightSide: { + direction: "top-to-bottom", + pins: [3, 4, 5, 6, 7, 8, 9, 10], + }, + }} connections={{ pin1: "net.RESONANT_RETURN", pin2: "net.RESONANT_INPUT", @@ -1090,6 +1149,15 @@ export const PMP11282_IsolatedDCDC = (props: SubcircuitProps) => ( name="U500" schX={sheetCoord(8.23)} schY={sheetCoord(6.03)} + schWidth="1.1mm" + schHeight="2.56mm" + schPinArrangement={{ + leftSide: { + direction: "top-to-bottom", + pins: [8, 5, 7, 3, 2, 6], + }, + rightSide: { direction: "top-to-bottom", pins: [1, 4] }, + }} connections={{ VD: "net.U500_VD", VS: "net.U500_VS", @@ -1104,6 +1172,15 @@ export const PMP11282_IsolatedDCDC = (props: SubcircuitProps) => ( name="U501" schX={sheetCoord(13.89)} schY={sheetCoord(6.03)} + schWidth="1.1mm" + schHeight="2.56mm" + schPinArrangement={{ + leftSide: { + direction: "top-to-bottom", + pins: [8, 5, 7, 3, 2, 6], + }, + rightSide: { direction: "top-to-bottom", pins: [1, 4] }, + }} connections={{ VD: "net.U501_VD", VS: "net.U501_VS", @@ -1118,6 +1195,18 @@ export const PMP11282_IsolatedDCDC = (props: SubcircuitProps) => ( name="U502" schX={sheetCoord(-11.33)} schY={sheetCoord(3.47)} + schWidth="2.19mm" + schHeight="3.29mm" + schPinArrangement={{ + leftSide: { + direction: "top-to-bottom", + pins: [7, 4, 1, 2, 8, 9, 10, 14], + }, + rightSide: { + direction: "top-to-bottom", + pins: [13, 12, 11, 6, 5, 3], + }, + }} connections={{ HI: "net.GD2_DRIVER", LI: "net.GD1_DRIVER", @@ -1148,6 +1237,12 @@ export const PMP11282_IsolatedDCDC = (props: SubcircuitProps) => ( name="U504" schX={sheetCoord(-9.87)} schY={sheetCoord(-3.11)} + schWidth="1.1mm" + schHeight="1.83mm" + schPinArrangement={{ + leftSide: { direction: "top-to-bottom", pins: [8, 5, 6] }, + rightSide: { direction: "top-to-bottom", pins: [4, 2, 1, 3, 7] }, + }} connections={{ DT: "net.CTRL_DT", RT: "net.CTRL_RT", @@ -1247,6 +1342,12 @@ export const PMP11282_IsolatedDCDC = (props: SubcircuitProps) => ( /> ))} + {/* These four long controller runs are continuous wires on the TI sheet. */} + + + + + C1002700pFC5001500pFC50147pFC50247pFC5030.047uFC5041pFC5050.22uFC5061uFC5071uFC5081uFC5091uFC510680uFC511680uFC5120.1uFC513680uFC514220pFC515220pFC516680uFC517680uFC518680uFC5190.047uFC5230.1uFC5251pFC526100pFC5270.47uFC5280.01uFC529100pFC5300.01uFC5314.7pFC5320.22uFC5331uFC5340.1uFC5350.1uFC5361uFR50010ΩR50110ΩR50210ΩR50310ΩR504R505100kΩR506100kΩR5073.3ΩR508221kΩR509221kΩR510R51120kΩR512R51310mΩR51410mΩR51521.5kΩR516R51710mΩR518R52010mΩR52120kΩR522R52310ΩR52451ΩR5251MΩR5264.99kΩR52751ΩR52810kΩR53015ΩR531511ΩR53410kΩR53530.1kΩR5361kΩR53715ΩR53810ΩR539100kΩR540R541200ΩR54220kΩR5433.4kΩR54410ΩR5452.49kΩR5461kΩR5471kΩD500D501D502D503D504D507BAV99WT1GD5051A2C3KBAV99WT1GD5061A2C3KBSS123Q5001G2D3SBSS123Q5011G2D3SCSD18532KCSQ5021G2D3SIPW50R190CEQ5031G2D3SIPW50R190CEQ5041G2D3SCSD18532KCSQ5051G2D3S2N7002-7-FQ5061G2D3SRLTI-1150L5001IN_12IN_23OUT_114OUT_12RLTI-1149T5001PRI_32PRI_43SEC_134SEC_145CT_156CT_167CT_178CT_189SEC_1910SEC_20UCC24610DU5001SYNC2EN_TOFF3TON4VCC5GATE6GND7VS8VDUCC24610DU5011SYNC2EN_TOFF3TON4VCC5GATE6GND7VS8VDUCC27714DU5021HI2LI3VSS4NC_EN5COM6LO7VDD8NC_89NC_910NC_1011HS12HO13HB14NC_14PC817X4NSZ0FU5031A2K3E4CUCC25600DU5041DT2RT3OC4SS5GD26GND7VCC8GD1INA213AIDCKU5051REF2GND3V_PLUS4IN_PLUS5IN_MINUS6OUTTL431BIDBZRU5061K2REF3ALTV-817U5071A2K3E4C24V OUTPUT120V2220V23SGND4SGND782653B04250GH5001MOUNT_12MOUNT_23MOUNT_3513101B02500GH5011MOUNT_12MOUNT_2TP500TP501TP502TP503TP504TP505TP506V20V2V20V2V20V2OUTPUT_FB_DIVV20V1V20V1V20V1V20V1V20V1GND1GND1GND1GND1GND1GND1U500_VDU501_VDVBULKSGNDSGNDSGNDSGNDSGNDSGNDSGNDSGNDSGNDBOOTSTRAPHB_SWV5VsV5VsV5VsV5VsV12VV12VV12VsRESONANT_RETURNRESONANT_RETURNCTRL_SSCTRL_SSCTRL_SSCTRL_FBCTRL_FBFB_REFFB_CATHODECS_IN_MINUSCS_IN_PLUSCTRL_OCCTRL_OCCS_SHAREFB_AUXFB_AUXU500_CLAMPU500_CLAMPU501_CLAMPU501_CLAMPVD_SR2U500_TONU500_TONU501_TONU501_TONBOOT_CHARGEHOHOVG_SR2VG_SR2VG_SR1VG_SR1LOLOHV_GATE_LOWVD_SR1VD_SR1PWM_DISABLE_GATEPWMCNTL1FB_LED_CATHODECTRL_RTCTRL_RTCTRL_RTCS_OUTCTRL_DTCTRL_DTOPTO_AUX_ANODERESONANT_INPUTNotes: L500 and C100 are modified parts.Current sharing control.40uH (modified part)210uH LLC transformerSR2_SNUBBERSR1_SNUBBERSTARTUP_HVFB_COMPU500_ENU501_ENQ502_GATEQ505_GATEGD2_INPUTGD2_INPUTGD2_DRIVERGD2_DRIVERFB_LED_ANODEFB_LED_ANODEGD1_INPUTGD1_INPUTGD1_DRIVERGD1_DRIVERAUX_ZENER \ No newline at end of file + C1002700pFC5001500pFC50147pFC50247pFC5030.047uFC5041pFC5050.22uFC5061uFC5071uFC5081uFC5091uFC510680uFC511680uFC5120.1uFC513680uFC514220pFC515220pFC516680uFC517680uFC518680uFC5190.047uFC5230.1uFC5251pFC526100pFC5270.47uFC5280.01uFC529100pFC5300.01uFC5314.7pFC5320.22uFC5331uFC5340.1uFC5350.1uFC5361uFR50010ΩR50110ΩR50210ΩR50310ΩR504R505100kΩR506100kΩR5073.3ΩR508221kΩR509221kΩR510R51120kΩR512R51310mΩR51410mΩR51521.5kΩR516R51710mΩR518R52010mΩR52120kΩR522R52310ΩR52451ΩR5251MΩR5264.99kΩR52751ΩR52810kΩR53015ΩR531511ΩR53410kΩR53530.1kΩR5361kΩR53715ΩR53810ΩR539100kΩR540R541200ΩR54220kΩR5433.4kΩR54410ΩR5452.49kΩR5461kΩR5471kΩD500D501D502D503D504D507BAV99WT1GD5051A2C3KBAV99WT1GD5061A2C3KBSS123Q5001G2D3SBSS123Q5011G2D3SCSD18532KCSQ5021G2D3SIPW50R190CEQ5031G2D3SIPW50R190CEQ5041G2D3SCSD18532KCSQ5051G2D3S2N7002-7-FQ5061G2D3SRLTI-1150L5001IN_12IN_23OUT_114OUT_12RLTI-1149T5001PRI_32PRI_43SEC_134SEC_145CT_156CT_167CT_178CT_189SEC_1910SEC_20UCC24610DU5001SYNC2EN_TOFF3TON4VCC5GATE6GND7VS8VDUCC24610DU5011SYNC2EN_TOFF3TON4VCC5GATE6GND7VS8VDUCC27714DU5021HI2LI3VSS4NC_EN5COM6LO7VDD8NC_89NC_910NC_1011HS12HO13HB14NC_14PC817X4NSZ0FU5031A2K3E4CUCC25600DU5041DT2RT3OC4SS5GD26GND7VCC8GD1INA213AIDCKU5051REF2GND3V_PLUS4IN_PLUS5IN_MINUS6OUTTL431BIDBZRU5061K2REF3ALTV-817U5071A2K3E4C24V OUTPUT120V2220V23SGND4SGND782653B04250GH5001MOUNT_12MOUNT_23MOUNT_3513101B02500GH5011MOUNT_12MOUNT_2TP500TP501TP502TP503TP504TP505TP506SGNDBOOTSTRAPSTARTUP_HVCTRL_SSFB_COMPFB_CATHODECS_IN_MINUSCS_IN_PLUSCTRL_OCU500_VDU500_CLAMPU501_VDU501_CLAMPHV_GATE_HIGHHV_GATE_HIGHVG_SR2VG_SR1HV_GATE_LOWHV_GATE_LOWVD_SR1PWM_DISABLE_GATEPWMCNTL1GND1PWM_DISABLE_GATEFB_LED_ANODEFB_LED_CATHODECTRL_RTFB_COMPCS_FILTERCS_OUTCS_IN_MINUSV12VsFB_AUXCTRL_OCCTRL_DTCTRL_RTCS_IN_PLUSOUTPUT_FB_DIVOPTO_AUX_ANODEAUX_ZENEROPTO_AUX_ANODEU500_CLAMPV5VsU501_CLAMPV5VsBOOTSTRAPHV_GATE_HIGHHV_GATE_LOWAUX_ZENERGND1STARTUP_HVCTRL_OCV5VsVD_SR1VD_SR2HV_GATE_HIGHHB_SWHV_GATE_LOWVD_SR1CTRL_SSGND1RESONANT_INPUTRESONANT_INPUTVD_SR1VD_SR1VG_SR1VG_SR2BOOTSTRAPFB_LED_ANODEFB_LED_CATHODECTRL_DTCTRL_RTCTRL_OCCTRL_SSGND1CS_IN_PLUSCS_OUTFB_CATHODEFB_REFOPTO_AUX_ANODESGNDGND1CTRL_RTSGNDCS_FILTERCS_OUTNotes: L500 and C100 are modified parts.Current sharing control.40uH (modified part)210uH LLC transformer \ No newline at end of file From de60590b526da1b252b5dd82b0915ee89cc62815 Mon Sep 17 00:00:00 2001 From: ShiboSoftwareDev Date: Tue, 25 Aug 2026 16:13:31 +0200 Subject: [PATCH 3/7] Replace PMP11282 with TIDM-PSFB-DCDC reference --- README.md | 8 +- index.ts | 18 +- lib/chips/CSD18532KCS.circuit.tsx | 21 - lib/chips/INA213AIDCK.circuit.tsx | 24 - lib/chips/TL431BIDBZR.circuit.tsx | 21 - lib/chips/UCC24610D.circuit.tsx | 31 - lib/chips/UCC25600D.circuit.tsx | 30 - lib/chips/UCC27714D.circuit.tsx | 37 - lib/chips/index.tsx | 6 - .../PMP11282_IsolatedDCDC.circuit.tsx | 1396 ---------------- lib/subcircuits/TIDM_PSFB_DCDC.circuit.tsx | 1451 +++++++++++++++++ ...82_IsolatedDCDC.circuit-schematic.snap.svg | 566 ------- .../TIDM_PSFB_DCDC.circuit-schematic.snap.svg | 824 ++++++++++ 13 files changed, 2279 insertions(+), 2154 deletions(-) delete mode 100644 lib/chips/CSD18532KCS.circuit.tsx delete mode 100644 lib/chips/INA213AIDCK.circuit.tsx delete mode 100644 lib/chips/TL431BIDBZR.circuit.tsx delete mode 100644 lib/chips/UCC24610D.circuit.tsx delete mode 100644 lib/chips/UCC25600D.circuit.tsx delete mode 100644 lib/chips/UCC27714D.circuit.tsx delete mode 100644 lib/subcircuits/PMP11282_IsolatedDCDC.circuit.tsx create mode 100644 lib/subcircuits/TIDM_PSFB_DCDC.circuit.tsx delete mode 100644 lib/subcircuits/__snapshots__/PMP11282_IsolatedDCDC.circuit-schematic.snap.svg create mode 100644 lib/subcircuits/__snapshots__/TIDM_PSFB_DCDC.circuit-schematic.snap.svg diff --git a/README.md b/README.md index 81eef15e..ab414d60 100644 --- a/README.md +++ b/README.md @@ -136,7 +136,7 @@ The package currently exports these subcircuit components: - `LevelShifter_TXB0104` - `LevelShifter_TXS0102` - `RFIDReader_TRF7960` -- `PMP11282_IsolatedDCDC` — PMP11282 half-bridge LLC isolated 24 V DC/DC +- `TIDM_PSFB_DCDC` — TIDM-PSFB-DCDC 600 W phase-shifted full-bridge isolated DC/DC ## Exported Chips @@ -154,21 +154,18 @@ chip is listed individually below, including whether it supports a | `CC2564C` | `-` | `CC2564C` | | `CC2745R10` | `-` | `CC2745R10E0WRHARQ1` | | `CC3235SF` | `vqfn_64_ep` | `CC3235SF12RGKR` | -| `CSD18532KCS` | `-` | `CSD18532KCS` | | `DRV8833` | `-` | `DRV8833` | | `DRV8876` | `-` | `DRV8876` | | `HDC2080` | `wson_6_ep_3x3` | `HDC2080DMBR` | | `HDC3020` | `wson_8_ep_2p5x2p5` | `HDC3020DEFR` | | `HDC3022` | `wson_8_ep_2p5x2p5` | `HDC3022DEJR` | | `INA237` | `vssop_10` | `INA237AQDGSRQ1` | -| `INA213AIDCK` | `-` | `INA213AIDCK` | | `ISOW7841` | `soic_16_wide` | `ISOW7841DWR` | | `MSP430G2230ID` | `-` | `MSP430G2230ID` | | `MSP430F5229` | `-` | `MSP430F5229IRGCR` | | `MSPM0G3507` | `lqfp_64` | `MSPM0G3507SPMR` | | `SN65HVD1473` | `vssop_10` | `SN65HVD1473DGSR` | | `TLV755P` | `sot_23_5` | `TLV75533PDBVR` | -| `TL431BIDBZR` | `-` | `TL431BIDBZR` | | `TAS2505` | `-` | `TAS2505` | | `TMP1827` | `-` | `TMP1827` | | `TMP1075` | `wson_8_ep_2x2` | `TMP1075DSGR` | @@ -182,9 +179,6 @@ chip is listed individually below, including whether it supports a | `TPSM82823` | `-` | `TPSM82823` | | `TXB0104` | `vqfn_14_ep_3p5x3p5` | `TXB0104RGYR` | | `TXS0102` | `vssop_8` | `TXS0102DCUR` | -| `UCC24610D` | `-` | `UCC24610D` | -| `UCC25600D` | `-` | `UCC25600D` | -| `UCC27714D` | `-` | `UCC27714D` | Rows with `-` are direct chip exports and do not currently expose a `footprintVariant` prop. For the wrapper exports, the underlying component diff --git a/index.ts b/index.ts index 51e0c324..2d4ed16b 100644 --- a/index.ts +++ b/index.ts @@ -10,14 +10,12 @@ import { CC2564C, CC2745R10, CC3235SF, - CSD18532KCS, DRV8833, DRV8876, HDC2080, HDC3020, HDC3022, INA237, - INA213AIDCK, ISOW7841, MSP430G2230ID, MSP430F5229, @@ -26,7 +24,6 @@ import { SN65HVD1473, TAS2505, TLC59116, - TL431BIDBZR, TLV755P, TMP1827, TMP1075, @@ -42,9 +39,6 @@ import { TRF7960RHB, TXB0104, TXS0102, - UCC24610D, - UCC25600D, - UCC27714D, W25Q128JVSIQ, } from "./lib/chips/index.tsx"; import { BatteryManagement_BQ24072 } from "./lib/subcircuits/BatteryManagement_BQ24072.circuit.tsx"; @@ -90,7 +84,7 @@ import { LevelShifter_TXB0104 } from "./lib/subcircuits/LevelShifter_TXB0104.cir import { LevelShifter_TXS0102 } from "./lib/subcircuits/LevelShifter_TXS0102.circuit.tsx"; import { RFIDReader_TRF7960 } from "./lib/subcircuits/RFIDReader_TRF7960.circuit.tsx"; import { FlashMemory_W25Q128JVSIQ } from "./lib/subcircuits/FlashMemory_W25Q128JVSIQ.circuit.tsx"; -import { PMP11282_IsolatedDCDC } from "./lib/subcircuits/PMP11282_IsolatedDCDC.circuit.tsx"; +import { TIDM_PSFB_DCDC } from "./lib/subcircuits/TIDM_PSFB_DCDC.circuit.tsx"; export * from "./lib/chips/index.tsx"; @@ -136,7 +130,7 @@ export { LevelShifter_TXS0102, RFIDReader_TRF7960, FlashMemory_W25Q128JVSIQ, - PMP11282_IsolatedDCDC, + TIDM_PSFB_DCDC, }; export const TiChipComponents = { @@ -151,14 +145,12 @@ export const TiChipComponents = { CC2564C, CC2745R10, CC3235SF, - CSD18532KCS, DRV8833, DRV8876, HDC2080, HDC3020, HDC3022, INA237, - INA213AIDCK, ISOW7841, MSP430G2230ID, MSP430F5229, @@ -167,7 +159,6 @@ export const TiChipComponents = { SN65HVD1473, TAS2505, TLC59116, - TL431BIDBZR, TLV755P, TMP1827, TMP1075, @@ -183,9 +174,6 @@ export const TiChipComponents = { TRF7960RHB, TXB0104, TXS0102, - UCC24610D, - UCC25600D, - UCC27714D, W25Q128JVSIQ, } as const; @@ -230,7 +218,7 @@ export const TiSubcircuitComponents = { LevelShifter_TXS0102, RFIDReader_TRF7960, FlashMemory_W25Q128JVSIQ, - PMP11282_IsolatedDCDC, + TIDM_PSFB_DCDC, } as const; export type TiChipName = keyof typeof TiChipComponents; diff --git a/lib/chips/CSD18532KCS.circuit.tsx b/lib/chips/CSD18532KCS.circuit.tsx deleted file mode 100644 index 20ba6164..00000000 --- a/lib/chips/CSD18532KCS.circuit.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import type { ChipProps } from "@tscircuit/props"; -import "tscircuit"; - -const pinLabels = { - pin1: ["G", "GATE"], - pin2: ["D", "DRAIN"], - pin3: ["S", "SOURCE"], -} as const; - -/** CSD18532KCS 60-V N-channel NexFET power MOSFET. */ -export const CSD18532KCS = (props: ChipProps) => ( - -); - -export default CSD18532KCS; diff --git a/lib/chips/INA213AIDCK.circuit.tsx b/lib/chips/INA213AIDCK.circuit.tsx deleted file mode 100644 index 0a3f3416..00000000 --- a/lib/chips/INA213AIDCK.circuit.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import type { ChipProps } from "@tscircuit/props"; -import "tscircuit"; - -const pinLabels = { - pin1: "REF", - pin2: "GND", - pin3: ["V_PLUS", "VS"], - pin4: ["IN_PLUS", "INP"], - pin5: ["IN_MINUS", "INN"], - pin6: "OUT", -} as const; - -/** INA213 50-V/V current-shunt monitor in DCK (SC70-6) package. */ -export const INA213AIDCK = (props: ChipProps) => ( - -); - -export default INA213AIDCK; diff --git a/lib/chips/TL431BIDBZR.circuit.tsx b/lib/chips/TL431BIDBZR.circuit.tsx deleted file mode 100644 index 72c7ce16..00000000 --- a/lib/chips/TL431BIDBZR.circuit.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import type { ChipProps } from "@tscircuit/props"; -import "tscircuit"; - -const pinLabels = { - pin1: ["K", "CATHODE"], - pin2: ["REF", "REFERENCE"], - pin3: ["A", "ANODE"], -} as const; - -/** TL431B adjustable shunt regulator in DBZ (SOT-23) package. */ -export const TL431BIDBZR = (props: ChipProps) => ( - -); - -export default TL431BIDBZR; diff --git a/lib/chips/UCC24610D.circuit.tsx b/lib/chips/UCC24610D.circuit.tsx deleted file mode 100644 index 5d12e398..00000000 --- a/lib/chips/UCC24610D.circuit.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import type { ChipProps } from "@tscircuit/props"; -import "tscircuit"; - -const pinLabels = { - pin1: "SYNC", - pin2: "EN_TOFF", - pin3: "TON", - pin4: "VCC", - pin5: "GATE", - pin6: "GND", - pin7: "VS", - pin8: "VD", -} as const; - -/** UCC24610 synchronous-rectifier controller. */ -export const UCC24610D = (props: ChipProps) => ( - -); - -export default UCC24610D; diff --git a/lib/chips/UCC25600D.circuit.tsx b/lib/chips/UCC25600D.circuit.tsx deleted file mode 100644 index 44422089..00000000 --- a/lib/chips/UCC25600D.circuit.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import type { ChipProps } from "@tscircuit/props"; -import "tscircuit"; - -const pinLabels = { - pin1: "DT", - pin2: "RT", - pin3: "OC", - pin4: "SS", - pin5: "GD2", - pin6: "GND", - pin7: "VCC", - pin8: "GD1", -} as const; - -/** UCC25600 8-pin high-performance resonant-mode controller. */ -export const UCC25600D = (props: ChipProps) => ( - -); - -export default UCC25600D; diff --git a/lib/chips/UCC27714D.circuit.tsx b/lib/chips/UCC27714D.circuit.tsx deleted file mode 100644 index 98d5e6e0..00000000 --- a/lib/chips/UCC27714D.circuit.tsx +++ /dev/null @@ -1,37 +0,0 @@ -import type { ChipProps } from "@tscircuit/props"; -import "tscircuit"; - -const pinLabels = { - pin1: "HI", - pin2: "LI", - pin3: "VSS", - pin4: "NC_EN", - pin5: "COM", - pin6: "LO", - pin7: "VDD", - pin8: "NC_8", - pin9: "NC_9", - pin10: "NC_10", - pin11: "HS", - pin12: "HO", - pin13: "HB", - pin14: "NC_14", -} as const; - -/** UCC27714 600-V high-side/low-side gate driver. */ -export const UCC27714D = (props: ChipProps) => ( - -); - -export default UCC27714D; diff --git a/lib/chips/index.tsx b/lib/chips/index.tsx index 6a20a514..d1863261 100644 --- a/lib/chips/index.tsx +++ b/lib/chips/index.tsx @@ -57,12 +57,6 @@ export { MSPM0G3507SPMR } from "./MSPM0G3507SPMR.circuit.tsx"; export { SN65HVD1473DGSR } from "./SN65HVD1473DGSR.circuit.tsx"; export { TMP1075DSGR } from "./TMP1075DSGR.circuit.tsx"; export { W25Q128JVSIQ } from "./W25Q128JVSIQ.circuit.tsx"; -export { CSD18532KCS } from "./CSD18532KCS.circuit.tsx"; -export { INA213AIDCK } from "./INA213AIDCK.circuit.tsx"; -export { TL431BIDBZR } from "./TL431BIDBZR.circuit.tsx"; -export { UCC24610D } from "./UCC24610D.circuit.tsx"; -export { UCC25600D } from "./UCC25600D.circuit.tsx"; -export { UCC27714D } from "./UCC27714D.circuit.tsx"; export { TPS61299DRLR } from "./TPS61299DRLR.circuit.tsx"; export { TPS63802DLAR } from "./TPS63802DLAR.circuit.tsx"; export { TPS7A0230PDBVR } from "./TPS7A0230PDBVR.circuit.tsx"; diff --git a/lib/subcircuits/PMP11282_IsolatedDCDC.circuit.tsx b/lib/subcircuits/PMP11282_IsolatedDCDC.circuit.tsx deleted file mode 100644 index 9e200887..00000000 --- a/lib/subcircuits/PMP11282_IsolatedDCDC.circuit.tsx +++ /dev/null @@ -1,1396 +0,0 @@ -import type { SubcircuitProps } from "@tscircuit/props"; -import "tscircuit"; -import { CSD18532KCS } from "../chips/CSD18532KCS.circuit.tsx"; -import { INA213AIDCK } from "../chips/INA213AIDCK.circuit.tsx"; -import { TL431BIDBZR } from "../chips/TL431BIDBZR.circuit.tsx"; -import { UCC24610D } from "../chips/UCC24610D.circuit.tsx"; -import { UCC25600D } from "../chips/UCC25600D.circuit.tsx"; -import { UCC27714D } from "../chips/UCC27714D.circuit.tsx"; - -type TwoPinPart = { - name: string; - value: string; - footprint: string; - x: number; - y: number; - pin1: string; - pin2: string; - dnp?: boolean; -}; - -// Preserve the native Altium sheet coordinate system. The component centers -// below are taken directly from PMP11064 sheet 2. -const sheetCoord = (value: number) => value; - -const horizontalCapacitors = new Set([ - "C500", - "C504", - "C505", - "C506", - "C507", - "C519", - "C525", - "C526", - "C529", - "C530", -]); - -const verticalResistors = new Set([ - "R511", - "R515", - "R521", - "R524", - "R525", - "R527", - "R528", - "R530", - "R539", - "R541", - "R542", - "R543", - "R545", - "R546", - "R547", -]); - -// PMP11064.Dat is the final fitted BOM from the supplied TI package. It is -// authoritative where older TIDRK28 drawing callouts differ (R526 and C530). -const capacitors: TwoPinPart[] = [ - { - name: "C100", - value: "2700pF", - footprint: "0603", - x: 5.3, - y: -3.65, - pin1: "net.V20V2", - pin2: "net.OUTPUT_FB_DIV", - }, - { - name: "C500", - value: "1500pF", - footprint: "pinrow2_p7.5mm_id1mm_od2mm", - x: -3.2, - y: 6.58, - pin1: "net.V20V1", - pin2: "net.GND1", - }, - { - name: "C501", - value: "47pF", - footprint: "0402", - x: 6.4, - y: 6.67, - pin1: "net.U500_VD", - pin2: "net.U500_VS", - }, - { - name: "C502", - value: "47pF", - footprint: "0402", - x: 12.06, - y: 6.67, - pin1: "net.U501_VD", - pin2: "net.U501_VS", - }, - { - name: "C503", - value: "0.047uF", - footprint: "1210", - x: -6.76, - y: 6.12, - pin1: "net.VBULK", - pin2: "net.GND1", - }, - { - name: "C504", - value: "1pF", - footprint: "1206", - x: 1.55, - y: 5.85, - pin1: "net.SGND", - pin2: "net.SR2_SNUBBER", - dnp: true, - }, - { - name: "C505", - value: "0.22uF", - footprint: "1206", - x: -9.6, - y: 4.75, - pin1: "net.BOOTSTRAP", - pin2: "net.HB_SW", - }, - { - name: "C506", - value: "1uF", - footprint: "0603", - x: 7.77, - y: 4.39, - pin1: "net.V5Vs", - pin2: "net.SGND", - }, - { - name: "C507", - value: "1uF", - footprint: "0603", - x: 13.43, - y: 4.39, - pin1: "net.V5Vs", - pin2: "net.SGND", - }, - { - name: "C508", - value: "1uF", - footprint: "0805", - x: -14.44, - y: 4.48, - pin1: "net.V12V", - pin2: "net.GND1", - }, - { - name: "C509", - value: "1uF", - footprint: "0805", - x: -13.71, - y: 4.48, - pin1: "net.V12V", - pin2: "net.GND1", - }, - { - name: "C510", - value: "680uF", - footprint: "pinrow2_p5mm_id1mm_od2mm", - x: 3.66, - y: 3.87, - pin1: "net.V20V1", - pin2: "net.SGND", - }, - { - name: "C511", - value: "680uF", - footprint: "pinrow2_p5mm_id1mm_od2mm", - x: 4.57, - y: 3.87, - pin1: "net.V20V1", - pin2: "net.SGND", - }, - { - name: "C512", - value: "0.1uF", - footprint: "0805", - x: 2.74, - y: -2.1, - pin1: "net.V12Vs", - pin2: "net.SGND", - }, - { - name: "C513", - value: "680uF", - footprint: "pinrow2_p5mm_id1mm_od2mm", - x: 6.95, - y: 2.35, - pin1: "net.V20V2", - pin2: "net.SGND", - }, - { - name: "C514", - value: "220pF", - footprint: "0603", - x: -14.07, - y: 2.47, - pin1: "net.V12V", - pin2: "net.GND1", - }, - { - name: "C515", - value: "220pF", - footprint: "0603", - x: -13.34, - y: 2.47, - pin1: "net.V12V", - pin2: "net.GND1", - }, - { - name: "C516", - value: "680uF", - footprint: "pinrow2_p5mm_id1mm_od2mm", - x: 7.86, - y: 2.35, - pin1: "net.V20V2", - pin2: "net.SGND", - }, - { - name: "C517", - value: "680uF", - footprint: "pinrow2_p5mm_id1mm_od2mm", - x: 3.47, - y: 2.17, - pin1: "net.V20V1", - pin2: "net.SGND", - }, - { - name: "C518", - value: "680uF", - footprint: "pinrow2_p5mm_id1mm_od2mm", - x: 4.39, - y: 2.17, - pin1: "net.V20V1", - pin2: "net.SGND", - }, - { - name: "C519", - value: "0.047uF", - footprint: "pinrow2_p15mm_id1mm_od2mm", - x: -4.11, - y: 0.91, - pin1: "net.RESONANT_RETURN", - pin2: "net.GND1", - }, - { - name: "C523", - value: "0.1uF", - footprint: "0805", - x: 8.77, - y: 2.1, - pin1: "net.V20V2", - pin2: "net.SGND", - }, - { - name: "C525", - value: "1pF", - footprint: "1206", - x: 1.55, - y: 0.37, - pin1: "net.SGND", - pin2: "net.SR1_SNUBBER", - dnp: true, - }, - { - name: "C526", - value: "100pF", - footprint: "1206", - x: -5.76, - y: -0.91, - pin1: "net.STARTUP_HV", - pin2: "net.RESONANT_RETURN", - }, - { - name: "C527", - value: "0.47uF", - footprint: "0603", - x: -8.59, - y: -1.19, - pin1: "net.CTRL_SS", - pin2: "net.GND1", - }, - { - name: "C528", - value: "0.01uF", - footprint: "0603", - x: -4.75, - y: -3.38, - pin1: "net.CTRL_FB", - pin2: "net.GND1", - }, - { - name: "C529", - value: "100pF", - footprint: "0603", - x: 2.65, - y: -3.66, - pin1: "net.FB_REF", - pin2: "net.FB_CATHODE", - }, - { - name: "C530", - value: "0.01uF", - footprint: "0603", - x: 2.29, - y: -4.39, - pin1: "net.FB_COMP", - pin2: "net.FB_CATHODE", - }, - { - name: "C531", - value: "4.7pF", - footprint: "0603", - x: 10.24, - y: -4.84, - pin1: "net.CS_IN_MINUS", - pin2: "net.CS_IN_PLUS", - dnp: true, - }, - { - name: "C532", - value: "0.22uF", - footprint: "0805", - x: -8.77, - y: -5.03, - pin1: "net.V12V", - pin2: "net.GND1", - }, - { - name: "C533", - value: "1uF", - footprint: "0603", - x: -7.31, - y: -5.03, - pin1: "net.CTRL_OC", - pin2: "net.GND1", - }, - { - name: "C534", - value: "0.1uF", - footprint: "0402", - x: 5.48, - y: -5.39, - pin1: "net.CS_SHARE", - pin2: "net.SGND", - dnp: true, - }, - { - name: "C535", - value: "0.1uF", - footprint: "0402", - x: 6.58, - y: -5.39, - pin1: "net.V5Vs", - pin2: "net.SGND", - dnp: true, - }, - { - name: "C536", - value: "1uF", - footprint: "1206", - x: 0.37, - y: -5.58, - pin1: "net.SGND", - pin2: "net.FB_AUX", - }, -]; - -const resistors: TwoPinPart[] = [ - { - name: "R500", - value: "10ohm", - footprint: "0603", - x: 5.85, - y: 6.95, - pin1: "net.U500_VD", - pin2: "net.U500_CLAMP", - }, - { - name: "R501", - value: "10ohm", - footprint: "0603", - x: 11.52, - y: 6.95, - pin1: "net.U501_VD", - pin2: "net.U501_CLAMP", - }, - { - name: "R502", - value: "10ohm", - footprint: "0603", - x: 5.85, - y: 6.22, - pin1: "net.U500_VS", - pin2: "net.SGND", - }, - { - name: "R503", - value: "10ohm", - footprint: "0603", - x: 11.52, - y: 6.22, - pin1: "net.U501_VS", - pin2: "net.SGND", - }, - { - name: "R504", - value: "0ohm", - footprint: "2010", - x: 0.73, - y: 5.85, - pin1: "net.SR2_SNUBBER", - pin2: "net.VD_SR2", - dnp: true, - }, - { - name: "R505", - value: "100kohm", - footprint: "0603", - x: 6.76, - y: 5.85, - pin1: "net.SGND", - pin2: "net.U500_TON", - }, - { - name: "R506", - value: "100kohm", - footprint: "0603", - x: 12.43, - y: 5.85, - pin1: "net.SGND", - pin2: "net.U501_TON", - }, - { - name: "R507", - value: "3.3ohm", - footprint: "1206", - x: -12.25, - y: 5.67, - pin1: "net.V12V", - pin2: "net.BOOT_CHARGE", - }, - { - name: "R508", - value: "221kohm", - footprint: "0603", - x: 6.76, - y: 5.3, - pin1: "net.SGND", - pin2: "net.U500_EN", - }, - { - name: "R509", - value: "221kohm", - footprint: "0603", - x: 12.43, - y: 5.3, - pin1: "net.SGND", - pin2: "net.U501_EN", - }, - { - name: "R510", - value: "3ohm", - footprint: "0603", - x: -8.23, - y: 4.94, - pin1: "net.HO", - pin2: "net.HV_GATE_HIGH", - }, - { - name: "R511", - value: "20kohm", - footprint: "0805", - x: -6.76, - y: 4.2, - pin1: "net.HV_GATE_HIGH", - pin2: "net.HB_SW", - }, - { - name: "R512", - value: "0ohm", - footprint: "0603", - x: 1.83, - y: 3.84, - pin1: "net.Q502_GATE", - pin2: "net.VG_SR2", - }, - { - name: "R513", - value: "0.01ohm", - footprint: "2010", - x: 6.03, - y: 3.11, - pin1: "net.V20V1", - pin2: "net.V20V2", - }, - { - name: "R514", - value: "0.01ohm", - footprint: "2010", - x: 6.03, - y: 2.56, - pin1: "net.V20V1", - pin2: "net.V20V2", - }, - { - name: "R515", - value: "21.5kohm", - footprint: "0603", - x: 4.57, - y: -3.66, - pin1: "net.OUTPUT_FB_DIV", - pin2: "net.V20V2", - }, - { - name: "R516", - value: "0ohm", - footprint: "0603", - x: 1.83, - y: 2.19, - pin1: "net.Q505_GATE", - pin2: "net.VG_SR1", - }, - { - name: "R517", - value: "0.01ohm", - footprint: "2010", - x: 6.03, - y: 2.01, - pin1: "net.V20V1", - pin2: "net.V20V2", - }, - { - name: "R518", - value: "3ohm", - footprint: "0603", - x: -8.04, - y: 1.83, - pin1: "net.LO", - pin2: "net.HV_GATE_LOW", - }, - { - name: "R520", - value: "0.01ohm", - footprint: "2010", - x: 6.03, - y: 1.46, - pin1: "net.V20V1", - pin2: "net.V20V2", - }, - { - name: "R521", - value: "20kohm", - footprint: "0805", - x: -6.76, - y: 1.28, - pin1: "net.HV_GATE_LOW", - pin2: "net.GND1", - }, - { - name: "R522", - value: "0ohm", - footprint: "2010", - x: 0.73, - y: 0.37, - pin1: "net.SR1_SNUBBER", - pin2: "net.VD_SR1", - dnp: true, - }, - { - name: "R523", - value: "10ohm", - footprint: "0603", - x: -10.42, - y: -0.73, - pin1: "net.PWM_DISABLE_GATE", - pin2: "net.PWMCNTL1", - }, - { - name: "R524", - value: "51ohm", - footprint: "0603", - x: -14.99, - y: -0.73, - pin1: "net.GD2_INPUT", - pin2: "net.GD2_DRIVER", - }, - { - name: "R525", - value: "1Mohm", - footprint: "0603", - x: -9.87, - y: -1.1, - pin1: "net.GND1", - pin2: "net.PWM_DISABLE_GATE", - }, - { - name: "R526", - value: "4.99kohm", - footprint: "0603", - x: 0.55, - y: -1.46, - pin1: "net.FB_LED_ANODE", - pin2: "net.V12Vs", - }, - { - name: "R527", - value: "51ohm", - footprint: "0603", - x: -14.44, - y: -1.46, - pin1: "net.GD1_INPUT", - pin2: "net.GD1_DRIVER", - }, - { - name: "R528", - value: "10kohm", - footprint: "0603", - x: 1.83, - y: -2.38, - pin1: "net.FB_CATHODE", - pin2: "net.V12Vs", - }, - { - name: "R530", - value: "15ohm", - footprint: "0603", - x: -0.37, - y: -2.56, - pin1: "net.FB_LED_CATHODE", - pin2: "net.FB_CATHODE", - }, - { - name: "R531", - value: "511ohm", - footprint: "0603", - x: -5.3, - y: -2.74, - pin1: "net.CTRL_RT", - pin2: "net.CTRL_FB", - }, - { - name: "R534", - value: "10kohm", - footprint: "0603", - x: 3.11, - y: -4.39, - pin1: "net.FB_COMP", - pin2: "net.FB_REF", - }, - { - name: "R535", - value: "30.1kohm", - footprint: "0603", - x: 4.94, - y: -4.57, - pin1: "net.OUTPUT_FB_DIV", - pin2: "net.CS_SHARE", - dnp: true, - }, - { - name: "R536", - value: "1kohm", - footprint: "0603", - x: 5.85, - y: -4.57, - pin1: "net.CS_SHARE", - pin2: "net.CS_FILTER", - dnp: true, - }, - { - name: "R537", - value: "15ohm", - footprint: "0603", - x: 6.76, - y: -4.57, - pin1: "net.CS_FILTER", - pin2: "net.CS_OUT", - dnp: true, - }, - { - name: "R538", - value: "10ohm", - footprint: "0603", - x: 11.15, - y: -4.57, - pin1: "net.CS_IN_MINUS", - pin2: "net.V20V2", - dnp: true, - }, - { - name: "R539", - value: "100kohm", - footprint: "0402", - x: 1.28, - y: -4.57, - pin1: "net.V12Vs", - pin2: "net.FB_AUX", - }, - { - name: "R540", - value: "0ohm", - footprint: "0603", - x: 4.02, - y: -4.94, - pin1: "net.FB_REF", - pin2: "net.OUTPUT_FB_DIV", - }, - { - name: "R541", - value: "200ohm", - footprint: "0603", - x: -8.04, - y: -4.94, - pin1: "net.GND1", - pin2: "net.CTRL_OC", - }, - { - name: "R542", - value: "20kohm", - footprint: "0603", - x: -6.58, - y: -4.94, - pin1: "net.GND1", - pin2: "net.CTRL_DT", - }, - { - name: "R543", - value: "3.4kohm", - footprint: "0603", - x: -5.85, - y: -4.94, - pin1: "net.GND1", - pin2: "net.CTRL_RT", - }, - { - name: "R544", - value: "10ohm", - footprint: "0603", - x: 11.15, - y: -5.12, - pin1: "net.CS_IN_PLUS", - pin2: "net.V20V1", - dnp: true, - }, - { - name: "R545", - value: "2.49kohm", - footprint: "0603", - x: 4.57, - y: -5.48, - pin1: "net.SGND", - pin2: "net.OUTPUT_FB_DIV", - }, - { - name: "R546", - value: "1kohm", - footprint: "0603", - x: -1.46, - y: -6.22, - pin1: "net.OPTO_AUX_ANODE", - pin2: "net.AUX_ZENER", - }, - { - name: "R547", - value: "1kohm", - footprint: "0603", - x: -1.46, - y: -7.13, - pin1: "net.SGND", - pin2: "net.OPTO_AUX_ANODE", - }, -]; - -const standardDiodes = [ - { - name: "D500", - mpn: "BAS316,115", - footprint: "sod323", - x: 5.48, - y: 7.68, - a: "net.U500_CLAMP", - k: "net.V5Vs", - variant: "standard" as const, - }, - { - name: "D501", - mpn: "BAS316,115", - footprint: "sod323", - x: 11.15, - y: 7.68, - a: "net.U501_CLAMP", - k: "net.V5Vs", - variant: "standard" as const, - }, - { - name: "D502", - mpn: "MURA160T3G", - footprint: "sma", - x: -11.15, - y: 5.67, - a: "net.BOOT_CHARGE", - k: "net.BOOTSTRAP", - variant: "standard" as const, - }, - { - name: "D503", - mpn: "BAT54HT1G", - footprint: "sod323", - x: -8.34, - y: 4.2, - a: "net.HV_GATE_HIGH", - k: "net.HO", - variant: "schottky" as const, - }, - { - name: "D504", - mpn: "BAT54HT1G", - footprint: "sod323", - x: -8.15, - y: 1.1, - a: "net.HV_GATE_LOW", - k: "net.LO", - variant: "schottky" as const, - }, - { - name: "D507", - mpn: "MMSZ5254B-7-F", - footprint: "sod123", - x: -1.46, - y: -5.36, - a: "net.AUX_ZENER", - k: "net.FB_AUX", - variant: "zener" as const, - }, -]; - -const tp = [ - { name: "TP500", x: 10.05, y: 3.55, net: "net.V20V2", color: "#d62828" }, - { name: "TP501", x: 10.05, y: 1.02, net: "net.SGND", color: "#111111" }, - { - name: "TP502", - x: -0.11, - y: -2.01, - net: "net.FB_LED_CATHODE", - color: "#f77f00", - }, - { - name: "TP503", - x: -0.11, - y: -2.93, - net: "net.FB_CATHODE", - color: "#fcbf49", - }, - { - name: "TP504", - x: 6.22, - y: -3.77, - net: "net.CS_FILTER", - color: "#d62828", - dnp: true, - }, - { - name: "TP505", - x: 7.13, - y: -3.77, - net: "net.CS_OUT", - color: "#111111", - dnp: true, - }, - { name: "TP506", x: 0.11, y: -5.85, net: "net.SGND", color: "#111111" }, -]; - -const mosfetPins = { - pin1: ["G", "GATE"], - pin2: ["D", "DRAIN"], - pin3: ["S", "SOURCE"], -} as const; -const optocouplerPins = { - pin1: ["A", "ANODE"], - pin2: ["K", "CATHODE"], - pin3: ["E", "EMITTER"], - pin4: ["C", "COLLECTOR"], -} as const; - -/** - * PMP11282's complete half-bridge LLC isolated DC/DC sheet (PMP11064 sheet 2). - * - * Extracted from TI's published Altium design package and checked against - * TIDRK28. The PFC and auxiliary flyback sheets are intentionally excluded. - * Gray/DNP parts are retained because they are explicit tuning options on the - * isolated stage's source sheet. - * - * Reference design: https://www.ti.com/tool/PMP11282 - */ -export const PMP11282_IsolatedDCDC = (props: SubcircuitProps) => ( - - - - - {capacitors.map((c) => ( - - ))} - {resistors.map((r) => ( - - ))} - {standardDiodes.map((d) => ( - - ))} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {tp.map((t) => ( - - ))} - - {/* These four long controller runs are continuous wires on the TI sheet. */} - - - - - - - - - - - - -); - -export default PMP11282_IsolatedDCDC; diff --git a/lib/subcircuits/TIDM_PSFB_DCDC.circuit.tsx b/lib/subcircuits/TIDM_PSFB_DCDC.circuit.tsx new file mode 100644 index 00000000..c324193f --- /dev/null +++ b/lib/subcircuits/TIDM_PSFB_DCDC.circuit.tsx @@ -0,0 +1,1451 @@ +import type { SubcircuitProps } from "@tscircuit/props"; +import "tscircuit"; + +type TwoPinPart = { + name: string; + value: string; + x: number; + y: number; + pin1: string; + pin2: string; + orientation?: "horizontal" | "vertical"; + footprint?: string; +}; + +type DiodePart = { + name: string; + mpn: string; + x: number; + y: number; + anode: string; + cathode: string; + orientation?: "horizontal" | "vertical"; +}; + +type MosfetPart = { + name: string; + mpn: string; + x: number; + y: number; + gate: string; + drain: string; + source: string; +}; + +type DriverProps = { + name: string; + x: number; + y: number; + inputA: string; + inputB: string; + outputA: string; + outputB: string; +}; + +const page2X = 32; +const p2 = (x: number) => x + page2X; + +// Coordinates were extracted from TI's native TIDM-PSFB-DCDC schematic PDF. +// The page-one origin is the sheet center; page two is translated intact. +const capacitors: TwoPinPart[] = [ + { + name: "C1", + value: "220nF", + x: 9, + y: 10.81, + pin1: "net.RECT", + pin2: "net.VOUT_PLUS", + }, + { + name: "C2", + value: "0.47uF", + x: -16.92, + y: 8.9, + pin1: "net.VINB", + pin2: "net.VIN_NEG", + orientation: "vertical", + }, + { + name: "C3", + value: "330uF", + x: -15.66, + y: 8.9, + pin1: "net.VINB", + pin2: "net.VIN_NEG", + orientation: "vertical", + footprint: "pinrow2_p10mm_id1mm_od2mm", + }, + { + name: "C4", + value: "1500uF", + x: 6.68, + y: 6.66, + pin1: "net.VOUT_PLUS", + pin2: "net.VOUT_MINUS", + orientation: "vertical", + footprint: "pinrow2_p5mm_id1mm_od2mm", + }, + { + name: "C5", + value: "1500uF", + x: 9.46, + y: 6.66, + pin1: "net.VOUT_PLUS", + pin2: "net.VOUT_MINUS", + orientation: "vertical", + footprint: "pinrow2_p5mm_id1mm_od2mm", + }, + { + name: "C6", + value: "1500uF", + x: 12.25, + y: 6.66, + pin1: "net.VOUT_PLUS", + pin2: "net.VOUT_MINUS", + orientation: "vertical", + footprint: "pinrow2_p5mm_id1mm_od2mm", + }, + { + name: "C7", + value: "1500uF", + x: 14.83, + y: 6.66, + pin1: "net.VOUT_PLUS", + pin2: "net.VOUT_MINUS", + orientation: "vertical", + footprint: "pinrow2_p5mm_id1mm_od2mm", + }, + { + name: "C8", + value: "1500uF", + x: 17.62, + y: 6.66, + pin1: "net.VOUT_PLUS", + pin2: "net.VOUT_MINUS", + orientation: "vertical", + footprint: "pinrow2_p5mm_id1mm_od2mm", + }, + { + name: "C9", + value: "1uF", + x: 8.27, + y: 5.7, + pin1: "net.VOUT_PLUS", + pin2: "net.VOUT_MINUS", + orientation: "vertical", + }, + { + name: "C10", + value: "1uF", + x: 11.11, + y: 5.7, + pin1: "net.VOUT_PLUS", + pin2: "net.VOUT_MINUS", + orientation: "vertical", + }, + { + name: "C11", + value: "1uF", + x: 13.9, + y: 5.5, + pin1: "net.VOUT_PLUS", + pin2: "net.VOUT_MINUS", + orientation: "vertical", + }, + { + name: "C12", + value: "1uF", + x: 16.68, + y: 5.5, + pin1: "net.VOUT_PLUS", + pin2: "net.VOUT_MINUS", + orientation: "vertical", + }, + { + name: "C13", + value: "1000pF", + x: 2.12, + y: 4.96, + pin1: "net.VOUT_MINUS", + pin2: "net.SEC_GND", + orientation: "vertical", + }, + { + name: "C14", + value: "1uF", + x: -13.95, + y: 2.52, + pin1: "net.U1_OUTA", + pin2: "net.T3_PRI_A", + }, + { + name: "C15", + value: "1uF", + x: -6.59, + y: 2.52, + pin1: "net.U3_OUTA", + pin2: "net.T4_PRI_A", + }, + { + name: "C16", + value: "1uF", + x: -17.92, + y: -2.46, + pin1: "net.VBIAS", + pin2: "net.GND", + orientation: "vertical", + }, + { + name: "C17", + value: "1uF", + x: -1.22, + y: -5.24, + pin1: "net.VBIAS", + pin2: "net.GND", + orientation: "vertical", + }, + { + name: "C18", + value: "1uF", + x: -8.18, + y: -9.02, + pin1: "net.VBIAS", + pin2: "net.GND", + orientation: "vertical", + }, + { + name: "C19", + value: "22uF", + x: -6.64, + y: -9.4, + pin1: "net.VBIAS", + pin2: "net.GND", + orientation: "vertical", + }, + { + name: "C20", + value: "1uF", + x: 0.74, + y: 7.89, + pin1: "net.T2_PRI_A", + pin2: "net.T2_DAMP_A", + orientation: "vertical", + }, + { + name: "C21", + value: "1uF", + x: 0.74, + y: 7.29, + pin1: "net.LEG_B", + pin2: "net.T2_DAMP_B", + orientation: "vertical", + }, + { + name: "C22", + value: "1uF", + x: p2(2.05), + y: 2.52, + pin1: "net.LDO_IN", + pin2: "net.P2_GND", + orientation: "vertical", + }, + { + name: "C23", + value: "10nF", + x: p2(4.42), + y: 1.8, + pin1: "net.LDO_FB", + pin2: "net.P2_GND", + orientation: "vertical", + }, + { + name: "C24", + value: "220pF", + x: p2(-9.34), + y: 7.98, + pin1: "net.P2_IOUT", + pin2: "net.ISENSE_FB", + }, + { + name: "C25", + value: "100nF", + x: p2(-6.79), + y: 5, + pin1: "net.P2_IOUT", + pin2: "net.P2_GND", + orientation: "vertical", + }, + { + name: "C26", + value: "10uF", + x: p2(6.43), + y: 2.72, + pin1: "net.V3V3", + pin2: "net.P2_GND", + orientation: "vertical", + }, +]; + +const resistors: TwoPinPart[] = [ + { + name: "R1", + value: "48.7ohm", + x: 6.55, + y: 12.48, + pin1: "net.CS", + pin2: "net.GND", + orientation: "vertical", + }, + { + name: "R2", + value: "4.87kohm", + x: 4.36, + y: 12.28, + pin1: "net.T1_SENSE", + pin2: "net.GND", + orientation: "vertical", + }, + { + name: "R3", + value: "3.01ohm", + x: -12.55, + y: 12.32, + pin1: "net.T3_HI", + pin2: "net.Q1_GATE", + }, + { + name: "R4", + value: "1Mohm", + x: -14.66, + y: 12.28, + pin1: "net.VINB", + pin2: "net.BLEED1", + orientation: "vertical", + }, + { + name: "R5", + value: "3.01ohm", + x: -5.19, + y: 12.13, + pin1: "net.T4_HI", + pin2: "net.Q2_GATE", + }, + { + name: "R6", + value: "100kohm", + x: 7.45, + y: 10.75, + pin1: "net.RECT", + pin2: "net.VOUT_PLUS", + }, + { + name: "R7", + value: "10kohm", + x: -9.65, + y: 10.35, + pin1: "net.Q1_GATE", + pin2: "net.LEG_A", + orientation: "vertical", + }, + { + name: "R8", + value: "1kohm", + x: 10, + y: 10.93, + pin1: "net.VOUT_PLUS", + pin2: "net.VOUT", + orientation: "vertical", + }, + { + name: "R9", + value: "1kohm", + x: 10.99, + y: 10.93, + pin1: "net.VOUT", + pin2: "net.VOUT_MINUS", + orientation: "vertical", + }, + { + name: "R10", + value: "10kohm", + x: -2.46, + y: 10.54, + pin1: "net.Q2_GATE", + pin2: "net.LEG_B", + orientation: "vertical", + }, + { + name: "R11", + value: "49.9ohm", + x: 13.08, + y: 9.36, + pin1: "net.VOUT", + pin2: "net.GND", + }, + { + name: "R12", + value: "3.01ohm", + x: -11.21, + y: 8.35, + pin1: "net.T3_LO", + pin2: "net.Q4_GATE", + }, + { + name: "R13", + value: "3.01ohm", + x: -3.65, + y: 8.35, + pin1: "net.T4_LO", + pin2: "net.Q3_GATE", + }, + { + name: "R14", + value: "1Mohm", + x: -14.6, + y: 7.51, + pin1: "net.BLEED1", + pin2: "net.VINMON", + orientation: "vertical", + }, + { + name: "R15", + value: "10kohm", + x: -2.03, + y: 5.58, + pin1: "net.Q3_GATE", + pin2: "net.VIN_NEG", + orientation: "vertical", + }, + { + name: "R16", + value: "10kohm", + x: -9.39, + y: 5.38, + pin1: "net.Q4_GATE", + pin2: "net.VIN_NEG", + orientation: "vertical", + }, + { + name: "R17", + value: "1Mohm", + x: -14.6, + y: 5.71, + pin1: "net.VINMON", + pin2: "net.VIN_NEG", + orientation: "vertical", + }, + { + name: "R18", + value: "3.01ohm", + x: -13.97, + y: 1.4, + pin1: "net.T3_PRI_B", + pin2: "net.U1_OUTB", + }, + { + name: "R19", + value: "3.01ohm", + x: -6.61, + y: 1.4, + pin1: "net.T4_PRI_B", + pin2: "net.U3_OUTB", + }, + { + name: "R20", + value: "3.01ohm", + x: 2.94, + y: -6.55, + pin1: "net.U2_OUTA", + pin2: "net.Q5_GATE", + }, + { + name: "R21", + value: "3.01ohm", + x: 8.31, + y: -6.55, + pin1: "net.U2_OUTB", + pin2: "net.Q6_GATE", + }, + { + name: "R22", + value: "0ohm", + x: -6.48, + y: -8.15, + pin1: "net.EXT_BIAS", + pin2: "net.VBIAS", + }, + { + name: "R23", + value: "10kohm", + x: 2.94, + y: -8.94, + pin1: "net.Q5_GATE", + pin2: "net.GND", + orientation: "vertical", + }, + { + name: "R24", + value: "10kohm", + x: 8.31, + y: -8.94, + pin1: "net.Q6_GATE", + pin2: "net.GND", + orientation: "vertical", + }, + { + name: "R25", + value: "499ohm", + x: 1.29, + y: 6.81, + pin1: "net.T2_DAMP_A", + pin2: "net.LEG_B", + }, + { + name: "R26", + value: "499ohm", + x: 1.29, + y: 6.21, + pin1: "net.T2_PRI_A", + pin2: "net.T2_DAMP_B", + }, + { + name: "R27", + value: "0.0005ohm", + x: 15.11, + y: 0.6, + pin1: "net.VOUT_MINUS", + pin2: "net.SEC_GND", + }, + { + name: "R28", + value: "10kohm", + x: -9.56, + y: -1.54, + pin1: "net.OUTB", + pin2: "net.U1_INB", + }, + { + name: "R29", + value: "10kohm", + x: -9.54, + y: -0.71, + pin1: "net.OUTA", + pin2: "net.U1_INA", + }, + { + name: "R30", + value: "10kohm", + x: -13.92, + y: -4.49, + pin1: "net.OUTC", + pin2: "net.U3_INA", + }, + { + name: "R31", + value: "10kohm", + x: -13.92, + y: -5.28, + pin1: "net.OUTD", + pin2: "net.U3_INB", + }, + { + name: "R32", + value: "10kohm", + x: -4.37, + y: -1.9, + pin1: "net.OUTE", + pin2: "net.U2_INA", + }, + { + name: "R33", + value: "10kohm", + x: -4.37, + y: -2.69, + pin1: "net.OUTF", + pin2: "net.U2_INB", + }, + { + name: "R34", + value: "1ohm", + x: p2(1.91), + y: 4.19, + pin1: "net.P2_VBIAS", + pin2: "net.LDO_IN", + }, + { + name: "R35", + value: "174kohm", + x: p2(5.53), + y: 3.46, + pin1: "net.V3V3", + pin2: "net.LDO_FB", + orientation: "vertical", + }, + { + name: "R36", + value: "100kohm", + x: p2(5.61), + y: 1.85, + pin1: "net.LDO_FB", + pin2: "net.P2_GND", + orientation: "vertical", + }, + { + name: "R37", + value: "1kohm", + x: p2(-11.52), + y: 5.19, + pin1: "net.IS_MINUS", + pin2: "net.ISENSE_FB", + }, + { + name: "R38", + value: "1kohm", + x: p2(-11.5), + y: 6.04, + pin1: "net.P2_GND", + pin2: "net.ISENSE_PLUS", + }, + { + name: "R39", + value: "47kohm", + x: p2(-9.23), + y: 7.1, + pin1: "net.P2_IOUT", + pin2: "net.ISENSE_FB", + }, + { + name: "R40", + value: "4.7ohm", + x: p2(-7.59), + y: 6.93, + pin1: "net.V3V3", + pin2: "net.OPA_SUPPLY", + }, +]; + +const diodes: DiodePart[] = [ + { + name: "D1", + mpn: "1N4148W", + x: 4.75, + y: 13.92, + anode: "net.T1_SENSE", + cathode: "net.CS", + }, + { + name: "D2", + mpn: "1N4148W", + x: -11.88, + y: 10.89, + anode: "net.LEG_A", + cathode: "net.Q1_GATE", + orientation: "vertical", + }, + { + name: "D3", + mpn: "1N4148W", + x: -4.52, + y: 10.49, + anode: "net.LEG_B", + cathode: "net.Q2_GATE", + orientation: "vertical", + }, + { + name: "D4", + mpn: "ES3BB", + x: 4.43, + y: 10.69, + anode: "net.SEC_A", + cathode: "net.RECT", + }, + { + name: "D5", + mpn: "MURS360T3G", + x: -0.22, + y: 10.73, + anode: "net.LEG_B", + cathode: "net.VINB_SENSED", + orientation: "vertical", + }, + { + name: "D6", + mpn: "ES3BB", + x: 4.43, + y: 9.9, + anode: "net.SEC_B", + cathode: "net.RECT", + }, + { + name: "D7", + mpn: "MMSZ5242BT1G", + x: -11.68, + y: 9.9, + anode: "net.LEG_A", + cathode: "net.Q1_GATE", + orientation: "vertical", + }, + { + name: "D8", + mpn: "MMSZ5242BT1G", + x: -4.52, + y: 9.69, + anode: "net.LEG_B", + cathode: "net.Q2_GATE", + orientation: "vertical", + }, + { + name: "D9", + mpn: "1N4148W", + x: -11.28, + y: 6.71, + anode: "net.Q4_GATE", + cathode: "net.VIN_NEG", + orientation: "vertical", + }, + { + name: "D10", + mpn: "1N4148W", + x: -3.67, + y: 6.71, + anode: "net.Q3_GATE", + cathode: "net.VIN_NEG", + orientation: "vertical", + }, + { + name: "D11", + mpn: "MURS360T3G", + x: -0.27, + y: 5.16, + anode: "net.VIN_NEG", + cathode: "net.LEG_B", + orientation: "vertical", + }, + { + name: "D12", + mpn: "MMSZ5242BT1G", + x: -11.02, + y: 4.92, + anode: "net.Q4_GATE", + cathode: "net.VIN_NEG", + orientation: "vertical", + }, + { + name: "D13", + mpn: "MMSZ5242BT1G", + x: -3.67, + y: 4.92, + anode: "net.Q3_GATE", + cathode: "net.VIN_NEG", + orientation: "vertical", + }, + { + name: "D14", + mpn: "BAT54", + x: -13.93, + y: -2.5, + anode: "net.GND", + cathode: "net.U1_INA", + }, + { + name: "D15", + mpn: "BAT54", + x: -12.54, + y: -2.5, + anode: "net.GND", + cathode: "net.U1_INB", + }, + { + name: "D16", + mpn: "BAT54", + x: 0.59, + y: -3.89, + anode: "net.GND", + cathode: "net.U2_INA", + }, + { + name: "D17", + mpn: "BAT54", + x: 1.79, + y: -3.89, + anode: "net.GND", + cathode: "net.U2_INB", + }, + { + name: "D18", + mpn: "BAT54", + x: -7.56, + y: -6.28, + anode: "net.GND", + cathode: "net.U3_INA", + }, + { + name: "D19", + mpn: "BAT54", + x: -5.97, + y: -6.28, + anode: "net.GND", + cathode: "net.U3_INB", + }, +]; + +const mosfets: MosfetPart[] = [ + { + name: "Q1", + mpn: "SPP20N60CFD", + x: -9.09, + y: 11.49, + gate: "net.Q1_GATE", + drain: "net.VINB", + source: "net.LEG_A", + }, + { + name: "Q2", + mpn: "SPP20N60CFD", + x: -1.93, + y: 11.49, + gate: "net.Q2_GATE", + drain: "net.VINB_SENSED", + source: "net.LEG_B", + }, + { + name: "Q3", + mpn: "SPP20N60CFD", + x: -1.93, + y: 6.71, + gate: "net.Q3_GATE", + drain: "net.LEG_B", + source: "net.VIN_NEG", + }, + { + name: "Q4", + mpn: "SPP20N60CFD", + x: -9.09, + y: 6.51, + gate: "net.Q4_GATE", + drain: "net.LEG_A", + source: "net.VIN_NEG", + }, + { + name: "Q5", + mpn: "FDP032N08", + x: 4.04, + y: -7.21, + gate: "net.Q5_GATE", + drain: "net.SEC_A", + source: "net.SEC_GND", + }, + { + name: "Q6", + mpn: "FDP032N08", + x: 9.21, + y: -7.21, + gate: "net.Q6_GATE", + drain: "net.SEC_B", + source: "net.SEC_GND", + }, +]; + +const testpoints = [ + { name: "TP1", x: -1.47, y: -9.2, net: "net.EXT_BIAS" }, + { name: "TP2", x: -1.47, y: -6.81, net: "net.GND" }, + { name: "TP3", x: -1.47, y: -7.61, net: "net.SYNC" }, + { name: "TP4", x: 13.74, y: 10.23, net: "net.VOUT_PLUS" }, + { name: "TP5", x: 13.74, y: 8.64, net: "net.VOUT_MINUS" }, + { name: "TP6", x: 15.43, y: 8.7, net: "net.VOUT_PLUS" }, + { name: "TP7", x: 15.43, y: 4.72, net: "net.VOUT_MINUS" }, + { name: "TP8", x: -17.18, y: 4.72, net: "net.VIN_NEG" }, + { name: "TP9", x: -16.99, y: 13.87, net: "net.VINB" }, + { name: "TP10", x: -5.25, y: -12.16, net: "net.VAUX_PRI" }, + { name: "TP11", x: 0.54, y: -13.11, net: "net.VINMON" }, + { name: "TP12", x: p2(5.49), y: 4.74, net: "net.V3V3" }, +]; + +const DualGateDriver = ({ + name, + x, + y, + inputA, + inputB, + outputA, + outputB, +}: DriverProps) => ( + +); + +/** + * TIDM-PSFB-DCDC's complete 600 W phase-shifted full-bridge power stage. + * + * Recreated from TI's published Schematic.pdf and BOM. Sheet 1 contains the + * 400 V to 12 V isolated power path, gate drive, synchronous rectification, + * sensing, and control-card interface. Sheet 2 contains the output-current + * amplifier and 3.3 V LDO. The PCB and separate controlCARD design are + * intentionally excluded. + * + * Reference design: https://www.ti.com/tool/TIDM-PSFB-DCDC + */ +export const TIDM_PSFB_DCDC = (props: SubcircuitProps) => ( + + + + + + + + + {capacitors.map((c) => ( + + ))} + {resistors.map((r) => ( + + ))} + {diodes.map((d) => ( + + ))} + {mosfets.map((q) => ( + + ))} + + + + + + + + + + + + + + + + + + + + + + + + + + {testpoints.map((tp) => ( + + ))} + + + + + + {/* Off-sheet labels from TI's second source sheet are public ports here. */} + + + + + + + + + + +); + +export default TIDM_PSFB_DCDC; diff --git a/lib/subcircuits/__snapshots__/PMP11282_IsolatedDCDC.circuit-schematic.snap.svg b/lib/subcircuits/__snapshots__/PMP11282_IsolatedDCDC.circuit-schematic.snap.svg deleted file mode 100644 index 31831142..00000000 --- a/lib/subcircuits/__snapshots__/PMP11282_IsolatedDCDC.circuit-schematic.snap.svg +++ /dev/null @@ -1,566 +0,0 @@ -C1002700pFC5001500pFC50147pFC50247pFC5030.047uFC5041pFC5050.22uFC5061uFC5071uFC5081uFC5091uFC510680uFC511680uFC5120.1uFC513680uFC514220pFC515220pFC516680uFC517680uFC518680uFC5190.047uFC5230.1uFC5251pFC526100pFC5270.47uFC5280.01uFC529100pFC5300.01uFC5314.7pFC5320.22uFC5331uFC5340.1uFC5350.1uFC5361uFR50010ΩR50110ΩR50210ΩR50310ΩR504R505100kΩR506100kΩR5073.3ΩR508221kΩR509221kΩR510R51120kΩR512R51310mΩR51410mΩR51521.5kΩR516R51710mΩR518R52010mΩR52120kΩR522R52310ΩR52451ΩR5251MΩR5264.99kΩR52751ΩR52810kΩR53015ΩR531511ΩR53410kΩR53530.1kΩR5361kΩR53715ΩR53810ΩR539100kΩR540R541200ΩR54220kΩR5433.4kΩR54410ΩR5452.49kΩR5461kΩR5471kΩD500D501D502D503D504D507BAV99WT1GD5051A2C3KBAV99WT1GD5061A2C3KBSS123Q5001G2D3SBSS123Q5011G2D3SCSD18532KCSQ5021G2D3SIPW50R190CEQ5031G2D3SIPW50R190CEQ5041G2D3SCSD18532KCSQ5051G2D3S2N7002-7-FQ5061G2D3SRLTI-1150L5001IN_12IN_23OUT_114OUT_12RLTI-1149T5001PRI_32PRI_43SEC_134SEC_145CT_156CT_167CT_178CT_189SEC_1910SEC_20UCC24610DU5001SYNC2EN_TOFF3TON4VCC5GATE6GND7VS8VDUCC24610DU5011SYNC2EN_TOFF3TON4VCC5GATE6GND7VS8VDUCC27714DU5021HI2LI3VSS4NC_EN5COM6LO7VDD8NC_89NC_910NC_1011HS12HO13HB14NC_14PC817X4NSZ0FU5031A2K3E4CUCC25600DU5041DT2RT3OC4SS5GD26GND7VCC8GD1INA213AIDCKU5051REF2GND3V_PLUS4IN_PLUS5IN_MINUS6OUTTL431BIDBZRU5061K2REF3ALTV-817U5071A2K3E4C24V OUTPUT120V2220V23SGND4SGND782653B04250GH5001MOUNT_12MOUNT_23MOUNT_3513101B02500GH5011MOUNT_12MOUNT_2TP500TP501TP502TP503TP504TP505TP506SGNDBOOTSTRAPSTARTUP_HVCTRL_SSFB_COMPFB_CATHODECS_IN_MINUSCS_IN_PLUSCTRL_OCU500_VDU500_CLAMPU501_VDU501_CLAMPHV_GATE_HIGHHV_GATE_HIGHVG_SR2VG_SR1HV_GATE_LOWHV_GATE_LOWVD_SR1PWM_DISABLE_GATEPWMCNTL1GND1PWM_DISABLE_GATEFB_LED_ANODEFB_LED_CATHODECTRL_RTFB_COMPCS_FILTERCS_OUTCS_IN_MINUSV12VsFB_AUXCTRL_OCCTRL_DTCTRL_RTCS_IN_PLUSOUTPUT_FB_DIVOPTO_AUX_ANODEAUX_ZENEROPTO_AUX_ANODEU500_CLAMPV5VsU501_CLAMPV5VsBOOTSTRAPHV_GATE_HIGHHV_GATE_LOWAUX_ZENERGND1STARTUP_HVCTRL_OCV5VsVD_SR1VD_SR2HV_GATE_HIGHHB_SWHV_GATE_LOWVD_SR1CTRL_SSGND1RESONANT_INPUTRESONANT_INPUTVD_SR1VD_SR1VG_SR1VG_SR2BOOTSTRAPFB_LED_ANODEFB_LED_CATHODECTRL_DTCTRL_RTCTRL_OCCTRL_SSGND1CS_IN_PLUSCS_OUTFB_CATHODEFB_REFOPTO_AUX_ANODESGNDGND1CTRL_RTSGNDCS_FILTERCS_OUTNotes: L500 and C100 are modified parts.Current sharing control.40uH (modified part)210uH LLC transformer \ No newline at end of file diff --git a/lib/subcircuits/__snapshots__/TIDM_PSFB_DCDC.circuit-schematic.snap.svg b/lib/subcircuits/__snapshots__/TIDM_PSFB_DCDC.circuit-schematic.snap.svg new file mode 100644 index 00000000..3c149cab --- /dev/null +++ b/lib/subcircuits/__snapshots__/TIDM_PSFB_DCDC.circuit-schematic.snap.svg @@ -0,0 +1,824 @@ +C1220nFC20.47uFC3330uFC41500uFC51500uFC61500uFC71500uFC81500uFC91uFC101uFC111uFC121uFC131000pFC141uFC151uFC161uFC171uFC181uFC1922uFC201uFC211uFC221uFC2310nFC24220pFC25100nFC2610uFR148.7ΩR24.87kΩR33.01ΩR41MΩR53.01ΩR6100kΩR710kΩR81kΩR91kΩR1010kΩR1149.9ΩR123.01ΩR133.01ΩR141MΩR1510kΩR1610kΩR171MΩR183.01ΩR193.01ΩR203.01ΩR213.01ΩR22R2310kΩR2410kΩR25499ΩR26499ΩR27500µΩR2810kΩR2910kΩR3010kΩR3110kΩR3210kΩR3310kΩR34R35174kΩR36100kΩR371kΩR381kΩR3947kΩR404.7ΩD1D2D3D4D5D6D7D8D9D10D11D12D13D14D15D16D17D18D19Q1Q2Q3Q4Q5Q6F12A / 390VPE-63587NLPE635871P12P23S14S275PR810775PR81071P12P23S14S256PR336256PR33621P12P23A14A25B16B256PR336256PR33621P12P23A14A25B16B260PR96426uH 60PR9641A12B13A24B25A36B37A48B4L12µHUCC27324DU12INA3GND4INB5OUTB6VDD7OUTAUCC27324DU22INA3GND4INB5OUTB6VDD7OUTAUCC27324DU32INA3GND4INB5OUTB6VDD7OUTATPS715A01DRBRU41OUT2NC23NC34FB5VIN6NC67NC78GND9PADOPA365AIDBVRU51OUT2V_MINUS3IN_PLUS4IN_MINUS5V_PLUS400V INPUT +12400V INPUT -1212V OUT +1212V OUT -12CONTROLCARD1234567891011121314PRIMARY JUMPER12AUXILIARY MODULE1234567AUX INPUT12TP1TP2TP3TP4TP5TP6TP7TP8TP9TP10TP11TP12RECTRECTRECTVOUT_PLUSVOUT_PLUSVOUT_PLUSVOUT_PLUSVOUT_PLUSVOUT_PLUSVOUT_PLUSVOUT_PLUSVOUT_PLUSVINBVINBVINBVINBVINBVINBVIN_NEGVIN_NEGVIN_NEGVIN_NEGVIN_NEGVIN_NEGVIN_NEGVIN_NEGVIN_NEGVIN_NEGVIN_NEGVOUT_MINUSVOUT_MINUSVOUT_MINUSVOUT_MINUSVOUT_MINUSVOUT_MINUSVOUT_MINUSVOUT_MINUSVOUT_MINUSSEC_GNDSEC_GNDU1_OUTAU1_OUTAT3_PRI_AT3_PRI_AU3_OUTAU3_OUTAT4_PRI_AT4_PRI_AVBIASVBIASVBIASVBIASVBIASVBIASGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDT2_PRI_AT2_PRI_AT2_PRI_AT2_PRI_AT2_DAMP_AT2_DAMP_ALEG_BLEG_BLEG_BLEG_BLEG_BLEG_BLEG_BLDO_INLDO_INP2_GNDP2_GNDP2_GNDP2_GNDP2_GNDLDO_FBLDO_FBP2_IOUTP2_IOUTISENSE_FBISENSE_FBV3V3V3V3V3V3V3V3V3V3CSCSCST1_SENSET1_SENSEQ1_GATEQ1_GATEQ1_GATEQ2_GATEQ2_GATEQ2_GATEQ2_GATELEG_ALEG_ALEG_ALEG_ALEG_AVOUTVOUTVOUTQ4_GATEQ4_GATEQ4_GATEQ4_GATEQ3_GATEQ3_GATEQ3_GATEQ3_GATEVINMONVINMONVINMONVINMONU1_OUTBU1_OUTBQ5_GATEQ5_GATEQ6_GATEQ6_GATEEXT_BIASEXT_BIASU1_INBU1_INBU1_INBOUTAOUTAU1_INAU1_INAOUTCOUTCU3_INAU3_INAU3_INAOUTDOUTDU3_INBU3_INBU3_INBOUTEOUTEU2_INAU2_INAU2_INBU2_INBU2_INBSEC_ASEC_AVINB_SENSEDVINB_SENSEDSEC_BSEC_BVIN_RAWVAUX_PRIVAUX_PRIC2000 600W HVPSFB EVM — MAIN POWER STAGETIDM-PSFB-DCDC / Sheet 1 of 2OUTPUT CURRENT AMPLIFIER AND 3.3V LDOTIDM-PSFB-DCDC / Sheet 2 of 2HS1 — Q1/Q2 HEATSINKHS2 — Q3/Q4 HEATSINKHS3 — Q5/Q6 HEATSINKT2_DAMP_BT2_DAMP_BT3_HIT3_HIBLEED1BLEED1T4_HIT4_HIT3_LOT3_LOT4_LOT4_LOT3_PRI_BT3_PRI_BT4_PRI_BT4_PRI_BU3_OUTBU3_OUTBU2_OUTAU2_OUTAU2_OUTBU2_OUTBOUTBOUTBOUTFOUTFP2_VBIASIS_MINUSOPA_SUPPLYOPA_SUPPLYIOUTSYNCSYNC \ No newline at end of file From ff2927c03a9f723b59e4a939e3c75fa4c74f052e Mon Sep 17 00:00:00 2001 From: ShiboSoftwareDev Date: Tue, 25 Aug 2026 16:38:38 +0200 Subject: [PATCH 4/7] Replace TIDM PSFB with compact TIDA-01159 reference --- README.md | 2 +- index.ts | 6 +- lib/subcircuits/TIDA_01159.circuit.tsx | 443 +++++ lib/subcircuits/TIDM_PSFB_DCDC.circuit.tsx | 1451 ----------------- .../TIDA_01159.circuit-schematic.snap.svg | 201 +++ .../TIDM_PSFB_DCDC.circuit-schematic.snap.svg | 824 ---------- 6 files changed, 648 insertions(+), 2279 deletions(-) create mode 100644 lib/subcircuits/TIDA_01159.circuit.tsx delete mode 100644 lib/subcircuits/TIDM_PSFB_DCDC.circuit.tsx create mode 100644 lib/subcircuits/__snapshots__/TIDA_01159.circuit-schematic.snap.svg delete mode 100644 lib/subcircuits/__snapshots__/TIDM_PSFB_DCDC.circuit-schematic.snap.svg diff --git a/README.md b/README.md index ab414d60..92b2e6ff 100644 --- a/README.md +++ b/README.md @@ -136,7 +136,7 @@ The package currently exports these subcircuit components: - `LevelShifter_TXB0104` - `LevelShifter_TXS0102` - `RFIDReader_TRF7960` -- `TIDM_PSFB_DCDC` — TIDM-PSFB-DCDC 600 W phase-shifted full-bridge isolated DC/DC +- `TIDA_01159` — TIDA-01159 compact reinforced-isolated half-bridge gate drive ## Exported Chips diff --git a/index.ts b/index.ts index 2d4ed16b..3f3263af 100644 --- a/index.ts +++ b/index.ts @@ -84,7 +84,7 @@ import { LevelShifter_TXB0104 } from "./lib/subcircuits/LevelShifter_TXB0104.cir import { LevelShifter_TXS0102 } from "./lib/subcircuits/LevelShifter_TXS0102.circuit.tsx"; import { RFIDReader_TRF7960 } from "./lib/subcircuits/RFIDReader_TRF7960.circuit.tsx"; import { FlashMemory_W25Q128JVSIQ } from "./lib/subcircuits/FlashMemory_W25Q128JVSIQ.circuit.tsx"; -import { TIDM_PSFB_DCDC } from "./lib/subcircuits/TIDM_PSFB_DCDC.circuit.tsx"; +import { TIDA_01159 } from "./lib/subcircuits/TIDA_01159.circuit.tsx"; export * from "./lib/chips/index.tsx"; @@ -130,7 +130,7 @@ export { LevelShifter_TXS0102, RFIDReader_TRF7960, FlashMemory_W25Q128JVSIQ, - TIDM_PSFB_DCDC, + TIDA_01159, }; export const TiChipComponents = { @@ -218,7 +218,7 @@ export const TiSubcircuitComponents = { LevelShifter_TXS0102, RFIDReader_TRF7960, FlashMemory_W25Q128JVSIQ, - TIDM_PSFB_DCDC, + TIDA_01159, } as const; export type TiChipName = keyof typeof TiChipComponents; diff --git a/lib/subcircuits/TIDA_01159.circuit.tsx b/lib/subcircuits/TIDA_01159.circuit.tsx new file mode 100644 index 00000000..e2e34a96 --- /dev/null +++ b/lib/subcircuits/TIDA_01159.circuit.tsx @@ -0,0 +1,443 @@ +import type { SubcircuitProps } from "@tscircuit/props"; +import "tscircuit"; + +const ucc21520PinLabels = { + pin1: ["INA"], + pin2: ["INB"], + pin3: ["VCCI", "VCCI3"], + pin4: ["GND"], + pin5: ["DISABLE"], + pin6: ["DT"], + pin7: ["NC", "NC7"], + pin8: ["VCCI", "VCCI8"], + pin9: ["VSS2"], + pin10: ["OUTB"], + pin11: ["VDD2"], + pin12: ["NC", "NC12"], + pin13: ["NC", "NC13"], + pin14: ["VSS1"], + pin15: ["OUTA"], + pin16: ["VDD1"], +} as const; + +/** + * TIDA-01159 compact reinforced-isolated half-bridge gate-drive reference. + * + * This is the complete populated circuit on sheet 2 of TI schematic TIDRP15. + * The empty drawing border, PCB, assembly, and mechanical files are omitted. + * Component values, manufacturer part numbers, signal names, pin assignments, + * and relative placement follow TI revision E1. + * + * Reference design: https://www.ti.com/tool/TIDA-01159 + */ +export const TIDA_01159 = (props: SubcircuitProps) => ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +); + +export default TIDA_01159; diff --git a/lib/subcircuits/TIDM_PSFB_DCDC.circuit.tsx b/lib/subcircuits/TIDM_PSFB_DCDC.circuit.tsx deleted file mode 100644 index c324193f..00000000 --- a/lib/subcircuits/TIDM_PSFB_DCDC.circuit.tsx +++ /dev/null @@ -1,1451 +0,0 @@ -import type { SubcircuitProps } from "@tscircuit/props"; -import "tscircuit"; - -type TwoPinPart = { - name: string; - value: string; - x: number; - y: number; - pin1: string; - pin2: string; - orientation?: "horizontal" | "vertical"; - footprint?: string; -}; - -type DiodePart = { - name: string; - mpn: string; - x: number; - y: number; - anode: string; - cathode: string; - orientation?: "horizontal" | "vertical"; -}; - -type MosfetPart = { - name: string; - mpn: string; - x: number; - y: number; - gate: string; - drain: string; - source: string; -}; - -type DriverProps = { - name: string; - x: number; - y: number; - inputA: string; - inputB: string; - outputA: string; - outputB: string; -}; - -const page2X = 32; -const p2 = (x: number) => x + page2X; - -// Coordinates were extracted from TI's native TIDM-PSFB-DCDC schematic PDF. -// The page-one origin is the sheet center; page two is translated intact. -const capacitors: TwoPinPart[] = [ - { - name: "C1", - value: "220nF", - x: 9, - y: 10.81, - pin1: "net.RECT", - pin2: "net.VOUT_PLUS", - }, - { - name: "C2", - value: "0.47uF", - x: -16.92, - y: 8.9, - pin1: "net.VINB", - pin2: "net.VIN_NEG", - orientation: "vertical", - }, - { - name: "C3", - value: "330uF", - x: -15.66, - y: 8.9, - pin1: "net.VINB", - pin2: "net.VIN_NEG", - orientation: "vertical", - footprint: "pinrow2_p10mm_id1mm_od2mm", - }, - { - name: "C4", - value: "1500uF", - x: 6.68, - y: 6.66, - pin1: "net.VOUT_PLUS", - pin2: "net.VOUT_MINUS", - orientation: "vertical", - footprint: "pinrow2_p5mm_id1mm_od2mm", - }, - { - name: "C5", - value: "1500uF", - x: 9.46, - y: 6.66, - pin1: "net.VOUT_PLUS", - pin2: "net.VOUT_MINUS", - orientation: "vertical", - footprint: "pinrow2_p5mm_id1mm_od2mm", - }, - { - name: "C6", - value: "1500uF", - x: 12.25, - y: 6.66, - pin1: "net.VOUT_PLUS", - pin2: "net.VOUT_MINUS", - orientation: "vertical", - footprint: "pinrow2_p5mm_id1mm_od2mm", - }, - { - name: "C7", - value: "1500uF", - x: 14.83, - y: 6.66, - pin1: "net.VOUT_PLUS", - pin2: "net.VOUT_MINUS", - orientation: "vertical", - footprint: "pinrow2_p5mm_id1mm_od2mm", - }, - { - name: "C8", - value: "1500uF", - x: 17.62, - y: 6.66, - pin1: "net.VOUT_PLUS", - pin2: "net.VOUT_MINUS", - orientation: "vertical", - footprint: "pinrow2_p5mm_id1mm_od2mm", - }, - { - name: "C9", - value: "1uF", - x: 8.27, - y: 5.7, - pin1: "net.VOUT_PLUS", - pin2: "net.VOUT_MINUS", - orientation: "vertical", - }, - { - name: "C10", - value: "1uF", - x: 11.11, - y: 5.7, - pin1: "net.VOUT_PLUS", - pin2: "net.VOUT_MINUS", - orientation: "vertical", - }, - { - name: "C11", - value: "1uF", - x: 13.9, - y: 5.5, - pin1: "net.VOUT_PLUS", - pin2: "net.VOUT_MINUS", - orientation: "vertical", - }, - { - name: "C12", - value: "1uF", - x: 16.68, - y: 5.5, - pin1: "net.VOUT_PLUS", - pin2: "net.VOUT_MINUS", - orientation: "vertical", - }, - { - name: "C13", - value: "1000pF", - x: 2.12, - y: 4.96, - pin1: "net.VOUT_MINUS", - pin2: "net.SEC_GND", - orientation: "vertical", - }, - { - name: "C14", - value: "1uF", - x: -13.95, - y: 2.52, - pin1: "net.U1_OUTA", - pin2: "net.T3_PRI_A", - }, - { - name: "C15", - value: "1uF", - x: -6.59, - y: 2.52, - pin1: "net.U3_OUTA", - pin2: "net.T4_PRI_A", - }, - { - name: "C16", - value: "1uF", - x: -17.92, - y: -2.46, - pin1: "net.VBIAS", - pin2: "net.GND", - orientation: "vertical", - }, - { - name: "C17", - value: "1uF", - x: -1.22, - y: -5.24, - pin1: "net.VBIAS", - pin2: "net.GND", - orientation: "vertical", - }, - { - name: "C18", - value: "1uF", - x: -8.18, - y: -9.02, - pin1: "net.VBIAS", - pin2: "net.GND", - orientation: "vertical", - }, - { - name: "C19", - value: "22uF", - x: -6.64, - y: -9.4, - pin1: "net.VBIAS", - pin2: "net.GND", - orientation: "vertical", - }, - { - name: "C20", - value: "1uF", - x: 0.74, - y: 7.89, - pin1: "net.T2_PRI_A", - pin2: "net.T2_DAMP_A", - orientation: "vertical", - }, - { - name: "C21", - value: "1uF", - x: 0.74, - y: 7.29, - pin1: "net.LEG_B", - pin2: "net.T2_DAMP_B", - orientation: "vertical", - }, - { - name: "C22", - value: "1uF", - x: p2(2.05), - y: 2.52, - pin1: "net.LDO_IN", - pin2: "net.P2_GND", - orientation: "vertical", - }, - { - name: "C23", - value: "10nF", - x: p2(4.42), - y: 1.8, - pin1: "net.LDO_FB", - pin2: "net.P2_GND", - orientation: "vertical", - }, - { - name: "C24", - value: "220pF", - x: p2(-9.34), - y: 7.98, - pin1: "net.P2_IOUT", - pin2: "net.ISENSE_FB", - }, - { - name: "C25", - value: "100nF", - x: p2(-6.79), - y: 5, - pin1: "net.P2_IOUT", - pin2: "net.P2_GND", - orientation: "vertical", - }, - { - name: "C26", - value: "10uF", - x: p2(6.43), - y: 2.72, - pin1: "net.V3V3", - pin2: "net.P2_GND", - orientation: "vertical", - }, -]; - -const resistors: TwoPinPart[] = [ - { - name: "R1", - value: "48.7ohm", - x: 6.55, - y: 12.48, - pin1: "net.CS", - pin2: "net.GND", - orientation: "vertical", - }, - { - name: "R2", - value: "4.87kohm", - x: 4.36, - y: 12.28, - pin1: "net.T1_SENSE", - pin2: "net.GND", - orientation: "vertical", - }, - { - name: "R3", - value: "3.01ohm", - x: -12.55, - y: 12.32, - pin1: "net.T3_HI", - pin2: "net.Q1_GATE", - }, - { - name: "R4", - value: "1Mohm", - x: -14.66, - y: 12.28, - pin1: "net.VINB", - pin2: "net.BLEED1", - orientation: "vertical", - }, - { - name: "R5", - value: "3.01ohm", - x: -5.19, - y: 12.13, - pin1: "net.T4_HI", - pin2: "net.Q2_GATE", - }, - { - name: "R6", - value: "100kohm", - x: 7.45, - y: 10.75, - pin1: "net.RECT", - pin2: "net.VOUT_PLUS", - }, - { - name: "R7", - value: "10kohm", - x: -9.65, - y: 10.35, - pin1: "net.Q1_GATE", - pin2: "net.LEG_A", - orientation: "vertical", - }, - { - name: "R8", - value: "1kohm", - x: 10, - y: 10.93, - pin1: "net.VOUT_PLUS", - pin2: "net.VOUT", - orientation: "vertical", - }, - { - name: "R9", - value: "1kohm", - x: 10.99, - y: 10.93, - pin1: "net.VOUT", - pin2: "net.VOUT_MINUS", - orientation: "vertical", - }, - { - name: "R10", - value: "10kohm", - x: -2.46, - y: 10.54, - pin1: "net.Q2_GATE", - pin2: "net.LEG_B", - orientation: "vertical", - }, - { - name: "R11", - value: "49.9ohm", - x: 13.08, - y: 9.36, - pin1: "net.VOUT", - pin2: "net.GND", - }, - { - name: "R12", - value: "3.01ohm", - x: -11.21, - y: 8.35, - pin1: "net.T3_LO", - pin2: "net.Q4_GATE", - }, - { - name: "R13", - value: "3.01ohm", - x: -3.65, - y: 8.35, - pin1: "net.T4_LO", - pin2: "net.Q3_GATE", - }, - { - name: "R14", - value: "1Mohm", - x: -14.6, - y: 7.51, - pin1: "net.BLEED1", - pin2: "net.VINMON", - orientation: "vertical", - }, - { - name: "R15", - value: "10kohm", - x: -2.03, - y: 5.58, - pin1: "net.Q3_GATE", - pin2: "net.VIN_NEG", - orientation: "vertical", - }, - { - name: "R16", - value: "10kohm", - x: -9.39, - y: 5.38, - pin1: "net.Q4_GATE", - pin2: "net.VIN_NEG", - orientation: "vertical", - }, - { - name: "R17", - value: "1Mohm", - x: -14.6, - y: 5.71, - pin1: "net.VINMON", - pin2: "net.VIN_NEG", - orientation: "vertical", - }, - { - name: "R18", - value: "3.01ohm", - x: -13.97, - y: 1.4, - pin1: "net.T3_PRI_B", - pin2: "net.U1_OUTB", - }, - { - name: "R19", - value: "3.01ohm", - x: -6.61, - y: 1.4, - pin1: "net.T4_PRI_B", - pin2: "net.U3_OUTB", - }, - { - name: "R20", - value: "3.01ohm", - x: 2.94, - y: -6.55, - pin1: "net.U2_OUTA", - pin2: "net.Q5_GATE", - }, - { - name: "R21", - value: "3.01ohm", - x: 8.31, - y: -6.55, - pin1: "net.U2_OUTB", - pin2: "net.Q6_GATE", - }, - { - name: "R22", - value: "0ohm", - x: -6.48, - y: -8.15, - pin1: "net.EXT_BIAS", - pin2: "net.VBIAS", - }, - { - name: "R23", - value: "10kohm", - x: 2.94, - y: -8.94, - pin1: "net.Q5_GATE", - pin2: "net.GND", - orientation: "vertical", - }, - { - name: "R24", - value: "10kohm", - x: 8.31, - y: -8.94, - pin1: "net.Q6_GATE", - pin2: "net.GND", - orientation: "vertical", - }, - { - name: "R25", - value: "499ohm", - x: 1.29, - y: 6.81, - pin1: "net.T2_DAMP_A", - pin2: "net.LEG_B", - }, - { - name: "R26", - value: "499ohm", - x: 1.29, - y: 6.21, - pin1: "net.T2_PRI_A", - pin2: "net.T2_DAMP_B", - }, - { - name: "R27", - value: "0.0005ohm", - x: 15.11, - y: 0.6, - pin1: "net.VOUT_MINUS", - pin2: "net.SEC_GND", - }, - { - name: "R28", - value: "10kohm", - x: -9.56, - y: -1.54, - pin1: "net.OUTB", - pin2: "net.U1_INB", - }, - { - name: "R29", - value: "10kohm", - x: -9.54, - y: -0.71, - pin1: "net.OUTA", - pin2: "net.U1_INA", - }, - { - name: "R30", - value: "10kohm", - x: -13.92, - y: -4.49, - pin1: "net.OUTC", - pin2: "net.U3_INA", - }, - { - name: "R31", - value: "10kohm", - x: -13.92, - y: -5.28, - pin1: "net.OUTD", - pin2: "net.U3_INB", - }, - { - name: "R32", - value: "10kohm", - x: -4.37, - y: -1.9, - pin1: "net.OUTE", - pin2: "net.U2_INA", - }, - { - name: "R33", - value: "10kohm", - x: -4.37, - y: -2.69, - pin1: "net.OUTF", - pin2: "net.U2_INB", - }, - { - name: "R34", - value: "1ohm", - x: p2(1.91), - y: 4.19, - pin1: "net.P2_VBIAS", - pin2: "net.LDO_IN", - }, - { - name: "R35", - value: "174kohm", - x: p2(5.53), - y: 3.46, - pin1: "net.V3V3", - pin2: "net.LDO_FB", - orientation: "vertical", - }, - { - name: "R36", - value: "100kohm", - x: p2(5.61), - y: 1.85, - pin1: "net.LDO_FB", - pin2: "net.P2_GND", - orientation: "vertical", - }, - { - name: "R37", - value: "1kohm", - x: p2(-11.52), - y: 5.19, - pin1: "net.IS_MINUS", - pin2: "net.ISENSE_FB", - }, - { - name: "R38", - value: "1kohm", - x: p2(-11.5), - y: 6.04, - pin1: "net.P2_GND", - pin2: "net.ISENSE_PLUS", - }, - { - name: "R39", - value: "47kohm", - x: p2(-9.23), - y: 7.1, - pin1: "net.P2_IOUT", - pin2: "net.ISENSE_FB", - }, - { - name: "R40", - value: "4.7ohm", - x: p2(-7.59), - y: 6.93, - pin1: "net.V3V3", - pin2: "net.OPA_SUPPLY", - }, -]; - -const diodes: DiodePart[] = [ - { - name: "D1", - mpn: "1N4148W", - x: 4.75, - y: 13.92, - anode: "net.T1_SENSE", - cathode: "net.CS", - }, - { - name: "D2", - mpn: "1N4148W", - x: -11.88, - y: 10.89, - anode: "net.LEG_A", - cathode: "net.Q1_GATE", - orientation: "vertical", - }, - { - name: "D3", - mpn: "1N4148W", - x: -4.52, - y: 10.49, - anode: "net.LEG_B", - cathode: "net.Q2_GATE", - orientation: "vertical", - }, - { - name: "D4", - mpn: "ES3BB", - x: 4.43, - y: 10.69, - anode: "net.SEC_A", - cathode: "net.RECT", - }, - { - name: "D5", - mpn: "MURS360T3G", - x: -0.22, - y: 10.73, - anode: "net.LEG_B", - cathode: "net.VINB_SENSED", - orientation: "vertical", - }, - { - name: "D6", - mpn: "ES3BB", - x: 4.43, - y: 9.9, - anode: "net.SEC_B", - cathode: "net.RECT", - }, - { - name: "D7", - mpn: "MMSZ5242BT1G", - x: -11.68, - y: 9.9, - anode: "net.LEG_A", - cathode: "net.Q1_GATE", - orientation: "vertical", - }, - { - name: "D8", - mpn: "MMSZ5242BT1G", - x: -4.52, - y: 9.69, - anode: "net.LEG_B", - cathode: "net.Q2_GATE", - orientation: "vertical", - }, - { - name: "D9", - mpn: "1N4148W", - x: -11.28, - y: 6.71, - anode: "net.Q4_GATE", - cathode: "net.VIN_NEG", - orientation: "vertical", - }, - { - name: "D10", - mpn: "1N4148W", - x: -3.67, - y: 6.71, - anode: "net.Q3_GATE", - cathode: "net.VIN_NEG", - orientation: "vertical", - }, - { - name: "D11", - mpn: "MURS360T3G", - x: -0.27, - y: 5.16, - anode: "net.VIN_NEG", - cathode: "net.LEG_B", - orientation: "vertical", - }, - { - name: "D12", - mpn: "MMSZ5242BT1G", - x: -11.02, - y: 4.92, - anode: "net.Q4_GATE", - cathode: "net.VIN_NEG", - orientation: "vertical", - }, - { - name: "D13", - mpn: "MMSZ5242BT1G", - x: -3.67, - y: 4.92, - anode: "net.Q3_GATE", - cathode: "net.VIN_NEG", - orientation: "vertical", - }, - { - name: "D14", - mpn: "BAT54", - x: -13.93, - y: -2.5, - anode: "net.GND", - cathode: "net.U1_INA", - }, - { - name: "D15", - mpn: "BAT54", - x: -12.54, - y: -2.5, - anode: "net.GND", - cathode: "net.U1_INB", - }, - { - name: "D16", - mpn: "BAT54", - x: 0.59, - y: -3.89, - anode: "net.GND", - cathode: "net.U2_INA", - }, - { - name: "D17", - mpn: "BAT54", - x: 1.79, - y: -3.89, - anode: "net.GND", - cathode: "net.U2_INB", - }, - { - name: "D18", - mpn: "BAT54", - x: -7.56, - y: -6.28, - anode: "net.GND", - cathode: "net.U3_INA", - }, - { - name: "D19", - mpn: "BAT54", - x: -5.97, - y: -6.28, - anode: "net.GND", - cathode: "net.U3_INB", - }, -]; - -const mosfets: MosfetPart[] = [ - { - name: "Q1", - mpn: "SPP20N60CFD", - x: -9.09, - y: 11.49, - gate: "net.Q1_GATE", - drain: "net.VINB", - source: "net.LEG_A", - }, - { - name: "Q2", - mpn: "SPP20N60CFD", - x: -1.93, - y: 11.49, - gate: "net.Q2_GATE", - drain: "net.VINB_SENSED", - source: "net.LEG_B", - }, - { - name: "Q3", - mpn: "SPP20N60CFD", - x: -1.93, - y: 6.71, - gate: "net.Q3_GATE", - drain: "net.LEG_B", - source: "net.VIN_NEG", - }, - { - name: "Q4", - mpn: "SPP20N60CFD", - x: -9.09, - y: 6.51, - gate: "net.Q4_GATE", - drain: "net.LEG_A", - source: "net.VIN_NEG", - }, - { - name: "Q5", - mpn: "FDP032N08", - x: 4.04, - y: -7.21, - gate: "net.Q5_GATE", - drain: "net.SEC_A", - source: "net.SEC_GND", - }, - { - name: "Q6", - mpn: "FDP032N08", - x: 9.21, - y: -7.21, - gate: "net.Q6_GATE", - drain: "net.SEC_B", - source: "net.SEC_GND", - }, -]; - -const testpoints = [ - { name: "TP1", x: -1.47, y: -9.2, net: "net.EXT_BIAS" }, - { name: "TP2", x: -1.47, y: -6.81, net: "net.GND" }, - { name: "TP3", x: -1.47, y: -7.61, net: "net.SYNC" }, - { name: "TP4", x: 13.74, y: 10.23, net: "net.VOUT_PLUS" }, - { name: "TP5", x: 13.74, y: 8.64, net: "net.VOUT_MINUS" }, - { name: "TP6", x: 15.43, y: 8.7, net: "net.VOUT_PLUS" }, - { name: "TP7", x: 15.43, y: 4.72, net: "net.VOUT_MINUS" }, - { name: "TP8", x: -17.18, y: 4.72, net: "net.VIN_NEG" }, - { name: "TP9", x: -16.99, y: 13.87, net: "net.VINB" }, - { name: "TP10", x: -5.25, y: -12.16, net: "net.VAUX_PRI" }, - { name: "TP11", x: 0.54, y: -13.11, net: "net.VINMON" }, - { name: "TP12", x: p2(5.49), y: 4.74, net: "net.V3V3" }, -]; - -const DualGateDriver = ({ - name, - x, - y, - inputA, - inputB, - outputA, - outputB, -}: DriverProps) => ( - -); - -/** - * TIDM-PSFB-DCDC's complete 600 W phase-shifted full-bridge power stage. - * - * Recreated from TI's published Schematic.pdf and BOM. Sheet 1 contains the - * 400 V to 12 V isolated power path, gate drive, synchronous rectification, - * sensing, and control-card interface. Sheet 2 contains the output-current - * amplifier and 3.3 V LDO. The PCB and separate controlCARD design are - * intentionally excluded. - * - * Reference design: https://www.ti.com/tool/TIDM-PSFB-DCDC - */ -export const TIDM_PSFB_DCDC = (props: SubcircuitProps) => ( - - - - - - - - - {capacitors.map((c) => ( - - ))} - {resistors.map((r) => ( - - ))} - {diodes.map((d) => ( - - ))} - {mosfets.map((q) => ( - - ))} - - - - - - - - - - - - - - - - - - - - - - - - - - {testpoints.map((tp) => ( - - ))} - - - - - - {/* Off-sheet labels from TI's second source sheet are public ports here. */} - - - - - - - - - - -); - -export default TIDM_PSFB_DCDC; diff --git a/lib/subcircuits/__snapshots__/TIDA_01159.circuit-schematic.snap.svg b/lib/subcircuits/__snapshots__/TIDA_01159.circuit-schematic.snap.svg new file mode 100644 index 00000000..75d61e38 --- /dev/null +++ b/lib/subcircuits/__snapshots__/TIDA_01159.circuit-schematic.snap.svg @@ -0,0 +1,201 @@ +UCC21520DWU11INA2INB3VCCI4GND5DISABLE6DT7NC8VCCI9VSS210OUTB11VDD212NC13NC14VSS115OUTA16VDD1R1100ΩR2100ΩC522pFC622pFR411kΩC32.2uFC40.1uFR5C20.22uFD1C10.22uFR361300421021J11HV_HS_PWM2HV_LS_PWM3LV_AUX_5V4SGNDTSW-102-08-G-S-RAJ21HV_SNODE2GD_HSTSW-103-08-G-S-RAJ31HV_GND2GD_LS3HV_AUX_12VSN6505BDBVRU21D12VCC3D24GND5EN6CLKC710uF75034334138uH1PRI_TOP2PRI_CT3PRI_BOTTOM4SEC_BOTTOM5SEC_CT6SEC_TOPD2D3R6C80.1uFC910uFR7HV_HS_PWMHV_HS_PWMHV_LS_PWMLV_AUX_5VLV_AUX_5VLV_AUX_5VLV_AUX_5VLV_AUX_5VLV_AUX_5VSGNDSGNDSGNDSGNDHV_SNODEHV_SNODEBOOTSTRAP_VDDBOOTSTRAP_VDDHV_GNDHV_GNDHV_GNDHV_GNDAUX_12VAUX_12VAUX_12VT1_PRIMARY_BOTTOMT1_SECONDARY_BOTTOMRECT_AUXTIDA-01159 — COMPACT ISOLATED GATE DRIVEDT_SETOUTBOUTAHV_HS_PWM_INHV_HS_PWM_INHV_LS_PWM_INHV_LS_PWM_INGD_LSGD_LSGD_HSGD_HSHV_AUX_12VT1_PRIMARY_TOPT1_SECONDARY_TOP \ No newline at end of file diff --git a/lib/subcircuits/__snapshots__/TIDM_PSFB_DCDC.circuit-schematic.snap.svg b/lib/subcircuits/__snapshots__/TIDM_PSFB_DCDC.circuit-schematic.snap.svg deleted file mode 100644 index 3c149cab..00000000 --- a/lib/subcircuits/__snapshots__/TIDM_PSFB_DCDC.circuit-schematic.snap.svg +++ /dev/null @@ -1,824 +0,0 @@ -C1220nFC20.47uFC3330uFC41500uFC51500uFC61500uFC71500uFC81500uFC91uFC101uFC111uFC121uFC131000pFC141uFC151uFC161uFC171uFC181uFC1922uFC201uFC211uFC221uFC2310nFC24220pFC25100nFC2610uFR148.7ΩR24.87kΩR33.01ΩR41MΩR53.01ΩR6100kΩR710kΩR81kΩR91kΩR1010kΩR1149.9ΩR123.01ΩR133.01ΩR141MΩR1510kΩR1610kΩR171MΩR183.01ΩR193.01ΩR203.01ΩR213.01ΩR22R2310kΩR2410kΩR25499ΩR26499ΩR27500µΩR2810kΩR2910kΩR3010kΩR3110kΩR3210kΩR3310kΩR34R35174kΩR36100kΩR371kΩR381kΩR3947kΩR404.7ΩD1D2D3D4D5D6D7D8D9D10D11D12D13D14D15D16D17D18D19Q1Q2Q3Q4Q5Q6F12A / 390VPE-63587NLPE635871P12P23S14S275PR810775PR81071P12P23S14S256PR336256PR33621P12P23A14A25B16B256PR336256PR33621P12P23A14A25B16B260PR96426uH 60PR9641A12B13A24B25A36B37A48B4L12µHUCC27324DU12INA3GND4INB5OUTB6VDD7OUTAUCC27324DU22INA3GND4INB5OUTB6VDD7OUTAUCC27324DU32INA3GND4INB5OUTB6VDD7OUTATPS715A01DRBRU41OUT2NC23NC34FB5VIN6NC67NC78GND9PADOPA365AIDBVRU51OUT2V_MINUS3IN_PLUS4IN_MINUS5V_PLUS400V INPUT +12400V INPUT -1212V OUT +1212V OUT -12CONTROLCARD1234567891011121314PRIMARY JUMPER12AUXILIARY MODULE1234567AUX INPUT12TP1TP2TP3TP4TP5TP6TP7TP8TP9TP10TP11TP12RECTRECTRECTVOUT_PLUSVOUT_PLUSVOUT_PLUSVOUT_PLUSVOUT_PLUSVOUT_PLUSVOUT_PLUSVOUT_PLUSVOUT_PLUSVINBVINBVINBVINBVINBVINBVIN_NEGVIN_NEGVIN_NEGVIN_NEGVIN_NEGVIN_NEGVIN_NEGVIN_NEGVIN_NEGVIN_NEGVIN_NEGVOUT_MINUSVOUT_MINUSVOUT_MINUSVOUT_MINUSVOUT_MINUSVOUT_MINUSVOUT_MINUSVOUT_MINUSVOUT_MINUSSEC_GNDSEC_GNDU1_OUTAU1_OUTAT3_PRI_AT3_PRI_AU3_OUTAU3_OUTAT4_PRI_AT4_PRI_AVBIASVBIASVBIASVBIASVBIASVBIASGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDT2_PRI_AT2_PRI_AT2_PRI_AT2_PRI_AT2_DAMP_AT2_DAMP_ALEG_BLEG_BLEG_BLEG_BLEG_BLEG_BLEG_BLDO_INLDO_INP2_GNDP2_GNDP2_GNDP2_GNDP2_GNDLDO_FBLDO_FBP2_IOUTP2_IOUTISENSE_FBISENSE_FBV3V3V3V3V3V3V3V3V3V3CSCSCST1_SENSET1_SENSEQ1_GATEQ1_GATEQ1_GATEQ2_GATEQ2_GATEQ2_GATEQ2_GATELEG_ALEG_ALEG_ALEG_ALEG_AVOUTVOUTVOUTQ4_GATEQ4_GATEQ4_GATEQ4_GATEQ3_GATEQ3_GATEQ3_GATEQ3_GATEVINMONVINMONVINMONVINMONU1_OUTBU1_OUTBQ5_GATEQ5_GATEQ6_GATEQ6_GATEEXT_BIASEXT_BIASU1_INBU1_INBU1_INBOUTAOUTAU1_INAU1_INAOUTCOUTCU3_INAU3_INAU3_INAOUTDOUTDU3_INBU3_INBU3_INBOUTEOUTEU2_INAU2_INAU2_INBU2_INBU2_INBSEC_ASEC_AVINB_SENSEDVINB_SENSEDSEC_BSEC_BVIN_RAWVAUX_PRIVAUX_PRIC2000 600W HVPSFB EVM — MAIN POWER STAGETIDM-PSFB-DCDC / Sheet 1 of 2OUTPUT CURRENT AMPLIFIER AND 3.3V LDOTIDM-PSFB-DCDC / Sheet 2 of 2HS1 — Q1/Q2 HEATSINKHS2 — Q3/Q4 HEATSINKHS3 — Q5/Q6 HEATSINKT2_DAMP_BT2_DAMP_BT3_HIT3_HIBLEED1BLEED1T4_HIT4_HIT3_LOT3_LOT4_LOT4_LOT3_PRI_BT3_PRI_BT4_PRI_BT4_PRI_BU3_OUTBU3_OUTBU2_OUTAU2_OUTAU2_OUTBU2_OUTBOUTBOUTBOUTFOUTFP2_VBIASIS_MINUSOPA_SUPPLYOPA_SUPPLYIOUTSYNCSYNC \ No newline at end of file From 1510faf3a9ce081912ea68a8198a32ea9129e8d5 Mon Sep 17 00:00:00 2001 From: ShiboSoftwareDev Date: Tue, 25 Aug 2026 17:21:34 +0200 Subject: [PATCH 5/7] Restore PMP11282 isolated DC/DC reproduction --- README.md | 8 +- index.ts | 18 +- lib/chips/CSD18532KCS.circuit.tsx | 21 + lib/chips/INA213AIDCK.circuit.tsx | 24 + lib/chips/TL431BIDBZR.circuit.tsx | 21 + lib/chips/UCC24610D.circuit.tsx | 31 + lib/chips/UCC25600D.circuit.tsx | 30 + lib/chips/UCC27714D.circuit.tsx | 37 + lib/chips/index.tsx | 6 + .../PMP11282_IsolatedDCDC.circuit.tsx | 1396 +++++++++++++++++ lib/subcircuits/TIDA_01159.circuit.tsx | 443 ------ ...82_IsolatedDCDC.circuit-schematic.snap.svg | 481 ++++++ .../TIDA_01159.circuit-schematic.snap.svg | 201 --- 13 files changed, 2069 insertions(+), 648 deletions(-) create mode 100644 lib/chips/CSD18532KCS.circuit.tsx create mode 100644 lib/chips/INA213AIDCK.circuit.tsx create mode 100644 lib/chips/TL431BIDBZR.circuit.tsx create mode 100644 lib/chips/UCC24610D.circuit.tsx create mode 100644 lib/chips/UCC25600D.circuit.tsx create mode 100644 lib/chips/UCC27714D.circuit.tsx create mode 100644 lib/subcircuits/PMP11282_IsolatedDCDC.circuit.tsx delete mode 100644 lib/subcircuits/TIDA_01159.circuit.tsx create mode 100644 lib/subcircuits/__snapshots__/PMP11282_IsolatedDCDC.circuit-schematic.snap.svg delete mode 100644 lib/subcircuits/__snapshots__/TIDA_01159.circuit-schematic.snap.svg diff --git a/README.md b/README.md index 92b2e6ff..81eef15e 100644 --- a/README.md +++ b/README.md @@ -136,7 +136,7 @@ The package currently exports these subcircuit components: - `LevelShifter_TXB0104` - `LevelShifter_TXS0102` - `RFIDReader_TRF7960` -- `TIDA_01159` — TIDA-01159 compact reinforced-isolated half-bridge gate drive +- `PMP11282_IsolatedDCDC` — PMP11282 half-bridge LLC isolated 24 V DC/DC ## Exported Chips @@ -154,18 +154,21 @@ chip is listed individually below, including whether it supports a | `CC2564C` | `-` | `CC2564C` | | `CC2745R10` | `-` | `CC2745R10E0WRHARQ1` | | `CC3235SF` | `vqfn_64_ep` | `CC3235SF12RGKR` | +| `CSD18532KCS` | `-` | `CSD18532KCS` | | `DRV8833` | `-` | `DRV8833` | | `DRV8876` | `-` | `DRV8876` | | `HDC2080` | `wson_6_ep_3x3` | `HDC2080DMBR` | | `HDC3020` | `wson_8_ep_2p5x2p5` | `HDC3020DEFR` | | `HDC3022` | `wson_8_ep_2p5x2p5` | `HDC3022DEJR` | | `INA237` | `vssop_10` | `INA237AQDGSRQ1` | +| `INA213AIDCK` | `-` | `INA213AIDCK` | | `ISOW7841` | `soic_16_wide` | `ISOW7841DWR` | | `MSP430G2230ID` | `-` | `MSP430G2230ID` | | `MSP430F5229` | `-` | `MSP430F5229IRGCR` | | `MSPM0G3507` | `lqfp_64` | `MSPM0G3507SPMR` | | `SN65HVD1473` | `vssop_10` | `SN65HVD1473DGSR` | | `TLV755P` | `sot_23_5` | `TLV75533PDBVR` | +| `TL431BIDBZR` | `-` | `TL431BIDBZR` | | `TAS2505` | `-` | `TAS2505` | | `TMP1827` | `-` | `TMP1827` | | `TMP1075` | `wson_8_ep_2x2` | `TMP1075DSGR` | @@ -179,6 +182,9 @@ chip is listed individually below, including whether it supports a | `TPSM82823` | `-` | `TPSM82823` | | `TXB0104` | `vqfn_14_ep_3p5x3p5` | `TXB0104RGYR` | | `TXS0102` | `vssop_8` | `TXS0102DCUR` | +| `UCC24610D` | `-` | `UCC24610D` | +| `UCC25600D` | `-` | `UCC25600D` | +| `UCC27714D` | `-` | `UCC27714D` | Rows with `-` are direct chip exports and do not currently expose a `footprintVariant` prop. For the wrapper exports, the underlying component diff --git a/index.ts b/index.ts index 3f3263af..51e0c324 100644 --- a/index.ts +++ b/index.ts @@ -10,12 +10,14 @@ import { CC2564C, CC2745R10, CC3235SF, + CSD18532KCS, DRV8833, DRV8876, HDC2080, HDC3020, HDC3022, INA237, + INA213AIDCK, ISOW7841, MSP430G2230ID, MSP430F5229, @@ -24,6 +26,7 @@ import { SN65HVD1473, TAS2505, TLC59116, + TL431BIDBZR, TLV755P, TMP1827, TMP1075, @@ -39,6 +42,9 @@ import { TRF7960RHB, TXB0104, TXS0102, + UCC24610D, + UCC25600D, + UCC27714D, W25Q128JVSIQ, } from "./lib/chips/index.tsx"; import { BatteryManagement_BQ24072 } from "./lib/subcircuits/BatteryManagement_BQ24072.circuit.tsx"; @@ -84,7 +90,7 @@ import { LevelShifter_TXB0104 } from "./lib/subcircuits/LevelShifter_TXB0104.cir import { LevelShifter_TXS0102 } from "./lib/subcircuits/LevelShifter_TXS0102.circuit.tsx"; import { RFIDReader_TRF7960 } from "./lib/subcircuits/RFIDReader_TRF7960.circuit.tsx"; import { FlashMemory_W25Q128JVSIQ } from "./lib/subcircuits/FlashMemory_W25Q128JVSIQ.circuit.tsx"; -import { TIDA_01159 } from "./lib/subcircuits/TIDA_01159.circuit.tsx"; +import { PMP11282_IsolatedDCDC } from "./lib/subcircuits/PMP11282_IsolatedDCDC.circuit.tsx"; export * from "./lib/chips/index.tsx"; @@ -130,7 +136,7 @@ export { LevelShifter_TXS0102, RFIDReader_TRF7960, FlashMemory_W25Q128JVSIQ, - TIDA_01159, + PMP11282_IsolatedDCDC, }; export const TiChipComponents = { @@ -145,12 +151,14 @@ export const TiChipComponents = { CC2564C, CC2745R10, CC3235SF, + CSD18532KCS, DRV8833, DRV8876, HDC2080, HDC3020, HDC3022, INA237, + INA213AIDCK, ISOW7841, MSP430G2230ID, MSP430F5229, @@ -159,6 +167,7 @@ export const TiChipComponents = { SN65HVD1473, TAS2505, TLC59116, + TL431BIDBZR, TLV755P, TMP1827, TMP1075, @@ -174,6 +183,9 @@ export const TiChipComponents = { TRF7960RHB, TXB0104, TXS0102, + UCC24610D, + UCC25600D, + UCC27714D, W25Q128JVSIQ, } as const; @@ -218,7 +230,7 @@ export const TiSubcircuitComponents = { LevelShifter_TXS0102, RFIDReader_TRF7960, FlashMemory_W25Q128JVSIQ, - TIDA_01159, + PMP11282_IsolatedDCDC, } as const; export type TiChipName = keyof typeof TiChipComponents; diff --git a/lib/chips/CSD18532KCS.circuit.tsx b/lib/chips/CSD18532KCS.circuit.tsx new file mode 100644 index 00000000..20ba6164 --- /dev/null +++ b/lib/chips/CSD18532KCS.circuit.tsx @@ -0,0 +1,21 @@ +import type { ChipProps } from "@tscircuit/props"; +import "tscircuit"; + +const pinLabels = { + pin1: ["G", "GATE"], + pin2: ["D", "DRAIN"], + pin3: ["S", "SOURCE"], +} as const; + +/** CSD18532KCS 60-V N-channel NexFET power MOSFET. */ +export const CSD18532KCS = (props: ChipProps) => ( + +); + +export default CSD18532KCS; diff --git a/lib/chips/INA213AIDCK.circuit.tsx b/lib/chips/INA213AIDCK.circuit.tsx new file mode 100644 index 00000000..0a3f3416 --- /dev/null +++ b/lib/chips/INA213AIDCK.circuit.tsx @@ -0,0 +1,24 @@ +import type { ChipProps } from "@tscircuit/props"; +import "tscircuit"; + +const pinLabels = { + pin1: "REF", + pin2: "GND", + pin3: ["V_PLUS", "VS"], + pin4: ["IN_PLUS", "INP"], + pin5: ["IN_MINUS", "INN"], + pin6: "OUT", +} as const; + +/** INA213 50-V/V current-shunt monitor in DCK (SC70-6) package. */ +export const INA213AIDCK = (props: ChipProps) => ( + +); + +export default INA213AIDCK; diff --git a/lib/chips/TL431BIDBZR.circuit.tsx b/lib/chips/TL431BIDBZR.circuit.tsx new file mode 100644 index 00000000..72c7ce16 --- /dev/null +++ b/lib/chips/TL431BIDBZR.circuit.tsx @@ -0,0 +1,21 @@ +import type { ChipProps } from "@tscircuit/props"; +import "tscircuit"; + +const pinLabels = { + pin1: ["K", "CATHODE"], + pin2: ["REF", "REFERENCE"], + pin3: ["A", "ANODE"], +} as const; + +/** TL431B adjustable shunt regulator in DBZ (SOT-23) package. */ +export const TL431BIDBZR = (props: ChipProps) => ( + +); + +export default TL431BIDBZR; diff --git a/lib/chips/UCC24610D.circuit.tsx b/lib/chips/UCC24610D.circuit.tsx new file mode 100644 index 00000000..5d12e398 --- /dev/null +++ b/lib/chips/UCC24610D.circuit.tsx @@ -0,0 +1,31 @@ +import type { ChipProps } from "@tscircuit/props"; +import "tscircuit"; + +const pinLabels = { + pin1: "SYNC", + pin2: "EN_TOFF", + pin3: "TON", + pin4: "VCC", + pin5: "GATE", + pin6: "GND", + pin7: "VS", + pin8: "VD", +} as const; + +/** UCC24610 synchronous-rectifier controller. */ +export const UCC24610D = (props: ChipProps) => ( + +); + +export default UCC24610D; diff --git a/lib/chips/UCC25600D.circuit.tsx b/lib/chips/UCC25600D.circuit.tsx new file mode 100644 index 00000000..44422089 --- /dev/null +++ b/lib/chips/UCC25600D.circuit.tsx @@ -0,0 +1,30 @@ +import type { ChipProps } from "@tscircuit/props"; +import "tscircuit"; + +const pinLabels = { + pin1: "DT", + pin2: "RT", + pin3: "OC", + pin4: "SS", + pin5: "GD2", + pin6: "GND", + pin7: "VCC", + pin8: "GD1", +} as const; + +/** UCC25600 8-pin high-performance resonant-mode controller. */ +export const UCC25600D = (props: ChipProps) => ( + +); + +export default UCC25600D; diff --git a/lib/chips/UCC27714D.circuit.tsx b/lib/chips/UCC27714D.circuit.tsx new file mode 100644 index 00000000..98d5e6e0 --- /dev/null +++ b/lib/chips/UCC27714D.circuit.tsx @@ -0,0 +1,37 @@ +import type { ChipProps } from "@tscircuit/props"; +import "tscircuit"; + +const pinLabels = { + pin1: "HI", + pin2: "LI", + pin3: "VSS", + pin4: "NC_EN", + pin5: "COM", + pin6: "LO", + pin7: "VDD", + pin8: "NC_8", + pin9: "NC_9", + pin10: "NC_10", + pin11: "HS", + pin12: "HO", + pin13: "HB", + pin14: "NC_14", +} as const; + +/** UCC27714 600-V high-side/low-side gate driver. */ +export const UCC27714D = (props: ChipProps) => ( + +); + +export default UCC27714D; diff --git a/lib/chips/index.tsx b/lib/chips/index.tsx index d1863261..6a20a514 100644 --- a/lib/chips/index.tsx +++ b/lib/chips/index.tsx @@ -57,6 +57,12 @@ export { MSPM0G3507SPMR } from "./MSPM0G3507SPMR.circuit.tsx"; export { SN65HVD1473DGSR } from "./SN65HVD1473DGSR.circuit.tsx"; export { TMP1075DSGR } from "./TMP1075DSGR.circuit.tsx"; export { W25Q128JVSIQ } from "./W25Q128JVSIQ.circuit.tsx"; +export { CSD18532KCS } from "./CSD18532KCS.circuit.tsx"; +export { INA213AIDCK } from "./INA213AIDCK.circuit.tsx"; +export { TL431BIDBZR } from "./TL431BIDBZR.circuit.tsx"; +export { UCC24610D } from "./UCC24610D.circuit.tsx"; +export { UCC25600D } from "./UCC25600D.circuit.tsx"; +export { UCC27714D } from "./UCC27714D.circuit.tsx"; export { TPS61299DRLR } from "./TPS61299DRLR.circuit.tsx"; export { TPS63802DLAR } from "./TPS63802DLAR.circuit.tsx"; export { TPS7A0230PDBVR } from "./TPS7A0230PDBVR.circuit.tsx"; diff --git a/lib/subcircuits/PMP11282_IsolatedDCDC.circuit.tsx b/lib/subcircuits/PMP11282_IsolatedDCDC.circuit.tsx new file mode 100644 index 00000000..9e200887 --- /dev/null +++ b/lib/subcircuits/PMP11282_IsolatedDCDC.circuit.tsx @@ -0,0 +1,1396 @@ +import type { SubcircuitProps } from "@tscircuit/props"; +import "tscircuit"; +import { CSD18532KCS } from "../chips/CSD18532KCS.circuit.tsx"; +import { INA213AIDCK } from "../chips/INA213AIDCK.circuit.tsx"; +import { TL431BIDBZR } from "../chips/TL431BIDBZR.circuit.tsx"; +import { UCC24610D } from "../chips/UCC24610D.circuit.tsx"; +import { UCC25600D } from "../chips/UCC25600D.circuit.tsx"; +import { UCC27714D } from "../chips/UCC27714D.circuit.tsx"; + +type TwoPinPart = { + name: string; + value: string; + footprint: string; + x: number; + y: number; + pin1: string; + pin2: string; + dnp?: boolean; +}; + +// Preserve the native Altium sheet coordinate system. The component centers +// below are taken directly from PMP11064 sheet 2. +const sheetCoord = (value: number) => value; + +const horizontalCapacitors = new Set([ + "C500", + "C504", + "C505", + "C506", + "C507", + "C519", + "C525", + "C526", + "C529", + "C530", +]); + +const verticalResistors = new Set([ + "R511", + "R515", + "R521", + "R524", + "R525", + "R527", + "R528", + "R530", + "R539", + "R541", + "R542", + "R543", + "R545", + "R546", + "R547", +]); + +// PMP11064.Dat is the final fitted BOM from the supplied TI package. It is +// authoritative where older TIDRK28 drawing callouts differ (R526 and C530). +const capacitors: TwoPinPart[] = [ + { + name: "C100", + value: "2700pF", + footprint: "0603", + x: 5.3, + y: -3.65, + pin1: "net.V20V2", + pin2: "net.OUTPUT_FB_DIV", + }, + { + name: "C500", + value: "1500pF", + footprint: "pinrow2_p7.5mm_id1mm_od2mm", + x: -3.2, + y: 6.58, + pin1: "net.V20V1", + pin2: "net.GND1", + }, + { + name: "C501", + value: "47pF", + footprint: "0402", + x: 6.4, + y: 6.67, + pin1: "net.U500_VD", + pin2: "net.U500_VS", + }, + { + name: "C502", + value: "47pF", + footprint: "0402", + x: 12.06, + y: 6.67, + pin1: "net.U501_VD", + pin2: "net.U501_VS", + }, + { + name: "C503", + value: "0.047uF", + footprint: "1210", + x: -6.76, + y: 6.12, + pin1: "net.VBULK", + pin2: "net.GND1", + }, + { + name: "C504", + value: "1pF", + footprint: "1206", + x: 1.55, + y: 5.85, + pin1: "net.SGND", + pin2: "net.SR2_SNUBBER", + dnp: true, + }, + { + name: "C505", + value: "0.22uF", + footprint: "1206", + x: -9.6, + y: 4.75, + pin1: "net.BOOTSTRAP", + pin2: "net.HB_SW", + }, + { + name: "C506", + value: "1uF", + footprint: "0603", + x: 7.77, + y: 4.39, + pin1: "net.V5Vs", + pin2: "net.SGND", + }, + { + name: "C507", + value: "1uF", + footprint: "0603", + x: 13.43, + y: 4.39, + pin1: "net.V5Vs", + pin2: "net.SGND", + }, + { + name: "C508", + value: "1uF", + footprint: "0805", + x: -14.44, + y: 4.48, + pin1: "net.V12V", + pin2: "net.GND1", + }, + { + name: "C509", + value: "1uF", + footprint: "0805", + x: -13.71, + y: 4.48, + pin1: "net.V12V", + pin2: "net.GND1", + }, + { + name: "C510", + value: "680uF", + footprint: "pinrow2_p5mm_id1mm_od2mm", + x: 3.66, + y: 3.87, + pin1: "net.V20V1", + pin2: "net.SGND", + }, + { + name: "C511", + value: "680uF", + footprint: "pinrow2_p5mm_id1mm_od2mm", + x: 4.57, + y: 3.87, + pin1: "net.V20V1", + pin2: "net.SGND", + }, + { + name: "C512", + value: "0.1uF", + footprint: "0805", + x: 2.74, + y: -2.1, + pin1: "net.V12Vs", + pin2: "net.SGND", + }, + { + name: "C513", + value: "680uF", + footprint: "pinrow2_p5mm_id1mm_od2mm", + x: 6.95, + y: 2.35, + pin1: "net.V20V2", + pin2: "net.SGND", + }, + { + name: "C514", + value: "220pF", + footprint: "0603", + x: -14.07, + y: 2.47, + pin1: "net.V12V", + pin2: "net.GND1", + }, + { + name: "C515", + value: "220pF", + footprint: "0603", + x: -13.34, + y: 2.47, + pin1: "net.V12V", + pin2: "net.GND1", + }, + { + name: "C516", + value: "680uF", + footprint: "pinrow2_p5mm_id1mm_od2mm", + x: 7.86, + y: 2.35, + pin1: "net.V20V2", + pin2: "net.SGND", + }, + { + name: "C517", + value: "680uF", + footprint: "pinrow2_p5mm_id1mm_od2mm", + x: 3.47, + y: 2.17, + pin1: "net.V20V1", + pin2: "net.SGND", + }, + { + name: "C518", + value: "680uF", + footprint: "pinrow2_p5mm_id1mm_od2mm", + x: 4.39, + y: 2.17, + pin1: "net.V20V1", + pin2: "net.SGND", + }, + { + name: "C519", + value: "0.047uF", + footprint: "pinrow2_p15mm_id1mm_od2mm", + x: -4.11, + y: 0.91, + pin1: "net.RESONANT_RETURN", + pin2: "net.GND1", + }, + { + name: "C523", + value: "0.1uF", + footprint: "0805", + x: 8.77, + y: 2.1, + pin1: "net.V20V2", + pin2: "net.SGND", + }, + { + name: "C525", + value: "1pF", + footprint: "1206", + x: 1.55, + y: 0.37, + pin1: "net.SGND", + pin2: "net.SR1_SNUBBER", + dnp: true, + }, + { + name: "C526", + value: "100pF", + footprint: "1206", + x: -5.76, + y: -0.91, + pin1: "net.STARTUP_HV", + pin2: "net.RESONANT_RETURN", + }, + { + name: "C527", + value: "0.47uF", + footprint: "0603", + x: -8.59, + y: -1.19, + pin1: "net.CTRL_SS", + pin2: "net.GND1", + }, + { + name: "C528", + value: "0.01uF", + footprint: "0603", + x: -4.75, + y: -3.38, + pin1: "net.CTRL_FB", + pin2: "net.GND1", + }, + { + name: "C529", + value: "100pF", + footprint: "0603", + x: 2.65, + y: -3.66, + pin1: "net.FB_REF", + pin2: "net.FB_CATHODE", + }, + { + name: "C530", + value: "0.01uF", + footprint: "0603", + x: 2.29, + y: -4.39, + pin1: "net.FB_COMP", + pin2: "net.FB_CATHODE", + }, + { + name: "C531", + value: "4.7pF", + footprint: "0603", + x: 10.24, + y: -4.84, + pin1: "net.CS_IN_MINUS", + pin2: "net.CS_IN_PLUS", + dnp: true, + }, + { + name: "C532", + value: "0.22uF", + footprint: "0805", + x: -8.77, + y: -5.03, + pin1: "net.V12V", + pin2: "net.GND1", + }, + { + name: "C533", + value: "1uF", + footprint: "0603", + x: -7.31, + y: -5.03, + pin1: "net.CTRL_OC", + pin2: "net.GND1", + }, + { + name: "C534", + value: "0.1uF", + footprint: "0402", + x: 5.48, + y: -5.39, + pin1: "net.CS_SHARE", + pin2: "net.SGND", + dnp: true, + }, + { + name: "C535", + value: "0.1uF", + footprint: "0402", + x: 6.58, + y: -5.39, + pin1: "net.V5Vs", + pin2: "net.SGND", + dnp: true, + }, + { + name: "C536", + value: "1uF", + footprint: "1206", + x: 0.37, + y: -5.58, + pin1: "net.SGND", + pin2: "net.FB_AUX", + }, +]; + +const resistors: TwoPinPart[] = [ + { + name: "R500", + value: "10ohm", + footprint: "0603", + x: 5.85, + y: 6.95, + pin1: "net.U500_VD", + pin2: "net.U500_CLAMP", + }, + { + name: "R501", + value: "10ohm", + footprint: "0603", + x: 11.52, + y: 6.95, + pin1: "net.U501_VD", + pin2: "net.U501_CLAMP", + }, + { + name: "R502", + value: "10ohm", + footprint: "0603", + x: 5.85, + y: 6.22, + pin1: "net.U500_VS", + pin2: "net.SGND", + }, + { + name: "R503", + value: "10ohm", + footprint: "0603", + x: 11.52, + y: 6.22, + pin1: "net.U501_VS", + pin2: "net.SGND", + }, + { + name: "R504", + value: "0ohm", + footprint: "2010", + x: 0.73, + y: 5.85, + pin1: "net.SR2_SNUBBER", + pin2: "net.VD_SR2", + dnp: true, + }, + { + name: "R505", + value: "100kohm", + footprint: "0603", + x: 6.76, + y: 5.85, + pin1: "net.SGND", + pin2: "net.U500_TON", + }, + { + name: "R506", + value: "100kohm", + footprint: "0603", + x: 12.43, + y: 5.85, + pin1: "net.SGND", + pin2: "net.U501_TON", + }, + { + name: "R507", + value: "3.3ohm", + footprint: "1206", + x: -12.25, + y: 5.67, + pin1: "net.V12V", + pin2: "net.BOOT_CHARGE", + }, + { + name: "R508", + value: "221kohm", + footprint: "0603", + x: 6.76, + y: 5.3, + pin1: "net.SGND", + pin2: "net.U500_EN", + }, + { + name: "R509", + value: "221kohm", + footprint: "0603", + x: 12.43, + y: 5.3, + pin1: "net.SGND", + pin2: "net.U501_EN", + }, + { + name: "R510", + value: "3ohm", + footprint: "0603", + x: -8.23, + y: 4.94, + pin1: "net.HO", + pin2: "net.HV_GATE_HIGH", + }, + { + name: "R511", + value: "20kohm", + footprint: "0805", + x: -6.76, + y: 4.2, + pin1: "net.HV_GATE_HIGH", + pin2: "net.HB_SW", + }, + { + name: "R512", + value: "0ohm", + footprint: "0603", + x: 1.83, + y: 3.84, + pin1: "net.Q502_GATE", + pin2: "net.VG_SR2", + }, + { + name: "R513", + value: "0.01ohm", + footprint: "2010", + x: 6.03, + y: 3.11, + pin1: "net.V20V1", + pin2: "net.V20V2", + }, + { + name: "R514", + value: "0.01ohm", + footprint: "2010", + x: 6.03, + y: 2.56, + pin1: "net.V20V1", + pin2: "net.V20V2", + }, + { + name: "R515", + value: "21.5kohm", + footprint: "0603", + x: 4.57, + y: -3.66, + pin1: "net.OUTPUT_FB_DIV", + pin2: "net.V20V2", + }, + { + name: "R516", + value: "0ohm", + footprint: "0603", + x: 1.83, + y: 2.19, + pin1: "net.Q505_GATE", + pin2: "net.VG_SR1", + }, + { + name: "R517", + value: "0.01ohm", + footprint: "2010", + x: 6.03, + y: 2.01, + pin1: "net.V20V1", + pin2: "net.V20V2", + }, + { + name: "R518", + value: "3ohm", + footprint: "0603", + x: -8.04, + y: 1.83, + pin1: "net.LO", + pin2: "net.HV_GATE_LOW", + }, + { + name: "R520", + value: "0.01ohm", + footprint: "2010", + x: 6.03, + y: 1.46, + pin1: "net.V20V1", + pin2: "net.V20V2", + }, + { + name: "R521", + value: "20kohm", + footprint: "0805", + x: -6.76, + y: 1.28, + pin1: "net.HV_GATE_LOW", + pin2: "net.GND1", + }, + { + name: "R522", + value: "0ohm", + footprint: "2010", + x: 0.73, + y: 0.37, + pin1: "net.SR1_SNUBBER", + pin2: "net.VD_SR1", + dnp: true, + }, + { + name: "R523", + value: "10ohm", + footprint: "0603", + x: -10.42, + y: -0.73, + pin1: "net.PWM_DISABLE_GATE", + pin2: "net.PWMCNTL1", + }, + { + name: "R524", + value: "51ohm", + footprint: "0603", + x: -14.99, + y: -0.73, + pin1: "net.GD2_INPUT", + pin2: "net.GD2_DRIVER", + }, + { + name: "R525", + value: "1Mohm", + footprint: "0603", + x: -9.87, + y: -1.1, + pin1: "net.GND1", + pin2: "net.PWM_DISABLE_GATE", + }, + { + name: "R526", + value: "4.99kohm", + footprint: "0603", + x: 0.55, + y: -1.46, + pin1: "net.FB_LED_ANODE", + pin2: "net.V12Vs", + }, + { + name: "R527", + value: "51ohm", + footprint: "0603", + x: -14.44, + y: -1.46, + pin1: "net.GD1_INPUT", + pin2: "net.GD1_DRIVER", + }, + { + name: "R528", + value: "10kohm", + footprint: "0603", + x: 1.83, + y: -2.38, + pin1: "net.FB_CATHODE", + pin2: "net.V12Vs", + }, + { + name: "R530", + value: "15ohm", + footprint: "0603", + x: -0.37, + y: -2.56, + pin1: "net.FB_LED_CATHODE", + pin2: "net.FB_CATHODE", + }, + { + name: "R531", + value: "511ohm", + footprint: "0603", + x: -5.3, + y: -2.74, + pin1: "net.CTRL_RT", + pin2: "net.CTRL_FB", + }, + { + name: "R534", + value: "10kohm", + footprint: "0603", + x: 3.11, + y: -4.39, + pin1: "net.FB_COMP", + pin2: "net.FB_REF", + }, + { + name: "R535", + value: "30.1kohm", + footprint: "0603", + x: 4.94, + y: -4.57, + pin1: "net.OUTPUT_FB_DIV", + pin2: "net.CS_SHARE", + dnp: true, + }, + { + name: "R536", + value: "1kohm", + footprint: "0603", + x: 5.85, + y: -4.57, + pin1: "net.CS_SHARE", + pin2: "net.CS_FILTER", + dnp: true, + }, + { + name: "R537", + value: "15ohm", + footprint: "0603", + x: 6.76, + y: -4.57, + pin1: "net.CS_FILTER", + pin2: "net.CS_OUT", + dnp: true, + }, + { + name: "R538", + value: "10ohm", + footprint: "0603", + x: 11.15, + y: -4.57, + pin1: "net.CS_IN_MINUS", + pin2: "net.V20V2", + dnp: true, + }, + { + name: "R539", + value: "100kohm", + footprint: "0402", + x: 1.28, + y: -4.57, + pin1: "net.V12Vs", + pin2: "net.FB_AUX", + }, + { + name: "R540", + value: "0ohm", + footprint: "0603", + x: 4.02, + y: -4.94, + pin1: "net.FB_REF", + pin2: "net.OUTPUT_FB_DIV", + }, + { + name: "R541", + value: "200ohm", + footprint: "0603", + x: -8.04, + y: -4.94, + pin1: "net.GND1", + pin2: "net.CTRL_OC", + }, + { + name: "R542", + value: "20kohm", + footprint: "0603", + x: -6.58, + y: -4.94, + pin1: "net.GND1", + pin2: "net.CTRL_DT", + }, + { + name: "R543", + value: "3.4kohm", + footprint: "0603", + x: -5.85, + y: -4.94, + pin1: "net.GND1", + pin2: "net.CTRL_RT", + }, + { + name: "R544", + value: "10ohm", + footprint: "0603", + x: 11.15, + y: -5.12, + pin1: "net.CS_IN_PLUS", + pin2: "net.V20V1", + dnp: true, + }, + { + name: "R545", + value: "2.49kohm", + footprint: "0603", + x: 4.57, + y: -5.48, + pin1: "net.SGND", + pin2: "net.OUTPUT_FB_DIV", + }, + { + name: "R546", + value: "1kohm", + footprint: "0603", + x: -1.46, + y: -6.22, + pin1: "net.OPTO_AUX_ANODE", + pin2: "net.AUX_ZENER", + }, + { + name: "R547", + value: "1kohm", + footprint: "0603", + x: -1.46, + y: -7.13, + pin1: "net.SGND", + pin2: "net.OPTO_AUX_ANODE", + }, +]; + +const standardDiodes = [ + { + name: "D500", + mpn: "BAS316,115", + footprint: "sod323", + x: 5.48, + y: 7.68, + a: "net.U500_CLAMP", + k: "net.V5Vs", + variant: "standard" as const, + }, + { + name: "D501", + mpn: "BAS316,115", + footprint: "sod323", + x: 11.15, + y: 7.68, + a: "net.U501_CLAMP", + k: "net.V5Vs", + variant: "standard" as const, + }, + { + name: "D502", + mpn: "MURA160T3G", + footprint: "sma", + x: -11.15, + y: 5.67, + a: "net.BOOT_CHARGE", + k: "net.BOOTSTRAP", + variant: "standard" as const, + }, + { + name: "D503", + mpn: "BAT54HT1G", + footprint: "sod323", + x: -8.34, + y: 4.2, + a: "net.HV_GATE_HIGH", + k: "net.HO", + variant: "schottky" as const, + }, + { + name: "D504", + mpn: "BAT54HT1G", + footprint: "sod323", + x: -8.15, + y: 1.1, + a: "net.HV_GATE_LOW", + k: "net.LO", + variant: "schottky" as const, + }, + { + name: "D507", + mpn: "MMSZ5254B-7-F", + footprint: "sod123", + x: -1.46, + y: -5.36, + a: "net.AUX_ZENER", + k: "net.FB_AUX", + variant: "zener" as const, + }, +]; + +const tp = [ + { name: "TP500", x: 10.05, y: 3.55, net: "net.V20V2", color: "#d62828" }, + { name: "TP501", x: 10.05, y: 1.02, net: "net.SGND", color: "#111111" }, + { + name: "TP502", + x: -0.11, + y: -2.01, + net: "net.FB_LED_CATHODE", + color: "#f77f00", + }, + { + name: "TP503", + x: -0.11, + y: -2.93, + net: "net.FB_CATHODE", + color: "#fcbf49", + }, + { + name: "TP504", + x: 6.22, + y: -3.77, + net: "net.CS_FILTER", + color: "#d62828", + dnp: true, + }, + { + name: "TP505", + x: 7.13, + y: -3.77, + net: "net.CS_OUT", + color: "#111111", + dnp: true, + }, + { name: "TP506", x: 0.11, y: -5.85, net: "net.SGND", color: "#111111" }, +]; + +const mosfetPins = { + pin1: ["G", "GATE"], + pin2: ["D", "DRAIN"], + pin3: ["S", "SOURCE"], +} as const; +const optocouplerPins = { + pin1: ["A", "ANODE"], + pin2: ["K", "CATHODE"], + pin3: ["E", "EMITTER"], + pin4: ["C", "COLLECTOR"], +} as const; + +/** + * PMP11282's complete half-bridge LLC isolated DC/DC sheet (PMP11064 sheet 2). + * + * Extracted from TI's published Altium design package and checked against + * TIDRK28. The PFC and auxiliary flyback sheets are intentionally excluded. + * Gray/DNP parts are retained because they are explicit tuning options on the + * isolated stage's source sheet. + * + * Reference design: https://www.ti.com/tool/PMP11282 + */ +export const PMP11282_IsolatedDCDC = (props: SubcircuitProps) => ( + + + + + {capacitors.map((c) => ( + + ))} + {resistors.map((r) => ( + + ))} + {standardDiodes.map((d) => ( + + ))} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {tp.map((t) => ( + + ))} + + {/* These four long controller runs are continuous wires on the TI sheet. */} + + + + + + + + + + + + +); + +export default PMP11282_IsolatedDCDC; diff --git a/lib/subcircuits/TIDA_01159.circuit.tsx b/lib/subcircuits/TIDA_01159.circuit.tsx deleted file mode 100644 index e2e34a96..00000000 --- a/lib/subcircuits/TIDA_01159.circuit.tsx +++ /dev/null @@ -1,443 +0,0 @@ -import type { SubcircuitProps } from "@tscircuit/props"; -import "tscircuit"; - -const ucc21520PinLabels = { - pin1: ["INA"], - pin2: ["INB"], - pin3: ["VCCI", "VCCI3"], - pin4: ["GND"], - pin5: ["DISABLE"], - pin6: ["DT"], - pin7: ["NC", "NC7"], - pin8: ["VCCI", "VCCI8"], - pin9: ["VSS2"], - pin10: ["OUTB"], - pin11: ["VDD2"], - pin12: ["NC", "NC12"], - pin13: ["NC", "NC13"], - pin14: ["VSS1"], - pin15: ["OUTA"], - pin16: ["VDD1"], -} as const; - -/** - * TIDA-01159 compact reinforced-isolated half-bridge gate-drive reference. - * - * This is the complete populated circuit on sheet 2 of TI schematic TIDRP15. - * The empty drawing border, PCB, assembly, and mechanical files are omitted. - * Component values, manufacturer part numbers, signal names, pin assignments, - * and relative placement follow TI revision E1. - * - * Reference design: https://www.ti.com/tool/TIDA-01159 - */ -export const TIDA_01159 = (props: SubcircuitProps) => ( - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -); - -export default TIDA_01159; diff --git a/lib/subcircuits/__snapshots__/PMP11282_IsolatedDCDC.circuit-schematic.snap.svg b/lib/subcircuits/__snapshots__/PMP11282_IsolatedDCDC.circuit-schematic.snap.svg new file mode 100644 index 00000000..017e9d8e --- /dev/null +++ b/lib/subcircuits/__snapshots__/PMP11282_IsolatedDCDC.circuit-schematic.snap.svg @@ -0,0 +1,481 @@ +C1002700pFC5001500pFC50147pFC50247pFC5030.047uFC5041pFC5050.22uFC5061uFC5071uFC5081uFC5091uFC510680uFC511680uFC5120.1uFC513680uFC514220pFC515220pFC516680uFC517680uFC518680uFC5190.047uFC5230.1uFC5251pFC526100pFC5270.47uFC5280.01uFC529100pFC5300.01uFC5314.7pFC5320.22uFC5331uFC5340.1uFC5350.1uFC5361uFR50010ΩR50110ΩR50210ΩR50310ΩR504R505100kΩR506100kΩR5073.3ΩR508221kΩR509221kΩR510R51120kΩR512R51310mΩR51410mΩR51521.5kΩR516R51710mΩR518R52010mΩR52120kΩR522R52310ΩR52451ΩR5251MΩR5264.99kΩR52751ΩR52810kΩR53015ΩR531511ΩR53410kΩR53530.1kΩR5361kΩR53715ΩR53810ΩR539100kΩR540R541200ΩR54220kΩR5433.4kΩR54410ΩR5452.49kΩR5461kΩR5471kΩD500D501D502D503D504D507BAV99WT1GD5051A2C3KBAV99WT1GD5061A2C3KBSS123Q5001G2D3SBSS123Q5011G2D3SCSD18532KCSQ5021G2D3SIPW50R190CEQ5031G2D3SIPW50R190CEQ5041G2D3SCSD18532KCSQ5051G2D3S2N7002-7-FQ5061G2D3SRLTI-1150L5001IN_12IN_23OUT_114OUT_12RLTI-1149T5001PRI_32PRI_43SEC_134SEC_145CT_156CT_167CT_178CT_189SEC_1910SEC_20UCC24610DU5001SYNC2EN_TOFF3TON4VCC5GATE6GND7VS8VDUCC24610DU5011SYNC2EN_TOFF3TON4VCC5GATE6GND7VS8VDUCC27714DU5021HI2LI3VSS4NC_EN5COM6LO7VDD8NC_89NC_910NC_1011HS12HO13HB14NC_14PC817X4NSZ0FU5031A2K3E4CUCC25600DU5041DT2RT3OC4SS5GD26GND7VCC8GD1INA213AIDCKU5051REF2GND3V_PLUS4IN_PLUS5IN_MINUS6OUTTL431BIDBZRU5061K2REF3ALTV-817U5071A2K3E4C24V OUTPUT120V2220V23SGND4SGND782653B04250GH5001MOUNT_12MOUNT_23MOUNT_3513101B02500GH5011MOUNT_12MOUNT_2TP500TP501TP502TP503TP504TP505TP506SGNDBOOTSTRAPSTARTUP_HVCTRL_SSFB_COMPFB_CATHODECS_IN_MINUSCS_IN_PLUSCTRL_OCU500_VDU500_CLAMPU501_VDU501_CLAMPHV_GATE_HIGHHV_GATE_HIGHVG_SR2VG_SR1HV_GATE_LOWHV_GATE_LOWVD_SR1PWM_DISABLE_GATEPWMCNTL1GND1PWM_DISABLE_GATEFB_LED_ANODEFB_LED_CATHODECTRL_RTFB_COMPCS_FILTERCS_OUTCS_IN_MINUSV12VsFB_AUXCTRL_OCCTRL_DTCTRL_RTCS_IN_PLUSOUTPUT_FB_DIVOPTO_AUX_ANODEAUX_ZENEROPTO_AUX_ANODEU500_CLAMPV5VsU501_CLAMPV5VsBOOTSTRAPHV_GATE_HIGHHV_GATE_LOWAUX_ZENERGND1STARTUP_HVCTRL_OCV5VsVD_SR1VD_SR2HV_GATE_HIGHHB_SWHV_GATE_LOWVD_SR1CTRL_SSGND1RESONANT_INPUTRESONANT_INPUTVD_SR1VD_SR1VG_SR1VG_SR2BOOTSTRAPFB_LED_ANODEFB_LED_CATHODECTRL_DTCTRL_RTCTRL_OCCTRL_SSGND1CS_IN_PLUSCS_OUTFB_CATHODEFB_REFOPTO_AUX_ANODESGNDGND1CTRL_RTSGNDCS_FILTERCS_OUTNotes: L500 and C100 are modified parts.Current sharing control.40uH (modified part)210uH LLC transformer \ No newline at end of file diff --git a/lib/subcircuits/__snapshots__/TIDA_01159.circuit-schematic.snap.svg b/lib/subcircuits/__snapshots__/TIDA_01159.circuit-schematic.snap.svg deleted file mode 100644 index 75d61e38..00000000 --- a/lib/subcircuits/__snapshots__/TIDA_01159.circuit-schematic.snap.svg +++ /dev/null @@ -1,201 +0,0 @@ -UCC21520DWU11INA2INB3VCCI4GND5DISABLE6DT7NC8VCCI9VSS210OUTB11VDD212NC13NC14VSS115OUTA16VDD1R1100ΩR2100ΩC522pFC622pFR411kΩC32.2uFC40.1uFR5C20.22uFD1C10.22uFR361300421021J11HV_HS_PWM2HV_LS_PWM3LV_AUX_5V4SGNDTSW-102-08-G-S-RAJ21HV_SNODE2GD_HSTSW-103-08-G-S-RAJ31HV_GND2GD_LS3HV_AUX_12VSN6505BDBVRU21D12VCC3D24GND5EN6CLKC710uF75034334138uH1PRI_TOP2PRI_CT3PRI_BOTTOM4SEC_BOTTOM5SEC_CT6SEC_TOPD2D3R6C80.1uFC910uFR7HV_HS_PWMHV_HS_PWMHV_LS_PWMLV_AUX_5VLV_AUX_5VLV_AUX_5VLV_AUX_5VLV_AUX_5VLV_AUX_5VSGNDSGNDSGNDSGNDHV_SNODEHV_SNODEBOOTSTRAP_VDDBOOTSTRAP_VDDHV_GNDHV_GNDHV_GNDHV_GNDAUX_12VAUX_12VAUX_12VT1_PRIMARY_BOTTOMT1_SECONDARY_BOTTOMRECT_AUXTIDA-01159 — COMPACT ISOLATED GATE DRIVEDT_SETOUTBOUTAHV_HS_PWM_INHV_HS_PWM_INHV_LS_PWM_INHV_LS_PWM_INGD_LSGD_LSGD_HSGD_HSHV_AUX_12VT1_PRIMARY_TOPT1_SECONDARY_TOP \ No newline at end of file From bf2dd6505185f692a693933ce610338b764ae32e Mon Sep 17 00:00:00 2001 From: ShiboSoftwareDev Date: Tue, 25 Aug 2026 20:25:42 +0200 Subject: [PATCH 6/7] Restore PMP11282 automatic net labels --- .../PMP11282_IsolatedDCDC.circuit.tsx | 7 +- ...82_IsolatedDCDC.circuit-schematic.snap.svg | 84 +++++++++---------- 2 files changed, 43 insertions(+), 48 deletions(-) diff --git a/lib/subcircuits/PMP11282_IsolatedDCDC.circuit.tsx b/lib/subcircuits/PMP11282_IsolatedDCDC.circuit.tsx index 9e200887..43d519f2 100644 --- a/lib/subcircuits/PMP11282_IsolatedDCDC.circuit.tsx +++ b/lib/subcircuits/PMP11282_IsolatedDCDC.circuit.tsx @@ -897,12 +897,7 @@ const optocouplerPins = { * Reference design: https://www.ti.com/tool/PMP11282 */ export const PMP11282_IsolatedDCDC = (props: SubcircuitProps) => ( - + C1002700pFC5001500pFC50147pFC50247pFC5030.047uFC5041pFC5050.22uFC5061uFC5071uFC5081uFC5091uFC510680uFC511680uFC5120.1uFC513680uFC514220pFC515220pFC516680uFC517680uFC518680uFC5190.047uFC5230.1uFC5251pFC526100pFC5270.47uFC5280.01uFC529100pFC5300.01uFC5314.7pFC5320.22uFC5331uFC5340.1uFC5350.1uFC5361uFR50010ΩR50110ΩR50210ΩR50310ΩR504R505100kΩR506100kΩR5073.3ΩR508221kΩR509221kΩR510R51120kΩR512R51310mΩR51410mΩR51521.5kΩR516R51710mΩR518R52010mΩR52120kΩR522R52310ΩR52451ΩR5251MΩR5264.99kΩR52751ΩR52810kΩR53015ΩR531511ΩR53410kΩR53530.1kΩR5361kΩR53715ΩR53810ΩR539100kΩR540R541200ΩR54220kΩR5433.4kΩR54410ΩR5452.49kΩR5461kΩR5471kΩD500D501D502D503D504D507BAV99WT1GD5051A2C3KBAV99WT1GD5061A2C3KBSS123Q5001G2D3SBSS123Q5011G2D3SCSD18532KCSQ5021G2D3SIPW50R190CEQ5031G2D3SIPW50R190CEQ5041G2D3SCSD18532KCSQ5051G2D3S2N7002-7-FQ5061G2D3SRLTI-1150L5001IN_12IN_23OUT_114OUT_12RLTI-1149T5001PRI_32PRI_43SEC_134SEC_145CT_156CT_167CT_178CT_189SEC_1910SEC_20UCC24610DU5001SYNC2EN_TOFF3TON4VCC5GATE6GND7VS8VDUCC24610DU5011SYNC2EN_TOFF3TON4VCC5GATE6GND7VS8VDUCC27714DU5021HI2LI3VSS4NC_EN5COM6LO7VDD8NC_89NC_910NC_1011HS12HO13HB14NC_14PC817X4NSZ0FU5031A2K3E4CUCC25600DU5041DT2RT3OC4SS5GD26GND7VCC8GD1INA213AIDCKU5051REF2GND3V_PLUS4IN_PLUS5IN_MINUS6OUTTL431BIDBZRU5061K2REF3ALTV-817U5071A2K3E4C24V OUTPUT120V2220V23SGND4SGND782653B04250GH5001MOUNT_12MOUNT_23MOUNT_3513101B02500GH5011MOUNT_12MOUNT_2TP500TP501TP502TP503TP504TP505TP506C1002700pFC5001500pFC50147pFC50247pFC5030.047uFC5041pFC5050.22uFC5061uFC5071uFC5081uFC5091uFC510680uFC511680uFC5120.1uFC513680uFC514220pFC515220pFC516680uFC517680uFC518680uFC5190.047uFC5230.1uFC5251pFC526100pFC5270.47uFC5280.01uFC529100pFC5300.01uFC5314.7pFC5320.22uFC5331uFC5340.1uFC5350.1uFC5361uFR50010ΩR50110ΩR50210ΩR50310ΩR504R505100kΩR506100kΩR5073.3ΩR508221kΩR509221kΩR510R51120kΩR512R51310mΩR51410mΩR51521.5kΩR516R51710mΩR518R52010mΩR52120kΩR522R52310ΩR52451ΩR5251MΩR5264.99kΩR52751ΩR52810kΩR53015ΩR531511ΩR53410kΩR53530.1kΩR5361kΩR53715ΩR53810ΩR539100kΩR540R541200ΩR54220kΩR5433.4kΩR54410ΩR5452.49kΩR5461kΩR5471kΩD500D501D502D503D504D507BAV99WT1GD5051A2C3KBAV99WT1GD5061A2C3KBSS123Q5001G2D3SBSS123Q5011G2D3SCSD18532KCSQ5021G2D3SIPW50R190CEQ5031G2D3SIPW50R190CEQ5041G2D3SCSD18532KCSQ5051G2D3S2N7002-7-FQ5061G2D3SRLTI-1150L5001IN_12IN_23OUT_114OUT_12RLTI-1149T5001PRI_32PRI_43SEC_134SEC_145CT_156CT_167CT_178CT_189SEC_1910SEC_20UCC24610DU5001SYNC2EN_TOFF3TON4VCC5GATE6GND7VS8VDUCC24610DU5011SYNC2EN_TOFF3TON4VCC5GATE6GND7VS8VDUCC27714DU5021HI2LI3VSS4NC_EN5COM6LO7VDD8NC_89NC_910NC_1011HS12HO13HB14NC_14PC817X4NSZ0FU5031A2K3E4CUCC25600DU5041DT2RT3OC4SS5GD26GND7VCC8GD1INA213AIDCKU5051REF2GND3V_PLUS4IN_PLUS5IN_MINUS6OUTTL431BIDBZRU5061K2REF3ALTV-817U5071A2K3E4C24V OUTPUT120V2220V23SGND4SGND782653B04250GH5001MOUNT_12MOUNT_23MOUNT_3513101B02500GH5011MOUNT_12MOUNT_2TP500TP501TP502TP503TP504TP505TP506CS_IN_MINUSV12VsCS_IN_MINUSV20V2V12VsFB_AUXFB_AUXCTRL_OCCTRL_OCCTRL_DTCTRL_DTCTRL_RTCTRL_RTCS_IN_PLUSCS_IN_PLUSV20V1OUTPUT_FB_DIVOUTPUT_FB_DIVOPTO_AUX_ANODEOPTO_AUX_ANODEAUX_ZENERAUX_ZENEROPTO_AUX_ANODEOPTO_AUX_ANODEU500_CLAMPV5VsU500_CLAMPV5VsU501_CLAMPV5VsU501_CLAMPV5VsBOOTSTRAPBOOTSTRAPHV_GATE_HIGHHV_GATE_HIGHHV_GATE_LOWHV_GATE_LOWAUX_ZENERGND1AUX_ZENERGND1STARTUP_HVSTARTUP_HVCTRL_OCV5VsVD_SR1VD_SR2CTRL_OCV5VsVD_SR1VD_SR2HV_GATE_HIGHHV_GATE_HIGHHB_SWHB_SWHV_GATE_LOWVD_SR1HV_GATE_LOWVD_SR1CTRL_SSGND1CTRL_SSGND1RESONANT_INPUTRESONANT_INPUTRESONANT_INPUTVD_SR1VD_SR1VG_SR1VG_SR2RESONANT_INPUTVD_SR1VD_SR1VG_SR1VG_SR2BOOTSTRAPBOOTSTRAPFB_LED_ANODEFB_LED_ANODEFB_LED_CATHODEFB_LED_CATHODECTRL_DTCTRL_DTCTRL_RTCTRL_RTCTRL_OCCTRL_OCCTRL_SSGND1CTRL_SSGND1CS_IN_PLUSCS_IN_PLUSCS_OUTCS_OUTFB_CATHODEFB_CATHODEFB_REFFB_REFOPTO_AUX_ANODEOPTO_AUX_ANODESGNDGND1SGNDGND1CTRL_RTCTRL_RTSGNDSGNDCS_FILTERCS_FILTERCS_OUTNotes: L500 and C100 are modified parts.Current sharing control.40uH (modified part)210uH LLC transformer \ No newline at end of file + " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="0.6077016050080001px"/>CS_OUTNotes: L500 and C100 are modified parts.Current sharing control.40uH (modified part)210uH LLC transformer \ No newline at end of file From 2a701b2478b414193e4e4677991d41cac21bddbe Mon Sep 17 00:00:00 2001 From: ShiboSoftwareDev Date: Tue, 25 Aug 2026 21:31:26 +0200 Subject: [PATCH 7/7] Rebuild PMP11282 schematic from Altium source --- .../PMP11282_IsolatedDCDC.circuit.tsx | 729 ++------- .../PMP11282_IsolatedDCDC.connections.ts | 921 ++++++++++++ .../PMP11282_IsolatedDCDC.placements.ts | 135 ++ ...82_IsolatedDCDC.circuit-schematic.snap.svg | 1299 +++++++++++------ 4 files changed, 2002 insertions(+), 1082 deletions(-) create mode 100644 lib/subcircuits/PMP11282_IsolatedDCDC.connections.ts create mode 100644 lib/subcircuits/PMP11282_IsolatedDCDC.placements.ts diff --git a/lib/subcircuits/PMP11282_IsolatedDCDC.circuit.tsx b/lib/subcircuits/PMP11282_IsolatedDCDC.circuit.tsx index 43d519f2..e88573cb 100644 --- a/lib/subcircuits/PMP11282_IsolatedDCDC.circuit.tsx +++ b/lib/subcircuits/PMP11282_IsolatedDCDC.circuit.tsx @@ -1,25 +1,44 @@ import type { SubcircuitProps } from "@tscircuit/props"; +import { Fragment } from "react"; import "tscircuit"; -import { CSD18532KCS } from "../chips/CSD18532KCS.circuit.tsx"; import { INA213AIDCK } from "../chips/INA213AIDCK.circuit.tsx"; import { TL431BIDBZR } from "../chips/TL431BIDBZR.circuit.tsx"; import { UCC24610D } from "../chips/UCC24610D.circuit.tsx"; import { UCC25600D } from "../chips/UCC25600D.circuit.tsx"; import { UCC27714D } from "../chips/UCC27714D.circuit.tsx"; +import { pmp11282TraceConnections } from "./PMP11282_IsolatedDCDC.connections.ts"; +import { + getPmp11282Placement, + type Pmp11282ComponentName, +} from "./PMP11282_IsolatedDCDC.placements.ts"; type TwoPinPart = { - name: string; + name: Pmp11282ComponentName; value: string; footprint: string; - x: number; - y: number; - pin1: string; - pin2: string; dnp?: boolean; }; -// Preserve the native Altium sheet coordinate system. The component centers -// below are taken directly from PMP11064 sheet 2. +type StandardDiode = { + name: Pmp11282ComponentName; + mpn: string; + footprint: string; + variant: "standard" | "schottky" | "zener"; +}; + +type TestPoint = { + name: Pmp11282ComponentName; + dnp?: boolean; +}; + +type MosfetPart = { + name: Pmp11282ComponentName; + mpn: string; + footprint: string; +}; + +// Kept only for sheet annotations and the subcircuit's public boundary ports. +// Every physical component is positioned from the parsed Altium source map. const sheetCoord = (value: number) => value; const horizontalCapacitors = new Set([ @@ -56,316 +75,175 @@ const verticalResistors = new Set([ // PMP11064.Dat is the final fitted BOM from the supplied TI package. It is // authoritative where older TIDRK28 drawing callouts differ (R526 and C530). const capacitors: TwoPinPart[] = [ - { - name: "C100", - value: "2700pF", - footprint: "0603", - x: 5.3, - y: -3.65, - pin1: "net.V20V2", - pin2: "net.OUTPUT_FB_DIV", - }, { name: "C500", value: "1500pF", footprint: "pinrow2_p7.5mm_id1mm_od2mm", - x: -3.2, - y: 6.58, - pin1: "net.V20V1", - pin2: "net.GND1", }, { name: "C501", value: "47pF", footprint: "0402", - x: 6.4, - y: 6.67, - pin1: "net.U500_VD", - pin2: "net.U500_VS", }, { name: "C502", value: "47pF", footprint: "0402", - x: 12.06, - y: 6.67, - pin1: "net.U501_VD", - pin2: "net.U501_VS", }, { name: "C503", value: "0.047uF", footprint: "1210", - x: -6.76, - y: 6.12, - pin1: "net.VBULK", - pin2: "net.GND1", }, { name: "C504", value: "1pF", footprint: "1206", - x: 1.55, - y: 5.85, - pin1: "net.SGND", - pin2: "net.SR2_SNUBBER", dnp: true, }, { name: "C505", value: "0.22uF", footprint: "1206", - x: -9.6, - y: 4.75, - pin1: "net.BOOTSTRAP", - pin2: "net.HB_SW", }, { name: "C506", value: "1uF", footprint: "0603", - x: 7.77, - y: 4.39, - pin1: "net.V5Vs", - pin2: "net.SGND", }, { name: "C507", value: "1uF", footprint: "0603", - x: 13.43, - y: 4.39, - pin1: "net.V5Vs", - pin2: "net.SGND", }, { name: "C508", value: "1uF", footprint: "0805", - x: -14.44, - y: 4.48, - pin1: "net.V12V", - pin2: "net.GND1", }, { name: "C509", value: "1uF", footprint: "0805", - x: -13.71, - y: 4.48, - pin1: "net.V12V", - pin2: "net.GND1", }, { name: "C510", value: "680uF", footprint: "pinrow2_p5mm_id1mm_od2mm", - x: 3.66, - y: 3.87, - pin1: "net.V20V1", - pin2: "net.SGND", }, { name: "C511", value: "680uF", footprint: "pinrow2_p5mm_id1mm_od2mm", - x: 4.57, - y: 3.87, - pin1: "net.V20V1", - pin2: "net.SGND", }, { name: "C512", value: "0.1uF", footprint: "0805", - x: 2.74, - y: -2.1, - pin1: "net.V12Vs", - pin2: "net.SGND", }, { name: "C513", value: "680uF", footprint: "pinrow2_p5mm_id1mm_od2mm", - x: 6.95, - y: 2.35, - pin1: "net.V20V2", - pin2: "net.SGND", }, { name: "C514", value: "220pF", footprint: "0603", - x: -14.07, - y: 2.47, - pin1: "net.V12V", - pin2: "net.GND1", }, { name: "C515", value: "220pF", footprint: "0603", - x: -13.34, - y: 2.47, - pin1: "net.V12V", - pin2: "net.GND1", }, { name: "C516", value: "680uF", footprint: "pinrow2_p5mm_id1mm_od2mm", - x: 7.86, - y: 2.35, - pin1: "net.V20V2", - pin2: "net.SGND", }, { name: "C517", value: "680uF", footprint: "pinrow2_p5mm_id1mm_od2mm", - x: 3.47, - y: 2.17, - pin1: "net.V20V1", - pin2: "net.SGND", }, { name: "C518", value: "680uF", footprint: "pinrow2_p5mm_id1mm_od2mm", - x: 4.39, - y: 2.17, - pin1: "net.V20V1", - pin2: "net.SGND", }, { name: "C519", value: "0.047uF", footprint: "pinrow2_p15mm_id1mm_od2mm", - x: -4.11, - y: 0.91, - pin1: "net.RESONANT_RETURN", - pin2: "net.GND1", }, { name: "C523", value: "0.1uF", footprint: "0805", - x: 8.77, - y: 2.1, - pin1: "net.V20V2", - pin2: "net.SGND", }, { name: "C525", value: "1pF", footprint: "1206", - x: 1.55, - y: 0.37, - pin1: "net.SGND", - pin2: "net.SR1_SNUBBER", dnp: true, }, { name: "C526", value: "100pF", footprint: "1206", - x: -5.76, - y: -0.91, - pin1: "net.STARTUP_HV", - pin2: "net.RESONANT_RETURN", }, { name: "C527", value: "0.47uF", footprint: "0603", - x: -8.59, - y: -1.19, - pin1: "net.CTRL_SS", - pin2: "net.GND1", }, { name: "C528", value: "0.01uF", footprint: "0603", - x: -4.75, - y: -3.38, - pin1: "net.CTRL_FB", - pin2: "net.GND1", }, { name: "C529", value: "100pF", footprint: "0603", - x: 2.65, - y: -3.66, - pin1: "net.FB_REF", - pin2: "net.FB_CATHODE", }, { name: "C530", value: "0.01uF", footprint: "0603", - x: 2.29, - y: -4.39, - pin1: "net.FB_COMP", - pin2: "net.FB_CATHODE", }, { name: "C531", value: "4.7pF", footprint: "0603", - x: 10.24, - y: -4.84, - pin1: "net.CS_IN_MINUS", - pin2: "net.CS_IN_PLUS", dnp: true, }, { name: "C532", value: "0.22uF", footprint: "0805", - x: -8.77, - y: -5.03, - pin1: "net.V12V", - pin2: "net.GND1", }, { name: "C533", value: "1uF", footprint: "0603", - x: -7.31, - y: -5.03, - pin1: "net.CTRL_OC", - pin2: "net.GND1", }, { name: "C534", value: "0.1uF", footprint: "0402", - x: 5.48, - y: -5.39, - pin1: "net.CS_SHARE", - pin2: "net.SGND", dnp: true, }, { name: "C535", value: "0.1uF", footprint: "0402", - x: 6.58, - y: -5.39, - pin1: "net.V5Vs", - pin2: "net.SGND", dnp: true, }, { name: "C536", value: "1uF", footprint: "1206", - x: 0.37, - y: -5.58, - pin1: "net.SGND", - pin2: "net.FB_AUX", }, ]; @@ -374,511 +252,298 @@ const resistors: TwoPinPart[] = [ name: "R500", value: "10ohm", footprint: "0603", - x: 5.85, - y: 6.95, - pin1: "net.U500_VD", - pin2: "net.U500_CLAMP", }, { name: "R501", value: "10ohm", footprint: "0603", - x: 11.52, - y: 6.95, - pin1: "net.U501_VD", - pin2: "net.U501_CLAMP", }, { name: "R502", value: "10ohm", footprint: "0603", - x: 5.85, - y: 6.22, - pin1: "net.U500_VS", - pin2: "net.SGND", }, { name: "R503", value: "10ohm", footprint: "0603", - x: 11.52, - y: 6.22, - pin1: "net.U501_VS", - pin2: "net.SGND", }, { name: "R504", value: "0ohm", footprint: "2010", - x: 0.73, - y: 5.85, - pin1: "net.SR2_SNUBBER", - pin2: "net.VD_SR2", dnp: true, }, { name: "R505", value: "100kohm", footprint: "0603", - x: 6.76, - y: 5.85, - pin1: "net.SGND", - pin2: "net.U500_TON", }, { name: "R506", value: "100kohm", footprint: "0603", - x: 12.43, - y: 5.85, - pin1: "net.SGND", - pin2: "net.U501_TON", }, { name: "R507", value: "3.3ohm", footprint: "1206", - x: -12.25, - y: 5.67, - pin1: "net.V12V", - pin2: "net.BOOT_CHARGE", }, { name: "R508", value: "221kohm", footprint: "0603", - x: 6.76, - y: 5.3, - pin1: "net.SGND", - pin2: "net.U500_EN", }, { name: "R509", value: "221kohm", footprint: "0603", - x: 12.43, - y: 5.3, - pin1: "net.SGND", - pin2: "net.U501_EN", }, { name: "R510", value: "3ohm", footprint: "0603", - x: -8.23, - y: 4.94, - pin1: "net.HO", - pin2: "net.HV_GATE_HIGH", }, { name: "R511", value: "20kohm", footprint: "0805", - x: -6.76, - y: 4.2, - pin1: "net.HV_GATE_HIGH", - pin2: "net.HB_SW", }, { name: "R512", value: "0ohm", footprint: "0603", - x: 1.83, - y: 3.84, - pin1: "net.Q502_GATE", - pin2: "net.VG_SR2", }, { name: "R513", value: "0.01ohm", footprint: "2010", - x: 6.03, - y: 3.11, - pin1: "net.V20V1", - pin2: "net.V20V2", }, { name: "R514", value: "0.01ohm", footprint: "2010", - x: 6.03, - y: 2.56, - pin1: "net.V20V1", - pin2: "net.V20V2", }, { name: "R515", value: "21.5kohm", footprint: "0603", - x: 4.57, - y: -3.66, - pin1: "net.OUTPUT_FB_DIV", - pin2: "net.V20V2", }, { name: "R516", value: "0ohm", footprint: "0603", - x: 1.83, - y: 2.19, - pin1: "net.Q505_GATE", - pin2: "net.VG_SR1", }, { name: "R517", value: "0.01ohm", footprint: "2010", - x: 6.03, - y: 2.01, - pin1: "net.V20V1", - pin2: "net.V20V2", }, { name: "R518", value: "3ohm", footprint: "0603", - x: -8.04, - y: 1.83, - pin1: "net.LO", - pin2: "net.HV_GATE_LOW", }, { name: "R520", value: "0.01ohm", footprint: "2010", - x: 6.03, - y: 1.46, - pin1: "net.V20V1", - pin2: "net.V20V2", }, { name: "R521", value: "20kohm", footprint: "0805", - x: -6.76, - y: 1.28, - pin1: "net.HV_GATE_LOW", - pin2: "net.GND1", }, { name: "R522", value: "0ohm", footprint: "2010", - x: 0.73, - y: 0.37, - pin1: "net.SR1_SNUBBER", - pin2: "net.VD_SR1", dnp: true, }, { name: "R523", value: "10ohm", footprint: "0603", - x: -10.42, - y: -0.73, - pin1: "net.PWM_DISABLE_GATE", - pin2: "net.PWMCNTL1", }, { name: "R524", value: "51ohm", footprint: "0603", - x: -14.99, - y: -0.73, - pin1: "net.GD2_INPUT", - pin2: "net.GD2_DRIVER", }, { name: "R525", value: "1Mohm", footprint: "0603", - x: -9.87, - y: -1.1, - pin1: "net.GND1", - pin2: "net.PWM_DISABLE_GATE", }, { name: "R526", value: "4.99kohm", footprint: "0603", - x: 0.55, - y: -1.46, - pin1: "net.FB_LED_ANODE", - pin2: "net.V12Vs", }, { name: "R527", value: "51ohm", footprint: "0603", - x: -14.44, - y: -1.46, - pin1: "net.GD1_INPUT", - pin2: "net.GD1_DRIVER", }, { name: "R528", value: "10kohm", footprint: "0603", - x: 1.83, - y: -2.38, - pin1: "net.FB_CATHODE", - pin2: "net.V12Vs", }, { name: "R530", value: "15ohm", footprint: "0603", - x: -0.37, - y: -2.56, - pin1: "net.FB_LED_CATHODE", - pin2: "net.FB_CATHODE", }, { name: "R531", value: "511ohm", footprint: "0603", - x: -5.3, - y: -2.74, - pin1: "net.CTRL_RT", - pin2: "net.CTRL_FB", }, { name: "R534", value: "10kohm", footprint: "0603", - x: 3.11, - y: -4.39, - pin1: "net.FB_COMP", - pin2: "net.FB_REF", }, { name: "R535", value: "30.1kohm", footprint: "0603", - x: 4.94, - y: -4.57, - pin1: "net.OUTPUT_FB_DIV", - pin2: "net.CS_SHARE", dnp: true, }, { name: "R536", value: "1kohm", footprint: "0603", - x: 5.85, - y: -4.57, - pin1: "net.CS_SHARE", - pin2: "net.CS_FILTER", dnp: true, }, { name: "R537", value: "15ohm", footprint: "0603", - x: 6.76, - y: -4.57, - pin1: "net.CS_FILTER", - pin2: "net.CS_OUT", dnp: true, }, { name: "R538", value: "10ohm", footprint: "0603", - x: 11.15, - y: -4.57, - pin1: "net.CS_IN_MINUS", - pin2: "net.V20V2", dnp: true, }, { name: "R539", value: "100kohm", footprint: "0402", - x: 1.28, - y: -4.57, - pin1: "net.V12Vs", - pin2: "net.FB_AUX", }, { name: "R540", value: "0ohm", footprint: "0603", - x: 4.02, - y: -4.94, - pin1: "net.FB_REF", - pin2: "net.OUTPUT_FB_DIV", }, { name: "R541", value: "200ohm", footprint: "0603", - x: -8.04, - y: -4.94, - pin1: "net.GND1", - pin2: "net.CTRL_OC", }, { name: "R542", value: "20kohm", footprint: "0603", - x: -6.58, - y: -4.94, - pin1: "net.GND1", - pin2: "net.CTRL_DT", }, { name: "R543", value: "3.4kohm", footprint: "0603", - x: -5.85, - y: -4.94, - pin1: "net.GND1", - pin2: "net.CTRL_RT", }, { name: "R544", value: "10ohm", footprint: "0603", - x: 11.15, - y: -5.12, - pin1: "net.CS_IN_PLUS", - pin2: "net.V20V1", dnp: true, }, { name: "R545", value: "2.49kohm", footprint: "0603", - x: 4.57, - y: -5.48, - pin1: "net.SGND", - pin2: "net.OUTPUT_FB_DIV", }, { name: "R546", value: "1kohm", footprint: "0603", - x: -1.46, - y: -6.22, - pin1: "net.OPTO_AUX_ANODE", - pin2: "net.AUX_ZENER", }, { name: "R547", value: "1kohm", footprint: "0603", - x: -1.46, - y: -7.13, - pin1: "net.SGND", - pin2: "net.OPTO_AUX_ANODE", }, ]; -const standardDiodes = [ +const standardDiodes: StandardDiode[] = [ { name: "D500", mpn: "BAS316,115", footprint: "sod323", - x: 5.48, - y: 7.68, - a: "net.U500_CLAMP", - k: "net.V5Vs", variant: "standard" as const, }, { name: "D501", mpn: "BAS316,115", footprint: "sod323", - x: 11.15, - y: 7.68, - a: "net.U501_CLAMP", - k: "net.V5Vs", variant: "standard" as const, }, { name: "D502", mpn: "MURA160T3G", footprint: "sma", - x: -11.15, - y: 5.67, - a: "net.BOOT_CHARGE", - k: "net.BOOTSTRAP", variant: "standard" as const, }, { name: "D503", mpn: "BAT54HT1G", footprint: "sod323", - x: -8.34, - y: 4.2, - a: "net.HV_GATE_HIGH", - k: "net.HO", variant: "schottky" as const, }, { name: "D504", mpn: "BAT54HT1G", footprint: "sod323", - x: -8.15, - y: 1.1, - a: "net.HV_GATE_LOW", - k: "net.LO", variant: "schottky" as const, }, { name: "D507", mpn: "MMSZ5254B-7-F", footprint: "sod123", - x: -1.46, - y: -5.36, - a: "net.AUX_ZENER", - k: "net.FB_AUX", variant: "zener" as const, }, ]; -const tp = [ - { name: "TP500", x: 10.05, y: 3.55, net: "net.V20V2", color: "#d62828" }, - { name: "TP501", x: 10.05, y: 1.02, net: "net.SGND", color: "#111111" }, - { - name: "TP502", - x: -0.11, - y: -2.01, - net: "net.FB_LED_CATHODE", - color: "#f77f00", - }, +const mosfets: MosfetPart[] = [ + { name: "Q500", mpn: "BSS123", footprint: "sot23" }, + { name: "Q501", mpn: "BSS123", footprint: "sot23" }, + { name: "Q502", mpn: "CSD18532KCS", footprint: "to220" }, { - name: "TP503", - x: -0.11, - y: -2.93, - net: "net.FB_CATHODE", - color: "#fcbf49", + name: "Q503", + mpn: "IPW50R190CE", + footprint: "pinrow3_rows1_p5.45mm_id1.2mm_od2.2mm", }, { - name: "TP504", - x: 6.22, - y: -3.77, - net: "net.CS_FILTER", - color: "#d62828", - dnp: true, - }, - { - name: "TP505", - x: 7.13, - y: -3.77, - net: "net.CS_OUT", - color: "#111111", - dnp: true, + name: "Q504", + mpn: "IPW50R190CE", + footprint: "pinrow3_rows1_p5.45mm_id1.2mm_od2.2mm", }, - { name: "TP506", x: 0.11, y: -5.85, net: "net.SGND", color: "#111111" }, + { name: "Q505", mpn: "CSD18532KCS", footprint: "to220" }, + { name: "Q506", mpn: "2N7002-7-F", footprint: "sot23" }, +]; + +const tp: TestPoint[] = [ + { name: "TP500" }, + { name: "TP501" }, + { name: "TP502" }, + { name: "TP503" }, + { name: "TP504", dnp: true }, + { name: "TP505", dnp: true }, + { name: "TP506" }, ]; -const mosfetPins = { - pin1: ["G", "GATE"], - pin2: ["D", "DRAIN"], - pin3: ["S", "SOURCE"], -} as const; const optocouplerPins = { pin1: ["A", "ANODE"], pin2: ["K", "CATHODE"], @@ -890,14 +555,19 @@ const optocouplerPins = { * PMP11282's complete half-bridge LLC isolated DC/DC sheet (PMP11064 sheet 2). * * Extracted from TI's published Altium design package and checked against - * TIDRK28. The PFC and auxiliary flyback sheets are intentionally excluded. + * TIDRK31. The PFC and auxiliary flyback sheets are intentionally excluded. * Gray/DNP parts are retained because they are explicit tuning options on the * isolated stage's source sheet. * * Reference design: https://www.ti.com/tool/PMP11282 */ export const PMP11282_IsolatedDCDC = (props: SubcircuitProps) => ( - + ( name={c.name} capacitance={c.value} footprint={c.footprint} - schX={sheetCoord(c.x)} - schY={sheetCoord(c.y)} + schX={getPmp11282Placement(c.name).x} + schY={getPmp11282Placement(c.name).y} schOrientation={ horizontalCapacitors.has(c.name) ? "horizontal" : "vertical" } doNotPlace={c.dnp} - connections={{ pin1: c.pin1, pin2: c.pin2 }} /> ))} {resistors.map((r) => ( @@ -935,13 +604,12 @@ export const PMP11282_IsolatedDCDC = (props: SubcircuitProps) => ( name={r.name} resistance={r.value} footprint={r.footprint} - schX={sheetCoord(r.x)} - schY={sheetCoord(r.y)} + schX={getPmp11282Placement(r.name).x} + schY={getPmp11282Placement(r.name).y} schOrientation={ verticalResistors.has(r.name) ? "vertical" : "horizontal" } doNotPlace={r.dnp} - connections={{ pin1: r.pin1, pin2: r.pin2 }} /> ))} {standardDiodes.map((d) => ( @@ -951,14 +619,13 @@ export const PMP11282_IsolatedDCDC = (props: SubcircuitProps) => ( manufacturerPartNumber={d.mpn} footprint={d.footprint} variant={d.variant} - schX={sheetCoord(d.x)} - schY={sheetCoord(d.y)} + schX={getPmp11282Placement(d.name).x} + schY={getPmp11282Placement(d.name).y} schOrientation={ d.name === "D500" || d.name === "D501" || d.name === "D507" ? "vertical" : "horizontal" } - connections={{ anode: d.a, cathode: d.k }} /> ))} @@ -967,125 +634,44 @@ export const PMP11282_IsolatedDCDC = (props: SubcircuitProps) => ( manufacturerPartNumber="BAV99WT1G" footprint="sot323" pinLabels={{ pin1: "A", pin2: "C", pin3: "K" }} - schX={sheetCoord(-6.76)} - schY={sheetCoord(-0.91)} - connections={{ - pin1: "net.GND1", - pin2: "net.STARTUP_HV", - pin3: "net.CTRL_OC", - }} + schX={getPmp11282Placement("D505").x} + schY={getPmp11282Placement("D505").y} /> - - - - - - - + {mosfets.map((q) => ( + + ))} ( pin9: "SEC_19", pin10: "SEC_20", }} - schX={sheetCoord(-2.39)} - schY={sheetCoord(3.11)} + schX={getPmp11282Placement("T500").x} + schY={getPmp11282Placement("T500").y} schWidth="0.4mm" schHeight="2.56mm" schPinArrangement={{ @@ -1120,18 +706,6 @@ export const PMP11282_IsolatedDCDC = (props: SubcircuitProps) => ( pins: [3, 4, 5, 6, 7, 8, 9, 10], }, }} - connections={{ - pin1: "net.RESONANT_RETURN", - pin2: "net.RESONANT_INPUT", - pin3: "net.VD_SR2", - pin4: "net.VD_SR2", - pin5: "net.V20V1", - pin6: "net.V20V1", - pin7: "net.V20V1", - pin8: "net.V20V1", - pin9: "net.VD_SR1", - pin10: "net.VD_SR1", - }} /> ( ( }, rightSide: { direction: "top-to-bottom", pins: [1, 4] }, }} - connections={{ - VD: "net.U500_VD", - VS: "net.U500_VS", - GATE: "net.VG_SR1", - GND: "net.SGND", - VCC: "net.V5Vs", - TON: "net.U500_TON", - EN_TOFF: "net.U500_EN", - }} /> ( }, rightSide: { direction: "top-to-bottom", pins: [1, 4] }, }} - connections={{ - VD: "net.U501_VD", - VS: "net.U501_VS", - GATE: "net.VG_SR2", - GND: "net.SGND", - VCC: "net.V5Vs", - TON: "net.U501_TON", - EN_TOFF: "net.U501_EN", - }} /> ( pins: [13, 12, 11, 6, 5, 3], }, }} - connections={{ - HI: "net.GD2_DRIVER", - LI: "net.GD1_DRIVER", - VSS: "net.GND1", - COM: "net.GND1", - LO: "net.LO", - VDD: "net.V12V", - HS: "net.HB_SW", - HO: "net.HO", - HB: "net.BOOTSTRAP", - }} /> ( pinCount={4} gender="male" pitch="4.2mm" - schX={sheetCoord(10.6)} - schY={sheetCoord(2.29)} + schX={getPmp11282Placement("J500").x} + schY={getPmp11282Placement("J500").y} pinLabels={["20V2", "20V2", "SGND", "SGND"]} - connections={{ - pin1: "net.V20V2", - pin2: "net.V20V2", - pin3: "net.SGND", - pin4: "net.SGND", - }} /> {tp.map((t) => ( ))} - {/* These four long controller runs are continuous wires on the TI sheet. */} - - - - + {pmp11282TraceConnections.map((trace) => ( + + + + ))} { + const center = pmp11282AltiumCenters[name]; + + return { + x: (center.x - sourceSheetOrigin.x) * schematicScale, + y: (center.y - sourceSheetOrigin.y) * schematicScale, + }; +}; diff --git a/lib/subcircuits/__snapshots__/PMP11282_IsolatedDCDC.circuit-schematic.snap.svg b/lib/subcircuits/__snapshots__/PMP11282_IsolatedDCDC.circuit-schematic.snap.svg index 73bda2bf..c64ebf59 100644 --- a/lib/subcircuits/__snapshots__/PMP11282_IsolatedDCDC.circuit-schematic.snap.svg +++ b/lib/subcircuits/__snapshots__/PMP11282_IsolatedDCDC.circuit-schematic.snap.svg @@ -1,4 +1,4 @@ -C5001500pFC50147pFC50247pFC5030.047uFC5041pFC5050.22uFC5061uFC5071uFC5081uFC5091uFC510680uFC511680uFC5120.1uFC513680uFC514220pFC515220pFC516680uFC517680uFC518680uFC5190.047uFC5230.1uFC5251pFC526100pFC5270.47uFC5280.01uFC529100pFC5300.01uFC5314.7pFC5320.22uFC5331uFC5340.1uFC5350.1uFC5361uFR50010ΩR50110ΩR50210ΩR50310ΩR504R505100kΩR506100kΩR5073.3ΩR508221kΩR509221kΩR510R51120kΩR512R51310mΩR51410mΩR51521.5kΩR516R51710mΩR518R52010mΩR52120kΩR522R52310ΩR52451ΩR5251MΩR5264.99kΩR52751ΩR52810kΩR53015ΩR531511ΩR53410kΩR53530.1kΩR5361kΩR53715ΩR53810ΩR539100kΩR540R541200ΩR54220kΩR5433.4kΩR54410ΩR5452.49kΩR5461kΩR5471kΩD500D501D502D503D504D507BAV99WT1GD5051A2C3KBAV99WT1GD5061A2C3KQ500Q501Q502Q503Q504Q505Q506RLTI-1150L5001IN_12IN_23OUT_114OUT_12RLTI-1149T5001PRI_32PRI_43SEC_134SEC_145CT_156CT_167CT_178CT_189SEC_1910SEC_20UCC24610DU5001SYNC2EN_TOFF3TON4VCC5GATE6GND7VS8VDUCC24610DU5011SYNC2EN_TOFF3TON4VCC5GATE6GND7VS8VDUCC27714DU5021HI2LI3VSS4NC_EN5COM6LO7VDD8NC_89NC_910NC_1011HS12HO13HB14NC_14PC817X4NSZ0FU5031A2K3E4CUCC25600DU5041DT2RT3OC4SS5GD26GND7VCC8GD1INA213AIDCKU5051REF2GND3V_PLUS4IN_PLUS5IN_MINUS6OUTTL431BIDBZRU5061K2REF3ALTV-817U5071A2K3E4C24V OUTPUT120V2220V23SGND4SGND782653B04250GH5001MOUNT_12MOUNT_23MOUNT_3513101B02500GH5011MOUNT_12MOUNT_2TP500TP501TP502TP503TP504TP505TP506V20V1U500_VDU500_VSU501_VDU501_VSSGNDC504_pin2U502_HBV5VsV5VsU502_VDDU502_VDDT500_CT_15T500_CT_15V20V2U502_HIU502_LIV20V2T500_CT_15T500_CT_15V20V2C525_pin2D505_KU504_SSU503_CU506_REFC530_pin1U505_IN_MINUSU505_IN_PLUSU504_OCC534_pin1U505_V_PLUSD506_KU500_VDQ500_pin1U501_VDQ501_pin1U500_VSU501_VSC504_pin2VD_SR2U500_TONU501_TONU502_VDDD502_pin2U500_EN_TOFFU501_EN_TOFFQ502_pin3VG_SR2T500_CT_15V20V2T500_CT_15V20V2R515_pin1V20V2Q505_pin3VG_SR1T500_CT_15V20V2T500_CT_15V20V2C525_pin2VD_SR1Q506_pin3U504_GD2U502_HIQ506_pin3U503_AU504_GD1U502_LIC530_pin1U506_REFR515_pin1C534_pin1C534_pin1R536_pin2U505_OUTU505_IN_MINUSV20V2V12VsD506_KU506_REFR515_pin1U504_OCU504_DTU504_RTU505_IN_PLUSV20V1R515_pin1U507_AD507_pin2U507_AV5VsQ500_pin1V5VsQ501_pin1U502_HBD502_pin2V20V2D507_pin2GND1U504_OCV12VsD506_KQ500_pin1V5VsQ501_pin1V5VsVD_SR2SGNDQ502_pin3VD_SR1Q505_pin3Q506_pin3T500_PRI_4T500_PRI_4VD_SR2VD_SR2T500_CT_15T500_CT_15T500_CT_15T500_CT_15VD_SR1VD_SR1V5VsU500_VSU500_VDV5VsU501_VSU501_VDU502_HIU502_LIU502_VDDU502_HBU503_AU503_CU504_DTU504_OCU504_SSU504_GD2U504_GD1U505_V_PLUSU505_IN_PLUSU505_OUTD506_AU506_REFU507_ASGNDGND1U504_RTV20V2V20V2V20V2R536_pin2U505_OUTNotes: L500 and C100 are modified parts.Current sharing control.40uH (modified part)210uH LLC transformer \ No newline at end of file