From 13496b302ccb5612ad3873ca96b7e407fa742408 Mon Sep 17 00:00:00 2001 From: noise Date: Thu, 2 Jul 2026 07:03:31 -0400 Subject: [PATCH] Power stage 4: TPS54202 15V->+3V3_AUX 1A quiet-rail buck (power sheet complete) - TPS54202 SOT-23-6 sync, fixed 500kHz; custom symbol CM5IO:TPS54202 (KiCad lib symbol extends TPS54302 with no own pins, cannot embed standalone) - Abs-max gate: VIN 30V vs SMBJ18A clamp <=29.2V at rated surge (0.8V margin, transient-only) - documented, passed - FB 100k/22.1k + 56pF Cff per TI 3.3V table -> 3.29V (SPICE: vfb 0.597V, inrush settles 3.315V); L 10uH, Cout 2x22uF/16V - EN abs-max 7V -> UVLO divider 866k/110k from VIN_PROT (start 10.13V / stop 8.61V, EN ~1.9V at 15V); no direct VIN tie - Renamed input cap C_IN33A -> C_IN33Aa: SPICE names are case-insensitive and collided with stage-3 C_IN33a, silently skipping the VIN_PROT decoupling sim - Verify: ERC 133->133 zero new; analyzer +65/-0 zero regressions; SPICE 23 pass / 2 benign warn / 0 fail / 0 skip Co-Authored-By: Claude Fable 5 --- PORT_STATUS.md | 27 +-- carrier/CM5IO.kicad_sym | 39 ++++ carrier/Power.kicad_sch | 437 ++++++++++++++++++++++++++++++++++++++++ tools/build_power.py | 53 +++++ 4 files changed, 543 insertions(+), 13 deletions(-) diff --git a/PORT_STATUS.md b/PORT_STATUS.md index 78efabf..eca8cfb 100644 --- a/PORT_STATUS.md +++ b/PORT_STATUS.md @@ -7,22 +7,23 @@ ## ▶ RESUME HERE (session handoff, 2026-07-01) **State:** branch `port/strip-phase`. Sheets in `carrier/`: root `CM5IO`, `CM5_GPIO`, -`CM5_HighSpeed` (reference, stripped), `M2_Ekey` (E-key, done), `Power` (stages 1–3 done). -Baseline anchor: `analysis/baseline/carrier_stripped.json`. +`CM5_HighSpeed` (reference, stripped), `M2_Ekey` (E-key, done), `Power` (**stages 1–4 done — +power sheet complete**). Baseline anchor: `analysis/baseline/carrier_stripped.json`. **Done:** strip phase (microSD/HDMI/MIPI/PCIe-M2); M.2 E-key sheet (PCIe ×1 to CM5); Power stage 1 (LM74700 ideal-diode input protection → `VIN_PROT`); Power stage 2 (LM61460-Q1 -15→`+5v` 5 A sync buck, SPICE-verified 5.02 V); Power stage 3 (LM61460-Q1 15→`+3V3_RF` 4 A, -SPICE-verified 3.32 V; EN ← CM5 `PCIE_PWR_EN`/106 + 100k pull-down like reference R14; E-key -temp PWR_FLAG removed — buck is the sole `+3V3_RF` driver). Current whole-design **ERC = 133** -(all pre-existing types; a good edit adds **zero new**). +15→`+5v` 5 A, SPICE 5.02 V); Power stage 3 (LM61460-Q1 15→`+3V3_RF` 4 A, SPICE 3.32 V; EN ← +CM5 `PCIE_PWR_EN`/106 + 100k pull-down); Power stage 4 (TPS54202 15→`+3V3_AUX` ~1 A, SPICE +3.315 V; UVLO divider start 10.1 V / stop 8.6 V). Current whole-design **ERC = 133** (all +pre-existing types; a good edit adds **zero new**). -**NEXT ACTION → Power Stage 4: `U_BUCK33A` 15→`+3V3_AUX` ~1 A.** Candidate part TPS54202 -(28 V sync) — datasheet-verify first (KiCad has `Regulator_Switching:TPS54202DDC`). One check -that MUST pass: the SMBJ18A clamp (~29 V at rated Ipp) vs the part's VIN abs-max — if the -datasheet says <30 V abs-max, pick a 36 V-class sync part instead (LMR51430/TPS54360-class) -or justify why the surge case is acceptable. FB divider per that part's VREF; SPICE-verify. -`+3V3_AUX` is a NEW net → **global** label. Then the GPS + PPS sheet, then power-budget review. +**NEXT ACTION → GPS + PPS distribution sheet** (last new block, see step 5 below): GPS +connector (PPS + UART + 3V3 + GND, powered from `+3V3_AUX`); PPS → TVS → Schmitt buffer +(LVC1G17 @ 3.3 V) → fan-out: CM5 `Ethernet_SYNC_OUT` (J2 pin-6 net, no translator) + 2 header +taps. Reuse the build_*.py generator pattern (new `tools/build_gps.py` or extend build_power). +UART: decide which CM5 UART pins to use (check `CM5_GPIO` — reserve/label; datasheet is the +authority). After that: whole-power-tree budget review, then hygiene pass (title blocks, refdes +numbering — note generated refs like `J_E`/`J_PWR` trip kicad-cli's "annotation errors" warning). **How to build/verify (every change):** - Sheets are generated wholesale — edit `tools/build_ekey.py` / `tools/build_power.py`, then @@ -133,7 +134,7 @@ Notes that bit us (don't re-learn the hard way): - **Stage 1 — input protection ✅ DONE.** J_PWR(15V) → D_REV `LM74700-Q1` ideal-diode + Q_REV N-FET (reverse-polarity/-current) → `VIN_PROT`; `SMBJ18A` TVS + 100µF/25V ∥ 10µF/50V bulk; C_VCAP charge-pump cap. Netlist-verified topology; ERC 133→133 (zero new); analyzer 0 regressions. **Confirm vs LM74700-Q1 datasheet:** C_VCAP value, EN-to-+15V_IN, FET pick (Vds≥30V, SOA/inrush) + optional gate R. - **Stage 2 — U_BUCK5 15→`+5v` 5A ✅ DONE.** `LM61460-Q1` (6A, 42V absmax sync; **custom symbol built from the datasheet** → `carrier/CM5IO.kicad_sym` as `CM5IO:LM61460-Q1`, fp `Package_SO:Texas_HTSSOP-14-1EP…ThermalVias`). VREF=1.0V → FB divider R_FBT5 40.2k / R_FBB5 10.0k = **5.02V (SPICE-confirmed vfb=1.0V)**. L5 4.7µH, Cout 2×47µF/16V, Cin 2×10µF/50V, Cboot 100n+Rboot 4.7Ω, RT 31.6k(~400kHz), BIAS→+5v, EN→VIN_PROT, PGOOD 100k→+5v. **`+5v` kept HIERARCHICAL** (pre-existing carrier net; global would collide `same_local_global_label`) — Power sheet exposes a `+5v` sheet pin, tied into the root `+5v` net; netlist-verified it drives Module1 + GPIO + USB. ERC 133→133 (zero new); analyzer +32 added **0 regressions**; SPICE 12/13 pass, 1 benign warn (L5/Cboot mis-detected as LC filter). **Confirm vs datasheet:** RT freq, L sat ≥7A, EP=pad15, optional EN UVLO divider. - **Stage 3 — U_BUCK33R 15→`+3V3_RF` 4A ✅ DONE.** Second `LM61460-Q1` (shared BOM with stage 2: L 4.7µH/7A ripple ~1.3A=33%, Cin 2×10µ/50V, Cout 2×47µ/16V, RT 31.6k ~420kHz, Cboot 100n+Rboot 4.7). FB divider R_FBT33 23.2k / R_FBB33 10.0k = **3.32V (SPICE: vfb 0.994V, inrush settles 3.32V)**. BIAS→`+3V3_RF` (datasheet: valid ≥3.1V, auto-falls back to VIN below). **EN ← CM5 `PCIE_PWR_EN`** (Module1 pin 106: NC swapped for a global label on `CM5_HighSpeed`) + **R_EN33 100k pull-down** (mirrors reference R14 — netlist-verified `Module1.106 + U_BUCK33R.7 + R_EN33.1`) so the Wi-Fi rail is OFF until the CM5 asserts it. **E-key temp `#FLG33RF` PWR_FLAG removed** (build_ekey); the buck's PWR_FLAG on L33.2 is now the sole `+3V3_RF` driver — netlist shows buck + all 4 J_E power pins + pull-ups + decoupling on one net. Verify: ERC 133→133 zero new; analyzer +49 added **0 regressions**; SPICE 17 pass / 2 benign warn (the L/C_BOOT "LC filter" mis-detect, once per buck) / 0 fail. (Note: `kicad-cli` netlist export prints a pre-existing "annotation errors" warning — un-numbered generated refdeses like `J_E`/`J_PWR`; present at fd627f5 too, cosmetic.) - - **Stage 4** U_BUCK33A 15→3.3V ~1A → `+3V3_AUX`. SPICE-validate the feedback divider (see NEXT ACTION above for the part-selection gate). + - **Stage 4 — U_BUCK33A 15→`+3V3_AUX` ~1A ✅ DONE (power sheet complete).** `TPS54202` (SOT-23-6, sync, fixed 500kHz, VFB=0.596V). **Abs-max gate PASSED but thin:** VIN abs-max **30V** vs SMBJ18A clamp ≤29.2V at full rated 600W surge → 0.8V transient margin (operating max 28V is not the surge number). Custom symbol `CM5IO:TPS54202` (the KiCad lib symbol `extends TPS54302` — no own pins, can't embed standalone) + bare copy in `carrier/CM5IO.kicad_sym`. FB per TI's 3.3V table row: **100k/22.1k + Cff 56pF → 3.29V (SPICE: vfb 0.597V, inrush settles 3.315V)**. L 10µH/2.5A (ΔI~0.52A), Cout 2×22µF/16V, Cboot 100n, Cin 10µF/50V+100n. **EN abs-max is only 7V → NO direct VIN tie** (unlike LM61460): UVLO divider **866k/110k** (solved from Ip=0.7µA/Ih=1.55µA, VEN 1.21/1.19V) → **start 10.13V / stop 8.61V**, EN ~1.9V at 15V in (~3.5V at 29V clamp — safe). FB+EN pins typed `passive` (divider-only nets). Verify: ERC 133→133 zero new; analyzer +65/−0 zero regressions (warn/error set identical to stage 3); SPICE 23 pass / 2 benign warn / 0 fail / 0 skip. **New tooling gap found:** `simulate_subcircuits.py` lowercases refdeses into SPICE names — `C_IN33A` vs stage-3 `C_IN33a` collided ("device already exists") and silently SKIPPED the whole VIN_PROT decoupling group → renamed to `C_IN33Aa`. Rule: **never create refdeses differing only by case.** 5. **GPS + PPS distribution**: GPS connector (PPS+UART+3V3+GND); PPS → TVS → Schmitt (LVC1G17) → fan-out: CM5 `Ethernet_SYNC_OUT` (J2 pin-6 net, 3.3V, no translator) + 2 header taps. SPICE/timing check. diff --git a/carrier/CM5IO.kicad_sym b/carrier/CM5IO.kicad_sym index ced9c27..877d44f 100644 --- a/carrier/CM5IO.kicad_sym +++ b/carrier/CM5IO.kicad_sym @@ -10292,4 +10292,43 @@ ) ) ) + (symbol "TPS54202" + (pin_names (offset 1.016)) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "U" (at 0 12.7 0) (effects (font (size 1.27 1.27)))) + (property "Value" "TPS54202" (at 0 -16.51 0) (effects (font (size 1.27 1.27)))) + (property "Footprint" "Package_TO_SOT_SMD:SOT-23-6" (at 0 0 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Datasheet" "https://www.ti.com/lit/ds/symlink/tps54202.pdf" (at 0 0 0) (effects (font (size 1.27 1.27)) (hide yes))) + (symbol "TPS54202_0_1" + (rectangle (start -10.16 10.16) (end 10.16 -10.16) (stroke (width 0.254) (type default)) (fill (type background))) + ) + (symbol "TPS54202_1_1" + (pin power_in line (at -13.97 5.08 0) (length 3.81) + (name "VIN" (effects (font (size 1.27 1.27)))) + (number "3" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -13.97 0 0) (length 3.81) + (name "EN" (effects (font (size 1.27 1.27)))) + (number "5" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 13.97 5.08 180) (length 3.81) + (name "BOOT" (effects (font (size 1.27 1.27)))) + (number "6" (effects (font (size 1.27 1.27)))) + ) + (pin output line (at 13.97 2.54 180) (length 3.81) + (name "SW" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 13.97 -2.54 180) (length 3.81) + (name "FB" (effects (font (size 1.27 1.27)))) + (number "4" (effects (font (size 1.27 1.27)))) + ) + (pin power_in line (at 0 -13.97 90) (length 3.81) + (name "GND" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + ) + ) ) diff --git a/carrier/Power.kicad_sch b/carrier/Power.kicad_sch index d083f93..f29c18e 100644 --- a/carrier/Power.kicad_sch +++ b/carrier/Power.kicad_sch @@ -774,6 +774,45 @@ ) ) ) + (symbol "CM5IO:TPS54202" + (pin_names (offset 1.016)) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "U" (at 0 12.7 0) (effects (font (size 1.27 1.27)))) + (property "Value" "TPS54202" (at 0 -16.51 0) (effects (font (size 1.27 1.27)))) + (property "Footprint" "Package_TO_SOT_SMD:SOT-23-6" (at 0 0 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Datasheet" "https://www.ti.com/lit/ds/symlink/tps54202.pdf" (at 0 0 0) (effects (font (size 1.27 1.27)) (hide yes))) + (symbol "TPS54202_0_1" + (rectangle (start -10.16 10.16) (end 10.16 -10.16) (stroke (width 0.254) (type default)) (fill (type background))) + ) + (symbol "TPS54202_1_1" + (pin power_in line (at -13.97 5.08 0) (length 3.81) + (name "VIN" (effects (font (size 1.27 1.27)))) + (number "3" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -13.97 0 0) (length 3.81) + (name "EN" (effects (font (size 1.27 1.27)))) + (number "5" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 13.97 5.08 180) (length 3.81) + (name "BOOT" (effects (font (size 1.27 1.27)))) + (number "6" (effects (font (size 1.27 1.27)))) + ) + (pin output line (at 13.97 2.54 180) (length 3.81) + (name "SW" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 13.97 -2.54 180) (length 3.81) + (name "FB" (effects (font (size 1.27 1.27)))) + (number "4" (effects (font (size 1.27 1.27)))) + ) + (pin power_in line (at 0 -13.97 90) (length 3.81) + (name "GND" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + ) + ) (symbol "power:PWR_FLAG" (power global) (pin_numbers @@ -3103,6 +3142,404 @@ (pin "1" (uuid "0e8e4211-812c-5f32-b112-8a33a94d41da")) (instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/9c7ccf72-dd3e-5ed3-bb43-2939833eb069" (reference "#FLGP33R") (unit 1)))) ) + (symbol + (lib_id "CM5IO:TPS54202") + (at 229.87 95.25 0) + (unit 1) + (exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no) + (uuid "bcb1bcf7-ac31-569a-a674-9f94c9703dac") + (property "Reference" "U_BUCK33A" (at 232.41 94.25 0) (effects (font (size 1.27 1.27)) (justify left))) + (property "Value" "TPS54202" (at 232.41 96.25 0) (effects (font (size 1.27 1.27)) (justify left))) + (property "Footprint" "Package_TO_SOT_SMD:SOT-23-6" (at 229.87 95.25 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Datasheet" "" (at 229.87 95.25 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Description" "" (at 229.87 95.25 0) (effects (font (size 1.27 1.27)) (hide yes))) + (pin "1" (uuid "48b67060-c84f-512b-8bc0-14cfad59f4c7")) + (pin "2" (uuid "429d637b-8f51-5c8f-8ece-e592cede69e9")) + (pin "3" (uuid "6ff5cf48-ac5c-5483-9247-8a2927de9f12")) + (pin "4" (uuid "7a1e657a-8fb4-5ff3-a034-96f317805e7b")) + (pin "5" (uuid "69e77574-0386-5150-85ec-b01af04dca2c")) + (pin "6" (uuid "ed54c0cd-d592-5fec-b4a7-bf98d42de04f")) + (instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/9c7ccf72-dd3e-5ed3-bb43-2939833eb069" (reference "U_BUCK33A") (unit 1)))) + ) + (label "VIN_PROT" + (at 215.9 90.17 0) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid "106a8439-e939-5f4c-b4da-3f45fcf59653") + ) + (label "EN33A" + (at 215.9 95.25 0) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid "e2b22c33-cf3c-5a45-bbe0-20fd5aa71f87") + ) + (label "BOOT33A" + (at 243.84 90.17 0) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid "c2778836-623f-5272-822f-fc533622f9d4") + ) + (label "SW33A" + (at 243.84 92.71 0) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid "da41e65b-9775-5280-a4fc-56c11fa196f9") + ) + (label "FB33A" + (at 243.84 97.79 0) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid "89ecd1c1-4867-59af-9771-60398b4ad22a") + ) + (symbol + (lib_id "power:GND") + (at 229.87 109.22 0) + (unit 1) + (exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no) + (uuid "06f6e904-1d8a-5f79-9ddf-b429d3801b9a") + (property "Reference" "#PWRU_BUCK33A1" (at 229.87 112.22 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Value" "GND" (at 229.87 111.22 0) (effects (font (size 1.27 1.27)))) + (property "Footprint" "" (at 229.87 109.22 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Datasheet" "" (at 229.87 109.22 0) (effects (font (size 1.27 1.27)) (hide yes))) + (pin "1" (uuid "5008652d-fac9-53a4-a3ed-22eb21255794")) + (instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/9c7ccf72-dd3e-5ed3-bb43-2939833eb069" (reference "#PWRU_BUCK33A1") (unit 1)))) + ) + (symbol + (lib_id "Device:L") + (at 260.35 85.09 0) + (unit 1) + (exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no) + (uuid "f145f0a8-96ff-5d91-883b-79805273a99f") + (property "Reference" "L33A" (at 262.89000000000004 84.09 0) (effects (font (size 1.27 1.27)) (justify left))) + (property "Value" "10uH/2.5A" (at 262.89000000000004 86.09 0) (effects (font (size 1.27 1.27)) (justify left))) + (property "Footprint" "Inductor_SMD:L_1210_3225Metric" (at 260.35 85.09 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Datasheet" "" (at 260.35 85.09 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Description" "" (at 260.35 85.09 0) (effects (font (size 1.27 1.27)) (hide yes))) + (pin "1" (uuid "c2275773-6b08-5868-bc6e-856ff131c4ec")) + (pin "2" (uuid "463c9eeb-cb05-56c6-8b5d-a60f0f5bf1f1")) + (instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/9c7ccf72-dd3e-5ed3-bb43-2939833eb069" (reference "L33A") (unit 1)))) + ) + (label "SW33A" + (at 260.35 81.28 0) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid "f46d0320-58ab-5449-b457-784cab3c4844") + ) + (global_label "+3V3_AUX" + (shape input) + (at 260.35 88.9 0) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid "1ff25529-a837-5bc5-9040-9491a9a78ec6") + ) + (symbol + (lib_id "Device:C") + (at 250.19 77.47 0) + (unit 1) + (exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no) + (uuid "b775dbe7-0211-5d68-9b5e-675d69679f9a") + (property "Reference" "C_BOOT33A" (at 252.73 76.47 0) (effects (font (size 1.27 1.27)) (justify left))) + (property "Value" "100n" (at 252.73 78.47 0) (effects (font (size 1.27 1.27)) (justify left))) + (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 250.19 77.47 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Datasheet" "" (at 250.19 77.47 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Description" "" (at 250.19 77.47 0) (effects (font (size 1.27 1.27)) (hide yes))) + (pin "1" (uuid "0cf25043-1b43-5565-845b-bc9feb2831fe")) + (pin "2" (uuid "a0d47fd1-35dc-5342-b9cb-ddbed0659264")) + (instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/9c7ccf72-dd3e-5ed3-bb43-2939833eb069" (reference "C_BOOT33A") (unit 1)))) + ) + (label "SW33A" + (at 250.19 73.66 0) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid "d4937d6f-9fe8-5bfa-8cbf-12979786bd7e") + ) + (label "BOOT33A" + (at 250.19 81.28 0) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid "f0108a4a-7cad-5f3a-b73b-8299e132f327") + ) + (symbol + (lib_id "Device:R") + (at 204.47 85.09 0) + (unit 1) + (exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no) + (uuid "653bb11e-6db2-52cb-bc14-22a3d4b19724") + (property "Reference" "R_UVT33A" (at 207.01 84.09 0) (effects (font (size 1.27 1.27)) (justify left))) + (property "Value" "866k" (at 207.01 86.09 0) (effects (font (size 1.27 1.27)) (justify left))) + (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 204.47 85.09 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Datasheet" "" (at 204.47 85.09 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Description" "" (at 204.47 85.09 0) (effects (font (size 1.27 1.27)) (hide yes))) + (pin "1" (uuid "057d8e09-c60c-5fde-8bfb-ac12fe39d80f")) + (pin "2" (uuid "1c5f8e9b-8f01-50b1-b224-e34a8ec7681d")) + (instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/9c7ccf72-dd3e-5ed3-bb43-2939833eb069" (reference "R_UVT33A") (unit 1)))) + ) + (label "VIN_PROT" + (at 204.47 81.28 0) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid "b42de72a-aa08-59ff-90ef-bd3135e6d56c") + ) + (label "EN33A" + (at 204.47 88.9 0) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid "f18d2e7a-81c7-5d0e-b64f-5ff4c8185abd") + ) + (symbol + (lib_id "Device:R") + (at 204.47 95.25 0) + (unit 1) + (exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no) + (uuid "f0af6e3e-e764-5d27-9d5f-eb46bc52f550") + (property "Reference" "R_UVB33A" (at 207.01 94.25 0) (effects (font (size 1.27 1.27)) (justify left))) + (property "Value" "110k" (at 207.01 96.25 0) (effects (font (size 1.27 1.27)) (justify left))) + (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 204.47 95.25 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Datasheet" "" (at 204.47 95.25 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Description" "" (at 204.47 95.25 0) (effects (font (size 1.27 1.27)) (hide yes))) + (pin "1" (uuid "a737be2a-0156-5b3a-b011-38e04802e6fe")) + (pin "2" (uuid "568a2a77-880d-5429-9968-2049a51a61fc")) + (instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/9c7ccf72-dd3e-5ed3-bb43-2939833eb069" (reference "R_UVB33A") (unit 1)))) + ) + (label "EN33A" + (at 204.47 91.44 0) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid "13c055a7-4fb3-5d8b-8813-51ac86c4b0ba") + ) + (symbol + (lib_id "power:GND") + (at 204.47 99.06 0) + (unit 1) + (exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no) + (uuid "f3ffe656-ee72-51a3-b52d-4649627d30a6") + (property "Reference" "#PWRR_UVB33A2" (at 204.47 102.06 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Value" "GND" (at 204.47 101.06 0) (effects (font (size 1.27 1.27)))) + (property "Footprint" "" (at 204.47 99.06 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Datasheet" "" (at 204.47 99.06 0) (effects (font (size 1.27 1.27)) (hide yes))) + (pin "1" (uuid "d3500078-563d-5e81-ae3c-f121c1712c29")) + (instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/9c7ccf72-dd3e-5ed3-bb43-2939833eb069" (reference "#PWRR_UVB33A2") (unit 1)))) + ) + (symbol + (lib_id "Device:R") + (at 279.4 95.25 0) + (unit 1) + (exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no) + (uuid "d226f3ff-0bda-51a1-8304-81f3a113bcf4") + (property "Reference" "R_FBT33A" (at 281.94 94.25 0) (effects (font (size 1.27 1.27)) (justify left))) + (property "Value" "100k" (at 281.94 96.25 0) (effects (font (size 1.27 1.27)) (justify left))) + (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 279.4 95.25 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Datasheet" "" (at 279.4 95.25 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Description" "" (at 279.4 95.25 0) (effects (font (size 1.27 1.27)) (hide yes))) + (pin "1" (uuid "dc27bb37-64d5-568e-9495-e78f26f46302")) + (pin "2" (uuid "0fab2b92-3738-5a17-825e-5c551d23c289")) + (instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/9c7ccf72-dd3e-5ed3-bb43-2939833eb069" (reference "R_FBT33A") (unit 1)))) + ) + (global_label "+3V3_AUX" + (shape input) + (at 279.4 91.44 0) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid "ca638867-65fb-529b-aa0e-9ef0aaf7e883") + ) + (label "FB33A" + (at 279.4 99.06 0) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid "4e6da2af-7dd8-57d0-bb20-2e167c03e2bc") + ) + (symbol + (lib_id "Device:C") + (at 288.29 95.25 0) + (unit 1) + (exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no) + (uuid "d37665e2-9e2e-5713-b75a-1b3f241ac9f8") + (property "Reference" "C_FF33A" (at 290.83000000000004 94.25 0) (effects (font (size 1.27 1.27)) (justify left))) + (property "Value" "56p" (at 290.83000000000004 96.25 0) (effects (font (size 1.27 1.27)) (justify left))) + (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 288.29 95.25 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Datasheet" "" (at 288.29 95.25 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Description" "" (at 288.29 95.25 0) (effects (font (size 1.27 1.27)) (hide yes))) + (pin "1" (uuid "fe9a059f-792a-5538-bb79-c55fbbf287d2")) + (pin "2" (uuid "c0ce8bbd-6036-54ac-9d0a-86d0b0394d1e")) + (instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/9c7ccf72-dd3e-5ed3-bb43-2939833eb069" (reference "C_FF33A") (unit 1)))) + ) + (global_label "+3V3_AUX" + (shape input) + (at 288.29 91.44 0) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid "531bfd8d-a987-5726-ba7a-853952078d49") + ) + (label "FB33A" + (at 288.29 99.06 0) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid "243a3d12-3e39-55fc-8793-25704efd4e8f") + ) + (symbol + (lib_id "Device:R") + (at 279.4 105.41 0) + (unit 1) + (exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no) + (uuid "30655460-5ace-56a7-98f3-a0402bce8c0e") + (property "Reference" "R_FBB33A" (at 281.94 104.41 0) (effects (font (size 1.27 1.27)) (justify left))) + (property "Value" "22.1k" (at 281.94 106.41 0) (effects (font (size 1.27 1.27)) (justify left))) + (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 279.4 105.41 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Datasheet" "" (at 279.4 105.41 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Description" "" (at 279.4 105.41 0) (effects (font (size 1.27 1.27)) (hide yes))) + (pin "1" (uuid "87e0af16-a234-5736-ba4a-177539ce422a")) + (pin "2" (uuid "a3ce5bad-e658-518d-baf3-3f3ee902dfb7")) + (instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/9c7ccf72-dd3e-5ed3-bb43-2939833eb069" (reference "R_FBB33A") (unit 1)))) + ) + (label "FB33A" + (at 279.4 101.6 0) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid "5af1a4d8-d777-5cad-a754-81b913cf5774") + ) + (symbol + (lib_id "power:GND") + (at 279.4 109.22 0) + (unit 1) + (exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no) + (uuid "7ccfc617-9b0b-57c5-a6e1-1ea51a95b0af") + (property "Reference" "#PWRR_FBB33A2" (at 279.4 112.22 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Value" "GND" (at 279.4 111.22 0) (effects (font (size 1.27 1.27)))) + (property "Footprint" "" (at 279.4 109.22 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Datasheet" "" (at 279.4 109.22 0) (effects (font (size 1.27 1.27)) (hide yes))) + (pin "1" (uuid "8752f2e1-7d1e-5561-9928-39069c815725")) + (instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/9c7ccf72-dd3e-5ed3-bb43-2939833eb069" (reference "#PWRR_FBB33A2") (unit 1)))) + ) + (symbol + (lib_id "Device:C") + (at 214.63 105.41 0) + (unit 1) + (exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no) + (uuid "a5d2300d-429d-59a4-824d-a80eea87eb87") + (property "Reference" "C_IN33Aa" (at 217.17 104.41 0) (effects (font (size 1.27 1.27)) (justify left))) + (property "Value" "10u/50V" (at 217.17 106.41 0) (effects (font (size 1.27 1.27)) (justify left))) + (property "Footprint" "Capacitor_SMD:C_1210_3225Metric" (at 214.63 105.41 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Datasheet" "" (at 214.63 105.41 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Description" "" (at 214.63 105.41 0) (effects (font (size 1.27 1.27)) (hide yes))) + (pin "1" (uuid "ba18bf80-f23f-530a-9b35-14d5be1afde0")) + (pin "2" (uuid "bf6948d6-6798-50c3-a335-37b32c17eb3e")) + (instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/9c7ccf72-dd3e-5ed3-bb43-2939833eb069" (reference "C_IN33Aa") (unit 1)))) + ) + (label "VIN_PROT" + (at 214.63 101.6 0) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid "d599db3b-6a76-54bb-bb7c-fc4259dfa5b8") + ) + (symbol + (lib_id "power:GND") + (at 214.63 109.22 0) + (unit 1) + (exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no) + (uuid "79d7b6a7-03ee-5ce2-8242-3a404d6a504f") + (property "Reference" "#PWRC_IN33Aa2" (at 214.63 112.22 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Value" "GND" (at 214.63 111.22 0) (effects (font (size 1.27 1.27)))) + (property "Footprint" "" (at 214.63 109.22 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Datasheet" "" (at 214.63 109.22 0) (effects (font (size 1.27 1.27)) (hide yes))) + (pin "1" (uuid "adad279f-adb9-542c-a0f9-78ad1a954249")) + (instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/9c7ccf72-dd3e-5ed3-bb43-2939833eb069" (reference "#PWRC_IN33Aa2") (unit 1)))) + ) + (symbol + (lib_id "Device:C") + (at 219.71 105.41 0) + (unit 1) + (exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no) + (uuid "4f75026e-b0a4-5b98-8717-697ba30ed6b4") + (property "Reference" "C_INHF33A" (at 222.25 104.41 0) (effects (font (size 1.27 1.27)) (justify left))) + (property "Value" "100n" (at 222.25 106.41 0) (effects (font (size 1.27 1.27)) (justify left))) + (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 219.71 105.41 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Datasheet" "" (at 219.71 105.41 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Description" "" (at 219.71 105.41 0) (effects (font (size 1.27 1.27)) (hide yes))) + (pin "1" (uuid "eee9b3ec-4a3b-552d-83c6-a69a13396f8a")) + (pin "2" (uuid "d5ecad15-2ed8-567d-9a53-2cb3e3684b81")) + (instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/9c7ccf72-dd3e-5ed3-bb43-2939833eb069" (reference "C_INHF33A") (unit 1)))) + ) + (label "VIN_PROT" + (at 219.71 101.6 0) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid "9a36164f-a12f-5865-b9d7-c990118f23c7") + ) + (symbol + (lib_id "power:GND") + (at 219.71 109.22 0) + (unit 1) + (exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no) + (uuid "bb7dea24-fa6b-5327-bcbb-e7721a193c47") + (property "Reference" "#PWRC_INHF33A2" (at 219.71 112.22 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Value" "GND" (at 219.71 111.22 0) (effects (font (size 1.27 1.27)))) + (property "Footprint" "" (at 219.71 109.22 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Datasheet" "" (at 219.71 109.22 0) (effects (font (size 1.27 1.27)) (hide yes))) + (pin "1" (uuid "0f8a141f-2c65-5eaf-8581-c76ab630fc05")) + (instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/9c7ccf72-dd3e-5ed3-bb43-2939833eb069" (reference "#PWRC_INHF33A2") (unit 1)))) + ) + (symbol + (lib_id "Device:C") + (at 265.43 105.41 0) + (unit 1) + (exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no) + (uuid "61dfa960-f395-5e8b-ae5e-9d2c280a2cdb") + (property "Reference" "C_OUT33Aa" (at 267.97 104.41 0) (effects (font (size 1.27 1.27)) (justify left))) + (property "Value" "22u/16V" (at 267.97 106.41 0) (effects (font (size 1.27 1.27)) (justify left))) + (property "Footprint" "Capacitor_SMD:C_1210_3225Metric" (at 265.43 105.41 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Datasheet" "" (at 265.43 105.41 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Description" "" (at 265.43 105.41 0) (effects (font (size 1.27 1.27)) (hide yes))) + (pin "1" (uuid "cc2ef03f-b586-58e5-96f8-c349200d1d14")) + (pin "2" (uuid "8e32f7a8-5e8e-5afd-b5c9-84c7355729e5")) + (instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/9c7ccf72-dd3e-5ed3-bb43-2939833eb069" (reference "C_OUT33Aa") (unit 1)))) + ) + (global_label "+3V3_AUX" + (shape input) + (at 265.43 101.6 0) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid "9fb84ef9-4830-5128-b9fa-3052bd7774b6") + ) + (symbol + (lib_id "power:GND") + (at 265.43 109.22 0) + (unit 1) + (exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no) + (uuid "66ef2035-91f7-5153-b1e7-0ec188ad13ee") + (property "Reference" "#PWRC_OUT33Aa2" (at 265.43 112.22 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Value" "GND" (at 265.43 111.22 0) (effects (font (size 1.27 1.27)))) + (property "Footprint" "" (at 265.43 109.22 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Datasheet" "" (at 265.43 109.22 0) (effects (font (size 1.27 1.27)) (hide yes))) + (pin "1" (uuid "dca83d7d-4de6-5ce9-9722-1d9c90275163")) + (instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/9c7ccf72-dd3e-5ed3-bb43-2939833eb069" (reference "#PWRC_OUT33Aa2") (unit 1)))) + ) + (symbol + (lib_id "Device:C") + (at 270.51 105.41 0) + (unit 1) + (exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no) + (uuid "9c2a60f9-60b4-5330-9ffd-584ba7f0984c") + (property "Reference" "C_OUT33Ab" (at 273.05 104.41 0) (effects (font (size 1.27 1.27)) (justify left))) + (property "Value" "22u/16V" (at 273.05 106.41 0) (effects (font (size 1.27 1.27)) (justify left))) + (property "Footprint" "Capacitor_SMD:C_1210_3225Metric" (at 270.51 105.41 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Datasheet" "" (at 270.51 105.41 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Description" "" (at 270.51 105.41 0) (effects (font (size 1.27 1.27)) (hide yes))) + (pin "1" (uuid "d06dc6ef-ce25-5bae-9cbb-bdfb92346bc0")) + (pin "2" (uuid "7e96e8b3-399e-5df6-8b21-48a4d49919e2")) + (instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/9c7ccf72-dd3e-5ed3-bb43-2939833eb069" (reference "C_OUT33Ab") (unit 1)))) + ) + (global_label "+3V3_AUX" + (shape input) + (at 270.51 101.6 0) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid "0b1a1624-fe39-57f2-bcbd-162834df2890") + ) + (symbol + (lib_id "power:GND") + (at 270.51 109.22 0) + (unit 1) + (exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no) + (uuid "1d95991b-c59e-55d2-9f60-d5e94f765c6d") + (property "Reference" "#PWRC_OUT33Ab2" (at 270.51 112.22 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Value" "GND" (at 270.51 111.22 0) (effects (font (size 1.27 1.27)))) + (property "Footprint" "" (at 270.51 109.22 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Datasheet" "" (at 270.51 109.22 0) (effects (font (size 1.27 1.27)) (hide yes))) + (pin "1" (uuid "3f30ab32-afb1-5085-964a-aed0fc3c9f3f")) + (instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/9c7ccf72-dd3e-5ed3-bb43-2939833eb069" (reference "#PWRC_OUT33Ab2") (unit 1)))) + ) + (symbol + (lib_id "power:PWR_FLAG") + (at 260.35 88.9 0) + (unit 1) + (exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no) + (uuid "5d652b25-0204-5896-8eaa-7e5679be844a") + (property "Reference" "#FLGP33A" (at 260.35 85.9 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Value" "PWR_FLAG" (at 260.35 86.9 0) (effects (font (size 1.27 1.27)))) + (property "Footprint" "" (at 260.35 88.9 0) (effects (font (size 1.27 1.27)) (hide yes))) + (property "Datasheet" "" (at 260.35 88.9 0) (effects (font (size 1.27 1.27)) (hide yes))) + (pin "1" (uuid "cc889646-749d-5056-b5d8-bfe173b0f46e")) + (instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/9c7ccf72-dd3e-5ed3-bb43-2939833eb069" (reference "#FLGP33A") (unit 1)))) + ) (sheet_instances (path "/" (page "5") diff --git a/tools/build_power.py b/tools/build_power.py index 41fa790..47b8fa8 100644 --- a/tools/build_power.py +++ b/tools/build_power.py @@ -98,6 +98,32 @@ def register_lm61460(): f'\t\t(symbol "LM61460-Q1_1_1"\n{pt}\t\t)\n\t)') LIBS["CM5IO:LM61460-Q1"] = (blk, lib_pins(blk)) register_lm61460() + +def register_tps54202(): + """Hand-authored lib_symbol for TPS54202 (SOT-23-6), from the datasheet pin table + (SLVSD26C): GND=1, SW=2, VIN=3, FB=4, EN=5, BOOT=6. VFB=0.596V, VIN abs-max 30V, + fixed 500kHz. The KiCad lib symbol extends TPS54302 (no own pins) so it can't be + embedded standalone. FB/EN typed passive: both are high-Z sense pins on + resistor-divider-only nets (else ERC/analyzer flag no_driver).""" + P = [('3','VIN','power_in',-13.97,5.08,0), ('5','EN','passive',-13.97,0,0), + ('6','BOOT','passive',13.97,5.08,180), ('2','SW','output',13.97,2.54,180), + ('4','FB','passive',13.97,-2.54,180), ('1','GND','power_in',0,-13.97,90)] + pt = "" + for num, name, ty, lx, ly, ang in P: + pt += (f'\t\t\t(pin {ty} line (at {lx} {ly} {ang}) (length 3.81)\n' + f'\t\t\t\t(name "{name}" (effects (font (size 1.27 1.27))))\n' + f'\t\t\t\t(number "{num}" (effects (font (size 1.27 1.27))))\n\t\t\t)\n') + blk = ('\t(symbol "CM5IO:TPS54202"\n\t\t(pin_names (offset 1.016))\n' + '\t\t(exclude_from_sim no)\n\t\t(in_bom yes)\n\t\t(on_board yes)\n' + '\t\t(property "Reference" "U" (at 0 12.7 0) (effects (font (size 1.27 1.27))))\n' + '\t\t(property "Value" "TPS54202" (at 0 -16.51 0) (effects (font (size 1.27 1.27))))\n' + '\t\t(property "Footprint" "Package_TO_SOT_SMD:SOT-23-6" (at 0 0 0) (effects (font (size 1.27 1.27)) (hide yes)))\n' + '\t\t(property "Datasheet" "https://www.ti.com/lit/ds/symlink/tps54202.pdf" (at 0 0 0) (effects (font (size 1.27 1.27)) (hide yes)))\n' + '\t\t(symbol "TPS54202_0_1"\n' + '\t\t\t(rectangle (start -10.16 10.16) (end 10.16 -10.16) (stroke (width 0.254) (type default)) (fill (type background)))\n\t\t)\n' + f'\t\t(symbol "TPS54202_1_1"\n{pt}\t\t)\n\t)') + LIBS["CM5IO:TPS54202"] = (blk, lib_pins(blk)) +register_tps54202() # +5v pre-exists in the carrier as a HIERARCHICAL net (local + hierarchical labels on the CM5 # sheets) -> expose it hierarchically here (a global label collides: same_local_global_label). # +3V3_RF/+3V3_AUX are new nets introduced by this port -> global is fine. @@ -233,6 +259,33 @@ place("Device:C", "C_OUT33b", "47u/16V", "Capacitor_SMD:C_1210_3225Metric", 245, # +3V3_RF is now sourced by this buck -> PWR_FLAG on L33 pin2 (replaces the E-key temp flag) p33x, p33y = pin_abs(l33, "Device:L", "2"); emit_flag(p33x, p33y, "P33R") +# ---- STAGE 4: U_BUCK33A 15V -> +3V3_AUX ~1A (TPS54202, sync, 500kHz fixed) ------ +# Quiet rail: GPS + PPS Schmitt buffer + IO pull-ups + RTC domain (design doc ~1A). +# Abs-max gate PASSED (thin): VIN abs-max 30V vs SMBJ18A clamp <=29.2V at full rated +# 600W surge (0.8V margin, transient-only; 28V operating max is not the surge number). +# FB per TI's 3.3V table row: R2=100k/R3=22.1k + Cff 56pF -> 0.596*(1+100/22.1)=3.29V. +# L=10uH (dI~0.52A, Ipk~1.26A), Cout 2x22uF. EN abs-max is 7V -> NO direct VIN tie; +# UVLO divider 866k/110k (Ip=0.7uA/Ih=1.55uA, Ven 1.21/1.19V) -> start 10.1V/stop 8.6V, +# EN sits ~1.9V at 15V in (~3.5V at 29V surge clamp, still < 7V abs-max). +place("CM5IO:TPS54202", "U_BUCK33A", "TPS54202", "Package_TO_SOT_SMD:SOT-23-6", + 230, 95, {'3': 'VIN_PROT', '5': 'EN33A', '6': 'BOOT33A', '2': 'SW33A', + '4': 'FB33A', '1': GND}) +l33a = place("Device:L", "L33A", "10uH/2.5A", "Inductor_SMD:L_1210_3225Metric", 260, 85, {'1': 'SW33A', '2': '+3V3_AUX'}) +place("Device:C", "C_BOOT33A", "100n", "Capacitor_SMD:C_0402_1005Metric", 250, 78, {'1': 'SW33A', '2': 'BOOT33A'}) +place("Device:R", "R_UVT33A", "866k", "Resistor_SMD:R_0402_1005Metric", 205, 85, {'1': 'VIN_PROT', '2': 'EN33A'}) +place("Device:R", "R_UVB33A", "110k", "Resistor_SMD:R_0402_1005Metric", 205, 95, {'1': 'EN33A', '2': GND}) +place("Device:R", "R_FBT33A", "100k", "Resistor_SMD:R_0402_1005Metric", 280, 95, {'1': '+3V3_AUX', '2': 'FB33A'}) +place("Device:C", "C_FF33A", "56p", "Capacitor_SMD:C_0402_1005Metric", 288, 95, {'1': '+3V3_AUX', '2': 'FB33A'}) +place("Device:R", "R_FBB33A", "22.1k", "Resistor_SMD:R_0402_1005Metric", 280, 105, {'1': 'FB33A', '2': GND}) +# NB refdes must not differ from stage-3's C_IN33a by case alone — SPICE names are +# case-insensitive and the simulate_subcircuits testbench collides ("device already exists"). +place("Device:C", "C_IN33Aa", "10u/50V", "Capacitor_SMD:C_1210_3225Metric", 215, 105, {'1': 'VIN_PROT', '2': GND}) +place("Device:C", "C_INHF33A", "100n", "Capacitor_SMD:C_0402_1005Metric", 220, 105, {'1': 'VIN_PROT', '2': GND}) +place("Device:C", "C_OUT33Aa", "22u/16V", "Capacitor_SMD:C_1210_3225Metric", 265, 105, {'1': '+3V3_AUX', '2': GND}) +place("Device:C", "C_OUT33Ab", "22u/16V", "Capacitor_SMD:C_1210_3225Metric", 270, 105, {'1': '+3V3_AUX', '2': GND}) +# +3V3_AUX sourced here -> PWR_FLAG on L33A pin2 +p33ax, p33ay = pin_abs(l33a, "Device:L", "2"); emit_flag(p33ax, p33ay, "P33A") + # ---- file scaffold ---------------------------------------------------------------- libsyms = "\n".join(blk for blk, _ in LIBS.values()) sheet = ('(kicad_sch\n\t(version 20231120)\n\t(generator "eeschema")\n\t(generator_version "8.0")\n'