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.

[参考译文] MSP430FR6043:MSP430FR6043

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1334352/msp430fr6043-msp430fr6043

器件型号:MSP430FR6043

尊敬的 E2E 团队:
我有一个关于 MTIF 脉动生成的问题。 我曾尝试使用示例 msp430fr6043_mtif_02.c 了解其功能、但完全不明白。  
首先以 每250ms 8个脉冲为例、我试图在10秒后看到脉冲的数量应该为320个、但得到的是316个脉冲、我想知道为什么缺少4个脉冲。  
其次 、如果我使用 PGFS_0或 PGFS_7、或者在 msp430fr6043.h 中定义的其他 PGF、我看不到任何差异、因此我没有了解和、选择 PGF 时需要考虑哪些标准。  
第三个也是最后一个、我不太明白为什么 MTIFPGKVAL = 4250毫秒内就有8个脉冲了。  例如、假设 PGS_7为 PGFs_7、如果我希望每秒有200个脉冲、MTIFPGKVAL 应该是什么  ?如何获得这个 MTIFPGKVAL?  

谢谢!

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

    该模块是钝化的、文档也并非总是100%正确。 实际上、我记得其中一个示例(可能是您提到的示例)实际并不能按 TI 预期工作。 在我的应用中、我为我的输出脉冲实现了一个 Timer_B 实例。 如果您想要一致的输出频率、则尤其需要此功能;MTIF 不输出稳定的频率、帧结束时总会有脉冲缺失。

    请务必仔细阅读《用户指南》(SLAU367)第23章、以设置和更新输出。 根据我过去的测试、有些描述不正确、因此需要进行一些试错。 例如、表23.1和 MTIFPGCNF 寄存器说明不一致;一种状态 PGFs_0为16Hz 电网频率、而另一种状态为8Hz 电网频率。

    PGF 本质上限制了输出脉冲速率。 例如、PGFS_5使用这种格式 电网 频率设置为256Hz。 这意味着您只能输出128Hz 的脉冲速率。 但是、在每个"帧"中、保留了其中一个时隙、用于更新下一帧、并且不会输出脉冲。 使用 PGFS_5、您可以在一秒内输出从0到多达127个脉冲(帧持续时间)。 您需要从仪表中找出每秒的最大脉冲数、并选择正确的 PGFs 值。

    KVAL 是指每个"帧"输出多少个脉冲。 在您的示例中、PGFs_7根据寄存器说明表示1024Hz 的网格频率、理论上指的是250ms 帧持续时间。 如果您希望在一秒内产生200个脉冲、则应将 KVAL 设置为50、因为一秒内有四帧。 选择 PGF 可以获得1秒的帧持续时间、KVAL 将直接是单秒内输出的脉冲数。

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

    尊敬的 Seth:  
    感谢您提供的信息。 但我仍然有问题。 对于我来说、是使用  PGFS_0或 PGFS_7、还是其他类型、限制始终为每帧127个脉冲。  
    这是完全令人困惑的东西。 正如您在 msp430fr6043中所说的、它与 SLAU367中的不同。 如果可能、您能否与我分享您的 Timer_B 代码?  可能会有所帮助。  

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

    正确、PFGS 值仅限制输出脉冲速率。 正如我在原帖中所提到的、如果您对每秒输出频率/脉冲数有要求、则需要选择正确的 PFGS 值。

    在32Hz 脉冲速率下、输出127个脉冲(4秒*每秒32个脉冲=128个脉冲)需要~4秒、而在128Hz 输出速率下、输出时间略小于1秒(1秒*每秒128个脉冲=128个脉冲)。 另一个示例是1024 Hz 输出速率、即125毫秒的帧持续时间、0.125秒* 1024个脉冲/秒=128个脉冲。 但是、MTIF 需要时间来更新下一帧、这就是它仅允许每帧最多127个脉冲而不是128个脉冲的原因。