tscircuit/ti
ti tscircuit library
- Version
- 1.0.192
- License
- unset
- Stars
- 0
lib/subcircuits/VoltageRegulator_LM73605.circuit.tsx
import type { SubcircuitProps } from "@tscircuit/props";
import "tscircuit";
import { LM73605QRNPRQ1 } from "../chips/LM73605QRNPRQ1.circuit.tsx";
const SOURCE_ORIGIN = { x: 22.225, y: 7.62 } as const;
const sx = (x: number) => Number((x - SOURCE_ORIGIN.x).toFixed(6));
const sy = (y: number) => Number((y - SOURCE_ORIGIN.y).toFixed(6));
const inputSectionX = (x: number) => sx(x + 2.5);
const leftControlSectionX = (x: number) => sx(x + 1.5);
const outputSectionX = (x: number) => sx(x - 1.2);
const feedbackSectionX = (x: number) => sx(x + 0.8);
const biasSectionX = (x: number) => sx(x - 1.5);
const outputConnectorX = (x: number) => sx(x - 2.5);
const NetTie = () => (
<>
<chip
name="NTGND1"
manufacturerPartNumber="Net-Tie"
footprint="kicad:NetTie/NetTie-2_SMD_Pad0.5mm"
pinLabels={{ pin1: "GND", pin2: "AGND" }}
internallyConnectedPins={[[1, 2]]}
schX={sx(22.86)}
schY={sy(3.048)}
/>
<schematictext
text="Net-Tie"
schX={sx(22.86)}
schY={sy(2.54)}
fontSize={0.12}
/>
</>
);
/**
* 3.3-V off-battery regulator section from sheet 2 of TI TIDA-050008 (native
* Altium archive TIDRXT8).
*
* Coordinate transform: Altium mil coordinates are converted to millimeters
* with 0.0254 mm/mil, then translated as
* (x_tsx, y_tsx) = (x_mm - 22.225, y_mm - 7.620). No scale or reflection is
* applied. Native-symbol packing translations preserve every source Y
* coordinate and every component's orientation: the input bank is +2.5 mm,
* left controls are +1.5 mm, the switch/output bank is -1.2 mm, the complete
* FB1 feedback network is +0.8 mm, the bias branch is -1.5 mm, and the output
* connectors are -2.5 mm in X. These section-level translations bring the
* larger native symbols together while keeping each source circuit intact.
*/
export const VoltageRegulator_LM73605 = (props: SubcircuitProps) => (
<subcircuit schMaxTraceDistance="25mm" routingDisabled {...props}>
<net name="GND" isPowerNet isGroundNet />
<net name="AGND" isPowerNet isGroundNet />
<net name="V3_3" isPowerNet />
<schematictext
text="3.3-V System Supply"
schX={sx(23.495)}
schY={sy(12.446)}
fontSize={0.3}
/>
<capacitor
name="Cbulk1"
capacitance="100uF"
maxVoltageRating="50V"
footprint="kicad:Capacitor_SMD/CP_Elec_10x10"
manufacturerPartNumber="HHXB500ARA101MJA0G"
schX={inputSectionX(9.398)}
schY={sy(9.3599)}
schRotation={270}
/>
<capacitor
name="CI1"
capacitance="0.47uF"
maxVoltageRating="50V"
footprint="0805"
manufacturerPartNumber="GRM21BR71H474KA88L"
schX={inputSectionX(10.922)}
schY={sy(9.271)}
schRotation={90}
/>
<capacitor
name="CI2"
capacitance="10uF"
maxVoltageRating="50V"
footprint="1210"
manufacturerPartNumber="GRM32ER71H106KA12L"
schX={inputSectionX(11.938)}
schY={sy(9.271)}
schRotation={90}
/>
<capacitor
name="CI3"
capacitance="2.2uF"
maxVoltageRating="50V"
footprint="0805"
manufacturerPartNumber="C2012X5R1H225K125AB"
schX={inputSectionX(12.954)}
schY={sy(9.271)}
schRotation={270}
/>
<capacitor
name="CI4"
capacitance="2.2uF"
maxVoltageRating="50V"
footprint="0805"
manufacturerPartNumber="C2012X5R1H225K125AB"
schX={inputSectionX(13.97)}
schY={sy(9.271)}
schRotation={270}
/>
<LM73605QRNPRQ1 name="U2" schX={sx(19.812)} schY={sy(7.62)} />
<capacitor
name="CB"
capacitance="0.47uF"
maxVoltageRating="25V"
footprint="0603"
manufacturerPartNumber="GRM188R61E474KA12D"
schX={outputSectionX(22.606)}
schY={sy(10.16)}
schOrientation="horizontal"
/>
<inductor
name="L1"
inductance="2.2uH"
footprint="kicad:Inductor_SMD/L_Coilcraft_XAL5030-XXX"
manufacturerPartNumber="XAL5030-222MEB"
schX={outputSectionX(24.892)}
schY={sy(10.4775)}
schOrientation="horizontal"
/>
<capacitor
name="CO"
capacitance="0.47uF"
maxVoltageRating="50V"
footprint="0805"
manufacturerPartNumber="GRM21BR71H474KA88L"
schX={outputSectionX(26.289)}
schY={sy(9.525)}
schRotation={90}
/>
{[
["CO1", 27.813],
["CO2", 28.829],
["CO3", 29.972],
["CO4", 31.115],
["CO5", 32.131],
].map(([name, x]) => (
<capacitor
key={String(name)}
name={String(name)}
capacitance="22uF"
maxVoltageRating="16V"
footprint="1210"
manufacturerPartNumber="GRM32ER71C226KE18L"
schX={outputSectionX(Number(x))}
schY={sy(9.525)}
schRotation={270}
/>
))}
<capacitor
name="CVCC"
capacitance="2.2uF"
maxVoltageRating="10V"
footprint="0603"
manufacturerPartNumber="GRM188C81A225KE34D"
schX={leftControlSectionX(14.224)}
schY={sy(6.731)}
schRotation={270}
/>
<resistor
name="RT"
resistance="17.4kohm"
tolerance="1%"
footprint="0603"
manufacturerPartNumber="CRCW060317K4FKEA"
schX={leftControlSectionX(15.748)}
schY={sy(7.112)}
schRotation={270}
/>
<capacitor
name="CSS"
capacitance="0.01uF"
maxVoltageRating="100V"
footprint="0603"
manufacturerPartNumber="06031C103MAT2A"
schX={sx(23.622)}
schY={sy(6.096)}
schRotation={270}
/>
<resistor
name="RPG"
resistance="100kohm"
tolerance="1%"
footprint="0603"
manufacturerPartNumber="CRCW0603100KFKEA"
schX={outputSectionX(24.13)}
schY={sy(8.128)}
schOrientation="horizontal"
/>
<capacitor
name="CFF"
capacitance="4.7pF"
maxVoltageRating="50V"
footprint="0603"
manufacturerPartNumber="06035A4R7CAT2A"
schX={feedbackSectionX(25.908)}
schY={sy(6.223)}
schRotation={270}
/>
<resistor
name="RFBT"
resistance="100kohm"
tolerance="1%"
footprint="0603"
manufacturerPartNumber="CRCW0603100KFKEA"
schX={feedbackSectionX(27.178)}
schY={sy(6.096)}
schRotation={90}
/>
<resistor
name="RFBB"
resistance="43.2kohm"
tolerance="1%"
footprint="0603"
manufacturerPartNumber="CRCW060343K2FKEA"
schX={feedbackSectionX(27.178)}
schY={sy(4.318)}
schRotation={90}
/>
<resistor
name="R20"
resistance="562kohm"
tolerance="1%"
footprint="0603"
manufacturerPartNumber="CRCW0603562KFKEA"
schX={feedbackSectionX(28.956)}
schY={sy(4.572)}
schRotation={90}
/>
<capacitor
name="Cbias1"
capacitance="0.1uF"
maxVoltageRating="16V"
footprint="0603"
manufacturerPartNumber="GCM188R71C104KA37J"
schX={biasSectionX(32.512)}
schY={sy(4.953)}
schRotation={270}
/>
<resistor
name="Rbias1"
resistance="3ohm"
tolerance="5%"
footprint="0402"
manufacturerPartNumber="CRCW04023R00JNED"
schX={biasSectionX(33.401)}
schY={sy(6.096)}
schOrientation="horizontal"
/>
<NetTie />
<testpoint
name="TP5"
displayName="V_CTRL1"
manufacturerPartNumber="5012"
footprint="kicad:TestPoint/TestPoint_Keystone_5010-5014_Multipurpose"
schX={feedbackSectionX(30.48)}
schY={sy(3.4036)}
schRotation={90}
/>
<testpoint
name="TP18"
displayName="3.3V"
manufacturerPartNumber="5010"
footprint="kicad:TestPoint/TestPoint_Keystone_5010-5014_Multipurpose"
schX={outputConnectorX(36.83)}
schY={sy(10.5156)}
schRotation={90}
/>
<testpoint
name="TP19"
displayName="GND"
manufacturerPartNumber="5011"
footprint="kicad:TestPoint/TestPoint_Keystone_5010-5014_Multipurpose"
schX={outputConnectorX(36.83)}
schY={sy(8.9916)}
schRotation={90}
/>
<testpoint
name="P3"
displayName="3.3Vout"
manufacturerPartNumber="6091"
footprint="kicad:TestPoint/TestPoint_Plated_Hole_D3.0mm"
schX={outputConnectorX(37.592)}
schY={sy(10.16)}
/>
<testpoint
name="P4"
displayName="GND"
manufacturerPartNumber="6092"
footprint="kicad:TestPoint/TestPoint_Plated_Hole_D3.0mm"
schX={outputConnectorX(37.592)}
schY={sy(8.636)}
/>
<trace
name="VIN1"
schDisplayLabel="VIN1"
path={[
".Cbulk1 > .pin1",
".CI1 > .pin2",
".CI2 > .pin2",
".CI3 > .pin1",
".CI4 > .pin1",
".U2 > .pin18",
".U2 > .pin20",
".U2 > .pin21",
".U2 > .pin22",
"net.VIN1",
]}
/>
<trace
name="SW"
schDisplayLabel="SW"
path={[
".U2 > .pin1",
".U2 > .pin2",
".U2 > .pin3",
".U2 > .pin4",
".U2 > .pin5",
".CB > .pin2",
".L1 > .pin1",
]}
/>
<trace path={[".U2 > .pin6", ".CB > .pin1"]} />
<trace
name="VCC"
schDisplayLabel="VCC"
path={[".U2 > .pin7", ".CVCC > .pin1"]}
/>
<trace
name="BIAS"
schDisplayLabel="BIAS"
path={[".U2 > .pin8", ".Cbias1 > .pin1", ".Rbias1 > .pin1"]}
/>
<trace
name="RT"
schDisplayLabel="RT"
path={[".U2 > .pin9", ".RT > .pin1"]}
/>
<trace
name="SS_TRK"
schDisplayLabel="SS/TRK"
path={[".U2 > .pin10", ".CSS > .pin1"]}
/>
<trace
name="FB1"
schDisplayLabel="FB1"
path={[
".U2 > .pin11",
".CFF > .pin2",
".RFBT > .pin1",
".RFBB > .pin2",
".R20 > .pin2",
]}
/>
<trace
name="PGOOD_NET"
schDisplayLabel="PGOOD"
path={[".U2 > .pin16", ".RPG > .pin1"]}
/>
<trace
name="V3_3"
schDisplayLabel="+3.3V"
path={[
".L1 > .pin2",
".CO > .pin2",
".CO1 > .pin1",
".CO2 > .pin1",
".CO3 > .pin1",
".CO4 > .pin1",
".CO5 > .pin1",
".RPG > .pin2",
".CFF > .pin1",
".RFBT > .pin2",
".Rbias1 > .pin2",
".TP18 > .pin1",
".P3 > .pin1",
"net.V3_3",
]}
/>
<trace
name="V_CTRL1"
schDisplayLabel="V_CTRL1"
path={[".R20 > .pin1", ".TP5 > .pin1"]}
/>
<trace
name="AGND"
schDisplayLabel="AGND"
path={[
".U2 > .pin19",
".CSS > .pin2",
".RFBB > .pin1",
".NTGND1 > .pin2",
"net.AGND",
]}
/>
<trace
name="GND"
path={[
".Cbulk1 > .pin2",
".CI1 > .pin1",
".CI2 > .pin1",
".CI3 > .pin2",
".CI4 > .pin2",
".U2 > .pin12",
".U2 > .pin13",
".U2 > .pin14",
".U2 > .pin15",
".U2 > .pin17",
".U2 > .pin23",
".U2 > .pin24",
".U2 > .pin25",
".U2 > .pin26",
".U2 > .pin27",
".U2 > .pin28",
".U2 > .pin29",
".U2 > .pin30",
".U2 > .pin31",
".CO > .pin1",
".CO1 > .pin2",
".CO2 > .pin2",
".CO3 > .pin2",
".CO4 > .pin2",
".CO5 > .pin2",
".CVCC > .pin2",
".RT > .pin2",
".Cbias1 > .pin2",
".NTGND1 > .pin1",
".TP19 > .pin1",
".P4 > .pin1",
"net.GND",
]}
/>
<port name="VIN1" direction="left" connectsTo="Cbulk1.pin1" />
<port name="V3_3" direction="right" connectsTo="P3.pin1" />
<port name="GND" direction="right" connectsTo="P4.pin1" />
<port name="V_CTRL1" direction="right" connectsTo="TP5.pin1" />
</subcircuit>
);
export default VoltageRegulator_LM73605;