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.

[参考译文] MSP430FR50431:在开发我们自己的与超声波传感设计中心软件中类似的频率扫描功能时可能出现错误

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1210410/msp430fr50431-possible-bug-while-developing-our-own-frequency-sweep-function-similar-to-the-one-in-ultrasonic-sensing-design-center-software

器件型号:MSP430FR50431
主题中讨论的其他器件: EVM430-FR6043

大家好、  

你好。 我是代表我们的客户发布此咨询。

我们将使用您提供的 MSP430FR50431和 USS 库开发水流量计。 我们已经成功创建了适合我们应用的 USS 配置和固件、但在开发与超声波传感设计中心软件类似的频率扫描函数时、我们遇到了一个可能的错误。

我们的目标是在固件内部创建一个函数、该函数会将频率调整到与其连接的换能器的最佳值、但是从我们的观察来看、数据不会形成平滑的曲线、 但更像是"阶梯"的东西(轴标题是偶然切换的, X 轴实际上是频率, Y 轴是信号振幅)。

在900kHz - 1100kHz 范围内执行频率扫描、步长为1kHz:

认为这是我们一侧的错误、我们已经使用针对水应用和 超声波传感设计中心软件进行修改的 EVM430-FR6043开发套件执行了类似的频率扫描。 测试在950kHz - 1050kHz 范围内执行、步长为1kHz。 换能器与第一次测试时不同、但来自同一批次。 软件已返回以下结果:

从我们的角度来看、这似乎像是外设内的倍频器/分频器存在一些问题、导致它不会将激励频率切换1kHz、而是切换5-7kHz。

在我们的软件中、我们测试了多种用于解决该问题的方法、例如为 USS 库提供更多虚拟 USS 流速读数以稳定频率或以伪随机顺序设置频率、但是似乎没有什么可以解决这个问题。 我们已在100多个器件上运行此频率扫描、所有器件上的行为都是相同的。

我们使用8MHz 晶体振荡器作为 USS 外设的源。

关于如何强制外设根据配置正确切换传感器激励频率、您能否为我们提供一些建议?

请帮助提供建议。 感谢您的支持。

此致、  

Marvin 酒店

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

    尊敬的 Marvin:

    对此说明有一个问题:

    [quote userid="522868" url="~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1210410/msp430fr50431-possible-bug-while-developing-our-own-frequency-sweep-function-similar-to-the-one-in-ultrasonic-sensing-design-center-software 通过我们的观点来看,外设内部的倍频器/分频器似乎有一些问题,导致它不会将激励频率切换1kHz,而是切换5-7kHz。

    您的意思是 USS 模块无法生成这个频率脉冲、因此您在 频率扫描函数中得到了这个误差数据、对吗?

    您是否尝试使用示波器捕获这些脉冲?

    谢谢!

    此致

    Johnson

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

    您好!

    不完全是、您突出显示的幅度下降是我们的传感器的标准特征-大振幅峰值约为980-990kHz、第二个较小峰值约为1040-1050kHz。 我们的问题是整个图的粗糙度、例如频率未根据 USS_userConfig.h 文件中设置的值进行调整。

    尽管如此、我还是在一章中找到了我们 MCU 的参考手册  21.2.6 PPG 或 PPG_A 上的激励脉冲频率 时、激励频率的计算公式为  HSPLL 频率/(SAPHPGHPER.HPER + SAPHPGLPER.LPER) ,所以80 MHz (我们的设置) 除以一个整数值。 为了对此进行测试、我已将流量计逐渐配置为992、993、994和995kHz 频率、因为根据上面定义的公式、实际激励频率应为:

    992kHz -> 987kHz (80MHz / 992kHz = 80.86、四舍五入为81、因此80MHz / 81 = 987kHz)
    993kHz -> 987kHz (80MHz / 993kHz = 80.56、舍入为81、 因此 80MHz / 81 = 987kHz)
    994kHz -> 1000kHz (80MHz / 994kHz = 80.48、四舍五入为80、 因此 80MHz / 80 = 1000kHz)
    995kHz -> 1000kHz (80MHz / 995kHz = 80.40、舍入为80、 因此 80MHz / 80 = 1000kHz)

    然后、我将示波器连接到安装在 流量计上的一个换能器、让 USS 运行。 对于每个测试频率、我测量了实际激励频率:

    配置为992kHz、测量值为986kHz
    配置为 993kHz、测量值为 986kHz
    配置为 994kHz、测量值为 1002kHz
    配置为 995kHz、测量值为 1004kHz

    尽管我的测量不是完全精确(可能是+- 2kHz)、但我肯定的是、在这些测量中、我都找不到任何接近992-995 kHz 值的东西。

    我的想法是使用 HSPLL 频率进行控制、以找到最佳的 f_HSPLL 和 f_Sensors 组合、但由于我们会在运行时修改这些参数、而不是在编译期间修改这些参数、因此需要进一步动态修改、因为更多的参数也会依赖于 HSPLL 频率值。

    有什么方法可以解决这个问题吗、或者上面提到的公式是如何配置激励频率的唯一方法吗?

    谢谢、此致

    安东宁·斯泰潘

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

    尊敬的 Antonin:

    看起来奇怪、我同意您的看法、 测量误差不应特别大。

    只是想再次检查您是否使用了以下示例代码进行测试? 还是直接使用 USS 库?

    https://dev.ti.com/tirex/explore/node?node=A__ALaFXQVGDJ7i2O.OmmB66w__msp430ware__IOGqZri__LATEST&placeholder=true

    并检查其他频率是否正确、例如500kHz?

    我可以在我身边运行一些测试。

    谢谢!

    此致

    Johnson

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

    您好、Johnson:

    我直接使用了 USS 库、我们的整个应用都是围绕这个库构建的、因此可以执行基于寄存器的测试、但 最后、如果有的话、我需要一个与这个库兼容的解决方案。

    我已经在500kHz 左右测试了几个值、但它们不会出现此类问题、如以下计算所示:

    500kHz -> 500.00kHz (80MHz / 500kHz = 160.00、舍入为160、因此80MHz / 160 = 500.00kHz)
    505kHz -> 506.32kHz (80MHz / 505kHz = 158.41、舍入为158、因此80MHz / 158 = 506.32kHz)
    507kHz -> 506.32kHz (80MHz / 507kHz = 157.79、舍入为158、因此80MHz / 158 = 506.32kHz)
    508kHz -> 509.55kHz (80MHz / 507kHz = 157.48、舍入为157、因此80MHz / 157 = 509.55kHz)

    只有在遇到困难时才能在示波器上观察到1kHz 的差异。

    如果您可以在大约1000kHz 的频率下运行一些测试、那将非常有用。

    谢谢、此致

    安东宁

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

    您好!

    我将运行1000kHz 测试、然后恢复。

    谢谢!

    此致

    Johnson