FreeCalypso > hg > freecalypso-docs
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/RFFE-notes Tue Sep 29 07:26:45 2020 +0000 @@ -0,0 +1,336 @@ +Every GSM phone handset or modem that is based on our beloved Calypso+Iota+Rita +chipset also contains a functional section (can be a single component or a group +of components) which we call the RFFE: radio frequency front end. This RFFE is +the functional block that provides frequency-filtered radio Rx paths from the +antenna interface to Rita LNA inputs, as well radio Tx paths from the PA to the +antenna. The choice of particular RFFE implementation (specifically in the Rx +direction) determines the device's GSM frequency band capabilities, i.e., +whether your GSM phone or modem is dual-band, triband or quadband. + +The least band-capable Calypso-based devices we are aware of are dual-band, +i.e., we are not aware of anyone having ever made a Calypso-based GSM device +that supports only one GSM frequency band. The lowest-end configuration is +single-region dual-band, supporting one low band and one high band, either EU +bands or US bands. The next step up is triband, supporting two EU bands and +one US band or vice-versa, and the best RFFE designs are quadband, supporting +all 4 possible GSM frequency bands. + +There are two particular RFFE designs that enjoy the privileged status of being +most native to FreeCalypso: TI's original Leonardo+ quadband reference design +and Openmoko's derivative design that is very polished, but is only triband. +In absolute historical terms TI's Leonardo existed first and OM's version was a +later derivative work, but for FreeCalypso the two got somewhat reversed with +our peculiar timeline: + +* The Mother bought her first Openmoko Neo FreeRunner in 2011, and lots of other + people in the community have been playing with Openmoko devices - whereas TI's + Leonardo development board has always been legendary unobtainium. + +* Openmoko's PCB layout has been liberated (freely published) in 2015, whereas + TI's Leonardo PCB design remained as elusive as ever. + +* Between 2015 and 2017 we've successfully produced our FCDEV3B board based on + Openmoko's PCB layout, featuring OM's triband RFFE, and we gained a lot of + experience working with this RFFE as we recreated the previously lost theory + and tools for RF calibration. + +* In December of 2019 I was searching the world high and low for a real TI + Leonardo board so I could do some CMU200 experiments with its RFFE, but + instead I found the historical commercial Calypso modem module which we call + Tango, which is nothing less than a mass-produced version of the core of + Leonardo, the full quadband version. + +The discovery of Tango modules has finally brought TI's original quadband RFFE +design back to its rightful place at the top of the quality hierarchy among +Calypso GSM devices, and we are finally able to study it as much as we have +studied OM's triband version in the preceding years. + +Leonardo and Openmoko RF sections +================================= + +The RF sections of both Leonardo/Tango and Openmoko/FCDEV3B consist of TI's +Rita RF transceiver, a standalone PA (RF3133 or RF3166) and the part we focus +on as the RFFE. The best way to illustrate the essential divisions and +interconnections between components is with a block diagram: + + +-------+ + | RF PA | + | | + +--------------- HB Tx path ------+-->>>--+------+ + | +-------- LB Tx path ------+-->>>--+---+ | + | | | | | | ++---+------+---+ +-------+ | | +| HB Tx LB Tx | | | +| | +-+--+--+ +| Rita | | RFFE | +| | | | +| LB LNA-+----- LB Rx path ---------------+- -+-- ANTENNA +| DCS LNA-+---- DCS Rx path ---------------+- | +| PCS LNA-+---- PCS Rx path ---------------+- | +| | | | ++--------------+ +-------+ + +HB = high bands (DCS & PCS, 1800 & 1900 MHz) +LB = low bands (GSM850 & EGSM, 850 & 900 MHz) + +The block marked as RFFE on the above block diagram is the one that differs +between Leonardo/Tango and Openmoko/FCDEV3B, and it is this block that makes +one quadband and the other only triband. In the original Leonardo+ quadband +reference design the RFFE block is a single component (Epcos M034F) that is +called a Front End Module (FEM), whereas Openmoko replaced this integrated FEM +with an Antenna Switch Module (ASM) plus 3 discrete SAW filters. Both RFFE +designs implement the following functions: + +* They switch the antenna interface between Rx and Tx - a GSM MS never needs to + receive and transmit at the same time, thus an antenna switch is used instead + of more expensive duplexer or diplexer arrangements. + +* They accept RF Tx signal from one of two separate inputs (one for LB, one for + HB), and they provide the necessary low pass filters to suppress unwanted + harmonics present in the PA output. + +* Rx signals are fed to the RF transceiver on one of 3 separate Rx signal paths + as appropriate for the band in which reception takes place (LB, DCS or PCS), + and for each supported band the incoming signal is passed through an + appropriate SAW - a very narrow frequency-specific bandpass filter. + +RF Tx paths +=========== + +There are only two RF Tx paths: one for GSM850 and EGSM (850 & 900 MHz) bands +combined, and the other for DCS and PCS (1800 & 1900 MHz) bands combined. Thus +the RF Tx section of a Calypso+Iota+Rita GSM phone or modem is exactly the same +between dual-band, triband and quadband designs - only Rx paths differ. + +Both Leonardo/Tango and Openmoko/FCDEV3B use PAs from the same family by RFMD, +just different evolutionary versions: Leonardo and Tango use the slightly older +RF3133 PA whereas OM and FCDEV3B use the slightly newer RF3166. The two PAs +have exactly the same controls, and they are wired in exactly the same way +between Leonardo and Openmoko. + +Besides PA controls, there are two very important Tx path control signals that +are driven by Calypso and go to the FEM or ASM: RFFE LB & HB Tx switch controls. +Both the M034F FEM used in Leonardo and Openmoko's triband ASM have two +baseband-controlled internal switches selecting between Rx and Tx. When these +switches are inactive (no voltage applied), both LB and HB RF paths are set up +for Rx; one of these Tx switches enables LB Tx path and the other enables HB Tx +path. There is also a third switch present both in M034F and in OM's ASM, but +that one is for different Rx bands as explained later in this article. + +RF Rx paths +=========== + +TI's Rita RF transceiver supports all 4 GSM frequency bands internally for both +Rx and Tx, but in the Rx direction it has only 3 LNA inputs. GSM850 and EGSM +share the same LNA input, whereas each of DCS and PCS gets its own. There is +also a requirement that whenever reception takes place in a given band, the Rx +signal has to pass through a SAW filter specific to that band: thus dual-band +designs have two SAW filters in them somewhere, triband designs have 3 and +quadband designs have 4 of them. + +Triband design with Rita and other similar transceivers like Silabs Aero I/I+ +is straightforward: the antenna switch module (ASM) puts out 3 Rx paths +corresponding to LB, DCS or PCS, each of the 3 is passed through its own SAW +filter, and then they go to the 3 LNA inputs. SAW filters in the DCS and PCS +Rx paths are unambiguous, whereas the third SAW filter in the LB Rx path can be +populated in one of two ways: populating an EGSM downlink band filter produces +a tri900 GSM device, populating a GSM850 DL band filter produces a tri850 GSM +device. Openmoko's triband RFFE which we've reproduced on our FCDEV3B is built +in exactly this manner. + +Quadband design with the same Rita transceiver is more complicated: there need +to be a total of 4 SAW filters, but they need to go to just 3 Rita LNA inputs. +One can make a discrete design: use an antenna switch module that puts out 4 +switched Rx paths, pass them through 4 discrete SAW filters, and then somehow +combine the outputs of GSM850 and EGSM filters onto the single LB LNA input. +Huawei's MG01GSMT design appears to do something similar (except that it +supports a non-standard band in the place of GSM850), but I don't really +understand how this magic works in terms of PCB layout. + +The M034F integrated FEM that was chosen by TI Back In The Day is much neater: +it is a quadband FEM, containing 4 SAW filters inside, but it was specifically +designed to interface with transceivers like TI Rita or Silabs Aero that have 3 +Rx input paths - thus the magic that combines the output of GSM850 and EGSM SAW +filters is contained inside this FEM component. + +We do have an M034F.pdf datasheet for this magic component (came along with +Calypso and Leonardo docs), and the block diagram on page 6 shows the magic +quite clearly: there is a baseband-controlled switch selecting between EGSM Rx +and GSM850 Rx (in addition to the two usual Tx switches), this switch directs +the low band Rx path toward one of two different SAW filters, and the outputs +of those two filters are then joined. The high band Rx path always goes to both +DCS and PCS band SAW filters, and each of those high band Rx SAW filters gets +its own output going to its own dedicated Rita LNA input. Note the lack of a +baseband-controlled switch between DCS and PCS in the high band Rx path! + +For a long time prior to the 2019-12 breakthrough I was concerned about this +lack of a baseband-controlled switch between DCS and PCS in the high band Rx +path: this switch is present in every triband RFFE design I am familiar with, +including the one we got from Openmoko, and I was concerned that feeding the +high band Rx path to both DCS and PCS SAW filters without a switch would +introduce a 3 dB penalty into these high band Rx paths. But when I got my +hands on the newly discovered Tango modem modules, looked at the GMagic numbers +written into their FFS as part of the manufacturer's production calibration and +then independently verified them with our CMU200, all fears were dispelled: the +Rx performance of this M034 FEM in all 4 bands is exactly the same as our +current Openmoko-based triband RFFE, with GMagic around 200 half-dB units. + +RFFE switches and control signals +================================= + +Both our new quadband M034F and our more mature OM-based triband ASM have 3 +baseband-controlled switches inside: two Tx switches (one for LB Tx, one for HB +Tx) and one Rx band steering switch. The Rx switch is entirely different +between the two RFFE designs: + +* Our OM-based triband ASM has an Rx path steering switch between DCS and PCS + just like every other triband RFFE design I have seen, and of course being + triband, it has no capability of switching between GSM850 and EGSM. + +* Epcos M034F has a baseband-controlled Rx path steering switch between GSM850 + and EGSM (seems unavoidably necessary in this architecture), but it has NO + switch between DCS and PCS - instead both high band Rx paths are "always on". + +All 3 RFFE switches are controlled by Calypso TSPACT signals passed through PNP +transistors that act as inverting buffers. The assignments of which Calypso +TSPACT controls which RFFE switch were made by people who came before us, and +these assignments are different (incompatible) between Leonardo/Tango and +Openmoko/FCDEV3B. + +Leonardo RFFE control signal assignments (used on Tango) are as follows: + +TSPACT1 = Tx high bands +TSPACT2 = Tx low bands +TSPACT4 = Rx GSM850 band + +Openmoko's version (used on FCDEV3B) is as follows: + +TSPACT1 = Rx PCS band +TSPACT2 = Tx high bands +TSPACT4 = Tx low bands + +In the now-seemingly-unlikely event that we end up building a new FreeCalypso +GSM device (not Tango) with M034F quadband FEM, we have two sensible choices +for TSPACT control signal wiring. One option would be to copy Leonardo and +Tango, and the other option would be to use the following novel assignment: + +TSPACT2 = Tx high bands +TSPACT4 = Tx low bands +TSPACT5 = Rx GSM850 band + +The latter option can be made firmware-compatible with our current OM-based +triband RFFE, by having our firmware drive the signals as follows: + +TSPACT1 = Rx PCS band +TSPACT2 = Tx high bands +TSPACT4 = Tx low bands +TSPACT5 = Rx GSM850 band + +Right now this consideration is purely academic because there presently exists +no business case for building new FreeCalypso hardware, given the existence of +Tango modules. + +RF magic glue: Rx paths +======================= + +RF signal paths coming out of the 3 Rx SAW filters in our current OM-based +design or out of M034F Rx pins are differential pairs; Rita LNA inputs to which +these signal paths go are also differential. But these RF signal paths are not +simple pairs of PCB traces going from one chip to the other, instead every +existing design features "RF magic glue" matching networks in these signal +paths, made up of inductors and/or capacitors. These "magic glue" LC networks +exist in a seemingly endless number of permutations: every historical design I +got a chance to examine exhibits a slightly different LC network topology among +the 3 Rx signal paths that are present. Sometimes the same LC network topology +is replicated for all 3 Rx signal paths, othertimes the same board will feature +different LC network topologies for different Rx band signal paths. + +Openmoko's Rx path "magic glue" networks look neat and tidy, with the same +topology in all 3 Rx band signal paths. This topology consists of a series +inductor in each trace (6 of them in total for 3 differential pairs) and shunt +capacitor footprints both before and after these series inductors - but all of +these shunt capacitor footprints are left unpopulated. Inductor values are +naturally a little different for each frequency band. + +Prior to the discovery of Tango modules, when I was thinking about designing +and building new FreeCalypso hw with our long-desired M034F quadband FEM, I had +the big dilemma of deciding what topology should be implemented for the "RF +magic glue" matching networks. OM's version looks very neat and tidy and it is +known to work well with OM's triband RFFE, but would it still work well if that +triband RFFE were to be replaced with M034F? The answer is very uncertain, +especially considering that the output impedance specifications given in our +only available M034F.pdf datasheet look very weird. + +The discovery of Tango has saved the day in this department. The "magic glue" +Rx path matching networks implemented on this module are exactly the same as +what is depicted on our available Leonardo schematics (the ones we've had since +2011), and the fact that these modules once were a successful mass-produced +commercial product gives a huge confidence boost to what was previously just a +schematic drawing of completely unknown working quality. These Leonardo Rx path +matching networks score very low on the scale of understandability (and they +feature entirely different topology for each of the 3 Rx band signal paths), +but the fact that we have a working reference in the form of Tango is all that +matters at the end of the day... + +RF magic glue: Tx paths +======================= + +RF Tx signal paths running from the PA to the FEM or ASM also pass through +matching networks made up of inductors and/or capacitors. The two versions of +most interest to FreeCalypso are once again Leonardo and Openmoko. The version +of Leonardo that has been mass-produced as Tango has the same T network topology +in both LB and HB Tx paths: + +PA_OUT-----C1--+--C2-----FEM_IN + | + C3 + | + GND + +LB: C1=C2=47pF, C3 is unpopulated +HB: C1=C2=12pF, C3 is unpopulated + +It needs to be noted that with the cap-to-ground leg unpopulated, the T network +is degenerate and is equivalent to a single series capacitor. It needs to be +understood that TI were not in the business of selling finished GSM phones or +modems - instead their primary business was selling chips, and their secondary +business was providing support for these chips, support that included reference +and development boards. Because Leonardo was a reference board rather than a +finished product, it appears that TI designed this board with a provision for a +possible matching network - the comment on the schematic drawing says "PA +matching possible" - but apparently no matching was needed, hence a degenerate +T network was populated. It is certainly a little strange that the makers of +Tango kept this degenerate T network and did not replace it with a single +series capacitor, but what do we know... + +Openmoko used pi networks instead: + +LB: PA_OUT-----+--10nH--+-----ASM_IN + | | + 1pF NC + | | + GND GND + +HB: PA_OUT-----+--33pF--+-----ASM_IN + | | + NC NC + | | + GND GND + +The HB pi network is degenerate, reduced to a single series capacitor, and the +LB pi network is almost degenerate given how small that 1 pF cap to ground is. +But pi networks have this advantage: a degenerate pi network is reduced to just +one component, whereas a degenerate T network requires two components to be +populated. + +It is also worth noting that both "from" and "to" components connected by these +matching networks are different between Leonardo and OM: Leonardo and Tango use +RF3133 PA, OM's version has RF3166; Leonardo FEM is M034F, OM's version has a +Darfon ASM instead. + +In the now-seemingly-unlikely event that we end up building a new FreeCalypso +GSM device (not Tango) with M034F quadband FEM, which PA are we going to use, +and what "RF magic glue" matching network topology for PA-to-FEM RF Tx paths? +The Mother's current preference is to use RF3166 and OM-style pi networks, +preferably with a consultation with some better-than-me RF expert - but all +such plans are extremely nebulous, written with forks on water.