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.

[参考译文] TMS320F28075:我可以使用 MMOV32同时更新 DBFED 和 DBFEDHR 吗?

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/668246/tms320f28075-can-i-use-mmov32-to-update-dbfed-and-dbfedhr-simultaneously

器件型号:TMS320F28075

您好!

DBFED 和 DBFEDHR 是两个不同的16位寄存器、其地址相邻。 我可以只使用一条 MMOV32指令来更新两个寄存器的值、还是必须使用两条 MMOV16指令来连续更新它们?

非常感谢您的回答!

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

    我相信您描述的功能是可能的、因为这些寄存器既是存储器映射的、又是彼此相邻的。
    以下 MMOV32指令应实现此目的、其中 mem32是寄存器地址、MRA 具有用于更新的值。 如果遇到问题、请回写。
    MMOV32 mem32、MRA

    除非您的项目需要汇编语言编程、否则也有一个 CLA C 语言编译器可用、因此您可以考虑使用 C 语言对 CLA 进行编程、这样您就知道了。

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

    请告诉我、为什么德州仪器(TI)在 CMPA 只有一个32位寄存器的情况下将 DBFED 分成两个单独的16位寄存器 DBFED 和 DBFEDHR?

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

    CMPA (和 CMPB)是包含 HR 字段的32位寄存器的主要原因是、CMPA/CMPB 可以通过1次写入(而不是2次写入)在控制环路中高效更新。 比较寄存器更有可能在每个控制环路中被修改、这是因为在许多应用中需要经常调整占空比、而死区模块不经常有这一要求。

    另一个原因是、随着 ePWM 类型(类型0-4、其中类型4 ePWM 位于 F2807x 上)随附加功能的演变而演变、不同子模块的高分辨率寄存器必须尽可能在设计/地址空间进行改装、并且仍然允许 ePWM 类型之间具有一定的可移植性。

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

    感谢您的讲解。

    此致、