Contents
Setup
This backs up registers and prepares the LO for measurement
- Backup the channel
- Set the channel to 64
Backup the Test Core Register (0x3F4)
Backup the RF Override and RF Override Value OFDM Registers (0x10 and 0x11)
Backup OFDM Table 0xF, offsets 0x7, 0x9, 0xA and 0xB
Backup OFDM Registers 0x7A, 0x6E and 0x7C
Backup Radio Registers 0x17, 0x19 and 0x9
Backup OFDM Table 0xC, offset 1
Backup OFDM Register 0x6B
AND Radio Register 0x9 with 0xFFBF
Find the Minimum I and Q values
Test I and Q values to find the minimum feedthrough
Write 0 to Radio Register 0x1E
Disable CRS 0
Write 1 to Core Register 0x3F4
OR OFDM Register 0x10 with 0xC08
MaskSet OFDM Register 0x11 with mask 0xF3F7 and set with 0x408
Write the value of OFDM Table 0xE, offset 0x8 to OFDM Table 0xF, offset 0x7
Write 1 to OFDM Table 0xF, offset 0x9
Write 1 to OFDM Table 0xF, offset 0xA
Write 1 to OFDM Table 0xF, offset 0xB
Write 0xC111 to OFDM Register 0x7A
Write 0x2 to OFDM Register 0x7C
- If the PHY Revision is 2 or less
Perform an RSSI Lookup Table Workaround
Write 0 to OFDM Register 0x6B
Write 0x26 to Radio Register 0x17
If the Analog Core Revision is 1
MaskSet OFDM Table 0xC, offset 1 with mask 0xFF87 and set with 0x10
- Otherwise
MaskSet OFDM Table 0xC, offset 1 with mask 0xFFC3 and set with 0x8
Write 0x60 to Radio Register 0x19
- Loop over the IQ VOS Lists, I values first, then Q values (see Tables below)
- If this is the I List
MaskSet Radio Register 0x1E with mask 0x00F0 and set with the current I value left shifted by 4
- If this is the Q List
MaskSet Radio Register 0x1E with mask 0x000F and set with the current Q value
- Delay for 5 uSec
Read the TSSI Value
- If the TSSI value is less than the currently saved one (or the first) or is equal to the currently saved one
Save all of the values of Radio Register 0x1E that achieved this minimum value and if a new value is less, discard all of the saved ones
- If this is the I List
- After each list (I and Q)
Write the first saved minimum value to Radio Register
Write 0x91 to Radio Register 0x19
Find the best combination of the I and Q values
Tests each combination of the I and Q values found in the previous section for the best combination
Loop over all of the saved I and Q values (contents of Radio Register 0x1E) that achieved the minimum value but if there are more than 16 values in either list, limit each list to 16 values
- AND the Q value with 0xF and OR it with the I value AND'd with 0xF0
Write the result to Radio Register 0x1E
- Delay 5 uSec
Read the TSSI Value
- If the TSSI value is less than the currently saved one (or the first)
Save the value of Radio Register 0x1E
Write the value that achieved the minimum to Radio Register 0x1E and save this value (TX VOS)
Find the Optimal RF, Baseband and TX DC Values
Write 0 to OFDM Register 0x6B
Write 0x26 to Radio Register 0x17
- If the Analog Revision is 2 or greater
MaskSet OFDM Table 0xC, offset 1 with mask 0xFFC3 and set with 0x2C
- Otherwise
MaskSet OFDM Table 0xC, offset 1 with mask 0xFF87 and set with 0x58
- Loop over the IQ VOS Lists, I values first, then Q values (see Tables below)
- – TODO –
Find the Best Combination of RF, Baseband and TX DC Values
– TODO –
Cleanup
Restores Registers and writes the calculated values to the PHY
Restore Core Register 0x3F4
Restore OFDM Registers 0x10 and 0x11
Restore OFDM Table 0xC, offset 1
Restore Radio Registers 0x17 and 0x19
Write the Global TX BB DC Bias to OFDM Register 0x6A
Restore OFDM Register 0x6B
- Delay for 10 uSec
Restore OFDM Table 0xF, offsets 0x7, 0x9, 0xA and 0xB
Restore OFDM Registers 0x7A, 0x6E, 0x7C
- If the PHY Revision is 2 or less
Perform an RSSI Lookup Table Workaround
Perform an OFDM Dummy Transmission
Enable CRS 0
Restore Radio Register 0x9
- Switch back to the original channel
Tables
I and Q Lists
I Max TX VOS Test Values |
0x0 |
0x4 |
0x8 |
0x9 |
0xD |
Q Max TX VOS Test Values |
0x0 |
0x1 |
0x5 |
0x6 |
0xA |
RF
RF Values |