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.

[参考译文] MSP430F5335:用户指南中的RTC_B校准和可能的错误

Guru**** 2614265 points
Other Parts Discussed in Thread: MSP430F5335, MSP430F5438A

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/664573/msp430f5335-rtc_b-calibration-and-possible-errors-in-user-s-guide

部件号:MSP430F5335
主题中讨论的其他部件: MSP430F5438A

我正在努力为MSP430F5335上的RTC_B外设添加温度补偿和校准支持。  在2016年10月版用户指南中,我对以下几个问题有疑问:

1) 23.2 5实时时钟校准

在用于校准绝对误差(ppm)的频率和方程的基本流程的步骤3中,给出的值为|10x6 (测得的值-分数)/Frtcclk|。  我想知道这个方程式的分母是否应该不是FMeasured而是Frtcclk???  每次调整都将根据实际频率(FMeasured)进行,而不是所需的频率。

2)注释:可能的最小校准中的23.2 (校准) 5

说明中的实际案文如下:

"可能的最小校准为-4 ppm或+8 ppm。 例如,将RTCCALS设置为0
而RTCCAL = 0h将导致频率降低-4 ppm。 同样,设置
RTCCALS = 1且RTCCAL = 0h将导致频率增加+8 ppm。'

我认为这是不正确的。  如果RTCCAL值为0h,则我认为校准功能已禁用,无论RTCCALS的值是多少,都不会增加或减少频率。  这不正确吗???

此外,我认为最低限度的修正应该是:

当RTCCALS = 1且RTCCALx = 1时,+4.34ppm

RTCCALS =0且RTCCALx =1时为2.17

这不正确吗???  如果不是,那么用于计算RTCCALx的方程式就更错了!

谢谢

