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.