HFXO _INTCAP setting


I want to adjust the HFXO capacitance using INTCAP.
When the XOSC32MTRIM.SLOPE (chip-specific factory calibration value) is small, the resolution of INTCAP becomes coarse, which may prevent fine adjustment. Depending on the chip, it may not be possible to achieve fine tuning, potentially causing the recommended tolerance of ±40 ppm for BLE operation to be exceeded.
Are there any countermeasures for this case?
Parents
  • Hi,

    Considering the formula mentioned in documentation: 
    INTCAP = (((CAPACITANCE-5.5)*(FICR->XOSC32MTRIM.SLOPE+791)) + FICR->XOSC32MTRIM.OFFSET*4)/256

    Formula uses (SLOPE + 791) in the calculation. This means that even for chips with a small SLOPE value, the dominant term 791 keeps the resolution relatively stable for the HFXO case. Not sure where is the problem. You just set you desired CAPACITANCE in the formula. Or better way is to set it in device tree:

    &hfxo{
    load-capacitors = "internal";
    load-capacitance-femtofarad = <15000>; /* 15 pF expressed in femtofarads */
    };

    Have you encountered issue with a specific crystal ? can you share crystal datasheet ? 

    Best regards,
    Ressa

  • Hi,

    For example, when SLOPE = 88 and OFFSET = 520, the same setting value is obtained for capacitance values of 6.5 pF and 6.75 pF. My understanding is that this happens because the INTCAP setting value can only be an integer.

Reply Children
No Data
Related