Greg Dunn

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Greg,您好!

    对于您的第一个问题,步骤3中的方程式是正确的。 此处的理想或理论值是F_RTCCLK,是512 Hz,256 Hz或1 Hz的预期频率。 此处的测量值或实验值为F_Measured。 如果您在线搜索"错误方程式",您将找到下面计算绝对错误的方程式的变体。

    百分比误差=[实验值-理论值]/理论值x 100 %

    对于第二个问题,第22.2 4节提到RTCCAL位用于调整频率。 请记住,校准仅在日历模式下可用。 在计数器模式下(RTCMODE = 0,而不是RTCCAL),校准逻辑被禁用。

    希望这能有所帮助!

    此致,

    詹姆斯

    MSP客户应用程序
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,James:

    我认为我已经确信我在用户指南中的第一个问题是正确的。 很抱歉这个。

    第二个问题仍然没有意义。 请记住,我正在使用实施RTC_B的MSP430F5335 RTC_B没有我可以识别的RTCMODE寄存器,也不支持计数器模式。 我肯定是在使用RTC_B作为时钟日历。 实际上,我参考了RTC_B的23.2 第5节,而RTC_A的22.2 第4节 第23.2 5节末尾的第一个注释是我认为存在错误的地方,据我所知,实际上整个注释似乎不正确。 我认为,该说明应修改如下,以使其正确无误:

    1)最小的正校准调整值为+RtCCALS=1 4.34 和RtCCALx=1时会发生。
    2)最小负校准调整为-RTCCALS=0和RTCCALx=1时,将出现2.17 ppm。
    3)如果RTCCALx=0,则不存在预校准,也不存在RTCCALS中的值。

    我错过了什么?

    谢谢!
    Greg Dunn
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Greg,您好!

    我认为我已经确信我的第一个问题在用户指南中是正确的。 对此很抱歉。[/QUOT]

    没问题。

    第二个问题仍然没有意义。 请记住,我正在使用 实施RTC_B的MSP430F5335 RTC_B没有我可以识别的RTCMODE寄存器,也不支持计数器模式。 我肯定是在使用RTC_B作为时钟日历。 实际上,我参考的是针对RTC_B的23.2 第5节,而不是针对RTC_A的22.2 第4节。

    你说得没错。 我错误地引用了RTC_A部分,而不是RTC_B 感谢您的观看!

    5部分末尾的第一个注释23.2 是我认为存在错误的地方,据我所知,实际上整个注释似乎不正确。 我认为,该说明应修改如下,以使其正确无误:

    1)最小的正校准调整值为+RtCCALS=1 4.34 和RtCCALx=1时会发生。
    2)最小负校准调整为-RTCCALS=0和RTCCALx=1时,将出现2.17 ppm。
    3)如果RTCCALx=0,则不存在预校准,也不存在RTCCALS中的值。
    [/引述]

    我明白你在说什么。 进行一些挖掘后,我认为不应将此注释包含在RTC_B部分中。 它似乎是从具有正确注释的RTC_A节复制的。 我发现具有RTC_A (如MSP430F5438A)的器件具有RTC6勘误表。 本勘误表指出RTC频率调整的步长为=+8ppm/-4ppm,是用户指南中指定的步长的两倍。 因此,该注释包含在RTC_A部分中,以便向读者重点介绍此勘误表。 MSP430F5335器件中不存在此勘误表,因此本说明不适用。 我将请求将其删除。

    如果您在我们的文档中发现任何其他内容,您也可以通过单击数据表,用户指南,应用说明等页面底部的"提交文档反馈"来提交文档

    此致,

    詹姆斯

    MSP客户应用程序

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    James,

    我想分享更多我在测试中确定的信息。 我认为第一个注释中有关最低可能校准的部分信息是准确的。 我用RTCCTL2中存储的各种值运行测试。 我有一个频率记录设备连接到RTCCLK输出,并且RTCCTL3设置为3以生成1Hz脉冲。 通过此测试设置,我能够监控每个RTCCLK脉冲的频率并捕获每个调整脉冲。 额定RTCCLK频率当然非常接近1Hz。 任何所需的调整脉冲都在每分钟的顶部输出,从小时的顶部开始,连续间隔一分钟。 它看起来像注释所示的最小调整数为2。 在下表中,显示了不同RTCCALS和RTCCALx设置下每小时传输的调整脉冲数:

    RTCCALS RTCCALx调整脉冲数 每个调整脉冲的频率 有效的ppm调整
    1. 3. 4. 1.0.1587万 4 x 4.34 = 17.36 ppm
    1. 二 3. 1.0.1587万 3 x 4.34 = 13.02 ppm
    1. 1. 二 1.0.1587万 2 x 4.34 = 8.68 ppm
    1. 0 0 额定1.0 无调整
    0 0 0 额定1.0 无调整
    0 1. 二 0.9.9225万 2 *- 2.17 =- 4.34 ppm
    0 二 3. 0.9.9225万 3 *- 2.17 =- 6.51 ppm
    0 3. 4. 0.9.9225万 4 *- 2.17 =- 8.68 ppm

    如注释所示,每小时的最小调整数似乎是2,或+ppm (8.68 ppm)和-ppm (4.34 ppm)。 该错误位于注释中指定的RTCCALS和RTCCAL设置中,这些注释提供了这些调整。 只要RTCCALx为0,就不会进行任何调整。 当RTCCALx为1时,根据RTCCALS设置进行了2次调整-向上或向下。 我相信这也会使计算23.2 5步骤4(a)和(b)中RTCCALx的方程式稍有不正确。 我认为,RTCCALx值需要偏移1,如下所示:
    4.
    (A) RTCCALx =((绝对误差)/ 2.17)- 1.
    (B) RTCCALx =((绝对误差)/ 4.34)- 1

    这也会使示例不正确-计算的RTCCALx值应比指定值少1。

    请查看并告诉我这些观察结果是否正确。 从我的测试结果来看,我肯定是这样的。

    谢谢!
    Greg Dunn
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    James,

    表没有以非常可读的方式出现。 如果您可以向我发送电子邮件至greg.dunn@eagleresearchcorp.com,我将直接向您发送一个更易阅读的版本。

    谢谢!
    Greg Dunn
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    RTCCALS RTCCALx 调整后的脉冲数 每个调整脉冲的频率(Hz) 有效的ppm调整
    1. 3. 4. 1.0.1587万 4 x 4.34 = 17.36 ppm
    1. 3. 1.0.1587万 3 x 4.34 = 13.02 ppm
    1. 1. 1.0.1587万 2 x 4.34 = 8.68 ppm
    1. 0 0 1 (标称) 无需调整
    0 0 0 1 (标称) 无需调整
    0 1. 0.9.9225万 2 x - 2.17 =- 4.34 ppm
    0 3. 0.9.9225万 3 x - 2.17 =- 6.51 ppm
    0 3. 4. 0.9.9225万 4 x - 2.17 =- 8.68 ppm
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Greg,您好!

    首先,我要感谢详细的帖子和数据-非常令人印象深刻!

    我已将您的数据放在上面的帖子中的表格中,但如果我错过了任何内容,请随意编辑。 为了供您参考,您可以在发布时使用更高级的功能,方法是单击"回复"窗口底部的"插入代码,附加文件等..."链接。 在这里,我单击了"插入/编辑表"按钮(如下所示),然后粘贴到数据中。

    你在这里所说的话是有道理的,我花了很长的时间来研究这个问题。 我想我理解用户指南中的内容。 我会尽量简明扼要地解释。 基本上,第23.2 5节中的方程式和说明似乎假定已经有一个初始设置(或者已经完成了最小化校准)。

    如果您看一下第23.2 .5节中第二段的末尾,就会发现:“每个RTCCALx校准位会导致每60分钟增加256个LF晶体时钟周期,或者每60分钟减去512个LF晶体时钟周期, 提供大约-2 ppm或+4 ppm的频率调整"。 现在,看看您表中的数据,假设我们正在完成最小化校准后进行校准(RTCCALS = 0或1,RTCCALx = 1)。 因此,引用的文本与您测试的文本相匹配-对于每个RTCCALx位,-2 ppm (RTCCALS =0)和+4 ppm (RTCCALS =1)。 对于RTCCALS = 1,当RTCCALx从2到3时,ppm调整从13.02 ppm到17.36 ppm (~4 ppm)。 这是否合理?

    我认为对等式也是这样假设的。 当RTCCALS =0或1且RTCCALx >1时,插入这些方程式的绝对错误差异是需要添加到现有RTCCALx位的值。 这是否合理?

    我假设引用的文本和方程式没有更改,因为假设注释包含最小(初始)校准,这意味着其他所有内容都是正确的。 不管怎样,我会更新我的内部反馈,看看我们是否可以使其更加简单明了。

    此致,

    詹姆斯

    MSP客户应用程序

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    James,

    我理解你说的话,但正如你所说,你一定要深入研究,才能提出你的解释。 如果解释清楚的话,那就很简单了。 如果没有详细的测试,我肯定不会正确。 我想我终于确切地了解了它现在的工作原理,并对我的温度补偿算法充满信心。

    非常感谢您的帮助!
    格雷格