bcm-v4

[Specification

Setup

This backs up registers and prepares the LO for measurement

  1. Backup the channel
  2. Set the channel to 64
  3. Backup the Test Core Register (0x3F4)

  4. Backup the RF Override and RF Override Value OFDM Registers (0x10 and 0x11)

  5. Backup OFDM Table 0xF, offsets 0x7, 0x9, 0xA and 0xB

  6. Backup OFDM Registers 0x7A, 0x6E and 0x7C

  7. Backup Radio Registers 0x17, 0x19 and 0x9

  8. Backup OFDM Table 0xC, offset 1

  9. Backup OFDM Register 0x6B

  10. AND Radio Register 0x9 with 0xFFBF

Find the Minimum I and Q values

Test I and Q values to find the minimum feedthrough

  1. Write 0 to Radio Register 0x1E

  2. Disable CRS 0

  3. Write 1 to Core Register 0x3F4

  4. OR OFDM Register 0x10 with 0xC08

  5. MaskSet OFDM Register 0x11 with mask 0xF3F7 and set with 0x408

  6. Write the value of OFDM Table 0xE, offset 0x8 to OFDM Table 0xF, offset 0x7

  7. Write 1 to OFDM Table 0xF, offset 0x9

  8. Write 1 to OFDM Table 0xF, offset 0xA

  9. Write 1 to OFDM Table 0xF, offset 0xB

  10. Write 0xC111 to OFDM Register 0x7A

  11. Write 0x2 to OFDM Register 0x7C

  12. If the PHY Revision is 2 or less
    1. Perform an RSSI Lookup Table Workaround

  13. Write 0 to OFDM Register 0x6B

  14. Write 0x26 to Radio Register 0x17

  15. If the Analog Core Revision is 1

    1. MaskSet OFDM Table 0xC, offset 1 with mask 0xFF87 and set with 0x10

  16. Otherwise
    1. MaskSet OFDM Table 0xC, offset 1 with mask 0xFFC3 and set with 0x8

  17. Write 0x60 to Radio Register 0x19

  18. Loop over the IQ VOS Lists, I values first, then Q values (see Tables below)
    1. If this is the I List
      1. MaskSet Radio Register 0x1E with mask 0x00F0 and set with the current I value left shifted by 4

    2. If this is the Q List
      1. MaskSet Radio Register 0x1E with mask 0x000F and set with the current Q value

    3. Delay for 5 uSec
    4. Read the TSSI Value

    5. If the TSSI value is less than the currently saved one (or the first) or is equal to the currently saved one
      1. 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

  19. After each list (I and Q)
    1. Write the first saved minimum value to Radio Register

  20. 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

  1. 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

    1. AND the Q value with 0xF and OR it with the I value AND'd with 0xF0
    2. Write the result to Radio Register 0x1E

    3. Delay 5 uSec
    4. Read the TSSI Value

    5. If the TSSI value is less than the currently saved one (or the first)
      1. Save the value of Radio Register 0x1E

  2. 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

  1. Write 0 to OFDM Register 0x6B

  2. Write 0x26 to Radio Register 0x17

  3. If the Analog Revision is 2 or greater
    1. MaskSet OFDM Table 0xC, offset 1 with mask 0xFFC3 and set with 0x2C

  4. Otherwise
    1. MaskSet OFDM Table 0xC, offset 1 with mask 0xFF87 and set with 0x58

  5. Loop over the IQ VOS Lists, I values first, then Q values (see Tables below)
    1. – TODO –

Find the Best Combination of RF, Baseband and TX DC Values

– TODO –

Cleanup

Restores Registers and writes the calculated values to the PHY

  1. Restore Core Register 0x3F4

  2. Restore OFDM Registers 0x10 and 0x11

  3. Restore OFDM Table 0xC, offset 1

  4. Restore Radio Registers 0x17 and 0x19

  5. Write the Global TX BB DC Bias to OFDM Register 0x6A

  6. Restore OFDM Register 0x6B

  7. Delay for 10 uSec
  8. Restore OFDM Table 0xF, offsets 0x7, 0x9, 0xA and 0xB

  9. Restore OFDM Registers 0x7A, 0x6E, 0x7C

  10. If the PHY Revision is 2 or less
    1. Perform an RSSI Lookup Table Workaround

  11. Perform an OFDM Dummy Transmission

  12. Enable CRS 0

  13. Restore Radio Register 0x9

  14. 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


Exported/Archived from the wiki to HTML on 2016-10-27