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.

[参考译文] TMS320F28377S:具有相位控制的上/下 PWM -结果是可选的

Guru**** 2455560 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/815681/tms320f28377s-up-down-pwm-with-phase-control---result-is-oposite-to-expetations

器件型号:TMS320F28377S

您好!

我正在实施三相 PMSM。 除相移外、所有器件均已进行良好配置。

预计存在绝对零相移。

我最初为所有 ePWM 设置相同的 PWM 50%。

对于从 ePWM、TBPHS =0时、我获得20ns 延迟(从器件在以后作为主器件变为高电平)、这已经在 TRM 中记录。

使用任何值、例如 TBPHS == 2、40ns 后从器件变为高电平。 从器件的 TBPHS 越大、相移越大。

但我必须以相反的方向移动从器件。

EPwm1Regs ePWM 寄存器
TBCTL 0x0012 时基控制寄存器[存储器映射]
FREE_SOFT 00 仿真模式位
PHSDIR 0 相位方向位
CLKDIV 000 时基时钟预分频器
HSPCLKDIV 000 高速 TBCLK 预分频器
SWFSYNC 0 软件强制同步脉冲
SYNCOSEL 01 同步输出选择
PRDLD 0 活动期间加载
PHSEN 0 相位负载使能
CTRMODE 10. 计数器模式
TBPHS 0x00000000 时基相位高电平[存储器映射]
TBPHS 00000000000000000000 相位偏移寄存器
TBPHSHR 00000000000000000000 HRPWM 相位的扩展寄存器(8位)
TBPRD 0x0C35 时基周期寄存器 [存储器映射]
TBPRD 3125 (十进制) 时基周期寄存器
CMPA 0x00000000 计数器比较 A 寄存器 [存储器映射]
CMPB 0x061A0000 比较 B 寄存器 [存储器映射]
CMPB 0000011000011010 比较 B 寄存器
CMPBHR 00000000000000000000 比较 B 高分辨率位
EPwm2Regs ePWM 寄存器
TBCTL 0x0006 时基控制寄存器[存储器映射]
FREE_SOFT 00 仿真模式位
PHSDIR 0 相位方向位
CLKDIV 000 时基时钟预分频器
HSPCLKDIV 000 高速 TBCLK 预分频器
SWFSYNC 0 软件强制同步脉冲
SYNCOSEL 00 同步输出选择
PRDLD 0 活动期间加载
PHSEN 1 相位负载使能
CTRMODE 10. 计数器模式
TBPHS 0x00020000 时基相位高电平[存储器映射]
TBPHS 0000000000000010 相位偏移寄存器
TBPHSHR 00000000000000000000 HRPWM 相位的扩展寄存器(8位)
TBPRD 0x0C35 时基周期寄存器 [存储器映射]
TBPRD 3125 (十进制) 时基周期寄存器
CMPA 0x0C2F0000 计数器比较 A 寄存器 [存储器映射]
CMPB 0x061A0000 比较 B 寄存器 [存储器映射]
CMPB 1562 (十进制) 比较 B 寄存器
CMPBHR 00000000000000000000 比较 B 高分辨率位
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您的理解是正确的、您需要使用 TBPHS == 2。
    快速查看您的配置、您可能需要使用 PHSDIR=1、因为您希望在加载相位后计数器递增。
    这也解释了为什么您看到相移随 TBPHS 的增加而增加。
    请尝试设置 PHSDIR 并让我知道您的观察结果。