component
TPS16850VMAR - 9 V to 80 V, 20 A eFuse
Public Made by Adomby adom
Texas Instruments TPS16850VMAR: 9 V to 80 V, 20 A stackable integrated hot-swap eFuse with a 3.5 mOhm FET, fast current monitor and auto-retry fault response, LQFN-CLIP-23 (VMA, 6.0 x 5.0 mm). KiCad symbol and footprint, Fusion and Altium libraries, datasheet-built 3D model and datasheet.
main
#!/usr/bin/env python3
"""Write the adom-symbol create JSON for TPS16850VMAR: every pin from TI SLVSHA1D Table 5-1 (p.4-5), grouped by
function, inputs and set-pins on the left, outputs, monitors, status, ground and NC on the right.
usage: symbol_json.py out.json"""
import json, sys
P = []
def pin(n, name, t, g, side, desc): P.append(dict(number=str(n), name=name, type=t, group=g, side=side, description=desc))
L, R = "left", "right"
pin(10, "IN", "power_in", "Power in", L, "Power input (FET drain). Solder to the input power plane uniformly for heat dissipation (SLVSHA1D p.5, Table 5-1).")
pin(22, "IN", "power_in", "Power in", L, "Power input, same node as pins 10, 23 and the exposed pad (p.5).")
pin(23, "IN", "power_in", "Power in", L, "Power input, same node as pins 10, 22 and the exposed pad (p.5).")
pin(24, "IN", "power_in", "Power in", L, "Exposed thermal pad (PowerPAD), electrically IN: solder it to the input power plane for heat dissipation (p.5).")
pin(9, "VDD", "power_in", "Power in", L, "Controller supply, 9 V to 80 V. Connect to VIN through a series resistor and decouple to GND (p.5, p.7).")
pin(16, "EN/UVLO", "input", "Control", L, "Active-high enable. A resistor divider from the input supply sets the undervoltage threshold. Do not leave floating (p.5).")
pin(18, "OVP", "input", "Control", L, "Overvoltage set point: resistor divider from VIN. Do not leave floating (p.5).")
pin(12, "MODE", "input", "Control", L, "Floating = standalone or primary device; tied to GND = secondary to a primary eFuse or controller in a parallel chain (p.5).")
pin(4, "dVdT", "passive", "Control", L, "Output slew-rate control at start-up: open for the fastest start-up, a capacitor to GND slows the slew rate to limit inrush (p.4).")
pin(3, "IREF", "passive", "Current setting", L, "Reference voltage (0.3 V to 1.2 V) for the overcurrent, short-circuit and current-sharing blocks: internal current source into a resistor, or driven externally. Do not leave floating (p.4, p.7).")
pin(14, "ITIMER", "passive", "Current setting", L, "A capacitor to GND sets the overcurrent blanking interval during which the current may exceed the overcurrent threshold, below fast trip (p.5).")
pin(6, "SFT_SEL", "passive", "Current setting", L, "A resistor to GND selects the scalable fast-trip threshold multiplier. Not recommended to leave floating (p.5).")
pin(7, "OUT", "power_out", "Power out", R, "Power output (FET source). Solder to the output power plane uniformly for heat dissipation (p.5).")
pin(8, "OUT", "power_out", "Power out", R, "Power output, same node as pin 7 (p.5).")
pin(2, "IMON", "passive", "Current monitor", R, "A resistor to GND sets the overcurrent and fast-trip thresholds; also a fast, accurate analog load-current monitor output in steady state. Do not leave floating (p.4).")
pin(1, "ILIM", "passive", "Current monitor", R, "A resistor to GND sets the active current-sharing threshold in steady state; also this device's current monitor output. Do not leave floating (p.4).")
pin(19, "PGOOD", "open_collector", "Status", R, "Open-drain power-good output, asserted high in steady state; weak internal pull-up (p.5).")
pin(13, "~{FLT}", "open_collector", "Status", R, "Open-drain active-low fault output, pulled low on a fault. Pull up to an external supply with a resistor (p.5).")
pin(20, "SWEN", "bidirectional", "Status", R, "Open-drain signal that reports and controls the power-switch state; tied across a parallel chain to synchronise the devices. Weak internal pull-up (p.5).")
pin(15, "TEMP", "bidirectional", "Status", R, "Analog junction-temperature output; TEMP pins of parallel devices can be tied to report the hottest device (p.5).")
pin(5, "GND", "power_in", "Ground", R, "Device ground reference. Connect to system ground (p.4).")
for n in (11, 17, 21):
pin(n, "NC", "no_connect", "No connect", R, "Do not connect anything to this pin (p.5).")
spec = {"symbolName": "TPS16850VMAR", "mpn": "TPS16850VMAR", "manufacturer": "Texas Instruments",
"package": "LQFN-CLIP-23 (VMA0023A, 6.0 x 5.0 mm)", "pinCount": 24,
"description": "9 V to 80 V, 20 A stackable integrated hot-swap eFuse, 3.5 mOhm FET, auto-retry, 73 A fixed fast trip, LQFN-CLIP-23 (VMA)",
"datasheetUrl": "https://www.ti.com/lit/ds/symlink/tps1685.pdf", "footprint": "tps16850vmar:tps16850vmar", "reference": "U",
"distributors": {"mouser": "595-TPS16850VMAR", "digikey": "296-TPS16850VMARTR-ND"},
"wikiUrl": "https://wiki.adom.inc/adom/tps16850vmar", "pinLayout": "left-right", "pins": P,
"pinDescriptions": {(f"{p['name']} ({p['number']})" if p["name"] in ("IN", "OUT", "NC") else p["name"]): p["description"] for p in P},
"groupDescriptions": {
"Power in": "The FET's input side: pins 10, 22, 23 and the exposed pad are all IN and carry the load current; VDD powers the controller from a filtered copy of the input.",
"Control": "Enable with undervoltage threshold, overvoltage threshold, standalone or secondary mode, and the start-up slew rate.",
"Current setting": "Reference voltage, overcurrent blanking timer and scalable fast-trip multiplier, which shape the circuit-breaker response.",
"Power out": "The FET's output side, pins 7 and 8.",
"Current monitor": "IMON sets the circuit-breaker threshold and reports the load current; ILIM sets the current-sharing threshold and reports this device's share.",
"Status": "Open-drain power-good and fault flags, the switch-enable line that synchronises a parallel chain, and the analog temperature output.",
"Ground": "Device ground reference.",
"No connect": "Pins 11, 17 and 21: do not connect anything to them."}}
json.dump(spec, open(sys.argv[1], "w"), indent=1)
print("OK", len(P), "pins")