Repository navigation
Electronics Controller PoE Power Analysis
Date: 2026-05-10
Last Updated: 2026-05-18
Status: Active — TDK B82806D0060A120 selected; see DEC-062
Affected design document: design/Electronics/Controller/Design_Spec.md
Prior analysis (Coilcraft / ACF Flyback): design/Electronics/Controller/PoE_Power_Analysis_Coilcraft_v2.md
The Controller Board PoE front-end uses a two-stage architecture:
- Stage 1 — PD Interface: TPS2372-4RGWR (IEEE 802.3bt Type 4, 72W class)
- Stage 2 — DC-DC Converter: TPS23730RMTR ACF controller driving T1 isolation transformer
The DC-DC stage is designed as an ACF Forward Converter. The TPS23730 datasheet uses the label "ACF Flyback"; TI application literature (e.g. PMP23253) and Google AI analysis confirm the TPS23730 is equally compatible with an ACF Forward topology. The distinction matters for output filtering: ACF Forward requires a buck-type output inductor (L1) after the secondary rectifier, whereas ACF Flyback relies on transformer magnetising inductance for energy storage and does not use a separate output inductor.
The selected transformer is the TDK B82806D0060A120. It is stocked at JLCPCB (C7218686), DigiKey (495-76653-1-ND), and Mouser (871-B82806D0060A120). See DEC-062 for the selection rationale.
An earlier investigation evaluated the Coilcraft POE600F-12L in ACF Flyback mode; that design
is preserved in PoE_Power_Analysis_Coilcraft_v2.md and is deferred pending part availability.
| Parameter | Value |
|---|---|
| Manufacturer | TDK |
| MPN | B82806D0060A120 |
| Series | B82806D (EFD20 isolation transformer) |
| Package | EFD20 SMT 12-pin gullwing |
| Output voltage | 12V |
| Output current | 5A (60W) |
| Input voltage | 36–57V (PoE) |
| Turns ratio | Np:Ns:Naux = 2:1:1 (n = 2) |
| Primary inductance (Lm) | 100µH ±30% |
| Leakage inductance (Llk) | 0.18µH MAX |
| Primary DCR | 35mΩ |
| Secondary DCR | 8mΩ |
| Aux DCR | 160mΩ |
| Hipot (Pri–Sec) | 1500 Vac |
| JLCPCB assembly | ✔ C7218686 |
| PCB layout note | TDK datasheet permits solder bridges between pins 1–2 and pins 7–8 (intra-group within same net only; not primary-to-secondary). Confirm against footprint drawing during PCB layout phase. |
Formula (ACF Forward): D = n × Vout / Vin
Assuming: Vout = 12V, fsw = 200kHz.
| Vin | D (n=2) | TPS23730 window (5–75%) |
|---|---|---|
| 36V (min) | 66.7% | ✔ |
| 48V (nom) | 50.0% | ✔ |
| 57V (max) | 42.1% | ✔ |
All operating points are well within the TPS23730 duty cycle range.
The previous formula D = n × (Vout + Vf) / (Vin + n × (Vout + Vf)) was the ACF Flyback formula and is incorrect for this Forward topology.
Turns ratio Naux:Ns = 1:1, therefore:
V_aux = Vout × (Naux/Ns) = 12.0 × 1.0 = 12.0V
VCC = V_aux − Vf_aux = 12.0 − 0.4 = 11.6V
TPS23730 VCC operating range: 7–20V. Result: 11.6V ✔
Formula (ACF Forward steady-state): Vds_peak = Vin / (1 − D)
Worst case at minimum Vin where D is highest (Vin = 36V, D = 66.7%):
Vds_peak = 36 / (1 − 0.667) = 36 / 0.333 = 108V
MOSFET class required: ≥108V minimum with derating; 200V with standard derating (108 × 1.5 = 162V < 200V) ✔. Selected device STD25NF20: Vds = 200V ✔ — no change required.
Note: §6 calculates a separate transient clamp voltage of 118.1V at Vin_max = 57V; this is a transient condition and does not change the steady-state design requirement above.
The previous formula Vds_peak = Vin_max + n × (Vout + Vf) was the ACF Flyback reflected-voltage formula and is incorrect for this Forward topology.
C17 sets the ACF clamp voltage. The clamp network recycles transformer leakage inductance energy (E_Ls) into the Cclamp capacitor each switching cycle. The design target is ΔV_clamp ≤30% of reflected output voltage.
ΔI_Lm = Vin × D / (Lm × fsw) = 36 × 0.667 / (100µH × 200kHz) = 1.200A
I_pk = Iout/n + ΔI_Lm/2 = 5/2 + 0.600 = 3.100A
Lm ±30% worst case (Lm_min = 70µH):
ΔI_Lm_max = 36 × 0.667 / (70µH × 200kHz) = 1.715A
I_pk_max = 2.5 + 0.858 = 3.358A (+8.3% vs nominal)
Using worst-case Llk = 0.18µH MAX and I_pk = 3.100A (nominal):
E_Ls = ½ × 0.18µH × 3.100² = ½ × 0.18 × 9.61 = 0.865µJ
Minimum C17 from resonant energy-recovery formula (DR-CTL-17):
Cclamp_min = Llk × Ipk² / ΔVclamp²
Where:
- Llk = 0.18µH (worst-case MAX, TDK B82806D0060A120 datasheet)
- Ipk = 1.375A (TPS23730RMTR current-limit threshold, SLVSER6B §8.3)
- ΔVclamp = Vclamp − Vin_max = 61.14V (transient clamp peak during switch transition) − 57V = 4.14V (10% above Vin_max = 57V)
Cclamp_min = 0.18µH × 1.375² / 4.14² = 0.18 × 1.891 / 17.14 = 0.3403µJ / 17.14 = 19.9nF
Next E24 value above 19.9nF: 22nF. ✔
Voltage headroom check:
Vclamp_peak = Vin_max + ΔVclamp = 57 + 4.14 = 61.14V (transient clamp peak during switch transition)
Vds_peak = Vin_max + Vclamp_peak = 57 + 61.14 = 118.1V (< 160V derating limit)
Dissipation check:
P_clamp = ½ × Llk × Ipk² × fsw = ½ × 0.18µH × 1.891 × 200kHz = 0.034W (negligible)
Selected: C17 = 22nF (Kemet C0805C223K2RACAUTO, 22nF X7R 200V 0805)
A 200V 0805 rating is required: worst-case Vclamp reaches 72V (steady-state SMCJ36CA clamp per DEC-064) and X7R DC bias derating at 100V reduces effective capacitance below the 19.9nF minimum. See DR-CTL-17.
See DR-CTL-17 for the design requirement. See design/Electronics/Controller/Design_Spec.md BOM for
supplier PNs.
The ACF Forward topology requires a buck-type inductor on the secondary rail. Lm stores energy during the primary switch on-time and releases it to the secondary via transformer coupling; L1 provides the second energy storage element in the LC output filter.
L1 specification: 33µH, ≥6A Isat, DCR ≤50mΩ, shielded ferrite, SMT.
ΔIL1 = (Vout × (1−D)) / (L1 × fsw)
= 12 × (1 − 0.421) / (33µH × 200kHz)
= 12 × 0.579 / 6.6 = 1.053A (ripple at Vin = 57V, D = 42.1% — worst case)
Peak-to-peak ripple: 1.053A / 5A = 21.1% ✔ (target ≤28%).
Selected: Yageo PA4343.333NLT (33µH, 6.5A Isat, 48mΩ typ / 58mΩ max DCR, 1265 shielded ferrite). DCR note: Typ value (48mΩ) is within DR-CTL-22 (≤50mΩ); max value (58mΩ) marginally exceeds the DR. Accepted at design phase: best available procurable part meeting all other parameters. See DR-CTL-22.
See DR-CTL-22 and design/Electronics/Consolidated_BOM.md for L1 details.
Cout_min = ΔIL1 / (8 × fsw × Vripple) = 1.053 / (8 × 200kHz × 0.12V) = 1.053 / 192000 = 5.5µF
Standard: 100µF / 35V minimum (highly conservative vs 5.5µF minimum; provides margin for DC-bias derating and long-term reliability). Selected: 4× TDK CGA9N1X7R1V476M230KC (47µF × 4 = 188µF nominal); see DEC-079.
Effective worst-case capacitance (DC bias at 12V + ±20% tolerance + temperature): ≥103µF ✔ ESR: ≤2.5mΩ total at 200kHz ✔. See DR-CTL-19.
ΔI_Lm = 36 × 0.667 / (100µH × 200kHz) = 1.200A
I_pri_RMS = √(Iout²/n² + ΔI_Lm²/12) × √D
= √(6.25 + 0.120) × √0.667 = 2.524 × 0.817 = 2.062A
I_sec_RMS = Iout × √(1−D) = 5 × √0.333 = 5 × 0.577 = 2.887A
| Winding | RMS Current | DCR | P_cu |
|---|---|---|---|
| Primary | 2.062A | 35mΩ | 2.062² × 0.035 = 0.149W |
| Secondary | 2.887A | 8mΩ | 2.887² × 0.008 = 0.067W |
| Total | 0.216W (0.36% of 60W) |
The low secondary DCR of the TDK B82806D (8mΩ vs 90mΩ for Coilcraft POE600F-12L) significantly reduces winding loss compared to the original Coilcraft design.
TDK Lm tolerance: ±30%. Worst case: Lm_min = 70µH.
ΔI_Lm_max = 36 × 0.667 / (70µH × 200kHz) = 1.715A (+43% vs nominal 1.200A)
I_pk_max = 2.5 + 0.858 = 3.358A (+8.3% vs nominal 3.100A)
STD25NF20 pulsed drain current rating: 72A. I_pk_max well within device limits ✔. Duty cycle variation with ±30% Lm: negligible (Lm appears in ripple only, not in steady-state duty cycle at fixed Vout). No operating-point issues at Lm extremes.
Using Llk_max = 0.18µH and I_pk = 3.100A:
E_Ls = ½ × 0.18µH × 3.100² = ½ × 0.18 × 9.61 = 0.865µJ
P_clamp = E_Ls × fsw = 0.865µJ × 200kHz = 0.173W
Recycled to primary bus by ACF clamp network — not dissipated.
| Parameter | TDK B82806D0060A120 | Coilcraft POE600F-12L |
|---|---|---|
| n (turns ratio) | 2:1:1 | 1.71:1 |
| Lm | 100µH ±30% | 100µH |
| Llk | 0.18µH MAX (published) | Not published |
| Primary DCR | 35mΩ | 39mΩ |
| Secondary DCR | 8mΩ | 90mΩ |
| Total winding loss | 0.216W (0.36%) | 3.896W (6.49%) |
| C17 value | 22nF | 47nF (conservative proxy) |
| Output inductor L1 | Required (ACF Forward) | Not required (ACF Flyback) |
| Topology | ACF Forward | ACF Flyback |
| JLCPCB C-number | C7218686 ✔ | Not available |
| DigiKey | 495-76653-1-ND ✔ | Not available |
| Mouser | 871-B82806D0060A120 ✔ | Not available |
Duty cycle: D = n × Vout / Vin
Vds stress: Vds_peak = Vin / (1 − D) [steady-state]; Vds_clamp = Vin + Vclamp_peak [transient]
Aux winding VCC: V_aux = Vout × (Naux/Ns); VCC = V_aux − Vf_aux
Peak primary I: I_pk = Iout/n + ΔI_Lm/2
Lm ripple current: ΔI_Lm = Vin × D / (Lm × fsw)
Clamp energy: E_Ls = ½ × Llk × I_pk²
Clamp voltage: ΔV_clamp = E_Ls / (Cclamp × V_refl)
Output ripple (L1): ΔIL1 = Vout × (1−D) / (L1 × fsw)
Output capacitor: Cout_min = ΔIL / (8 × fsw × Vripple)
Primary RMS I: I_pri_RMS ≈ √(Iout²/n² + ΔI_Lm²/12) × √D
Secondary RMS I: I_sec_RMS ≈ Iout × √(1−D)
Conduction loss: P_cu = I_RMS² × DCR
Clamp power: P_clamp = E_Ls × fsw
- TI PMP23253 design (49.5W, TPS23730RMTR + ACF Forward, 36–57V PoE input)
- TDK B82806D0060A120 datasheet —
design/Datasheets/TDK-B82806D-datasheet.md - Design Log — DEC-062 (TDK selection and ACF Forward topology); DEC-019 (original Coilcraft decision)
-
Design Log
- DEC-001 3v3-enig-used-throughout-3v3-system-removed-from-btb-interconnect
- DEC-002 poe-option-a2-selected-coilcraft-poe600f-12ld
- DEC-003 poe-output-12v-or-ing-priority-logic-required
- DEC-004 supercap-charge-current-05a-under-poe
- DEC-005 tps25980-efuse-replaces-tps259474l
- DEC-006 stusb4500-negotiates-15v5a-75w
- DEC-007 dual-interleaved-lmq61460-q1-5v-buck-12a
- DEC-008 tps25750-emulates-5v5a-pd-profile-to-cm5
- DEC-009 legacy-controller-probe-access-pin-14-reassigned-to-sw-led-ctrl
- DEC-010 inc-14-deferred-legacy-probe-access-esd-protection-post-prototype
- DEC-011 all-power-rails-on-power-module-3v3-enig-serves-rotor-stack
- DEC-012 u4-tps25750-replaced-with-tps25751drefr-nrnd-resolution
- DEC-013 l3-emi-inductor-changed-to-bourns-srp1265a-100m
- DEC-014 controller-board-uses-erf8-female-on-both-btb-connectors-for-blind-mate-assembly
- DEC-015 link-beta-connector-reduced-from-80-pin-to-40-pin-erf8-020-erm8-020
- DEC-016 jtag-controlled-impedance-and-series-termination
- DEC-017 minimum-4-layer-stackup-for-all-non-controller-boards
- DEC-018 connector-pinout-ownership-model
- DEC-019 poe-transformer-topology-acf-option-a-selected
- DEC-020 gnd-chassis-rib-clearway-enig-bond
- DEC-021 supercapacitor-bank-upgrade-2x2-2s2p-2x3-2s3p
- DEC-022 jdb-ft232h-clock-source-dedicated-12mhz-smd-crystal-selected
- DEC-023 jdb-gnd-chassis-omitted-mounting-holes-tied-to-gnd
- DEC-024 jdb-is-complete-jtag-master-controller-jtag-lines-are-pass-through
- DEC-025 cm5-shutdown-mechanism-hardware-driven-ltc3350-software-support-deferred
- DEC-026 rotor-position-encoder-as5600-replaced-with-single-track-capacitive-encoder
- DEC-027 rotor-position-readback-via-jtag-virtual-jtag-user0-udr
- DEC-028 split-dual-board-rotor-architecture
- DEC-029 supercapacitor-hold-up-specification-25f-abracon-cells-2s4p-20-s-at-15w
- DEC-030 5v-main-backup-switchover-transient-fix-r14-r30-c35
- DEC-031 cm5-virtual-keyboard-key-injection-feature-architecture
- DEC-032 settings-board-panel-mount-configuration-controls-with-cm5-override
- DEC-033 dsi1-display-connector-provision-for-optional-lid-touchscreen
- DEC-034 switch-hardware-refresh-settings-board-toggle-discrete-rgb-led-ruggedized-pm-sw1
- DEC-035 hid-keyboard-and-lightboard-use-a-40-position-qwerty-derived-layout-for-the-64-character-code-space
- DEC-036 link-beta-former-monitor-pins-reallocated-as-grouped-power-rails
- DEC-037 link-beta-pin-map-regrouped-around-dedicated-jtag-and-i2c-guard-bands
- DEC-038 controller-centric-dock-architecture-replaces-legacy-link-alpha-link-beta-backplane
- DEC-039 enclosure-connected-boards-use-gnd-chassis-daughterboards-are-exempt
- DEC-040 diagnostics-banks-removed-from-active-design-specs-pending-coupon-review
- DEC-041 encoder-modules-use-epm570-with-digital-debounce-and-role-by-programming
- DEC-042 encoder-port-pin-8-carries-hid-local-enc-active-n
- DEC-043 shared-actuation-module-replaces-direct-controller-servo-gpio
- DEC-044 fdc2114-internal-oscillator-selected-clkin-gnd
- DEC-045 rotor-samtec-erm8erf8-connectors-require-esd-protection
- DEC-046 bypassdecoupling-capacitor-voltage-rating-50v-retained-on-all-non-pm-boards
- DEC-047 or-ing-mosfet-corrected-to-csd17578q5a
- DEC-048 esd-protection-extended-to-host-side-rotor-facing-btb-connectors
- DEC-049 rotor-internal-headers-renamed-to-j-convention-connector-count-updated-to-8-bom-unified
- DEC-050 encoder-blade-terminal-refdes-corrected-from-bt-to-j-convention
- DEC-051 settings-board-renamed-to-user-settings-module-board-code-sbd-usm
- DEC-052 variant-specific-fdc2114-refdes-use-ab-suffix-convention
- DEC-053 extension-port-connector-upgraded-from-bhr-20-vua-20-pin-to-2bhr-30-vua-30-pin
- DEC-054 signal-net-renamed-pwr-but-pwr-but-n-active-low-suffix-conformance
- DEC-055 f-108-system-wide-reference-designator-and-requirement-id-consecutive-renumbering
- DEC-056 relocate-investigation-documents-to-board-owned-folders
- DEC-057 daughterboard-mounting-hole-specification-and-standoff-bom-ownership
- DEC-058 jdb-connector-upgrade-hat-headers-to-df40c-20-btb
- DEC-059 erm8erf8-stacking-height-confirmed-rotor-stack-assembly-specification-created
- DEC-060 jtag-daughterboard-renamed-to-jtag-module-jdb-prefix-replaced-with-jm
- DEC-061 pass-7-review-corrections-ctlstarotencamgrsstatus-updates
- DEC-062 ctl-poe-t1-selection-tdk-b82806d0060a120-topology-acf-flyback-acf-forward
- DEC-063 ctl-poe-l1-selection-yageo-pa4343333nlt-acf-forward-output-inductor
- DEC-064 ctl-poe-c17-final-part-selection-kemet-c0805c223k2racauto-22nf-200v-x7r-0805
- DEC-065 system-wide-stackup-code-correction-and-jlcpcb-authoritative-impedance-values
- DEC-066 grs-canonical-pcb-stackup-authority-consolidation
- DEC-067 am-sw1sw2-tactile-switch-rating-accepted-for-production
- DEC-068 pm-per-input-bulk-capacitors-and-output-source-quality-bulk-banks
- DEC-069 pm-per-input-polyfuse-protection-and-uvlo-resistor-recalculation
- DEC-070 mcp23017-i²c-silicon-restriction-gpb7gpa7-review-and-cfg-apply-n-reassignment
- DEC-071 usm-spdt-switch-dual-terminated-wiring-and-pull-down-resistor-removal
- DEC-072 review-pass-9-findings-and-resolutions
- DEC-073 ltc3350-rt-resistor-correction-332-kω-133-kω-amends-dec-030
- DEC-074 rename-cpld-reset-signal-sys-reset-n-cpld-reset-n
- DEC-075 tps25751-option-c-external-eeprom-isolated-i2ct-debug-header-on-power-module
- DEC-076 pm-3v3-architecture-redesign-3v3-main3v3-enig-rail-split-j4-dual-purpose-programming-j6-removal-and-q12-parallel-p-fet-selection
- DEC-077 retrospective-rotor-ttd-daisy-chain-no-series-termination-resistors-amends-dec-016
- DEC-078 cpld-reset-n-stator-buffer-bss138-n-channel-mosfet-new-decision-references-dec-077
- DEC-079 c20-voltage-rating-correction-25v-35v-amends-dec-072-bom-item-1
- DEC-080 retrospective-pm-and-stator-dock-connector-redesignation-amends-dec-038
- DEC-081 retrospective-rotor-ttd-no-series-resistor-policy-in-addition-to-dec-016
- DEC-082 10µf-bulk-reservoir-capacitor-upgrade-25v-0805-50v-1206-all-boards
- DEC-083 retire-all-boards-bomjson-consolidate-bom-authority-in-design-spec-files-and-consolidated-bom
- DEC-084 cypher-stack-architecture-migration-and-board-role-consolidation
- DEC-085 stack-output-j4-power-pin-zero-ohm-links-prototype-test
- DEC-086 cypher-input-common-variant-restructure-10-numeric-variant-single-i2c-address
- DEC-087 cypher-input-led-colour-architecture-moved-off-plain-bits-onto-local-rgb-select-circuit
- DEC-088 plugboard-jacks-wired-directly-to-cypher-board-spade-bank-j4j6-reserves-5v-main
- DEC-089 board-role-id-widened-to-4-bit-capability-bitmask-cpld-pin-freeing-and-j5-migration
- DEC-090 cypher-board-j3-stack-input-side-full-50-pin-allocation-and-actuate-request-in-out-n-signal-pair
- DEC-091 j3-esd-protection-extended-to-actuate-request-pins-and-actuation-gating-resolved-to-cypher-cpld
- DEC-092 cypher-board-j4-stack-output-side-full-50-pin-allocation
- DEC-093 actuate-request-end-to-end-signal-path-j4-rename-rotor-interposer-connectors-extended
- DEC-094 connector-ownership-reassignment-for-reused-chain-templates
- DEC-095 actuate-request-esd-protection-completed-stack-output-passive-wiring-defined
- DEC-096 stack-blanking-board-corrected-actuate-request-bridging-added
- DEC-097 cypher-j3-actuate-request-out-n-wired-as-round-trip-verification-input
- DEC-098 controller-cypher-dock-split-power-molex-signal-samtec-amends-dec-038-dec-080
- DEC-099 cm5-i2c-bank-architecture-mipi0-to-mipi1-swap-pwm-gpclk-reservation
- DEC-100 jtag-module-actuation-module-retirement-from-controller-board
- DEC-101 cypher-ina219-i2c-address-aligned-to-pm-default
- DEC-102 cypher-ft232h-3v3-vregin-self-powered-5v-usb-net-retired
- DEC-103 hid-usm-hub-connector-topology-rework
- DEC-104 user-settings-module-role-reworked-as-hid-colour-audio-hub-and-jtag-i2c-spine
- DEC-105 cfg-route-moved-to-full-cm5-software-control-physical-usm-switches-retired
- DEC-106 cypher-plugboard-reduced-to-mechanical-connector-only-board
- DEC-107 usm-hid-connector-four-colour-style-signal-expansion
- index
-
Diagrams
- renders
-
Electronics
- Boards Overview
- Consolidated BOM
- Electrical Design
- Power Budgets
- System Architecture
- Actuation Module
- Controller
- Cypher
- Cypher-Input
- Cypher-Output
- Cypher-Plugboard
- Encoder Module
- Extension
- JTAG Module
- Power Module
- Reflector
- Rotor
- Stack-Blanking
- Stack-Input
- Stack-Interposer
- Stack-Output
- Stator
- User Settings Module
-
Guides
-
Mechanical
- Complete System Assembly
- Extension
- Keyboard Assembly
- Lightboard Assembly
- Main Enclosure
- Plugboard Assembly
- Power Module
- Reflector
- Rotor
- Rotor Actuation Assembly
- Rotor Stack Assembly
-
Procedures
-
Production
-
Software
- Actuation Module
- CPLD Logic
-
GUI App
- Design Spec
-
Wireframes
- README
- renders
- Linux OS
-
Standards