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. |
