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.

[参考译文] MSP430FR5043:关于多音调生成的 STOP 脉冲

Guru**** 2540720 points
Other Parts Discussed in Thread: MSP430FR5043

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1567190/msp430fr5043-about-the-stop-pulses-with-multi-tone-generation

器件型号:MSP430FR5043


工具/软件:

《MSP430FR58xx、MSP430FR59xx 和 MSP430FR6xx 系列用户指南》 描述了 21.2.5 多音调生成:

最后、设置 SAPH_AXPGCTL.XMOD = 2 来终止多音。 常规激励脉冲
后面是 STOP 脉冲。 然后 PPG_A 再次进入暂停阶段(请参阅图 21-10 和图 21-9)。
与最后一个常规激励脉冲相比、STOP 脉冲具有 180°相移。 STOP 脉冲
与最后一个常规激励脉冲。具有相同的频率

据我的理解、、STOP 脉冲有 两个重要的属性:   与 最后一个常规激励脉冲 。相比、180°相移和相同频率
这也符合文档:中随附的图表

(__LW_AT__图 21-11. SAPHPGC.ppol = 1(从低极性开始))时的 PPG_A 多音生成

然而、在官方网站上提供的示例例例例例程中、“停止脉冲“部分的频率是预先定义的。 此配置指以下预设设置、这些设置不符合文档说明:

const USS_TXSequence_t App_Addl addtlTXSeqs[USS_APP_Addtl_tx_SEQUENCE_MAX]=

//序列# 1
// 2 个串脉冲
// X 脉冲#1 = 1 @300kHz(采用 80MHz PLL)
// E 脉冲#1 = 1 @400kHz(带 80MHz PLL)
// X 脉冲#2 = 2 @500kHz(带 80MHz PLL)
// E 脉冲#2 = 2 @500kHz(带 80MHz PLL)

.numTrillCycles = 2、
.xpulse ={1、2}、
.xhper ={133、80}、
.xlper ={133、80}、
.epulse ={1、2}、
.ehper ={100、80}、
.elper ={100、80}、
.binPatternLen = 14、
.binPattern ={1、1、–1、–1、–1、–1、–1、–1、–1、–1、–1、–1、–1、–1、–1、–1}
}、
//序列编号 2
// 2 个串脉冲
// X 脉冲#1 = 1 @300kHz(采用 80MHz PLL)
// E 脉冲#1 = 1 @400kHz(带 80MHz PLL)
// X 脉冲#2 = 2 @500kHz(带 80MHz PLL)
// E 脉冲#2 = 2 @800kHz(具有 80MHz PLL)

.numTrillCycles = 2、
.xpulse ={1、2}、
.xhper ={133、80}、
.xlper ={133、80}、
.epulse ={1、2}、
.ehper ={100、50}、
.elper ={100、50}、
.binPatternLen = 25、
.binPattern ={1、1、1、–1、–1、1、1、1、–1、–1、1、–1、–1、–1、1、1、–1、–1、–1、–1、–1、–1、–1、–1、–1、–1、–1、–1、–1、–1、–1、–1}
}
};

