FreeCalypso > hg > fc-rfcal-tools
comparison doc/VCXO-vs-VCTCXO @ 64:65577bb967f7
doc/VCXO-vs-VCTCXO written
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Sun, 28 May 2017 05:02:24 +0000 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 63:131abadbd74d | 64:65577bb967f7 |
|---|---|
| 1 Some TI-based GSM mobile station devices use VCTCXOs (voltage-controlled, | |
| 2 temperature-compensated crystal oscillators), while others use "plain" VCXOs | |
| 3 without the TC part. The Leonardo reference design for the Calypso+Iota+Rita | |
| 4 chipset, adopted first by Openmoko and then by FreeCalypso, uses a "plain" VCXO, | |
| 5 and the Rita RF chip itself was designed with non-TC VCXOs in mind, as it | |
| 6 includes the active part of the XO on-chip, with the external VCXO circuit | |
| 7 becoming purely passive. The same Rita chip does support the option of | |
| 8 disabling its internal active XO part and using an external VCTCXO; this | |
| 9 approach is used in the Pirelli DP-L10 GSM+WiFi dual mode phone - but it is no | |
| 10 longer Leonardo, and not properly supported by our available TCS211 reference | |
| 11 firmware. | |
| 12 | |
| 13 However, it appears that Rita was TI's first RF chip to include the on-chip | |
| 14 active part for a non-TC VCXO, whereas Clara (D-Sample) and earlier RF chips | |
| 15 always required the VCXO or the VCTCXO to be external. Furthermore, it appears | |
| 16 that TI's original approach in the days of Sara RF (before Clara) was to use | |
| 17 VCTCXOs mandatorily, then later they improved their AFC (automatic frequency | |
| 18 control) algorithm to work with the cheaper non-TC VCXOs, and eventually the | |
| 19 non-TC VCXO approach became standard. | |
| 20 | |
| 21 It also appears that the requirements for VC(TC)XO calibration changed with the | |
| 22 transition from VCTCXOs to "plain" VCXOs: of the two TI calibration documents | |
| 23 we have (see TI-docs), the Sara document seems to assume a VCTCXO, whereas | |
| 24 LoCosto's DCXO is apparently more like the Leonardo VCXO. | |
| 25 | |
| 26 TI's Layer 1 sources we have include a C preprocessor symbol called VCXO_ALGO, | |
| 27 defined to 1 in TCS211, and it is my (Mychaela's) guess that this preprocessor | |
| 28 symbol enables the new code developed for non-TC VCXOs. The dac_center, | |
| 29 dac_min and dac_max fields in the afcparams table (T_AFC_PARAMS) exist only | |
| 30 when VCXO_ALGO is nonzero, and these numbers are calibrated per unit on Openmoko | |
| 31 devices. Without VCXO_ALGO the afcparams table contains only Psi constants, | |
| 32 and it is my guess that in the days of Sara VCTCXOs these Psi constants were | |
| 33 calculated theoretically and hard-coded, rather than calibrated per unit, hence | |
| 34 the lack of corresponding calibration instructions in the Sara | |
| 35 rf_calibration.pdf document. Only the "EEPROM" DAC value set with rfpw 10 | |
| 36 needed to be calibrated back then, apparently. | |
| 37 | |
| 38 It is not particularly clear to me whether or not the non-TC VCXO used with | |
| 39 VCXO_ALGO really needs to be calibrated on a per-unit basis, or if it would be | |
| 40 sufficient to calibrate it on a per-design basis and put these per-design | |
| 41 calibrated values in the firmware image. My own experience indicates that the | |
| 42 frequency put out by the non-TC VCXO varies quite significantly with | |
| 43 temperature, thus even if the factory calibration is done in a temperature- | |
| 44 controlled chamber, it is not clear how much this calibration helps in | |
| 45 subsequent end user operation when the phone can be used in a very cold | |
| 46 environment or a very hot one, and must work flawlessly nonetheless. | |
| 47 | |
| 48 The truth may very well be that TI supplied their chipset customers with their | |
| 49 standard production calibration software that includes the VCXO calibration | |
| 50 step before Rx and Tx calibrations, and it was easier for the device | |
| 51 manufacturers to just run this production calibration software as-is than to | |
| 52 understand the meaning of various numbers in the afcparams table and come up | |
| 53 with some good-for-all values. TCS211 firmware does not work without VCXO | |
| 54 calibration on Openmoko's modem or on our semi-clone thereof (FCDEV3B) because | |
| 55 the hard-coded values of the Psi constants (which Openmoko couldn't change | |
| 56 because they were shackled by binary-only libs) are too far from the correct | |
| 57 values for the VCXO featured in this design, but the calibrated Psi values | |
| 58 differ very little from one unit to the next. | |
| 59 | |
| 60 We no longer have the binary-only problem that Openmoko faced, but our current | |
| 61 approach is to replicate Om's factory per-unit calibration procedures pretty | |
| 62 closely, including the VCXO calibration. |
