FreeCalypso > hg > fc-rfcal-tools
comparison doc/Tx-cal-theory @ 98:615df2fb1ec3
doc/Tx-cal-theory: update with both theory and practice
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Mon, 17 Jul 2017 22:49:35 +0000 |
| parents | 8e675142cca7 |
| children | 16aab86384a7 |
comparison
equal
deleted
inserted
replaced
| 97:037d9200aae4 | 98:615df2fb1ec3 |
|---|---|
| 46 written into Tx levels table slots 5-19 for EGSM and GSM850, or 0-15 for DCS | 46 written into Tx levels table slots 5-19 for EGSM and GSM850, or 0-15 for DCS |
| 47 and PCS. In the case of DCS and PCS no visible artifacts remain from the | 47 and PCS. In the case of DCS and PCS no visible artifacts remain from the |
| 48 calibration basis run (because slot 0 is a valid power level for these bands), | 48 calibration basis run (because slot 0 is a valid power level for these bands), |
| 49 but an artifact remains in the levels.900 table in the unused slot 0. | 49 but an artifact remains in the levels.900 table in the unused slot 0. |
| 50 | 50 |
| 51 In the present FreeCalypso RF calibration tools suite the planned | 51 Target power level numbers |
| 52 fc-rfcal-txband program that will perform the entire Tx band calibration | 52 ========================== |
| 53 procedure has not been written yet. Instead we have the following two building | |
| 54 blocks: | |
| 55 | 53 |
| 56 fc-rfcal-txbasis performs the preliminary "basis" step of Tx power level | 54 Ideally the power level numbers to be used as the targets for the calibration |
| 57 calibration: it sets the APC DAC to each of the values given on the command line | 55 process would be the levels given in the GSM 05.05 spec: from 33 dBm down to |
| 58 in turn, and reports the resulting output power level in dBm. The temporary | 56 5 dBm for the EGSM and GSM850 bands or from 30 dBm down to 0 dBm for DCS and |
| 59 APC DAC values do get written into the Tx levels table in L1 (there is no other | 57 PCS, in 2 dBm steps in each case. However, the evidence from TI's calibration |
| 60 way to set the APC DAC value for the active transmitter through Test Mode), but | 58 documents (both Sara and LoCosto) is that some devices are not able to produce |
| 61 the MISC_ENABLE command to save Tx calibration tables in FFS is NOT issued, | 59 the very highest and sometimes the very lowest power levels given in the spec, |
| 62 thus the corruption of the Tx levels table inflicted by this program will get | 60 and getting a successful calibration requires setting the calibration targets |
| 63 blown away on the next rfpw 7 (Test Mode band selection) command. | 61 to slightly shifted numbers, although still within the tolerances allowed by |
| 62 the GSM 05.05 spec. The table in TI's Sara calibration document (page 26) has | |
| 63 the highest power level reduced by 1.2 relative to the spec, the next highest | |
| 64 by 0.5, whereas the lowest 4 (EGSM) or 6 (DCS) levels are raised and compacted | |
| 65 together. The table in the LoCosto document (page 44) has the highest power | |
| 66 level for each band reduced by 0.8, making it 32.2 dBm for EGSM and GSM850 and | |
| 67 29.2 dBm for DCS and PCS, while all other levels are set to the spec numbers. | |
| 68 | |
| 69 In my own experience with getting the Tx power levels calibrated on our current | |
| 70 FCDEV3B boards, our hardware is able to hit all of the lowest spec power levels | |
| 71 with good margin (the APC DAC value never goes below the 60-70 range), hence | |
| 72 the low targets did not need to be shifted, but the highest spec power level | |
| 73 could not be achieved in every band. Following TI's practice with LoCosto, I | |
| 74 set the highest power level target to 32.2 dBm for the EGSM band and to 29.2 dBm | |
| 75 for PCS, but I was consistently able to get the full 30 dBm out in the DCS band, | |
| 76 hence I set the DCS band highest power level target to the official number of | |
| 77 30 dBm. It needs to be emphasized, however, that these results are quite | |
| 78 specific to our current flock of FCDEV3B hardware, and your results will most | |
| 79 likely be different if you are working with a different hw design such as a | |
| 80 non-FreeCalypso derivative of Openmoko's GTA02 design. | |
| 81 | |
| 82 Profiles for Tx levels calibration | |
| 83 ================================== | |
| 84 | |
| 85 Our fc-rfcal-txband program that performs the actual per-unit calibration of Tx | |
| 86 power levels for each band requires a preconfigured txlevels calibration profile | |
| 87 for each band as one of its inputs; if you are performing calibration on | |
| 88 individual units of a board design for which the correct profiles have already | |
| 89 been crafted, you simply use those given profiles (fcom1 for our current flock | |
| 90 of FCDEV3B boards), but if you are doing Tx power level calibration on a new | |
| 91 board design for the first time, you first need to characterize the Tx output | |
| 92 level behaviour of your new board design and craft the appropriate set of | |
| 93 profiles. | |
| 94 | |
| 95 The profiles for txlevels calibration reside in /opt/freecalypso/rfcal/txlevels; | |
| 96 each per-band profile is sought in a file named profile_name-band_number, where | |
| 97 profile_name is the profile name argument given to fc-rfcal-txband and | |
| 98 band_number is one of 850, 900, 1800 or 1900. For example, the profile set for | |
| 99 our current FCDEV3B hardware is named fcom1 ("FreeCalypso hardware, Openmoko- | |
| 100 based, version 1"), this hw platform is 900/1800/1900 MHz triband, and the | |
| 101 individual profile config files are fcom1-900, fcom1-1800 and fcom1-1900. | |
| 102 | |
| 103 Each profile provides two key pieces of data: the list of fixed APC DAC values | |
| 104 to be used as the basis set for constructing the piecewise linear model, and | |
| 105 the list of power levels in dBm that will be the targets for the calibration. | |
| 106 | |
| 107 Crafting the txlevels calibration profiles for a new board design | |
| 108 ================================================================= | |
| 109 | |
| 110 If you are working with a new (or new-to-you) board design with no previous Tx | |
| 111 levels calibration experience, you need to begin by characterizing its Tx | |
| 112 output level behaviour so you can determine what APC values are appropriate for | |
| 113 the basis set, whether or not you need to shift the highest and/or lowest | |
| 114 target levels from their nominal spec values, and if some target shifting is | |
| 115 needed, which levels need to be shifted and by how much. | |
| 116 | |
| 117 The tool you will need for this investigation is fc-rfcal-txbasis. It requires | |
| 118 fc-cmu200d and rvinterf to be running, talking to the CMU200 and to the DUT, | |
| 119 respectively, and it takes the band number (850/900/1800/1900) and a set of | |
| 120 APC DAC values on the command line; no pre-existing txlevels profile is needed. | |
| 121 It commands the DUT to transmit at each of the specified APC DAC values in turn | |
| 122 and reports the power output levels measured by the CMU200. | |
| 123 | |
| 124 VERY IMPORTANT: You need to be very sure that your CMU200 or other measuring | |
| 125 instrument is itself in good calibration standing, i.e., that the measurements | |
| 126 it reports are trustworthy, and that the insertion loss in your cabling setup | |
| 127 (all the way from the actual DUT's antenna connector or RF test port to your | |
| 128 CMU200) really matches the numbers you have put in your cable configuration file | |
| 129 (see Cable-config-howto). If you fail to ensure these prerequisites, your | |
| 130 fc-rfcal-txbasis observations will be meaningless, as the cable insertion losses | |
| 131 are typically of the same order of magnitude as the transmitter differences you | |
| 132 are trying to determine. | |
| 133 | |
| 134 You will need to run fc-rfcal-txbasis with a guesstimated set of APC DAC values, | |
| 135 to be revised iteratively, and get a feel for what your DUT is putting out. | |
| 136 Are you able to hit the lowest spec power level consistently while the APC DAC | |
| 137 value remains well above zero? Are you able to hit the highest spec power level | |
| 138 as well, or does the measured power output fall short of this target no matter | |
| 139 how high you crank the APC DAC? These observations will tell you whether or not | |
| 140 you need to shift the highest and/or lowest target power levels in your new | |
| 141 txlevels calibration profile. | |
| 142 | |
| 143 Regular calibration runs | |
| 144 ======================== | |
| 145 | |
| 146 Once you have a good set of profiles for the type of Calypso GSM device you are | |
| 147 calibrating, just run fc-rfcal-txband with the band number and the name of your | |
| 148 profile. | |
| 149 | |
| 150 Checking existing calibration | |
| 151 ============================= | |
| 64 | 152 |
| 65 fc-rfcal-txcheck is a completely non-invasive program (does not make any writes | 153 fc-rfcal-txcheck is a completely non-invasive program (does not make any writes |
| 66 to any L1 RF tables or to FFS) that steps through all power levels for the | 154 to any L1 RF tables or to FFS) that steps through all power levels for the |
| 67 specified band (5-19 for EGSM or GSM850, or 0-15 for DCS or PCS), performs a | 155 specified band (5-19 for EGSM or GSM850, or 0-15 for DCS or PCS), performs a |
| 68 power measurement at each level, and displays the measured result. An | 156 power measurement at each level, and displays the measured result. |
| 69 equivalent operation will be the finishing sanity check step in the full Tx | |
| 70 power level calibration program. |
