0hmX/tps6521401vafr-pmic
This code models and visualizes the pin configuration and electrical attributes of the TPS6521401 voltage supervisor IC in a specific WQFN-HR package.
- Version
- 1.0.1
- License
- unset
- Stars
- 0
dist/index.js
import { jsx, jsxs } from 'react/jsx-runtime';
import { Fragment } from 'react';
const TPS6521401VAFR_PIN_LABELS = {
pin1: ["MODE", "STBY", "MODE_STBY"],
pin2: "FB_B2",
pin3: "VLDO2",
pin4: ["VSYS", "PVIN_LDO12", "VSYS_PVIN_LDO12"],
pin5: "VLDO1",
pin6: "AGND",
pin7: "VDD1P8",
pin8: "FB_B1",
pin9: ["GPO", "nWAKEUP", "GPO_nWAKEUP"],
pin10: "PGND",
pin11: "LX_B1",
pin12: "PVIN_B1",
pin13: "SDA",
pin14: "SCL",
pin15: "nINT",
pin16: ["GPIO", "VSEL", "GPIO_VSEL"],
pin17: "nRSTOUT",
pin18: "FB_B3",
pin19: ["EN", "PB", "VSENSE", "EN_PB_VSENSE"],
pin20: "PVIN_B3",
pin21: "LX_B3",
pin22: "PGND",
pin23: "LX_B2",
pin24: "PVIN_B2",
};
const leftPins = [2, 3, 4, 5, 6];
const bottomPins = [8, 9, 11, 12];
const rightPins = [14, 15, 16, 17, 18];
const topPins = [20, 21, 23, 24];
/**
* TPS6521401 in TI's VAF0024A WQFN-HR package.
*
* VAF0024A is not a conventional QFN-24: pins 1, 7, 13, and 19 are L-shaped,
* and PGND pins 10 and 22 extend into the center thermal land. Consequently a
* generic qfn24 footprinter string must not be substituted for this footprint.
*/
const TPS6521401VAFR = (props) => (jsx("chip", { pinLabels: TPS6521401VAFR_PIN_LABELS, datasheetUrl: "https://www.ti.com/lit/ds/symlink/tps65214.pdf", pinAttributes: {
pin1: { mustBeConnected: true },
pin2: { mustBeConnected: true },
pin3: {
providesPower: true,
mustBeConnected: true,
shouldHaveDecouplingCapacitor: true,
recommendedDecouplingCapacitorCapacitance: "2.2uF",
},
pin4: {
requiresPower: true,
mustBeConnected: true,
shouldHaveDecouplingCapacitor: true,
recommendedDecouplingCapacitorCapacitance: "4.7uF",
},
pin5: {
providesPower: true,
mustBeConnected: true,
shouldHaveDecouplingCapacitor: true,
recommendedDecouplingCapacitorCapacitance: "2.2uF",
},
pin6: { requiresGround: true, mustBeConnected: true },
// Internal 1.8 V reference output: capacitor only, no external load.
pin7: {
providesPower: true,
mustBeConnected: true,
shouldHaveDecouplingCapacitor: true,
recommendedDecouplingCapacitorCapacitance: "2.2uF",
},
pin8: { mustBeConnected: true },
pin9: {
canUseOpenDrain: true,
isUsingOpenDrain: true,
needsExternalPullup: true,
},
pin10: { requiresGround: true, mustBeConnected: true },
// LX pins provide switched power to inductors, not regulated rails.
pin11: { providesPower: true },
pin12: {
requiresPower: true,
mustBeConnected: true,
shouldHaveDecouplingCapacitor: true,
recommendedDecouplingCapacitorCapacitance: "4.7uF",
},
pin13: {
capabilities: ["i2c_sda"],
activeCapability: "i2c_sda",
canUseOpenDrain: true,
isUsingOpenDrain: true,
needsExternalPullup: true,
mustBeConnected: true,
},
pin14: {
capabilities: ["i2c_scl"],
activeCapability: "i2c_scl",
needsExternalPullup: true,
mustBeConnected: true,
},
pin15: {
canUseOpenDrain: true,
isUsingOpenDrain: true,
needsExternalPullup: true,
},
pin16: {
isGpio: true,
canUseOpenDrain: true,
},
pin17: { canUsePushPull: true },
pin18: { mustBeConnected: true },
pin19: { mustBeConnected: true },
pin20: {
requiresPower: true,
mustBeConnected: true,
shouldHaveDecouplingCapacitor: true,
recommendedDecouplingCapacitorCapacitance: "4.7uF",
},
pin21: { providesPower: true },
pin22: { requiresGround: true, mustBeConnected: true },
pin23: { providesPower: true },
pin24: {
requiresPower: true,
mustBeConnected: true,
shouldHaveDecouplingCapacitor: true,
recommendedDecouplingCapacitorCapacitance: "4.7uF",
},
}, manufacturerPartNumber: "TPS6521401VAFR", schPinArrangement: {
leftSide: {
pins: [1, 16, 19, 14, 13],
direction: "top-to-bottom",
},
rightSide: {
pins: [17, 15, 3, 5, 7, 9],
direction: "top-to-bottom",
},
topSide: {
pins: [4, 24, 20, 12],
direction: "left-to-right",
},
bottomSide: {
pins: [6, 10, 22, 2, 8, 18, 11, 21, 23],
direction: "left-to-right",
},
}, footprint: jsxs("footprint", { children: [leftPins.map((pin, index) => (jsx(Fragment, { children: jsx("smtpad", { portHints: [`pin${pin}`], pcbX: "-1.35mm", pcbY: `${1 - index * 0.5}mm`, width: "0.6mm", height: "0.25mm", shape: "rect" }) }, `pin${pin}`))), bottomPins.map((pin, index) => (jsx(Fragment, { children: jsx("smtpad", { portHints: [`pin${pin}`], pcbX: `${ -1 + index * 0.5 + (index > 1 ? 0.5 : 0)}mm`, pcbY: "-1.35mm", width: "0.25mm", height: "0.6mm", shape: "rect" }) }, `pin${pin}`))), rightPins.map((pin, index) => (jsx(Fragment, { children: jsx("smtpad", { portHints: [`pin${pin}`], pcbX: "1.35mm", pcbY: `${ -1 + index * 0.5}mm`, width: "0.6mm", height: "0.25mm", shape: "rect" }) }, `pin${pin}`))), topPins.map((pin, index) => (jsx(Fragment, { children: jsx("smtpad", { portHints: [`pin${pin}`], pcbX: `${1 - index * 0.5 - (index > 1 ? 0.5 : 0)}mm`, pcbY: "1.35mm", width: "0.25mm", height: "0.6mm", shape: "rect" }) }, `pin${pin}`))), jsx("smtpad", { portHints: ["pin1"], shape: "polygon", points: [
{ x: -1.65, y: 1.65 },
{ x: -1.175, y: 1.65 },
{ x: -1.175, y: 1.425 },
{ x: -1.425, y: 1.425 },
{ x: -1.425, y: 1.175 },
{ x: -1.65, y: 1.175 },
] }), jsx("smtpad", { portHints: ["pin7"], shape: "polygon", points: [
{ x: -1.65, y: -1.65 },
{ x: -1.175, y: -1.65 },
{ x: -1.175, y: -1.425 },
{ x: -1.425, y: -1.425 },
{ x: -1.425, y: -1.175 },
{ x: -1.65, y: -1.175 },
] }), jsx("smtpad", { portHints: ["pin13"], shape: "polygon", points: [
{ x: 1.65, y: -1.65 },
{ x: 1.175, y: -1.65 },
{ x: 1.175, y: -1.425 },
{ x: 1.425, y: -1.425 },
{ x: 1.425, y: -1.175 },
{ x: 1.65, y: -1.175 },
] }), jsx("smtpad", { portHints: ["pin19"], shape: "polygon", points: [
{ x: 1.65, y: 1.65 },
{ x: 1.175, y: 1.65 },
{ x: 1.175, y: 1.425 },
{ x: 1.425, y: 1.425 },
{ x: 1.425, y: 1.175 },
{ x: 1.65, y: 1.175 },
] }), jsx("smtpad", { portHints: ["pin10"], shape: "polygon", points: [
{ x: -0.5, y: 0 },
{ x: 0.5, y: 0 },
{ x: 0.5, y: -0.3365 },
{ x: 0.1, y: -0.3365 },
{ x: 0.1, y: -1.65 },
{ x: -0.1, y: -1.65 },
{ x: -0.1, y: -0.3365 },
{ x: -0.5, y: -0.3365 },
] }), jsx("smtpad", { portHints: ["pin22"], shape: "polygon", points: [
{ x: -0.5, y: 0 },
{ x: 0.5, y: 0 },
{ x: 0.5, y: 0.3365 },
{ x: 0.1, y: 0.3365 },
{ x: 0.1, y: 1.65 },
{ x: -0.1, y: 1.65 },
{ x: -0.1, y: 0.3365 },
{ x: -0.5, y: 0.3365 },
] }), jsx("silkscreenpath", { route: [
{ x: -1.85, y: 1.05 },
{ x: -1.85, y: 1.85 },
{ x: -1.05, y: 1.85 },
] }), jsx("silkscreenpath", { route: [
{ x: 1.05, y: 1.85 },
{ x: 1.85, y: 1.85 },
{ x: 1.85, y: 1.05 },
] }), jsx("silkscreenpath", { route: [
{ x: 1.85, y: -1.05 },
{ x: 1.85, y: -1.85 },
{ x: 1.05, y: -1.85 },
] }), jsx("silkscreenpath", { route: [
{ x: -1.05, y: -1.85 },
{ x: -1.85, y: -1.85 },
{ x: -1.85, y: -1.05 },
] }), jsx("silkscreencircle", { pcbX: "-2.05mm", pcbY: "1.65mm", radius: "0.15mm" }), jsx("courtyardoutline", { outline: [
{ x: -2.25, y: 2.1 },
{ x: 2.25, y: 2.1 },
{ x: 2.25, y: -2.1 },
{ x: -2.25, y: -2.1 },
{ x: -2.25, y: 2.1 },
] })] }), ...props }));
var index_circuit = () => (jsx("board", { width: "10mm", height: "10mm", children: jsx(TPS6521401VAFR, { name: "U1" }) }));
export { TPS6521401VAFR, TPS6521401VAFR_PIN_LABELS, index_circuit as default };