FreeCalypso > hg > freecalypso-tools
comparison doc/Compal-calibration @ 305:3d79116be312
doc/Compal-calibration: fc-readcal failed approach documented
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 20 Nov 2017 17:51:23 +0000 |
parents | 9c1444923495 |
children | 6dcca662a02f |
comparison
equal
deleted
inserted
replaced
304:9c1444923495 | 305:3d79116be312 |
---|---|
324 with all channel correction values set to 128, meaning no channel correction. | 324 with all channel correction values set to 128, meaning no channel correction. |
325 But since we do use the Tx levels table of APC DAC values from Mot/Compal's | 325 But since we do use the Tx levels table of APC DAC values from Mot/Compal's |
326 factory records, and given that the tolerances for Tx power levels given in the | 326 factory records, and given that the tolerances for Tx power levels given in the |
327 GSM 05.05 spec are quite generous, we expect to still be within these tolerances | 327 GSM 05.05 spec are quite generous, we expect to still be within these tolerances |
328 despite the lack of channel correction. | 328 despite the lack of channel correction. |
329 | |
330 In vivo approach: tried and failed | |
331 ================================== | |
332 | |
333 Before I figured out the format of Mot/Compal's factory calibration records in | |
334 their flash and wrote the c1xx-calextr "in vitro" extraction and conversion | |
335 tool, I tried an "in vivo" approach: reading the calibration values out from | |
336 the running firmware via TI's L1/RF Test Mode commands which are still present | |
337 in Mot/Compal's fw. This approach successfully yielded the tables of Tx ramp | |
338 templates which are calibrated per design rather than per unit and thus compiled | |
339 into the fw and not present in the per-unit factory calibration records (these | |
340 extracted Tx ramps tables are now used by FC Magnetite fw when built for the | |
341 C139 target), but does not help with much of anything else: | |
342 | |
343 * One can read the calibrated Tx levels table (rftr 16) for the low frequency | |
344 band (850 or 900 MHz), but not for the high (1800 or 1900 MHz) band: in order | |
345 to access the tables for the high band, one needs to issue an rfpw 7 command, | |
346 but in Mot/Compal's version the latter command only loads the compiled-in | |
347 tables and does not apply their non-TI calibration records. | |
348 | |
349 * The Rx agcparams table returned in response to rftr 31 always has the GMagic | |
350 field set to the fw's compiled-in value and not the calibrated one. | |
351 | |
352 * The Rx calchan table (which Mot/Compal enlarged from 10 to 63 entries as | |
353 explained earlier in this article) cannot be read out at all: the rftr 25 | |
354 command crashes the firmware, probably via a buffer overflow from the | |
355 enlarged table. | |
356 | |
357 * The Tx calchan table can be read out with rftr 17, but it does not make any | |
358 sense: it still has 4 copies of a table of 8 subbands like in TI's canon, | |
359 even though when we look at their factory calibration records, we can clearly | |
360 see that the table of Tx channel correction values is also enlarged. But the | |
361 correction values themselves are centered around 0 in this strange table | |
362 returned in response to rftr 17, and not around 128 like in TI's canon. | |
363 | |
364 The fc-readcal utility was written before c1xx-calextr, and it was my original | |
365 idea of how to extract Mot/Compal's factory RF calibration values. It features | |
366 a -c command line option for "Compal mode" which disables the reading of Rx | |
367 calchan and Tx calchan tables via rftr 25 and rftr 17, respectively (the former | |
368 crashes the fw, the latter has the wrong semantics), but because it issues | |
369 rfpw 7 commands for each band preceded by tms 1, it will only yield the | |
370 firmware's compiled-in values, and not any of the factory-calibrated ones. | |
371 | |
372 Therefore, the fc-readcal method should not be used, and the c1xx-calextr method | |
373 described in the main body of this article should be used instead. |