circuits/power_tree.py captures the full supply, topology + values verified from the TPS65131 datasheet (SLVS493E: pinout p3, Typical Application Fig 8-1 p11, BOM Table 8-2 p12, FB equations p13 Vref=1.213V) and the TPS7A49/TPS7A30 LDO datasheets: - TPS65131 dual boost/inverter: L1/L2=4.7uH, D1/D2=MBRM120, FB dividers set ~+/-18.2V (R1=1.4M/R2=100k, R3=1.5M/R4=100k), comp C7/C6 on CP/CN, VREF 220nF, no Q1 (USB), PSP/PSN=GND forced-PWM for low audio-band noise. - TPS7A4901/TPS7A3001 post-regulate to clean +/-15V (shared 8-pin pinout, EN tied to IN). - AP2112K-3.3 -> digital 3V3. ERC 0 errors; netlist 0 errors. CONFIRM before fab: exact LDO Vfb (used ~1.194V/-1.18V for the dividers) and the AP2112K SOT-23-5 pinout. Switcher validated vs TI reference design; no SPICE (behavioral models don't validate a switcher) -- layout per the TI EVM. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
72 lines
No EOL
5.5 KiB
Python
72 lines
No EOL
5.5 KiB
Python
from collections import defaultdict
|
|
from skidl import Pin, Part, Alias, SchLib, SKIDL, TEMPLATE
|
|
|
|
from skidl.pin import pin_types
|
|
|
|
SKIDL_lib_version = '0.0.1'
|
|
|
|
power_tree = SchLib(tool=SKIDL).add_parts(*[
|
|
Part(**{ 'name':'TPS65131', 'dest':TEMPLATE, 'tool':SKIDL, 'aliases':Alias({'TPS65131'}), 'ref_prefix':'U', 'fplist':None, 'footprint':'Package_DFN_QFN:QFN-24-1EP_4x4mm_P0.5mm', 'keywords':None, 'description':'', 'datasheet':None, 'pins':[
|
|
Pin(num='1',name='INP',func=pin_types.PASSIVE),
|
|
Pin(num='24',name='INP2',func=pin_types.PASSIVE),
|
|
Pin(num='2',name='PGND',func=pin_types.PWRIN),
|
|
Pin(num='3',name='PGND2',func=pin_types.PWRIN),
|
|
Pin(num='4',name='VIN',func=pin_types.PWRIN),
|
|
Pin(num='5',name='INN',func=pin_types.PASSIVE),
|
|
Pin(num='6',name='INN2',func=pin_types.PASSIVE),
|
|
Pin(num='7',name='BSW',func=pin_types.OUTPUT),
|
|
Pin(num='8',name='ENP',func=pin_types.INPUT),
|
|
Pin(num='9',name='PSP',func=pin_types.INPUT),
|
|
Pin(num='10',name='ENN',func=pin_types.INPUT),
|
|
Pin(num='11',name='PSN',func=pin_types.INPUT),
|
|
Pin(num='12',name='NC12',func=pin_types.NOCONNECT),
|
|
Pin(num='20',name='NC20',func=pin_types.NOCONNECT),
|
|
Pin(num='13',name='OUTN',func=pin_types.PASSIVE),
|
|
Pin(num='14',name='OUTN2',func=pin_types.PASSIVE),
|
|
Pin(num='15',name='VNEG',func=pin_types.INPUT),
|
|
Pin(num='16',name='FBN',func=pin_types.INPUT),
|
|
Pin(num='17',name='VREF',func=pin_types.PWROUT),
|
|
Pin(num='18',name='CN',func=pin_types.PASSIVE),
|
|
Pin(num='19',name='AGND',func=pin_types.PWRIN),
|
|
Pin(num='21',name='CP',func=pin_types.PASSIVE),
|
|
Pin(num='22',name='FBP',func=pin_types.INPUT),
|
|
Pin(num='23',name='VPOS',func=pin_types.INPUT),
|
|
Pin(num='25',name='EP',func=pin_types.PWRIN)] }),
|
|
Part(**{ 'name':'TPS7A4901', 'dest':TEMPLATE, 'tool':SKIDL, 'aliases':Alias({'TPS7A4901'}), 'ref_prefix':'U', 'fplist':None, 'footprint':'Package_SO:HVSSOP-8-1EP_3x3mm_P0.65mm', 'keywords':None, 'description':'', 'datasheet':None, 'pins':[
|
|
Pin(num='1',name='OUT',func=pin_types.PWROUT),
|
|
Pin(num='2',name='FB',func=pin_types.INPUT),
|
|
Pin(num='3',name='NC',func=pin_types.NOCONNECT),
|
|
Pin(num='4',name='GND',func=pin_types.PWRIN),
|
|
Pin(num='5',name='EN',func=pin_types.INPUT),
|
|
Pin(num='6',name='NR',func=pin_types.PASSIVE),
|
|
Pin(num='7',name='DNC',func=pin_types.NOCONNECT),
|
|
Pin(num='8',name='IN',func=pin_types.PWRIN),
|
|
Pin(num='9',name='EP',func=pin_types.PWRIN)] }),
|
|
Part(**{ 'name':'TPS7A3001', 'dest':TEMPLATE, 'tool':SKIDL, 'aliases':Alias({'TPS7A3001'}), 'ref_prefix':'U', 'fplist':None, 'footprint':'Package_SO:HVSSOP-8-1EP_3x3mm_P0.65mm', 'keywords':None, 'description':'', 'datasheet':None, 'pins':[
|
|
Pin(num='1',name='OUT',func=pin_types.PWROUT),
|
|
Pin(num='2',name='FB',func=pin_types.INPUT),
|
|
Pin(num='3',name='NC',func=pin_types.NOCONNECT),
|
|
Pin(num='4',name='GND',func=pin_types.PWRIN),
|
|
Pin(num='5',name='EN',func=pin_types.INPUT),
|
|
Pin(num='6',name='NR',func=pin_types.PASSIVE),
|
|
Pin(num='7',name='DNC',func=pin_types.NOCONNECT),
|
|
Pin(num='8',name='IN',func=pin_types.PWRIN),
|
|
Pin(num='9',name='EP',func=pin_types.PWRIN)] }),
|
|
Part(**{ 'name':'AP2112K-3.3', 'dest':TEMPLATE, 'tool':SKIDL, 'aliases':Alias({'AP2112K-3.3'}), 'ref_prefix':'U', 'fplist':None, 'footprint':'Package_TO_SOT_SMD:SOT-23-5', 'keywords':None, 'description':'', 'datasheet':None, 'pins':[
|
|
Pin(num='1',name='VIN',func=pin_types.PWRIN),
|
|
Pin(num='2',name='GND',func=pin_types.PWRIN),
|
|
Pin(num='3',name='EN',func=pin_types.INPUT),
|
|
Pin(num='4',name='NC',func=pin_types.NOCONNECT),
|
|
Pin(num='5',name='VOUT',func=pin_types.PWROUT)] }),
|
|
Part(**{ 'name':'L', 'dest':TEMPLATE, 'tool':SKIDL, 'aliases':Alias({'L'}), 'ref_prefix':'L', 'fplist':[''], 'footprint':'Inductor_SMD:L_Wuerth_WE-PD_Typ4_M', 'keywords':'inductor choke coil reactor magnetic', 'description':'Inductor', 'datasheet':'~', 'pins':[
|
|
Pin(num='1',name='1',func=pin_types.PASSIVE,unit=1),
|
|
Pin(num='2',name='2',func=pin_types.PASSIVE,unit=1)], 'unit_defs':[] }),
|
|
Part(**{ 'name':'D_Schottky', 'dest':TEMPLATE, 'tool':SKIDL, 'aliases':Alias({'D_Schottky'}), 'ref_prefix':'D', 'fplist':[''], 'footprint':'Diode_SMD:D_SMA', 'keywords':'diode Schottky', 'description':'Schottky diode', 'datasheet':'~', 'pins':[
|
|
Pin(num='1',name='K',func=pin_types.PASSIVE,unit=1),
|
|
Pin(num='2',name='A',func=pin_types.PASSIVE,unit=1)], 'unit_defs':[] }),
|
|
Part(**{ 'name':'C', 'dest':TEMPLATE, 'tool':SKIDL, 'aliases':Alias({'C'}), 'ref_prefix':'C', 'fplist':[''], 'footprint':'Capacitor_SMD:C_1206_3216Metric', 'keywords':'cap capacitor', 'description':'Unpolarized capacitor', 'datasheet':'~', 'pins':[
|
|
Pin(num='1',name='~',func=pin_types.PASSIVE,unit=1),
|
|
Pin(num='2',name='~',func=pin_types.PASSIVE,unit=1)], 'unit_defs':[] }),
|
|
Part(**{ 'name':'R', 'dest':TEMPLATE, 'tool':SKIDL, 'aliases':Alias({'R'}), 'ref_prefix':'R', 'fplist':[''], 'footprint':'Resistor_SMD:R_0805_2012Metric', 'keywords':'R res resistor', 'description':'Resistor', 'datasheet':'~', 'pins':[
|
|
Pin(num='1',name='~',func=pin_types.PASSIVE,unit=1),
|
|
Pin(num='2',name='~',func=pin_types.PASSIVE,unit=1)], 'unit_defs':[] })]) |