bcm-v4

[Specification

TX Local Oscillator Calibration

Setup

Registers and table values are backed up and the LO is put into a known setting for calibration

  1. Backup table value
  2. Find the gain values
  3. Backup Radio Register 0x87

  4. Write 0x29 to Radio Register 0x87

  5. Backup Radio Register 0x88

  6. Write 0x54 to Radio Register 0x88

  7. Backup Radio Register 0xB6

  8. Write 0x29 to Radio Register 0xB6

  9. Backup Radio Register 0xB7

  10. Write 0x54 to Radio Register 0xB7

  11. Backup Radio Registers 0x1F and 0x21

  12. If PHY Register 0x9 has bit 1 set

    1. Write 0x20 to Radio Register 0x1F

    2. Write 0x20 to Radio Register 0x21

  13. Otherwise
    1. Write 0x4 to Radio Register 0x1F

    2. Write 0x4 to Radio Register 0x21

  14. Backup Radio Registers 0xA6 and 0xA7

  15. MaskSet Radio Registers 0xA6 with mask 0x0FFF and set with 0xA000

  16. MaskSet Radio Registers 0xA7 with mask 0x0FFF and set with 0xA000

  17. Backup PHY Register 0xA5

  18. Write 0x3000 to PHY Register 0xA5

  19. Table Stuff
  20. Backup PHY Registers 0x91 and 0x92

  21. Write 0x100 to PHY Registers 0x91

  22. Write 0x100 to PHY Registers 0x92

  23. More Table Stuff
  24. Write 0x8AA9 to PHY Register 0xC2

  25. Stop Tone Transmission

  26. Start Tone Transmission

  27. Delay for 100 uSec
  28. Table Stuff

Measurement

Gain Parameters are tested to find the optimal settings

Cleanup

Registers and table values are restored

  1. Tables
  2. Stop Tone Transmission

  3. Write 0x00 to PHY Register 0xC2

  4. MaskSet PHY Register 0xA6 with mask 0x0FFF and set with the backed up copy of this register

  5. MaskSet PHY Register 0xA7 with mask 0x0FFF and set with the backed up copy of this register

  6. Restore PHY Register 0xA5

  7. More Tables
  8. Restore Radio Registers 0x87, 0x88, 0xB6, 0xB7, 0x1F and 0x21

  9. Restore PHY Registers 0x91 and 0x92

RX Local Oscillator Calibration


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