我想确认制造商是否需要根据产品的实际工作频率调整此零件中的代码?

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

    我误解了、  

    const USS_TXSequence_t App_Addl addtlTXSeqs[USS_APP_Addtl_tx_SEQUENCE_MAX]  

    用于测试音调。

    那么、如何  在自动模式下关闭测试音?

    以及如何  在自动模式下打开停止加号?

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

    让我让 USS 专家来评论一下。

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

    我目前正在根据从官方网站下载的示例代码进行测试。
    我希望得到帮助、并指导我如何修改例行代码以实现我的目标。
    谢谢。

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

    您好、

    你在这里的目标是什么。 我 不清楚您想做什么?

    此致、

    现金好

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

    对于燃气表、我使用 msp430fr5043。 我遵循了文档“ MSP430FR5043.pdf 所需的软件更改“中的说明、并且措辞正确。

    但在 测量过程中 、我观察到 DTOF 窗口有时会发生突然变化、如下所示:

    它经常发生在大流量期间。

    我需要找出这种现象的原因,然后解决它。

    我有两个自己的想法:

    一个是 导致声波反射的流道、另一个是 超声波激励脉冲。

    关于第一个原因、我将改进流道、然后进行进一步观察。

    关于 超声波激励脉冲、我的超声波传感器以 500KHz 的频率工作。

    我使用以下设置:

    在 0 流程中、ADC 捕获如下所示:

    在 6m3/h 的流量下:

    我通过示波器观察到了激励信号、如下所示:

    除了 8 个 x 脉冲和 e 脉冲外、还有额外的 6 个脉冲、没有 s 脉冲。

    我认为这种额外的脉冲可能是原因。

    我在代码中找到了这 6 个脉冲的定义:

    const USS_TXSequence_t App_Addl addtlTXSeqs[USS_APP_Addtl_tx_SEQUENCE_MAX]=

    //序列# 1
    // 2 个串脉冲
    // X 脉冲#1 = 1 @300kHz(采用 80MHz PLL)
    // E 脉冲#1 = 1 @400kHz(带 80MHz PLL)
    // X 脉冲#2 = 2 @500kHz(带 80MHz PLL)
    // E 脉冲#2 = 2 @500kHz(带 80MHz PLL)

    .numTrillCycles = 2、
    .xpulse ={1、2}、
    .xhper ={133、80}、
    .xlper ={133、80}、
    .epulse ={1、2}、
    .ehper ={100、80}、
    .elper ={100、80}、
    .binPatternLen = 14、
    .binPattern ={1、1、–1、–1、–1、–1、–1、–1、–1、–1、–1、–1、–1、–1、–1、–1}
    }、
    //序列编号 2
    // 2 个串脉冲
    // X 脉冲#1 = 1 @300kHz(采用 80MHz PLL)
    // E 脉冲#1 = 1 @400kHz(带 80MHz PLL)
    // X 脉冲#2 = 2 @500kHz(带 80MHz PLL)
    // E 脉冲#2 = 2 @800kHz(具有 80MHz PLL)

    .numTrillCycles = 2、
    .xpulse ={1、2}、
    .xhper ={133、80}、
    .xlper ={133、80}、
    .epulse ={1、2}、
    .ehper ={100、50}、
    .elper ={100、50}、
    .binPatternLen = 25、
    .binPattern ={1、1、1、–1、–1、1、1、1、–1、–1、1、–1、–1、–1、1、1、–1、–1、–1、–1、–1、–1、–1、–1、–1、–1、–1、–1、–1、–1、–1、–1}
    }
    };

    我的问题是:

    1、您对这种突变现象的原因的解释;

    2、什么是  额外的 6 个脉冲、  《MSP430FR6xx 系列用户指南》第 21.2.8 章中描述了测试音调生成?

    如何关闭 代码中的额外脉冲?

    3、我想测试 STOP 脉冲的效果、如何在自动模式?下的代码中将其打开

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

    补充配置图:

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

    ToF 结果似乎存在周期差异问题。 我认为它与 500k 换能器有关。 我建议更改为 200kHz 传感器。 这将显著降低循环打滑率。   

    额外的 6 个脉冲应该是 STOP 脉冲。 它可以由用户参数#8 进行控制。

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

    500kHz 传感器是我们产品的亮点,我们不能更改它。
    任何其他我可以做?
    再者、如果单次滑倒 的原因是频率太高、那么水表的频度是否也会有同样的问题呢?

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

    问题是您使用的这个换能器对激励脉冲不是很敏感。 我假设您正在进行空气测试。 您需要 12.2dB PGA 增益设置才能在空气中获得适当的 ADC 采集数据。 如果将空气更改为甲烷或其他气体、则需要更高的 PGA 增益设置。 这不是我们在这里想要的。 较高的 PGA 增益设置意味着原始信号很小、SNR 较差。 带有噪声的信号会导致您在此处看到周期差异问题。 如果您一直想使用 500kHz 传感器、请尝试在其他制造商处使用。 当前的驱动器不适合 USS 解决方案。  

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

    根据我之前的研究,用于燃气表的压电式陶瓷传感器很难在不放大的情况下获得足够的信号振幅。 我比较了您的文档中提到的压电式陶瓷传感器制造商、我目前使用的压电式陶瓷传感器的灵敏度是佳康的 10 倍。

     接收 I AM 测试的超声波信号目前不使用放大电路。 而是通过 1nF 电容器。μ F 直接将信号馈入 MCU

    如果我添加一个增益放大电路,它是否有助于解决这个问题?此外,我想知道,使用外部放大电路 和 MCU 的内部增益之间是否有任何区别?

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

    内部 PGA 性能不如外部 PGA、尤其是在 PGA 增益较高时。  

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

    好的、我将尝试一些想法。 如有任何其他问题、我将再次与您联系。