This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430F5438A RTC calibration

Other Parts Discussed in Thread: MSP430F5438A

I have some doubts about MSP430F5438A real time clock calibration. I appreciate if someone could help me.

1) According to the User's Guide, the RTC calibration/compensation period is 64 minutes. What happens if I set a calibration value in RTCCTL2 and after some time (less than 64 minutes) I change this value? Does the new calibration period begin at the moment I have set this new calibration value?

2) There is a note about minimun calibration possible:

"The minimial calibration possible is -4 ppm or +8 ppm. For example, setting RTCCALS = 0
and RTCCAL = 0h would result in a -4 ppm decrease in frequency. Similarly, setting
RTCCALS = 1 and RTCCAL = 0h would result in a +8 ppm increase in frequency."

RTCCALS and RTCCAL are zero by default, right? So, that means, by default the MSP430 apply a -4ppm RTC correction?

What’s the calibration if RTCCAL = 1?

  • Tiago Bucker said:
    For example, setting RTCCALS = 0 and RTCCAL = 0h would result in a -4 ppm decrease in frequency.

    I just checked an older version of the users guide and there is no mentioning of the minimum calibration.

    Apparently, it was originally meant to be -4+8* RTCCAL (+-0 by default), and it was later discovered that there is an offset of 2 on RTCCAL in the exact implementation, resulting in a calibration even if RTCCAL=0.

    Now it is a very rary case that a crystal exactly has the correct frequency. All I ever had were too fast. because their temperature coefficient changes over temperature (usually being 0 at 25°C). So you alwas have to slow them down a bit. And if not, then jsut pick a different load capacitance to adjust the freuency. :)

  • If this note is correct, setting RTCCAL = 0 or RTCCAL = 1 have the same efect. I summarized some situations in the tables below. I appreciate if someone of TI confirm I'm corretc.

    1) RTCCALS = 1

    RTCCAL | Calibration
    0               | +8,138 ppm
    1               | +8,138 ppm
    2               | +12,207 ppm
    3               | +16,276 ppm
     ...             | ...
     63            | +260,411 ppm

     

    2) RTCCALS = 0

    RTCCAL | Calibration
    0               | -4,07 ppm
    1               | -4,07 ppm
    2               | -6,105 ppm
    3               | -8,14 ppm
    ...              | ...
    63            | -130,24 ppm

  • Tiago Bucker said:
    If this note is correct, setting RTCCAL = 0 or RTCCAL = 1 have the same efect.

    Why do you think that? The note says that there is a setting of +8 (or -4) even if RTCCAL is 0. It doesn't say that adding one to RTCCAL would result in anything else but the described +4/-2 change in case of RTCCAL is 0.

    If there is an offset of +8, then setting RTCCAL to n would result in RTCCAL*4 (by description of the RTCCAL value)  +8 (apparent offset, as described by the note). Setting it to 1 would give +12, 2 gives +16. It jsu tbegins with +8 and not with 0.
    At least that's what description and note say. What they mean can be of course different and has to be verified either by experiments or by an official statement (whcih of course should be based on experiments or other in-depth knowledge too)

  • Jens-Michael Gross said:
    If there is an offset of +8, then setting RTCCAL to n would result in RTCCAL*4 (by description of the RTCCAL value)  +8 (apparent offset, as described by the note). Setting it to 1 would give +12, 2 gives +16. It jsu tbegins with +8 and not with 0.

    Strictly speaking, the note mentions a *minimum*, not an *offset*.

    The description in point 4 still says:

    4. Adjust the frequency, by performing the following:
    (a) If the frequency is too low, set RTCALS = 1 and apply the appropriate RTCCALx bits, where
    RTCCALx = (Absolute Error) / 4.069, rounded to the nearest integer.
    (b) If the frequency is too high, clear RTCALS = 0 and apply the appropriate RTCCALx bits, where
    RTCCALx = (Absolute Error) / 2.035, rounded to the nearest integer.

    Hasn't TI replied anything about that yet?

  • I'm discussing directly with TI technical staff about this RTC module. Thank you.

  • If anyone are interested these are the results I have observed on my tests. The RTC was configured in hexadecimal mode. When I use BCD mode the results are completely different.

    // RTCCAL = 1 | Delta
    // 0  | 0
    // 1  | +8,138 ppm
    // 2  | +12,207 ppm
    // 3  | +16,276 ppm
    // ...  | ...
    // 63  | +260,416 ppm

    // RTCCAL = 0 | Delta
    // 0  | 0
    // 1  | -2,035 ppm
    // 2  | -4,070 ppm
    // 3  | -6,105 ppm
    // ...  | ...
    // 63  | -130,25 ppm

    Besides that, there is an errata about RTC module of MSP430F5438A, where they say the RTC step calibration are +8/-4ppm, but I did not observe this behavior at all.

  • Care to share what news you have about the minimum calibration so far?

    My measurements show no active calibration for RTCCAL = 0, I do not see the effect of this new NOTE (that appeared in august 2012).

  • Thanks for the update. My device has RTC6 in the errata as well, but I do see the 8/-4 ppm steps.

    I am in BCD mode, though.

    To be exact, the errata says "4ppm/-8ppm", but I think it is a typo (as it is not the double of the steps in the datasheet, rather minus the double. It does not match my measurements either, while 8/-4 does).

**Attention** This is a public forum