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.

[参考译文] MSP430F47187:低温下的中断周期变化

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1132456/msp430f47187-interruption-period-change-in-low-temperature

器件型号:MSP430F47187

Heloo。

因为我不熟悉英语,所以这句话可能很奇怪。

在 MSP430F47187上、由 SD16A 创建的 DMA 中断周期在低温(低于-5°C)时发生变化。
变化量取决于温度、而温度越低、中断周期的变化就越大。
MSP430F47187是否在低温下更改了中断周期?

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

    触发 SD16A 采样的原因是什么? 我认为您需要仔细检查触发源。

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

    SD16A 的时钟源设置为 SMCLK、OSR 设置为512。
    此外、SMCLK 使用 ACLK (32.768Hz)、我们已确认 ACLK 在低温下不会发生变化。

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

    您是否正在使用连续转换模式? 还是单次转换模式?  

     您如何知道中断频率的变化? 您是否使用带 GPIO 的示波器对其进行测试?

    您能否直接测试 ADC 的采样和转换时间、而不是测试频率?

    您能否发布有关您的调查结果的更多信息?

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

    我正在使用连续转换模式。
    使用 GPIO 上的示波器测试中断频率的变化。
    ADC (SD16A)采样时间为1.67ms (600Hz)、在低温条件下、采样时间随着温度的下降而变短。

    当 SD16A 时钟源从 SMCLK 更改为 MCLK 或 ACLK 时、即使在低温下也是正常的。
    即使 SMCLK 时钟源设置为 MCLK、在低温下也是正常的。

    寄存器设置值如下。
    SD16CTL:0x00D4
    SD16CCTL0:0x0810
    SD16INCTL0:0x00
    SD16PRE0:0x00

    时钟设置如下。
    ACLK:32768Hz (XT1外部晶体振荡器)←即使在低温下也被确认为正常
    SMCLK:2457600Hz ((74+1) x 32768Hz)
    SD16A:600Hz (2457600Hz/8/512)←温度越低、周期变化越大(-10°C 时约为614Hz)

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

    感谢您的测试。

    问题似乎出在 SMCLK 上。 SMCLK 的时钟源是什么。 外部振荡器还是内部振荡器?

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

    这是高雪村。
    我无法使用我的上一个帐户登录、因此我要使用另一个帐户进行回复。


    SMCLK 的时钟源是 DCOCLK。
    DCOCLK =(74+1)×ACLK = 2457.6kHz
    ACLK 使用32.768kHz 外部振荡器(型号 MC-306)。

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

    当 SCFI0寄存器的 FN_X 从001X (2至17.9MHz)更改为0000 (0.65至6.1MHz)时、DMA 中断周期在低温下不再发生变化。

    但是、由于 DCO 的频率为2.4576MHz、因此001X 应该没有问题。
    未知 DMA 中断周期为何在低温下发生变化。

    如果您查看数据表第40页上的 DCO、如果 fn_x 为001X、它将在3V 下达到最大3.5MHz。
    因此、它是否大于2.4576MHz、是否存在问题?

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

    您好!

    这会是一个问题。 DCO 有温度漂移问题

    我建议您使用 ACLK 为计时器提供源、而在计时器中断中、您可以使用软件来触发 ADC 采样。

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

    是否最好在不更改 SCFI0寄存器中的 FN_x 的情况下使用计时器中断?
    例如、如果您将 FN_x 的值更改为0000、即使考虑到3V 条件下的最小 MAX、它也将为1.3至2.7MHz。
    因此、2.4576MHz 应该没有问题。

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

    好的、另一种解决方案是使用计时器(以 SMCLK 为源)来捕获 ACLK (32KHz)、从而计算正确的 SMCLK 频率。

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

    由于电路的原因、我想将 Fn_x 的值更改为0000作为对策。
    你有什么问题吗?

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

    我方面没有问题。 我认为我们找到了根本原因、接下来的行动是找到解决方案。 请尝试您的想法、让我们看看它是否能提供一些帮助!

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

    周奕迅感谢您迄今的回答。
    我将 Fn_x 的值更改为0000、并在实际机器上确认了它、但运行没有问题。

    我仍然无法使用我之前的帐户登录、但这解决了我的问题。