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