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.

[参考译文] TMS320F28379D:无法修改 DACHVALS 寄存器的值

Guru**** 2611705 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/990646/tms320f28379d-cannot-modify-the-value-of-the-dachvals-register

器件型号:TMS320F28379D

尊敬的团队:

我的一位客户使用 f28379d 和增量正弦余弦编码器(无复位信号)来控制电机。 电机通常以高速运行、但在低速运行时会出现以下问题:

在该项目中、他需要使用 Cmpss7Regs.DACHVALS.bit.DACVAL 寄存器来生成基准电压作为比较器的负输入。 将正弦和余弦信号与基准电压进行比较、当信号高于基准电压时输出1、当信号低于基准电压时输出0。 通过这种方式、QEP 模块可被用于计数和生成位置信号。

Cmpss7Regs.DACHVALS.bit.DACVAL 的默认值为2048、但他需要将此值设置为2252以对应正弦信号的中点:

但是、一旦他将该值更改为另一个值(而不是2048)、电机将不会旋转、电流将增加、直至达到极限值。

也就是说、一旦比较器的负输入发生变化、QEP 模块将不会正确计数、电机将不会旋转。

想知道这种现象的发生原因吗?

此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="306637" URL"~/support/microcontrollers/c2000/f/c2000-microcontrollers-forum/990646/tms320f28379d-cannot-modify-the-value-of-the-dachvals-register "] Cmpss7Regs.DACHVALS.bit.DACVAL 的默认值为2048[/quot]

    我假设您是指应用程序中的默认软件值?  硬件默认复位值为0。

    [引用 userid="306637" url="~/support/microcontrollers/c2000/f/c2000-microcontrollers-forum/990646/tms320f28379d-cannot-modify-the-value-of-the-dachvals-register "]想知道为什么会发生这种现象?

    我建议读回 DACHVALA 值、以查看是否激活 DACHVALS 值。 启用到 GPIO 引脚的 CTRIPOUTH 路径也会非常有用、以便可以直接观察到与比较器输入相关的比较器输出。