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.

[参考译文] MSP430FR6047:如何在不使用超声波传感设计中心的情况下更改 USS 参数

Guru**** 2390755 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1123169/msp430fr6047-how-to-change-the-uss-parameters-without-using-ultrasonic-sensing-design-center

器件型号:MSP430FR6047

大家好、

我尝试更改 USS 参数发射频率、脉冲启动和 ADC 捕获之间的间隔、脉冲数、UPS 和 DNS 间隔、UPS0和 UPS1间隔以及基于 GUI 的增益控制。 但是,我想在不使用 USDC (超声波传感设计中心)的情况下更改这些参数。 我有 一个器件通过 JTAG UART (TXD 和 RXD)连接到 MSP、是否可以通过 UART 更改这些参数、或者是否有其他更好的方法来实现此目的?

提前感谢
安东尼

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

    尊敬的安东尼:

    我不认为我们有一个通过 UART 进行配置的完整示例、但有一个获取基本 UART 输出数据的示例。

    请在这个较旧的主题中查看 Leonardo 的回答: https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/919211/evm430-fr6047-how-to-communicate-with-the-uss-design-center-gui-through-uart-instead-of-i2c

    他还指向库文档、其中将显示可用的配置功能。  

    此致、
    Brandon Fisher

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

    您好,Brandon,

    感谢您的回答。

    我将 FR6047_USSSWLib_TEMPLATE_example 用于钳位流量计、我将通过 UART 收集数据、因为我们将在管道直径发生变化时将其作为钳位流量计进行测试、因此必须更改上述 USS 参数。 我们也可以使用相同的 UART 更改 USS 参数。

    此致
    安东尼

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

    尊敬的安东尼:

    目前正在对此进行研究。 今天将再次为您提供最新信息。  

    此致、
    Brandon Fisher

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

    尊敬的安东尼:

    从该基本 UART 示例的外观来看、它似乎没有任何处理接收 UART 命令的方法。 如果您想将该功能添加 到示例代码中、您可以这样做。  

    根据 超声波传感设计中心用户指南、UPS 与 DNS 之间的差距确实只是设计中心 GUI 的一个方便参数。 您真正想要修改  的是 USS_Measurement_Configuration 结构的 restartCaptureCount 和 restartLowPowerCaptureCount 成员。 该用户指南的第13.10和13.11节介绍了这种关系。  

    在示例固件中,该值最初是使用 库中的 USS_configureUltrasonicMeasurement()函数设置的。  

    从用户指南中可以看出、它不清楚 UPS0到 UPS1的实现方式、但根据描述、我认为这是通过 ussSystemConfig 结构的 measurePeriod 成员完成的。 您也可以使用 USS 库的 USS_configAppTimerPeriod()函数来设置此值。  

    您可以在 API 指南的库中找到所有这些函数的说明。  

    此致、
    Brandon Fisher

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

    您好、Brandon、

    感谢您的宝贵建议、我能够修改  FR6047_USSSWLib_TEMPLATE_example 以接收 UART 命令、并且我找到了一种通过设置  USS_CONFIGAppTimerPeriod() 函数来更改 UPS0和 UPS1 GAP 的方法。  

    但是、我很难更改脉冲启动和 ADC 捕获之间的间隔、 这是 在 UssSoftwareLibraryConfiguration.c 中 USS_MESSAGE_CODE USS_updateSAPHConfiguration ()函数中配置的、在该函数的542行中、此参数设置为 ashown (如下所示)

    generic_saph_atm_D = config->measureConfig->startADCsamplplingCount;

    此处 startADCsamplingCount 为 ((USS_PLL_FREQ*USS_ADC_SAMP_COUNT_SEC)/16)、 USS_ADC_SAMP_COUNT_SEC 为脉冲启动和 ADC 捕获之间的间隔。


    是否有建议在 MSP 运行在 while 循环中时重新配置此参数?

    谢谢
    安东尼

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

    尊敬的安东尼:

    根据 API 指南说明、您要确定正确的参数并使用正确的函数。

    调用此函数时、是否会看到 SAPH.ATM_E.TimeMarkE 值更新? 当在 CCS 或 IAR 中以调试模式运行时、您可以使用"Register" 视图窗口来检查这一点。  

    此致、
    Brandon Fisher

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

    您好、Brandon、

    我尝试调试并发现更新寄存器 SAPH 的值、如下所示。

    SAPHATM_D 设置为值0x0339、以十进制表示825。 这正是您从 ((USS_PLL_FREQ* USS_ADC_SAMP_COUNT_SEC)/16)获得的结果、其中 USS_PLL_FREQ 为80MHz、 USS_ADC_SAMP_COUNT_SEC 为165微秒。

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

    根据 用户指南、修改正确的寄存器值。 您能否更详细地描述您看到的问题? 设置此参数时、ASQ 到 ADC 的捕获时间是否未正确更改?  

    此致、
    Brandon Fisher