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 <noreply@anthropic.com>
This commit is contained in:
noise
2026-07-02 07:03:31 -04:00
parent 261bf48bb4
commit 13496b302c
4 changed files with 543 additions and 13 deletions

View File

@@ -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 13 done).
Baseline anchor: `analysis/baseline/carrier_stripped.json`.
`CM5_HighSpeed` (reference, stripped), `M2_Ekey` (E-key, done), `Power` (**stages 14 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.

View File

@@ -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))))
)
)
)
)

View File

@@ -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")

View File

@@ -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'