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.

MSP430FR59xx RTC_B Calibration

Other Parts Discussed in Thread: MSP430FR5949

Hello,

I am using an MSP430FR5949 and am investigating the implementation of periodic temperature compensation of RTC_B.   I have read the user guide and implementation "by periodically measuring temperature and using the crystal's characteristic curve" is straightforward.

However, I would like more information regarding when clock cycles are inserted/removed during the 60min adjustment period (117964800 cycles).  Specifically:

  1. If you have a large value in RTCCALx, are all of the clock cycles inserted/removed at once or does an adjustment for each LSB happen at a different time in the 60min period?
  2. If the former, when does the adjustment occur?  If the latter, how are the adjustments distributed throughout the period?

This information would help me decide if writing to the RTCCALx more than once every 60min would be of any benefit and/or when to write to RTCCALx.

Thanks in advance.

  • Hi Nathan,

    We're currently looking into your question and will have to follow up with our systems engineers who will know how the clock cycles are inserted/removed during the 60 minute period.

    Though I do want to point out that the method of the RTCCALx being applied will only matter for the temperature calibration, but you can still calibrate the room temperature frequency of the crystal once production without this mattering.

    We will definitely try and get you more information once I hear back from the systems engineer.

    Thanks, Joey

     

     

     

  • Hi Nathan,

    Here is some information from the systems engineer:


    For each calibration LSD you get +256 or -512 LF crystal clock cycles in a given hour. For RTC_B, basically the change will occur for each minute i.e. if there is a 1 LSB change, the correction would occur in the first minute of the 60 minute interval. If there is a 2 LSB change, the correction would occur for the first and second minutes, and so forth.

    Since it seems you're trying to decide when and how often you should set RTCCALx. There are a few approaches to this:

    1. You can calibrate once at production per board, to measure how much that particular crystal + board combination is off from 32768Hz under nominal conditions. Then you can use this to write in your RTCCALx setting once at production and leave it for the lifetime of the part. This will account for any difference from the exact 32768 at room temp, and won’t matter when/how the RTCCALx is applied because in this case you only measure and change the RTCCALx setting once at production.

    2. On top of calibration step 1, you could have a routine that measures temperature periodically and, with some sort of lookup table in your code where you’ve programmed in the temperature drift characteristic information of the particular crystal you are using, you could use this to additionally modify the RTCCALx setting from the room temp calibration already applied. This is the case where your first question on where the clock cycles are inserted/removed would be relevant.

    Let me know if this answers your question.

    Thanks, Joey

  • "For RTC_B, basically the change will occur for each minute i.e. if there is a 1 LSB change, the correction would occur in the first minute of the 60 minute interval. If there is a 2 LSB change, the correction would occur for the first and second minutes, and so forth."

    Exactly what I was looking for.  Thanks!

**Attention** This is a public forum