diff --git a/pd_blocker.sch b/pd_blocker.sch index a9da923..3678e10 100644 --- a/pd_blocker.sch +++ b/pd_blocker.sch @@ -257,214 +257,149 @@ T -6400 -600 9 10 1 0 0 0 3 capacitors block PD communication by smoothing out the 300 Kpbs signal, but still permits Rx identification -C -1400 6100 1 0 0 LM393D_part-1-2-COMP1.sym +C -1400 6900 1 0 0 LM393D_part-1-2-COMP1.sym { -T -1400 6100 5 8 0 0 0 0 1 +T -1400 6900 5 8 0 0 0 0 1 footprint=SOIC127P600X175-8N.lht -T -1000 7420 5 10 1 1 0 0 1 +T -1000 8220 5 10 1 1 0 0 1 refdes=U1 -T -200 7360 5 10 1 1 0 0 1 +T -200 8160 5 10 1 1 0 0 1 device=LM393D -T -1400 6100 5 10 0 1 0 0 1 +T -1400 6900 5 10 0 1 0 0 1 lcsc=C2977085 } -C 4800 6100 1 0 1 LM393D_part-2-2-COMP2.sym +C 4800 6900 1 0 1 LM393D_part-2-2-COMP2.sym { -T 4800 6100 5 8 0 0 0 6 1 +T 4800 6900 5 8 0 0 0 6 1 footprint=SOIC127P600X175-8N.lht -T 4400 7420 5 10 1 1 0 6 1 +T 4400 8220 5 10 1 1 0 6 1 refdes=U1 -T 3600 7360 5 10 1 1 0 6 1 +T 3600 8160 5 10 1 1 0 6 1 device=LM393D -T 4800 6100 5 10 0 1 0 0 1 +T 4800 6900 5 10 0 1 0 0 1 lcsc=C2977085 } -C 400 7800 1 270 1 40P05.sym +C 400 8600 1 270 1 40P05.sym { -T 400 7800 5 8 0 0 90 2 1 +T 400 8600 5 8 0 0 90 2 1 footprint=SOT95P237X112-3N.lht -T 460 8860 5 10 1 1 180 8 1 +T 460 9660 5 10 1 1 180 8 1 refdes=Q1 -T 1340 8860 5 10 1 1 0 6 1 +T 1340 9660 5 10 1 1 0 6 1 device=40P05 -T 400 7800 5 10 0 0 0 0 1 +T 400 8600 5 10 0 0 0 0 1 lcsc=C2886385 } -C -400 5900 1 0 0 GND.sym -N -2000 8800 400 8800 4 +C -400 6700 1 0 0 GND.sym +N -2000 9600 400 9600 4 { -T -2000 8800 5 10 1 1 0 0 1 +T -2000 9600 5 10 1 1 0 0 1 netname=VBUS1 } -C -1800 6200 1 270 1 ZENER.sym +N -1400 7600 -1600 7600 4 { -T -1800 6200 5 8 0 0 90 2 1 -footprint=SODFL1608X65N.lht -T -1300 6500 5 10 1 1 0 3 1 -refdes=Z1 -T -1800 6400 5 10 0 1 90 3 1 -device=ZENER -T -1400 6200 5 10 1 1 0 0 1 -value=4.7V -T -1800 6200 5 10 0 1 0 6 1 -lcsc=C2832571 +T -1800 7600 5 10 1 1 0 0 1 +netname=VREF } -C -1700 5900 1 0 0 GND.sym -N -1600 6100 -1600 6200 4 -N -1600 6600 -1600 7500 4 -N -1400 6800 -1600 6800 4 -{ -T -1800 6800 5 10 1 1 0 0 1 -netname=VREF1 -} -T -6500 6300 9 10 1 0 0 0 2 -R3 ≤ (Vsupply_min - Vzener) / Ileakage -R3 ≤ (4.75 - 4.7) / 2E-6 = 25k -C -1700 8400 1 270 0 resistor-1.sym -{ -T -1300 8100 5 10 0 0 270 0 1 -device=RESISTOR -T -1400 8000 5 10 1 1 0 0 1 -refdes=R3 -T -1400 7700 5 10 1 1 0 0 1 -value=20k -T -1200 8200 5 10 0 1 270 0 1 -footprint=UC1608X55N.lht -T -1700 8400 5 10 0 1 0 0 1 -description=resistor, chip, 0603 (metric 1608), 1% -} -N -1600 8400 -1600 8800 4 -T -6500 8700 9 10 1 0 0 0 2 +T 1900 10000 9 10 1 0 0 0 2 Vgs limit (± 20V) never reached because -pulled low only when VBUS ≤ 5.5V -T -6500 7500 9 10 1 0 0 0 2 -divider_ratio = Vref / Vover -divider_ratio = 4.7 / 5.5 = 0.8545 -C -2100 8400 1 270 0 resistor-1.sym +pulled down only when VBUS ≤ 5.5V +C -2100 9200 1 270 0 resistor-1.sym { -T -1700 8100 5 10 0 0 270 0 1 +T -1700 8900 5 10 0 0 270 0 1 device=RESISTOR -T -2200 8000 5 10 1 1 0 6 1 +T -2200 8800 5 10 1 1 0 6 1 refdes=R1 -T -2200 7700 5 10 1 1 0 6 1 -value=5k1 -T -1600 8200 5 10 0 1 270 0 1 +T -2200 8500 5 10 1 1 0 6 1 +value=34k +T -1600 9000 5 10 0 1 270 0 1 footprint=UC1608X55N.lht -T -2100 8400 5 10 0 1 0 0 1 +T -2100 9200 5 10 0 1 0 0 1 description=resistor, chip, 0603 (metric 1608), 1% } -C -2100 7000 1 270 0 resistor-1.sym +C -2100 7800 1 270 0 resistor-1.sym { -T -1700 6700 5 10 0 0 270 0 1 +T -1700 7500 5 10 0 0 270 0 1 device=RESISTOR -T -2200 6600 5 10 1 1 0 6 1 +T -2200 7400 5 10 1 1 0 6 1 refdes=R2 -T -2200 6300 5 10 1 1 0 6 1 -value=30k -T -1600 6800 5 10 0 1 270 0 1 +T -2200 7100 5 10 1 1 0 6 1 +value=21k +T -1600 7600 5 10 0 1 270 0 1 footprint=UC1608X55N.lht -T -2100 7000 5 10 0 1 0 0 1 +T -2100 7800 5 10 0 1 0 0 1 description=resistor, chip, 0603 (metric 1608), 1% } -T -6500 7200 9 10 1 0 0 0 1 -R2/(R1+R2) = 30/(5.1+30) = 0.8547 -C -2100 5900 1 0 0 GND.sym -N -2000 7500 -2000 7000 4 -N -1400 7000 -2000 7000 4 +T -2700 7000 9 10 1 0 90 0 2 +Vref = R2/(R1+R2) * Vover +2.1 = 21/(34+21) *5.5 +C -2100 6700 1 0 0 GND.sym +N -2000 8300 -2000 7800 4 +N -1400 7800 -2000 7800 4 { -T -1200 7000 5 10 1 1 0 6 1 +T -1200 7800 5 10 1 1 0 6 1 netname=VOVER1 } -N -2000 8800 -2000 8400 4 -C 3000 7800 1 90 0 40P05.sym +N -2000 9600 -2000 9200 4 +C 3000 8600 1 90 0 40P05.sym { -T 3000 7800 5 8 0 0 90 0 1 +T 3000 8600 5 8 0 0 90 0 1 footprint=SOT95P237X112-3N.lht -T 2940 8860 5 10 1 1 180 2 1 +T 2940 9660 5 10 1 1 180 2 1 refdes=Q2 -T 2060 8860 5 10 1 1 0 0 1 +T 2060 9660 5 10 1 1 0 0 1 device=40P05 -T 3000 7800 5 10 0 0 0 0 1 +T 3000 8600 5 10 0 0 0 0 1 lcsc=C2886385 } -C 3800 5900 1 0 1 GND.sym -N 5400 8800 3000 8800 4 +C 3800 6700 1 0 1 GND.sym +N 5400 9600 3000 9600 4 { -T 5400 8800 5 10 1 1 0 6 1 +T 5400 9600 5 10 1 1 0 6 1 netname=VBUS2 } -C 5200 6200 1 90 0 ZENER.sym +N 4800 7600 5000 7600 4 { -T 5200 6200 5 8 0 0 90 0 1 -footprint=SODFL1608X65N.lht -T 5200 6400 5 10 0 1 90 5 1 -device=ZENER -T 5200 6200 5 10 0 1 0 0 1 -lcsc=C2832571 -T 4700 6500 5 10 1 1 0 3 1 -refdes=Z4 -T 4800 6200 5 10 1 1 0 6 1 -value=4.7V +T 5200 7600 5 10 1 1 0 6 1 +netname=VREF } -C 5100 5900 1 0 1 GND.sym -N 5000 6100 5000 6200 4 -N 5000 6600 5000 7500 4 -N 4800 6800 5000 6800 4 +C 5500 9200 1 90 1 resistor-1.sym { -T 5200 6800 5 10 1 1 0 6 1 -netname=VREF2 -} -C 5100 8400 1 90 1 resistor-1.sym -{ -T 4700 8100 5 10 0 0 270 2 1 +T 5100 8900 5 10 0 0 270 2 1 device=RESISTOR -T 4600 8200 5 10 0 1 270 2 1 +T 5000 9000 5 10 0 1 270 2 1 footprint=UC1608X55N.lht -T 4800 8000 5 10 1 1 0 6 1 +T 5600 8800 5 10 1 1 0 0 1 +refdes=R5 +T 5600 8500 5 10 1 1 0 0 1 +value=34k +T 5500 9200 5 10 0 1 0 0 1 +description=resistor, chip, 0603 (metric 1608), 1% +} +C 5500 7800 1 90 1 resistor-1.sym +{ +T 5100 7500 5 10 0 0 270 2 1 +device=RESISTOR +T 5000 7600 5 10 0 1 270 2 1 +footprint=UC1608X55N.lht +T 5600 7400 5 10 1 1 0 0 1 refdes=R6 -T 4800 7700 5 10 1 1 0 6 1 -value=20k -T 5100 8400 5 10 0 1 0 0 1 +T 5600 7100 5 10 1 1 0 0 1 +value=21k +T 5500 7800 5 10 0 1 0 0 1 description=resistor, chip, 0603 (metric 1608), 1% } -N 5000 8400 5000 8800 4 -C 5500 8400 1 90 1 resistor-1.sym +C 5500 6700 1 0 1 GND.sym +N 5400 8300 5400 7800 4 +N 4800 7800 5400 7800 4 { -T 5100 8100 5 10 0 0 270 2 1 -device=RESISTOR -T 5000 8200 5 10 0 1 270 2 1 -footprint=UC1608X55N.lht -T 5600 8000 5 10 1 1 0 0 1 -refdes=R7 -T 5600 7700 5 10 1 1 0 0 1 -value=5k1 -T 5500 8400 5 10 0 1 0 0 1 -description=resistor, chip, 0603 (metric 1608), 1% -} -C 5500 7000 1 90 1 resistor-1.sym -{ -T 5100 6700 5 10 0 0 270 2 1 -device=RESISTOR -T 5000 6800 5 10 0 1 270 2 1 -footprint=UC1608X55N.lht -T 5600 6600 5 10 1 1 0 0 1 -refdes=R8 -T 5600 6300 5 10 1 1 0 0 1 -value=30k -T 5500 7000 5 10 0 1 0 0 1 -description=resistor, chip, 0603 (metric 1608), 1% -} -C 5500 5900 1 0 1 GND.sym -N 5400 7500 5400 7000 4 -N 4800 7000 5400 7000 4 -{ -T 4600 7000 5 10 1 1 0 0 1 +T 4600 7800 5 10 1 1 0 0 1 netname=VOVER2 } -N 5400 8800 5400 8400 4 -N 1600 8800 1800 8800 4 +N 5400 9600 5400 9200 4 +N 1600 9600 1800 9600 4 { -T 1500 8800 5 10 1 1 0 0 1 +T 1500 9600 5 10 1 1 0 0 1 netname=VBUS } C -1200 -800 1 0 0 HEADER-2.54-1x10.sym @@ -530,7 +465,7 @@ T 800 2300 5 8 0 0 0 0 1 footprint=CONNECTOR_XKB_U262-24XN-4BV60.lht T 1200 4960 5 10 1 1 0 0 1 refdes=J2 -T 3760 2640 5 10 1 1 0 2 1 +T 3760 2640 5 10 0 1 0 2 1 device=XKB_U262-24XN-4BV60 T 3300 5000 5 10 1 1 0 0 1 value=USB-C receptacle @@ -543,7 +478,7 @@ T -5600 2300 5 8 0 0 0 0 1 footprint=CONNECTOR_XKB_U261-24XN-4BC2LS.lht T -5200 4960 5 10 1 1 0 0 1 refdes=J1 -T -2540 2640 5 10 1 1 0 2 1 +T -2540 2640 5 10 0 1 0 2 1 device=XKB_U261-24XN-4BC2LS T -5600 2300 5 10 0 0 0 0 1 lcsc=C2880648 @@ -553,96 +488,100 @@ value=USB-C plug N -2700 2100 -2700 2300 4 N -2900 2100 -2900 2300 4 N -3100 2100 -3100 2300 4 -T -6500 9900 9 10 1 0 0 0 1 +T -6900 10200 9 10 1 0 0 0 1 over-voltage protection T -6500 1500 9 10 1 0 0 0 1 communication protection -T -6500 9300 9 10 1 0 0 0 2 +T -1600 10000 9 10 1 0 0 0 2 two pMOS are required to -block VBUS in both direction -C -1300 9700 1 0 0 BAV74_part-1-2-D1.sym +block VBUS in both directions +C -5800 9300 1 0 0 BAV74_part-1-2-D1.sym { -T -1300 9700 5 8 0 0 0 0 1 +T -5800 9300 5 8 0 0 0 0 1 footprint=SOT95P237X112-3N.lht -T -1100 10060 5 10 1 1 0 3 1 +T -5600 9660 5 10 1 1 0 3 1 refdes=D1 -T -1100 9740 5 10 1 1 0 5 1 +T -5600 9340 5 10 1 1 0 5 1 device=BAV74 } -C -100 9700 1 0 1 BAV74_part-2-2-D2.sym +C -4600 9300 1 0 1 BAV74_part-2-2-D2.sym { -T -100 9700 5 8 0 0 0 6 1 +T -4600 9300 5 8 0 0 0 6 1 footprint=SOT95P237X112-3N.lht -T -300 10060 5 10 1 1 0 3 1 +T -4800 9660 5 10 1 1 0 3 1 refdes=D1 -T -300 9740 5 10 1 1 0 5 1 +T -4800 9340 5 10 1 1 0 5 1 device=BAV74 } -T -6500 8100 9 10 1 0 0 0 2 +T -6600 8700 9 10 1 0 0 0 2 diodes prevent VBUS cross-leakage -C -900 9900 1 0 0 VCC.sym -N -1300 9900 -2000 9900 4 +C -5400 9500 1 0 0 VCC.sym +N -5800 9500 -6500 9500 4 { -T -1300 9900 5 10 1 1 0 6 1 +T -5800 9500 5 10 1 1 0 6 1 netname=VBUS1 } -N -900 9900 -500 9900 4 -N -100 9900 600 9900 4 +N -5400 9500 -5000 9500 4 +N -4600 9500 -3900 9500 4 { -T -100 9900 5 10 1 1 0 0 1 +T -4600 9500 5 10 1 1 0 0 1 netname=VBUS2 } -C 3500 7700 1 0 0 VCC.sym -C -500 7700 1 0 0 VCC.sym -C 500 8800 1 90 1 resistor-1.sym +C 3500 8500 1 0 0 VCC.sym +C -500 8500 1 0 0 VCC.sym +C 500 9600 1 90 1 resistor-1.sym { -T 100 8500 5 10 0 0 270 2 1 +T 100 9300 5 10 0 0 270 2 1 device=RESISTOR -T 200 8400 5 10 1 1 0 6 1 +T 200 9200 5 10 1 1 0 6 1 +refdes=R3 +T 200 8900 5 10 1 1 0 6 1 +value=100k +T 0 9400 5 10 0 1 270 2 1 +footprint=UC1608X55N.lht +T 500 9600 5 10 0 1 0 6 1 +description=resistor, chip, 0603 (metric 1608), 1% +} +N 400 8700 400 8600 4 +N 400 8600 800 8600 4 +C 2900 9600 1 270 0 resistor-1.sym +{ +T 3300 9300 5 10 0 0 270 0 1 +device=RESISTOR +T 3400 9400 5 10 0 1 270 0 1 +footprint=UC1608X55N.lht +T 3200 9200 5 10 1 1 0 0 1 refdes=R4 -T 200 8100 5 10 1 1 0 6 1 +T 3200 8900 5 10 1 1 0 0 1 value=100k -T 0 8600 5 10 0 1 270 2 1 -footprint=UC1608X55N.lht -T 500 8800 5 10 0 1 0 6 1 +T 2900 9600 5 10 0 1 0 6 1 description=resistor, chip, 0603 (metric 1608), 1% } -N 400 7900 400 7800 4 -N 400 7800 1000 7800 4 -C 1000 7600 1 0 0 BAV74_part-1-2-D1.sym +N 3000 8700 3000 8600 4 +N 2600 8600 3000 8600 4 +N 800 8600 800 7700 4 +T 700 7400 9 10 1 0 0 0 1 +open-collector output +C -6400 7100 1 0 0 HT75xx-3.sym { -T 1000 7600 5 8 0 0 0 0 1 -footprint=SOT95P237X112-3N.lht -T 1200 7960 5 10 1 1 0 3 1 -refdes=D2 -T 1200 7640 5 10 1 1 0 5 1 -device=BAV74 +T -6400 7100 5 8 0 0 0 0 1 +footprint=SOT95P280X145-5N.fp +T -5850 8260 5 10 1 1 0 3 1 +refdes=U2 +T -5340 7440 5 10 0 1 0 2 1 +device=HT75xx-3 +T -5500 8300 5 10 1 1 0 0 1 +value=HT7521-3 } -C 2400 7600 1 0 1 BAV74_part-2-2-D2.sym +T -6900 6400 9 10 1 0 0 0 2 +Vref ≤ VBUSmin - D1_Vf - LM393_Vicm +Vref ≤ 4.75 - 0.715 - 1.5 = 2.5V +C -6600 8000 1 0 0 VCC.sym +C -5500 6900 1 0 0 GND.sym +N -4300 8000 -3700 8000 4 { -T 2400 7600 5 8 0 0 0 6 1 -footprint=SOT95P237X112-3N.lht -T 2100 7960 5 10 1 1 0 3 1 -refdes=D2 -T 2200 7640 5 10 1 1 0 5 1 -device=BAV74 +T -4200 8000 5 10 1 1 0 0 1 +netname=VREF } -C 2900 8800 1 270 0 resistor-1.sym -{ -T 3300 8500 5 10 0 0 270 0 1 -device=RESISTOR -T 3400 8600 5 10 0 1 270 0 1 -footprint=UC1608X55N.lht -T 3200 8400 5 10 1 1 0 0 1 -refdes=R5 -T 3200 8100 5 10 1 1 0 0 1 -value=100k -T 2900 8800 5 10 0 1 0 6 1 -description=resistor, chip, 0603 (metric 1608), 1% -} -N 3000 7900 3000 7800 4 -N 2400 7800 3000 7800 4 -N 1400 7800 2000 7800 4 -N 1700 7800 1700 6900 4 -N 1700 6900 800 6900 4 +N 2600 7700 2600 8600 4