Changeset 1756
- Timestamp:
- 04/14/07 10:30:34 (6 years ago)
- Location:
- developers/werner/usb-pullup
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
developers/werner/usb-pullup/README
r1743 r1756 4 4 1) Change R1713 (nRESET pull-up) from 100 kOhm to 33 kOhm 5 5 6 2) Replace R1911, Q4901, R4910, and D4910 with the circuit shown 7 in new.fig 8 9 For Q1, Q2, RB1, and RB2 an NXP PEMH14 can be used, so the number 10 of components stays the same. 11 12 This two-transistor solution also eliminates the USB_PULLUP to 13 nRESET path that might allow mis-configured GPIO to keep the 14 device out of reset. 6 2) Add a diode to USB_PULLUP, to prevent it from forcing nRESET 7 if driven high. 15 8 16 9 … … 44 37 45 38 RUSB=1000: 46 Switches Q 2.IEV(RUSB) I(IO_3V3) V(nRESET)47 : 1. 24 mA 1.24 V 1.25 mA 3.02V pull-up enabled48 UG: 2.92 pA 2.92 nV 80.21 uA 3.20V pull-up disabled49 UP: 1. 26 mA 1.26 V 1.27 mA 3.01V invalid !50 RG: 2 7.38 uA 27.38 mV 357.38 uA 320.00nV reset51 RG+UG: 1.10 pA 1.10 nV 400.21 uA 320.00nV reset52 RG+UP: 53.83 uA 53.83 mV 383.83 uA 320.00 nV reset (*)39 Switches Q.IE V(RUSB) I(IO_3V3) V(nRESET) 40 : 1.31 mA 1.31 V 1.32 mA 2.97 V pull-up enabled 41 UG: 26.65 nA 26.65 uV 137.25 uA 2.97 V pull-up disabled 42 UP: 1.31 mA 1.31 V 1.32 mA 2.97 V invalid ! 43 RG: 26.65 nA 26.65 uV 227.24 uA 217.21 nV reset 44 RG+UG: 7.11 nA 7.11 uV 228.78 uA 154.38 nV reset 45 RG+UP: 26.65 nA 26.65 uV 227.25 uA 217.22 nV reset 53 46 54 47 Here, the external load on D+ is 1000 kOhm to ground. The columns 55 48 show the current into the load, the voltage on D+, the total 56 49 current drawn from IO_3V3, and the resulting voltage on nRESET. 57 58 (*) Is such a high Q2.IE acceptable in this (probably rare) state ? -
developers/werner/usb-pullup/new.fig
r1743 r1756 8 8 -2 9 9 1200 2 10 6 10500 7800 11100 8700 10 6 7950 6000 10500 7050 11 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 12 8700 6000 9600 6000 9600 6300 8700 6300 8700 6000 11 13 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 12 10800 7800 10800 840014 7950 6150 8700 6150 13 15 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 14 10500 8400 11100 8400 15 4 1 0 50 -1 2 12 0.0000 4 135 90 10800 8700 0\001 16 9600 6150 10200 6150 17 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 18 10200 6150 10200 6750 19 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 20 9900 6750 10500 6750 21 4 1 0 50 -1 0 12 0.0000 4 135 480 9150 6225 RUSB\001 22 4 1 0 50 -1 2 12 0.0000 4 135 90 10200 7050 0\001 16 23 -6 17 6 5625 3375 6300 3525 24 6 2025 2250 3000 3225 25 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 26 2400 2550 2400 2250 27 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 28 2250 2400 2550 2400 18 29 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 19 5625 3375 5775 3375 5775 3525 5625 3525 5625 3375 20 4 0 0 50 -1 0 12 0.0000 4 135 375 5925 3525 RRG\001 30 2325 3075 2475 3075 2475 3225 2325 3225 2325 3075 31 4 0 0 50 -1 0 12 0.0000 4 135 360 2625 3225 RUP\001 32 4 1 0 50 -1 2 12 0.0000 4 135 90 2100 2475 1\001 21 33 -6 22 1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 4800 3450 300 300 4800 3450 5100 3450 34 6 4425 8325 5100 8475 23 35 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 24 6000 5700 6300 5700 6300 6600 6000 6600 6000 5700 36 4425 8325 4575 8325 4575 8475 4425 8475 4425 8325 37 4 0 0 50 -1 0 12 0.0000 4 135 375 4725 8475 RRG\001 38 -6 39 1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 2400 8250 300 300 2400 8250 2700 8250 40 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 41 5400 7650 4500 7650 4500 9000 42 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 43 4500 7650 4500 6900 44 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 45 4500 5100 4500 5400 46 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 47 4350 5250 4650 5250 25 48 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 26 6600 7200 7500 7200 7500 7500 6600 7500 6600 720049 4350 6000 4650 6000 4650 6900 4350 6900 4350 6000 27 50 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 28 8100 6900 8100 7800 51 4500 5550 4500 6000 52 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 53 4500 7650 2400 7650 2400 7950 29 54 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 30 3600 7350 6600 7350 55 4200 9000 4800 9000 56 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 4 57 5400 7650 5850 7350 5850 7950 5400 7650 31 58 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 32 6150 6600 6150 735059 5400 7350 5400 7950 33 60 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 34 7500 7350 8100 735061 2400 3750 5400 3750 35 62 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 36 3600 8100 3600 6450 63 2400 4800 2400 2700 64 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 65 4350 2100 4650 2100 4650 3000 4350 3000 4350 2100 37 66 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 38 3300 8100 3900 810067 4500 3000 4500 3750 39 68 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 40 3600 6300 3600 600069 4500 1650 4500 2100 41 70 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 42 3450 6150 3750 6150 43 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 44 3525 6825 3675 6825 3675 6975 3525 6975 3525 6825 45 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 46 3525 7575 3675 7575 3675 7725 3525 7725 3525 7575 47 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 48 9300 7650 10200 7650 10200 7950 9300 7950 9300 7650 71 4350 1350 4650 1350 49 72 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 50 8550 7800 9300 7800 51 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 52 10200 7800 10800 7800 53 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 3 54 1 0 1.00 60.00 120.00 55 8550 6900 8100 7350 8550 7800 56 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 57 6300 2700 7200 2700 7200 3000 6300 3000 6300 2700 58 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 59 6300 2850 5700 2850 5700 4200 60 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 61 5700 2850 5700 2100 62 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 63 8100 2400 8100 3300 64 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 65 7200 2850 8100 2850 73 4500 1200 4500 1500 66 74 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 67 75 1 0 1.00 60.00 120.00 68 8100 2850 8550 3300 69 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 70 8400 1200 8700 1200 8700 2100 8400 2100 8400 1200 76 2400 8025 2400 8475 71 77 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 72 8550 750 8550 1200 73 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 74 8550 2100 8550 2400 8100 2850 78 2100 9000 2700 9000 75 79 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 76 5700 300 5700 60080 2400 8550 2400 9000 77 81 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 78 5550 450 5850 450 82 5400 3450 5400 4050 83 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 4 84 5400 3750 5850 3450 5850 4050 5400 3750 85 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 4 86 5850 3750 6600 3750 6600 7650 5850 7650 79 87 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 80 8550 300 8550 60088 7500 5250 7500 6150 81 89 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 82 8400 450 8700 450 83 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 84 5550 1200 5850 1200 5850 2100 5550 2100 5550 1200 85 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 86 5700 750 5700 1200 87 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 88 5700 2850 4800 2850 4800 3150 90 6600 5700 7500 5700 89 91 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 90 92 1 0 1.00 60.00 120.00 91 4800 3225 4800 3675 93 7500 5700 7950 6150 94 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 95 7800 4050 8100 4050 8100 4950 7800 4950 7800 4050 92 96 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 93 5400 4200 6000 4200 97 7950 3600 7950 4050 98 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 99 7950 4950 7950 5250 7500 5700 94 100 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 95 4500 4200 5100 4200101 7950 3150 7950 3450 96 102 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 97 4800 3750 4800 4200103 7800 3300 8100 3300 98 104 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 99 6150 5250 6150 5700 100 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 101 6000 4950 6300 4950 102 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 103 6150 4800 6150 5100 104 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 105 8550 3300 8550 6900 106 4 1 0 50 -1 0 12 0.0000 4 135 795 7050 7050 RB2 = 22k\001 107 4 0 0 50 -1 0 12 0.0000 4 180 1200 8400 7425 Q2 (hFE = 200)\001 108 4 0 0 50 -1 0 12 0.0000 4 135 720 6450 6225 RU = 47k\001 109 4 1 0 50 -1 2 12 0.0000 4 135 90 3600 8400 0\001 110 4 1 0 50 -1 2 12 0.0000 4 135 90 5850 7200 7\001 111 4 1 0 50 -1 2 12 0.0000 4 135 90 7800 7200 9\001 112 4 0 0 50 -1 0 12 0.0000 4 135 360 3825 6975 RUP\001 113 4 0 0 50 -1 0 12 0.0000 4 135 390 3750 7725 RUG\001 114 4 0 0 50 -1 0 12 0.0000 4 180 5145 3600 9525 Q1, Q2, RB1, and RB2 are integrated in an NXP PEMH19 dual NPN\001 115 4 1 0 50 -1 2 12 0.0000 4 135 90 3300 6225 1\001 116 4 1 0 50 -1 0 12 0.0000 4 135 480 9750 7875 RUSB\001 117 4 1 0 50 -1 2 12 0.0000 4 135 180 8700 8025 10\001 118 4 0 0 50 -1 0 12 0.0000 4 135 705 6000 1725 RR = 33k\001 119 4 0 0 50 -1 0 12 0.0000 4 135 765 8850 1725 R1 = 1500\001 120 4 1 0 50 -1 0 12 0.0000 4 135 795 6750 2550 RB1 = 22k\001 121 4 0 0 50 -1 0 12 0.0000 4 180 1200 8400 2925 Q1 (hFE = 200)\001 122 4 0 0 50 -1 2 12 0.0000 4 135 90 5850 1125 1\001 123 4 0 0 50 -1 2 12 0.0000 4 135 90 8700 1125 1\001 124 4 1 0 50 -1 2 12 0.0000 4 135 90 7650 2700 3\001 125 4 1 0 50 -1 2 12 0.0000 4 135 90 8700 2475 4\001 126 4 1 0 50 -1 2 12 0.0000 4 135 90 5550 2700 2\001 127 4 0 0 50 -1 0 12 0.0000 4 135 840 6000 525 VIO =3.3V\001 128 4 1 0 50 -1 2 12 0.0000 4 135 90 5400 525 1\001 129 4 1 0 50 -1 2 12 0.0000 4 135 90 8250 525 1\001 130 4 1 0 50 -1 2 12 0.0000 4 135 90 5700 4500 0\001 131 4 1 0 50 -1 2 12 0.0000 4 135 90 4800 4500 0\001 132 4 2 0 50 -1 0 12 0.0000 4 135 555 4350 3675 = 10uA\001 133 4 2 0 50 -1 0 12 0.0000 4 135 630 4350 3375 IRESET\001 134 4 1 0 50 -1 2 12 0.0000 4 135 90 5850 5025 1\001 135 4 1 0 50 -1 2 12 0.0000 4 135 90 8700 5025 5\001 105 2100 4800 2700 4800 106 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 107 2325 4125 2475 4125 2475 4275 2325 4275 2325 4125 108 4 0 0 50 -1 0 12 0.0000 4 135 705 4800 6525 RR = 33k\001 109 4 2 0 50 -1 2 12 0.0000 4 135 705 4350 7500 nRESET\001 110 4 0 0 50 -1 0 12 0.0000 4 135 840 4800 5325 VIO =3.3V\001 111 4 1 0 50 -1 2 12 0.0000 4 135 90 4200 5325 1\001 112 4 1 0 50 -1 2 12 0.0000 4 135 90 4500 9300 0\001 113 4 0 0 50 -1 2 12 0.0000 4 135 90 4650 5850 1\001 114 4 2 0 50 -1 2 12 0.0000 4 180 1215 4200 3600 USB_PULLUP\001 115 4 0 0 50 -1 0 12 0.0000 4 135 720 4800 2625 RU = 22k\001 116 4 1 0 50 -1 2 12 0.0000 4 135 90 4200 1425 1\001 117 4 1 0 50 -1 2 12 0.0000 4 135 90 2400 9300 0\001 118 4 2 0 50 -1 0 12 0.0000 4 135 555 1950 8475 = 10uA\001 119 4 2 0 50 -1 0 12 0.0000 4 135 630 1950 8175 IRESET\001 120 4 0 0 50 -1 0 12 0.0000 4 135 765 8250 4575 R1 = 1500\001 121 4 0 0 50 -1 0 12 0.0000 4 180 1020 7800 5775 Q (hFE = 50)\001 122 4 1 0 50 -1 2 12 0.0000 4 135 135 7050 5550 B\001 123 4 1 0 50 -1 2 12 0.0000 4 135 120 8100 5325 C\001 124 4 1 0 50 -1 2 12 0.0000 4 135 90 7650 3375 1\001 125 4 0 0 50 -1 2 12 0.0000 4 135 90 8100 3825 1\001 126 4 1 0 50 -1 2 12 0.0000 4 135 120 7950 6450 E\001 127 4 0 0 50 -1 0 12 0.0000 4 135 840 4800 1425 VIO =3.3V\001 128 4 1 0 50 -1 2 12 0.0000 4 135 90 2400 5100 0\001 129 4 0 0 50 -1 0 12 0.0000 4 135 390 2550 4275 RUG\001 -
developers/werner/usb-pullup/new.spice
r1743 r1756 2 2 3 3 VIO 1 0 DC 3.3 4 IRESET 20 DC 0.000014 IRESET nRESET 0 DC 0.00001 5 5 6 RR 1 2 10000 7 RB1 2 3 47000 8 RB2 7 9 47000 9 RU 1 7 47000 6 RR 1 nRESET 33K 7 RU 1 B 22K 10 8 11 R1 1 4 15009 R1 1 C 1.5K 12 10 13 Q1 4 3 5 QMOD 14 Q2 5 9 10 QMOD 11 Q C B E QMOD 12 DU B USB_PULLUP D1N4148 13 DR B nRESET D1N4148 15 14 16 15 * Change <RUSB> to the respective resistance of the load 17 RUSB 10 0 <RUSB> 16 RUSB E 0 <RUSB> 17 *RUSB E 0 0.0001 18 18 19 19 * Switch: uncomment to pull nRESET low 20 *RRG 20 0.00120 *RRG nRESET 0 0.001 21 21 * Switch: uncomment to drive USB_PULLUP high (invalid !) 22 *RUP 1 70.00122 *RUP 1 USB_PULLUP 0.001 23 23 * Switch: uncomment to drive USB_PULLUP low 24 *RUG 7 00.00124 *RUG USB_PULLUP 0 0.001 25 25 26 .MODEL QMOD NPN BF=200 26 .MODEL QMOD NPN BF=50 27 28 * http://www.fairchildsemi.com/models/email_model_file.jsp?file=1N4148.mod 29 .MODEL D1N4148 D(Is=5.84n N=1.94 Rs=.7017 Ikf=44.17m Xti=3 Eg=1.11 Cjo=.95p 30 + M=.55 Vj=.75 Fc=.5 Isr=11.07n Nr=2.088 Bv=100 Ibv=100u 31 + Tt=11.07n) 32 33 27 34 .OP 28 .PRINT OP @Q 2[IE] V(10) I(VIO) V(2)35 .PRINT OP @Q[IE] V(E) I(VIO) V(nRESET) 29 36 .END -
developers/werner/usb-pullup/runs
r1743 r1756 3 3 echo 4 4 echo "RUSB=$r:" 5 echo "Switches Q 2.IEV(RUSB) I(IO_3V3) V(nRESET)"5 echo "Switches Q.IE V(RUSB) I(IO_3V3) V(nRESET)" 6 6 for n in '' UG UP RG RG+UG RG+UP; do 7 7 printf "%-12s" "$n:"
Note: See TracChangeset
for help on using the changeset viewer.
