I found that REFO frequency is about 0.4% faster in Active mode than in true LMP3, by checking TA0 CCR1 OUT using a oscilloscope.
Setup:
1. VCC 3.0V, Vcore=2.
The difference matters in my application. What I want is to calibrate REFO vs XT2 (26M), so that REFO could be more accurate and then timing could be more accurate. My calibration setup is:
1. Use ACLK (REFO) for TimerA0. Use SMCLK (26M/4) for RtcTimer (32 bit Counter Mode).
2. Start both TimerA0 and RtcTimer, and let the chip in LPM0 or LPM1 so that SMCLK is active.
3. When TimerA0 overflows, stop RtcTimer and read its counter value. In my board, the value is about 0x00C6E6E0 = 13035232.
4. Calculate the frequency of the REFO: 26M/4*65536/13035232 = 32679.
When I use this frequency to delay some time in my program while the chip is in LPM3, there is still some error (0.4%). And finally I figured out that this should be due to different REFO frequency in Acitve/LMP0/LPM1 and LPM3, by checking TimerA0/TimerA1 CCR1 OUT (mode 2).
I think when SMCLK (or maybe XTS) is on, the frequency will drift, because if I make the chip in LPM3 during calibration, the result is the same. I think because at this moment SMCLK (or XTS) is active and the chip is actually not in low power mode.
Does anybody notice this issue? Is there idea to improve the calibration? Could REFO be used as an accurate clock reference?