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.

[参考译文] 编译器/TMS320F28035:pwm1.PeriodMax = system_frequency * 1000000*T/2;

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/719524/compiler-tms320f28035-pwm1-periodmax-system_frequency-1000000-t-2

器件型号:TMS320F28035
Thread 中讨论的其他器件:controlSUITE

工具/软件:TI C/C++编译器

C:\ti\controlSUITE\development_kits\HVMotorCtrl+PfcKit_v2.1\HVPM_Sensored

"标记为红色"的公式意味着什么? 我们为什么要进行此计算?

//初始化 PWM 模块
pwm1.PeriodMax = SYSTEM_FREQUENCY * 1000000*T/2;//预分频器 X1 (T1),ISR 周期= T x 1
pwm1.HalfPerMax=pwm1.PeriodMax/2;
pwm1.Deadband = 2.0* system_frequency;//对于 TBCLK = SYSCLK/1、120计数-> 2.0uSec
PWM_INIT_MACRO (1、2、3、pwm1)

//初始化 PWMDAC 模块
pwmdac1.PeriodMax=500;//@60MHz、1500->20kHz、1000->30kHz、500->60kHz
pwmdac1.HalfPerMax=pwmdac1.PeriodMax/2;
PWMDAC_INIT_MACRO (6、pwmdac1)// PWM 6A、6B
PWMDAC_INIT_MACRO (7、pwmdac1)// PWM 7A、7B

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

    代码根据 PWM 频率(T)和 CPU 频率(SYSTEM_FREQUENCY)计算 PWM 周期寄存器的值、电机驱动的 PWM 计数模式为向上/向下计数模式、因此需要将其除以2。
    pwm1.PeriodMax = SYSTEM_FREQUENCY * 1000000*T/2;//预分频器 X1 (T1),ISR 周期= T x 1

    PWMDAC 是电机控制的一个选项函数、只用于调试、它使用 PWM 信号通过外部低通滤波器将任何软件变量转换为模拟信号。 下面的代码将用于为 PWMDAC 功能设置 PWM 的周期寄存器值、PWM 频率必须大于 LPF 的截止频率。
    pwmdac1.PeriodMax=500;//@60MHz、1500->20kHz、1000->30kHz、500->60kHz

    请参考 PWM_INIT_MACRO ()和 PWMDAC_INIT_MACRO ()、这两个计算值都将被设置为相关的 PWM 周期寄存器。

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

    你(们)好  

    代码中的"T"确切含义是什么? 为什么它被称为采样频率而不是 PWM 频率:

    float32 T = 0.001/ISR_FREQUENCY;  //采样周期(秒)、  请参阅 parameter.h  

    什么是 ISR_FREQUENCY?

    //定义 ISR 频率(kHz)
    #define ISR_FREQUENCY 10.

    此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    作为代码注释、ISR_FREQUENCY 是中断子例程的频率、通常等于 PWM 频率、默认情况下、PWM 频率等于 ADC 的采样频率。 t 是 ISR/PWM 的周期、以秒为单位。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Luo
    非常感谢。
    我明白了。
    此致