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.