FreeCalypso > hg > freecalypso-docs
comparison RFFE-notes @ 34:dd94e04b9539
new RFFE-notes article replaces old Quadband-ideas
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Tue, 29 Sep 2020 07:26:45 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
33:7aed57fc1928 | 34:dd94e04b9539 |
---|---|
1 Every GSM phone handset or modem that is based on our beloved Calypso+Iota+Rita | |
2 chipset also contains a functional section (can be a single component or a group | |
3 of components) which we call the RFFE: radio frequency front end. This RFFE is | |
4 the functional block that provides frequency-filtered radio Rx paths from the | |
5 antenna interface to Rita LNA inputs, as well radio Tx paths from the PA to the | |
6 antenna. The choice of particular RFFE implementation (specifically in the Rx | |
7 direction) determines the device's GSM frequency band capabilities, i.e., | |
8 whether your GSM phone or modem is dual-band, triband or quadband. | |
9 | |
10 The least band-capable Calypso-based devices we are aware of are dual-band, | |
11 i.e., we are not aware of anyone having ever made a Calypso-based GSM device | |
12 that supports only one GSM frequency band. The lowest-end configuration is | |
13 single-region dual-band, supporting one low band and one high band, either EU | |
14 bands or US bands. The next step up is triband, supporting two EU bands and | |
15 one US band or vice-versa, and the best RFFE designs are quadband, supporting | |
16 all 4 possible GSM frequency bands. | |
17 | |
18 There are two particular RFFE designs that enjoy the privileged status of being | |
19 most native to FreeCalypso: TI's original Leonardo+ quadband reference design | |
20 and Openmoko's derivative design that is very polished, but is only triband. | |
21 In absolute historical terms TI's Leonardo existed first and OM's version was a | |
22 later derivative work, but for FreeCalypso the two got somewhat reversed with | |
23 our peculiar timeline: | |
24 | |
25 * The Mother bought her first Openmoko Neo FreeRunner in 2011, and lots of other | |
26 people in the community have been playing with Openmoko devices - whereas TI's | |
27 Leonardo development board has always been legendary unobtainium. | |
28 | |
29 * Openmoko's PCB layout has been liberated (freely published) in 2015, whereas | |
30 TI's Leonardo PCB design remained as elusive as ever. | |
31 | |
32 * Between 2015 and 2017 we've successfully produced our FCDEV3B board based on | |
33 Openmoko's PCB layout, featuring OM's triband RFFE, and we gained a lot of | |
34 experience working with this RFFE as we recreated the previously lost theory | |
35 and tools for RF calibration. | |
36 | |
37 * In December of 2019 I was searching the world high and low for a real TI | |
38 Leonardo board so I could do some CMU200 experiments with its RFFE, but | |
39 instead I found the historical commercial Calypso modem module which we call | |
40 Tango, which is nothing less than a mass-produced version of the core of | |
41 Leonardo, the full quadband version. | |
42 | |
43 The discovery of Tango modules has finally brought TI's original quadband RFFE | |
44 design back to its rightful place at the top of the quality hierarchy among | |
45 Calypso GSM devices, and we are finally able to study it as much as we have | |
46 studied OM's triband version in the preceding years. | |
47 | |
48 Leonardo and Openmoko RF sections | |
49 ================================= | |
50 | |
51 The RF sections of both Leonardo/Tango and Openmoko/FCDEV3B consist of TI's | |
52 Rita RF transceiver, a standalone PA (RF3133 or RF3166) and the part we focus | |
53 on as the RFFE. The best way to illustrate the essential divisions and | |
54 interconnections between components is with a block diagram: | |
55 | |
56 +-------+ | |
57 | RF PA | | |
58 | | | |
59 +--------------- HB Tx path ------+-->>>--+------+ | |
60 | +-------- LB Tx path ------+-->>>--+---+ | | |
61 | | | | | | | |
62 +---+------+---+ +-------+ | | | |
63 | HB Tx LB Tx | | | | |
64 | | +-+--+--+ | |
65 | Rita | | RFFE | | |
66 | | | | | |
67 | LB LNA-+----- LB Rx path ---------------+- -+-- ANTENNA | |
68 | DCS LNA-+---- DCS Rx path ---------------+- | | |
69 | PCS LNA-+---- PCS Rx path ---------------+- | | |
70 | | | | | |
71 +--------------+ +-------+ | |
72 | |
73 HB = high bands (DCS & PCS, 1800 & 1900 MHz) | |
74 LB = low bands (GSM850 & EGSM, 850 & 900 MHz) | |
75 | |
76 The block marked as RFFE on the above block diagram is the one that differs | |
77 between Leonardo/Tango and Openmoko/FCDEV3B, and it is this block that makes | |
78 one quadband and the other only triband. In the original Leonardo+ quadband | |
79 reference design the RFFE block is a single component (Epcos M034F) that is | |
80 called a Front End Module (FEM), whereas Openmoko replaced this integrated FEM | |
81 with an Antenna Switch Module (ASM) plus 3 discrete SAW filters. Both RFFE | |
82 designs implement the following functions: | |
83 | |
84 * They switch the antenna interface between Rx and Tx - a GSM MS never needs to | |
85 receive and transmit at the same time, thus an antenna switch is used instead | |
86 of more expensive duplexer or diplexer arrangements. | |
87 | |
88 * They accept RF Tx signal from one of two separate inputs (one for LB, one for | |
89 HB), and they provide the necessary low pass filters to suppress unwanted | |
90 harmonics present in the PA output. | |
91 | |
92 * Rx signals are fed to the RF transceiver on one of 3 separate Rx signal paths | |
93 as appropriate for the band in which reception takes place (LB, DCS or PCS), | |
94 and for each supported band the incoming signal is passed through an | |
95 appropriate SAW - a very narrow frequency-specific bandpass filter. | |
96 | |
97 RF Tx paths | |
98 =========== | |
99 | |
100 There are only two RF Tx paths: one for GSM850 and EGSM (850 & 900 MHz) bands | |
101 combined, and the other for DCS and PCS (1800 & 1900 MHz) bands combined. Thus | |
102 the RF Tx section of a Calypso+Iota+Rita GSM phone or modem is exactly the same | |
103 between dual-band, triband and quadband designs - only Rx paths differ. | |
104 | |
105 Both Leonardo/Tango and Openmoko/FCDEV3B use PAs from the same family by RFMD, | |
106 just different evolutionary versions: Leonardo and Tango use the slightly older | |
107 RF3133 PA whereas OM and FCDEV3B use the slightly newer RF3166. The two PAs | |
108 have exactly the same controls, and they are wired in exactly the same way | |
109 between Leonardo and Openmoko. | |
110 | |
111 Besides PA controls, there are two very important Tx path control signals that | |
112 are driven by Calypso and go to the FEM or ASM: RFFE LB & HB Tx switch controls. | |
113 Both the M034F FEM used in Leonardo and Openmoko's triband ASM have two | |
114 baseband-controlled internal switches selecting between Rx and Tx. When these | |
115 switches are inactive (no voltage applied), both LB and HB RF paths are set up | |
116 for Rx; one of these Tx switches enables LB Tx path and the other enables HB Tx | |
117 path. There is also a third switch present both in M034F and in OM's ASM, but | |
118 that one is for different Rx bands as explained later in this article. | |
119 | |
120 RF Rx paths | |
121 =========== | |
122 | |
123 TI's Rita RF transceiver supports all 4 GSM frequency bands internally for both | |
124 Rx and Tx, but in the Rx direction it has only 3 LNA inputs. GSM850 and EGSM | |
125 share the same LNA input, whereas each of DCS and PCS gets its own. There is | |
126 also a requirement that whenever reception takes place in a given band, the Rx | |
127 signal has to pass through a SAW filter specific to that band: thus dual-band | |
128 designs have two SAW filters in them somewhere, triband designs have 3 and | |
129 quadband designs have 4 of them. | |
130 | |
131 Triband design with Rita and other similar transceivers like Silabs Aero I/I+ | |
132 is straightforward: the antenna switch module (ASM) puts out 3 Rx paths | |
133 corresponding to LB, DCS or PCS, each of the 3 is passed through its own SAW | |
134 filter, and then they go to the 3 LNA inputs. SAW filters in the DCS and PCS | |
135 Rx paths are unambiguous, whereas the third SAW filter in the LB Rx path can be | |
136 populated in one of two ways: populating an EGSM downlink band filter produces | |
137 a tri900 GSM device, populating a GSM850 DL band filter produces a tri850 GSM | |
138 device. Openmoko's triband RFFE which we've reproduced on our FCDEV3B is built | |
139 in exactly this manner. | |
140 | |
141 Quadband design with the same Rita transceiver is more complicated: there need | |
142 to be a total of 4 SAW filters, but they need to go to just 3 Rita LNA inputs. | |
143 One can make a discrete design: use an antenna switch module that puts out 4 | |
144 switched Rx paths, pass them through 4 discrete SAW filters, and then somehow | |
145 combine the outputs of GSM850 and EGSM filters onto the single LB LNA input. | |
146 Huawei's MG01GSMT design appears to do something similar (except that it | |
147 supports a non-standard band in the place of GSM850), but I don't really | |
148 understand how this magic works in terms of PCB layout. | |
149 | |
150 The M034F integrated FEM that was chosen by TI Back In The Day is much neater: | |
151 it is a quadband FEM, containing 4 SAW filters inside, but it was specifically | |
152 designed to interface with transceivers like TI Rita or Silabs Aero that have 3 | |
153 Rx input paths - thus the magic that combines the output of GSM850 and EGSM SAW | |
154 filters is contained inside this FEM component. | |
155 | |
156 We do have an M034F.pdf datasheet for this magic component (came along with | |
157 Calypso and Leonardo docs), and the block diagram on page 6 shows the magic | |
158 quite clearly: there is a baseband-controlled switch selecting between EGSM Rx | |
159 and GSM850 Rx (in addition to the two usual Tx switches), this switch directs | |
160 the low band Rx path toward one of two different SAW filters, and the outputs | |
161 of those two filters are then joined. The high band Rx path always goes to both | |
162 DCS and PCS band SAW filters, and each of those high band Rx SAW filters gets | |
163 its own output going to its own dedicated Rita LNA input. Note the lack of a | |
164 baseband-controlled switch between DCS and PCS in the high band Rx path! | |
165 | |
166 For a long time prior to the 2019-12 breakthrough I was concerned about this | |
167 lack of a baseband-controlled switch between DCS and PCS in the high band Rx | |
168 path: this switch is present in every triband RFFE design I am familiar with, | |
169 including the one we got from Openmoko, and I was concerned that feeding the | |
170 high band Rx path to both DCS and PCS SAW filters without a switch would | |
171 introduce a 3 dB penalty into these high band Rx paths. But when I got my | |
172 hands on the newly discovered Tango modem modules, looked at the GMagic numbers | |
173 written into their FFS as part of the manufacturer's production calibration and | |
174 then independently verified them with our CMU200, all fears were dispelled: the | |
175 Rx performance of this M034 FEM in all 4 bands is exactly the same as our | |
176 current Openmoko-based triband RFFE, with GMagic around 200 half-dB units. | |
177 | |
178 RFFE switches and control signals | |
179 ================================= | |
180 | |
181 Both our new quadband M034F and our more mature OM-based triband ASM have 3 | |
182 baseband-controlled switches inside: two Tx switches (one for LB Tx, one for HB | |
183 Tx) and one Rx band steering switch. The Rx switch is entirely different | |
184 between the two RFFE designs: | |
185 | |
186 * Our OM-based triband ASM has an Rx path steering switch between DCS and PCS | |
187 just like every other triband RFFE design I have seen, and of course being | |
188 triband, it has no capability of switching between GSM850 and EGSM. | |
189 | |
190 * Epcos M034F has a baseband-controlled Rx path steering switch between GSM850 | |
191 and EGSM (seems unavoidably necessary in this architecture), but it has NO | |
192 switch between DCS and PCS - instead both high band Rx paths are "always on". | |
193 | |
194 All 3 RFFE switches are controlled by Calypso TSPACT signals passed through PNP | |
195 transistors that act as inverting buffers. The assignments of which Calypso | |
196 TSPACT controls which RFFE switch were made by people who came before us, and | |
197 these assignments are different (incompatible) between Leonardo/Tango and | |
198 Openmoko/FCDEV3B. | |
199 | |
200 Leonardo RFFE control signal assignments (used on Tango) are as follows: | |
201 | |
202 TSPACT1 = Tx high bands | |
203 TSPACT2 = Tx low bands | |
204 TSPACT4 = Rx GSM850 band | |
205 | |
206 Openmoko's version (used on FCDEV3B) is as follows: | |
207 | |
208 TSPACT1 = Rx PCS band | |
209 TSPACT2 = Tx high bands | |
210 TSPACT4 = Tx low bands | |
211 | |
212 In the now-seemingly-unlikely event that we end up building a new FreeCalypso | |
213 GSM device (not Tango) with M034F quadband FEM, we have two sensible choices | |
214 for TSPACT control signal wiring. One option would be to copy Leonardo and | |
215 Tango, and the other option would be to use the following novel assignment: | |
216 | |
217 TSPACT2 = Tx high bands | |
218 TSPACT4 = Tx low bands | |
219 TSPACT5 = Rx GSM850 band | |
220 | |
221 The latter option can be made firmware-compatible with our current OM-based | |
222 triband RFFE, by having our firmware drive the signals as follows: | |
223 | |
224 TSPACT1 = Rx PCS band | |
225 TSPACT2 = Tx high bands | |
226 TSPACT4 = Tx low bands | |
227 TSPACT5 = Rx GSM850 band | |
228 | |
229 Right now this consideration is purely academic because there presently exists | |
230 no business case for building new FreeCalypso hardware, given the existence of | |
231 Tango modules. | |
232 | |
233 RF magic glue: Rx paths | |
234 ======================= | |
235 | |
236 RF signal paths coming out of the 3 Rx SAW filters in our current OM-based | |
237 design or out of M034F Rx pins are differential pairs; Rita LNA inputs to which | |
238 these signal paths go are also differential. But these RF signal paths are not | |
239 simple pairs of PCB traces going from one chip to the other, instead every | |
240 existing design features "RF magic glue" matching networks in these signal | |
241 paths, made up of inductors and/or capacitors. These "magic glue" LC networks | |
242 exist in a seemingly endless number of permutations: every historical design I | |
243 got a chance to examine exhibits a slightly different LC network topology among | |
244 the 3 Rx signal paths that are present. Sometimes the same LC network topology | |
245 is replicated for all 3 Rx signal paths, othertimes the same board will feature | |
246 different LC network topologies for different Rx band signal paths. | |
247 | |
248 Openmoko's Rx path "magic glue" networks look neat and tidy, with the same | |
249 topology in all 3 Rx band signal paths. This topology consists of a series | |
250 inductor in each trace (6 of them in total for 3 differential pairs) and shunt | |
251 capacitor footprints both before and after these series inductors - but all of | |
252 these shunt capacitor footprints are left unpopulated. Inductor values are | |
253 naturally a little different for each frequency band. | |
254 | |
255 Prior to the discovery of Tango modules, when I was thinking about designing | |
256 and building new FreeCalypso hw with our long-desired M034F quadband FEM, I had | |
257 the big dilemma of deciding what topology should be implemented for the "RF | |
258 magic glue" matching networks. OM's version looks very neat and tidy and it is | |
259 known to work well with OM's triband RFFE, but would it still work well if that | |
260 triband RFFE were to be replaced with M034F? The answer is very uncertain, | |
261 especially considering that the output impedance specifications given in our | |
262 only available M034F.pdf datasheet look very weird. | |
263 | |
264 The discovery of Tango has saved the day in this department. The "magic glue" | |
265 Rx path matching networks implemented on this module are exactly the same as | |
266 what is depicted on our available Leonardo schematics (the ones we've had since | |
267 2011), and the fact that these modules once were a successful mass-produced | |
268 commercial product gives a huge confidence boost to what was previously just a | |
269 schematic drawing of completely unknown working quality. These Leonardo Rx path | |
270 matching networks score very low on the scale of understandability (and they | |
271 feature entirely different topology for each of the 3 Rx band signal paths), | |
272 but the fact that we have a working reference in the form of Tango is all that | |
273 matters at the end of the day... | |
274 | |
275 RF magic glue: Tx paths | |
276 ======================= | |
277 | |
278 RF Tx signal paths running from the PA to the FEM or ASM also pass through | |
279 matching networks made up of inductors and/or capacitors. The two versions of | |
280 most interest to FreeCalypso are once again Leonardo and Openmoko. The version | |
281 of Leonardo that has been mass-produced as Tango has the same T network topology | |
282 in both LB and HB Tx paths: | |
283 | |
284 PA_OUT-----C1--+--C2-----FEM_IN | |
285 | | |
286 C3 | |
287 | | |
288 GND | |
289 | |
290 LB: C1=C2=47pF, C3 is unpopulated | |
291 HB: C1=C2=12pF, C3 is unpopulated | |
292 | |
293 It needs to be noted that with the cap-to-ground leg unpopulated, the T network | |
294 is degenerate and is equivalent to a single series capacitor. It needs to be | |
295 understood that TI were not in the business of selling finished GSM phones or | |
296 modems - instead their primary business was selling chips, and their secondary | |
297 business was providing support for these chips, support that included reference | |
298 and development boards. Because Leonardo was a reference board rather than a | |
299 finished product, it appears that TI designed this board with a provision for a | |
300 possible matching network - the comment on the schematic drawing says "PA | |
301 matching possible" - but apparently no matching was needed, hence a degenerate | |
302 T network was populated. It is certainly a little strange that the makers of | |
303 Tango kept this degenerate T network and did not replace it with a single | |
304 series capacitor, but what do we know... | |
305 | |
306 Openmoko used pi networks instead: | |
307 | |
308 LB: PA_OUT-----+--10nH--+-----ASM_IN | |
309 | | | |
310 1pF NC | |
311 | | | |
312 GND GND | |
313 | |
314 HB: PA_OUT-----+--33pF--+-----ASM_IN | |
315 | | | |
316 NC NC | |
317 | | | |
318 GND GND | |
319 | |
320 The HB pi network is degenerate, reduced to a single series capacitor, and the | |
321 LB pi network is almost degenerate given how small that 1 pF cap to ground is. | |
322 But pi networks have this advantage: a degenerate pi network is reduced to just | |
323 one component, whereas a degenerate T network requires two components to be | |
324 populated. | |
325 | |
326 It is also worth noting that both "from" and "to" components connected by these | |
327 matching networks are different between Leonardo and OM: Leonardo and Tango use | |
328 RF3133 PA, OM's version has RF3166; Leonardo FEM is M034F, OM's version has a | |
329 Darfon ASM instead. | |
330 | |
331 In the now-seemingly-unlikely event that we end up building a new FreeCalypso | |
332 GSM device (not Tango) with M034F quadband FEM, which PA are we going to use, | |
333 and what "RF magic glue" matching network topology for PA-to-FEM RF Tx paths? | |
334 The Mother's current preference is to use RF3166 and OM-style pi networks, | |
335 preferably with a consultation with some better-than-me RF expert - but all | |
336 such plans are extremely nebulous, written with forks on water. |