Mercurial > ~darius > hgwebdir.cgi > pa
annotate pa-GAN190-PP.asc @ 20:3341ef03cb66
Add PWM modulator
author | Daniel O'Connor <darius@dons.net.au> |
---|---|
date | Mon, 27 Nov 2023 13:19:37 +1030 |
parents | 2832aefd442c |
children |
rev | line source |
---|---|
6 | 1 Version 4 |
2 SHEET 1 2852 992 | |
3 WIRE 224 144 128 144 | |
4 WIRE 320 144 224 144 | |
5 WIRE 384 144 320 144 | |
6 WIRE 624 144 512 144 | |
7 WIRE 720 144 624 144 | |
8 WIRE 816 144 720 144 | |
9 WIRE 1040 144 944 144 | |
10 WIRE 1072 144 1040 144 | |
11 WIRE 1120 144 1072 144 | |
12 WIRE 1312 144 1200 144 | |
13 WIRE 1424 144 1312 144 | |
14 WIRE 1584 144 1424 144 | |
15 WIRE 1664 144 1648 144 | |
16 WIRE 1840 144 1744 144 | |
17 WIRE 240 192 224 192 | |
18 WIRE 288 192 240 192 | |
19 WIRE 384 192 288 192 | |
20 WIRE 576 192 512 192 | |
21 WIRE 656 192 576 192 | |
22 WIRE 1312 192 1312 144 | |
23 WIRE 128 240 128 144 | |
24 WIRE 224 240 224 192 | |
25 WIRE 288 240 288 192 | |
26 WIRE 384 240 288 240 | |
27 WIRE 576 240 512 240 | |
28 WIRE 816 240 816 224 | |
29 WIRE 944 240 944 224 | |
10
2832aefd442c
Add 'no driver' version which can simulate in normal mode.
Daniel O'Connor <darius@dons.net.au>
parents:
9
diff
changeset
|
30 WIRE 1936 240 1904 240 |
2832aefd442c
Add 'no driver' version which can simulate in normal mode.
Daniel O'Connor <darius@dons.net.au>
parents:
9
diff
changeset
|
31 WIRE 1968 240 1936 240 |
6 | 32 WIRE 384 272 352 272 |
33 WIRE 656 272 656 192 | |
34 WIRE 704 272 656 272 | |
35 WIRE 1216 272 784 272 | |
36 WIRE 1584 272 1584 144 | |
37 WIRE 352 304 352 272 | |
38 WIRE 384 304 352 304 | |
39 WIRE 1424 304 1424 144 | |
10
2832aefd442c
Add 'no driver' version which can simulate in normal mode.
Daniel O'Connor <darius@dons.net.au>
parents:
9
diff
changeset
|
40 WIRE 1840 304 1840 144 |
2832aefd442c
Add 'no driver' version which can simulate in normal mode.
Daniel O'Connor <darius@dons.net.au>
parents:
9
diff
changeset
|
41 WIRE 1904 304 1904 240 |
2832aefd442c
Add 'no driver' version which can simulate in normal mode.
Daniel O'Connor <darius@dons.net.au>
parents:
9
diff
changeset
|
42 WIRE 1968 304 1968 240 |
6 | 43 WIRE 352 384 352 304 |
44 WIRE 448 384 448 336 | |
45 WIRE 448 384 352 384 | |
46 WIRE 576 384 576 240 | |
47 WIRE 704 384 576 384 | |
48 WIRE 1328 384 784 384 | |
10
2832aefd442c
Add 'no driver' version which can simulate in normal mode.
Daniel O'Connor <darius@dons.net.au>
parents:
9
diff
changeset
|
49 WIRE 1904 432 1904 384 |
2832aefd442c
Add 'no driver' version which can simulate in normal mode.
Daniel O'Connor <darius@dons.net.au>
parents:
9
diff
changeset
|
50 WIRE 1968 432 1968 384 |
2832aefd442c
Add 'no driver' version which can simulate in normal mode.
Daniel O'Connor <darius@dons.net.au>
parents:
9
diff
changeset
|
51 WIRE 1968 432 1904 432 |
2832aefd442c
Add 'no driver' version which can simulate in normal mode.
Daniel O'Connor <darius@dons.net.au>
parents:
9
diff
changeset
|
52 WIRE 1968 448 1968 432 |
6 | 53 WIRE 128 480 128 320 |
54 WIRE 224 480 224 320 | |
55 WIRE 224 480 128 480 | |
56 WIRE 448 480 448 384 | |
57 WIRE 448 480 224 480 | |
58 WIRE 1312 480 1312 352 | |
59 WIRE 1424 480 1424 464 | |
60 WIRE 1424 480 1312 480 | |
61 WIRE 1584 480 1584 336 | |
62 WIRE 1584 480 1424 480 | |
63 WIRE 448 512 448 480 | |
64 WIRE 1424 512 1424 480 | |
65 WIRE 320 608 320 144 | |
66 WIRE 384 608 320 608 | |
67 WIRE 624 608 624 144 | |
68 WIRE 624 608 512 608 | |
69 WIRE 1072 608 1072 144 | |
70 WIRE 1120 608 1072 608 | |
71 WIRE 1312 608 1200 608 | |
72 WIRE 1424 608 1312 608 | |
73 WIRE 1584 608 1424 608 | |
74 WIRE 1664 608 1648 608 | |
75 WIRE 1824 608 1744 608 | |
10
2832aefd442c
Add 'no driver' version which can simulate in normal mode.
Daniel O'Connor <darius@dons.net.au>
parents:
9
diff
changeset
|
76 WIRE 1840 608 1840 384 |
2832aefd442c
Add 'no driver' version which can simulate in normal mode.
Daniel O'Connor <darius@dons.net.au>
parents:
9
diff
changeset
|
77 WIRE 1840 608 1824 608 |
8
0826d9d63330
Redo nRFDrive so it can have a different duty cycle
Daniel O'Connor <darius@dons.net.au>
parents:
6
diff
changeset
|
78 WIRE 368 656 224 656 |
6 | 79 WIRE 384 656 368 656 |
80 WIRE 576 656 512 656 | |
81 WIRE 656 656 576 656 | |
82 WIRE 1312 656 1312 608 | |
8
0826d9d63330
Redo nRFDrive so it can have a different duty cycle
Daniel O'Connor <darius@dons.net.au>
parents:
6
diff
changeset
|
83 WIRE 224 704 224 656 |
6 | 84 WIRE 368 704 368 656 |
85 WIRE 384 704 368 704 | |
86 WIRE 576 704 512 704 | |
87 WIRE 384 736 352 736 | |
88 WIRE 656 736 656 656 | |
89 WIRE 704 736 656 736 | |
90 WIRE 1216 736 784 736 | |
91 WIRE 1584 736 1584 608 | |
92 WIRE 352 768 352 736 | |
93 WIRE 384 768 352 768 | |
94 WIRE 1424 768 1424 608 | |
95 WIRE 352 848 352 768 | |
96 WIRE 448 848 448 800 | |
97 WIRE 448 848 352 848 | |
98 WIRE 576 848 576 704 | |
99 WIRE 704 848 576 848 | |
100 WIRE 1328 848 784 848 | |
8
0826d9d63330
Redo nRFDrive so it can have a different duty cycle
Daniel O'Connor <darius@dons.net.au>
parents:
6
diff
changeset
|
101 WIRE 224 928 224 784 |
0826d9d63330
Redo nRFDrive so it can have a different duty cycle
Daniel O'Connor <darius@dons.net.au>
parents:
6
diff
changeset
|
102 WIRE 448 928 448 848 |
0826d9d63330
Redo nRFDrive so it can have a different duty cycle
Daniel O'Connor <darius@dons.net.au>
parents:
6
diff
changeset
|
103 WIRE 448 928 224 928 |
6 | 104 WIRE 1312 944 1312 816 |
105 WIRE 1424 944 1424 928 | |
106 WIRE 1424 944 1312 944 | |
107 WIRE 1584 944 1584 800 | |
108 WIRE 1584 944 1424 944 | |
8
0826d9d63330
Redo nRFDrive so it can have a different duty cycle
Daniel O'Connor <darius@dons.net.au>
parents:
6
diff
changeset
|
109 WIRE 448 976 448 928 |
6 | 110 WIRE 1424 976 1424 944 |
111 FLAG 448 512 0 | |
112 FLAG 576 192 D0 | |
113 FLAG 240 192 RFDrive | |
114 FLAG 720 144 MOD_RAIL | |
115 FLAG 1840 144 RFOutA | |
116 FLAG 1040 144 HV | |
117 FLAG 1312 144 SW0 | |
118 FLAG 816 240 0 | |
119 FLAG 944 240 0 | |
120 FLAG 1424 512 0 | |
121 FLAG 224 144 VCC | |
122 FLAG 448 976 0 | |
123 FLAG 576 656 D1 | |
124 FLAG 1312 608 SW1 | |
125 FLAG 1424 976 0 | |
8
0826d9d63330
Redo nRFDrive so it can have a different duty cycle
Daniel O'Connor <darius@dons.net.au>
parents:
6
diff
changeset
|
126 FLAG 224 656 nRFDrive |
6 | 127 FLAG 1824 608 RFOutB |
10
2832aefd442c
Add 'no driver' version which can simulate in normal mode.
Daniel O'Connor <darius@dons.net.au>
parents:
9
diff
changeset
|
128 FLAG 1968 448 0 |
2832aefd442c
Add 'no driver' version which can simulate in normal mode.
Daniel O'Connor <darius@dons.net.au>
parents:
9
diff
changeset
|
129 FLAG 1936 240 RFOut |
2832aefd442c
Add 'no driver' version which can simulate in normal mode.
Daniel O'Connor <darius@dons.net.au>
parents:
9
diff
changeset
|
130 FLAG 1840 688 0 |
6 | 131 SYMBOL Voltage 128 224 R0 |
132 WINDOW 3 37 53 Left 2 | |
133 SYMATTR Value 5 | |
134 SYMATTR InstName V1 | |
135 SYMBOL Voltage 816 128 R0 | |
136 WINDOW 3 -70 51 Left 2 | |
137 SYMATTR Value 12 | |
138 SYMATTR InstName V2 | |
139 SYMATTR SpiceLine Rser=10m Cpar=1p | |
140 SYMBOL Voltage 224 224 R0 | |
141 WINDOW 3 -185 128 Left 2 | |
142 SYMATTR Value PULSE(0 5 0 200p 200p {Ton} {Tperiod}) | |
143 SYMATTR InstName V3 | |
144 SYMBOL ISL55110 416 176 R0 | |
145 WINDOW 3 22 -79 Top 2 | |
146 WINDOW 0 115 -39 Bottom 2 | |
147 SYMATTR InstName U1 | |
148 SYMBOL Voltage 944 128 R0 | |
149 WINDOW 0 -8 -4 Left 2 | |
150 SYMATTR InstName V4 | |
151 SYMATTR Value 100 | |
152 SYMATTR SpiceLine Rser=10m Cpar=1p | |
153 SYMBOL ind 1104 160 R270 | |
154 WINDOW 0 32 56 VTop 2 | |
155 WINDOW 3 5 56 VBottom 2 | |
156 SYMATTR InstName L1 | |
157 SYMATTR Value {L1} | |
158 SYMATTR SpiceLine Rser=35m | |
159 SYMBOL ind 1648 160 R270 | |
160 WINDOW 0 32 56 VTop 2 | |
161 WINDOW 3 -8 58 VBottom 2 | |
162 SYMATTR InstName L2 | |
163 SYMATTR Value {L2} | |
164 SYMATTR SpiceLine Rser=35m | |
165 SYMBOL cap 1648 128 R90 | |
166 WINDOW 0 0 32 VBottom 2 | |
167 WINDOW 3 40 27 VTop 2 | |
168 SYMATTR InstName C2 | |
169 SYMATTR Value {C2} | |
170 SYMBOL cap 1600 336 R180 | |
171 WINDOW 0 24 56 Left 2 | |
172 WINDOW 3 30 8 Left 2 | |
173 SYMATTR InstName C1 | |
174 SYMATTR Value {C1} | |
10
2832aefd442c
Add 'no driver' version which can simulate in normal mode.
Daniel O'Connor <darius@dons.net.au>
parents:
9
diff
changeset
|
175 SYMBOL Res 1952 288 R0 |
6 | 176 WINDOW 0 32 43 Left 2 |
177 SYMATTR InstName R1 | |
178 SYMATTR Value {R1} | |
179 SYMBOL Res 800 256 R90 | |
180 WINDOW 0 0 56 VBottom 2 | |
181 WINDOW 3 35 59 VTop 2 | |
182 SYMATTR InstName R4 | |
183 SYMATTR Value 0 | |
184 SYMBOL Res 800 368 R90 | |
185 WINDOW 0 0 56 VBottom 2 | |
186 WINDOW 3 36 53 VTop 2 | |
187 SYMATTR InstName R2 | |
188 SYMATTR Value 0 | |
189 SYMBOL GAN190-650FBE 1296 272 R0 | |
190 WINDOW 3 -54 59 Left 1 | |
191 SYMATTR InstName U2 | |
192 SYMBOL GAN190-650FBE 1408 384 R0 | |
193 WINDOW 3 -62 66 Left 1 | |
194 SYMATTR InstName U3 | |
195 SYMBOL ISL55110 416 640 R0 | |
196 WINDOW 3 20 -78 Top 2 | |
197 WINDOW 0 120 -38 Bottom 2 | |
198 SYMATTR InstName U4 | |
199 SYMBOL ind 1104 624 R270 | |
200 WINDOW 0 32 56 VTop 2 | |
201 WINDOW 3 5 56 VBottom 2 | |
202 SYMATTR InstName L4 | |
203 SYMATTR Value {L1} | |
204 SYMATTR SpiceLine Rser=35m | |
205 SYMBOL ind 1648 624 R270 | |
206 WINDOW 0 32 56 VTop 2 | |
207 WINDOW 3 -8 58 VBottom 2 | |
208 SYMATTR InstName L5 | |
209 SYMATTR Value {L2} | |
210 SYMATTR SpiceLine Rser=35m | |
211 SYMBOL cap 1648 592 R90 | |
212 WINDOW 0 0 32 VBottom 2 | |
213 WINDOW 3 40 27 VTop 2 | |
214 SYMATTR InstName C4 | |
215 SYMATTR Value {C2} | |
216 SYMBOL cap 1600 800 R180 | |
217 WINDOW 0 24 56 Left 2 | |
218 WINDOW 3 30 8 Left 2 | |
219 SYMATTR InstName C5 | |
220 SYMATTR Value {C1} | |
221 SYMBOL Res 800 720 R90 | |
222 WINDOW 0 0 56 VBottom 2 | |
223 WINDOW 3 35 59 VTop 2 | |
224 SYMATTR InstName R3 | |
225 SYMATTR Value 0 | |
226 SYMBOL Res 800 832 R90 | |
227 WINDOW 0 0 56 VBottom 2 | |
228 WINDOW 3 36 53 VTop 2 | |
229 SYMATTR InstName R5 | |
230 SYMATTR Value 0 | |
231 SYMBOL GAN190-650FBE 1296 736 R0 | |
232 WINDOW 3 -54 59 Left 1 | |
233 SYMATTR InstName U5 | |
234 SYMBOL GAN190-650FBE 1408 848 R0 | |
235 WINDOW 3 -62 66 Left 1 | |
236 SYMATTR InstName U6 | |
10
2832aefd442c
Add 'no driver' version which can simulate in normal mode.
Daniel O'Connor <darius@dons.net.au>
parents:
9
diff
changeset
|
237 SYMBOL ind2 1824 288 R0 |
6 | 238 WINDOW 0 20 1 Left 2 |
239 WINDOW 3 -46 112 Left 2 | |
240 SYMATTR InstName L3 | |
241 SYMATTR Value 100n | |
242 SYMATTR Type ind | |
10
2832aefd442c
Add 'no driver' version which can simulate in normal mode.
Daniel O'Connor <darius@dons.net.au>
parents:
9
diff
changeset
|
243 SYMBOL ind2 1888 288 R0 |
6 | 244 WINDOW 0 26 2 Left 2 |
245 WINDOW 3 14 112 Left 2 | |
246 SYMATTR InstName L6 | |
247 SYMATTR Value 100n | |
248 SYMATTR Type ind | |
10
2832aefd442c
Add 'no driver' version which can simulate in normal mode.
Daniel O'Connor <darius@dons.net.au>
parents:
9
diff
changeset
|
249 SYMBOL Res 1824 592 R0 |
6 | 250 SYMATTR InstName R6 |
8
0826d9d63330
Redo nRFDrive so it can have a different duty cycle
Daniel O'Connor <darius@dons.net.au>
parents:
6
diff
changeset
|
251 SYMATTR Value 10Meg |
0826d9d63330
Redo nRFDrive so it can have a different duty cycle
Daniel O'Connor <darius@dons.net.au>
parents:
6
diff
changeset
|
252 SYMBOL Voltage 224 688 R0 |
0826d9d63330
Redo nRFDrive so it can have a different duty cycle
Daniel O'Connor <darius@dons.net.au>
parents:
6
diff
changeset
|
253 WINDOW 3 -185 128 Left 2 |
0826d9d63330
Redo nRFDrive so it can have a different duty cycle
Daniel O'Connor <darius@dons.net.au>
parents:
6
diff
changeset
|
254 SYMATTR Value PULSE(0 5 {Tperiod / 2} 200p 200p {Ton} {TPeriod}) |
0826d9d63330
Redo nRFDrive so it can have a different duty cycle
Daniel O'Connor <darius@dons.net.au>
parents:
6
diff
changeset
|
255 SYMATTR InstName V5 |
10
2832aefd442c
Add 'no driver' version which can simulate in normal mode.
Daniel O'Connor <darius@dons.net.au>
parents:
9
diff
changeset
|
256 TEXT 112 -272 Left 2 !.param F0 = 35.24Meg\n.param Tperiod = 1 / {F0}\n.param dutypct = 20\n.param Ton = 1 / {F0} * {dutypct} / 100\n.param C1 = 10p\n.param C2 = 111p\n.param L1 = 4u\n.param L2 = 207n\n.param R1 = 12.5 |
2832aefd442c
Add 'no driver' version which can simulate in normal mode.
Daniel O'Connor <darius@dons.net.au>
parents:
9
diff
changeset
|
257 TEXT 600 -280 Left 2 !.meas PIN_HV AVG abs(V(HV)*I(V4))\n.meas PIN_MOD AVG abs(V(MOD_RAIL)*I(V2))\n.meas PIN_LV AVG abs(V(VCC)*I(V1))\n.meas POUT AVG abs(V(RFOut)*I(R1))\n.meas Efficiency Param 100*POUT/(PIN_HV + PIN_LV + PIN_MOD)\n.meas IPEAK_U2 max(abs(Ix(U2:Drain)))\n.meas V_IPEAK_U2 FIND abs(V(SW0)) WHEN Ix(U2:Drain) = IPEAK_U2 * 0.999 cross=1\n.meas VPEAK_U2 max(abs(V(SW0)))\n.meas I_VPEAK_U2 FIND abs(Ix(U2:Drain)) WHEN V(SW0) = VPEAK_U2 * 0.999 cross=1\n.meas IPEAK_U5 max(abs(Ix(U5:Drain)))\n.meas VPEAK_U5 max(abs(V(SW1))) |
2832aefd442c
Add 'no driver' version which can simulate in normal mode.
Daniel O'Connor <darius@dons.net.au>
parents:
9
diff
changeset
|
258 TEXT 600 -16 Left 2 !*.tran 0 1.8u 1.7u\n.tran 0 5u 1.7u\n*.tran 0 2.5u 1.5u\n*.tran 0 5u |
2832aefd442c
Add 'no driver' version which can simulate in normal mode.
Daniel O'Connor <darius@dons.net.au>
parents:
9
diff
changeset
|
259 TEXT 120 56 Left 2 !.fourier {F0} 9 -1 V(rfout) |
2832aefd442c
Add 'no driver' version which can simulate in normal mode.
Daniel O'Connor <darius@dons.net.au>
parents:
9
diff
changeset
|
260 TEXT 104 -56 Left 2 !*.step param dutypct 20 60 4\n*.step param C1 10p 130p 10p\n*.step param C2 80p 195p 5p\n*.step param L2 80n 220n 10n |
6 | 261 TEXT 1792 336 Left 2 !K1 L3 L6 1 |