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.

[参考译文] TMS320F28377D:INPUTXBAR 配置可在发生故障时使 ePWM 跳变

Guru**** 2782615 points

Other Parts Discussed in Thread: TMS320F28377D, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1616293/tms320f28377d-inputxbar-configuration-to-trip-epwm-in-the-event-of-fault

器件型号: TMS320F28377D
主题: C2000WARE 中讨论的其他器件

在 TMS320F28377D 中、我已经使用 TZ1、TZ2 和 TZ3。 现在、我想通过使用 INPUTXBAR 来使用 TZ4。 我正在使用 GPIO27 作为 INPUTXBAR4 来使 EPWM10 跳闸。 我已写入以下设置、但在 GPIO27 上从高电平到低电平转换期间无法停止 PWM。 请建议解决此问题。

 

EALLOW;

GpioCtrlRegs.GPAMUX2.bit.GPIO27 = 0;

GpioCtrlRegs.GPAGMUX2.bit.GPIO27 = 0;

GpioCtrlRegs.GPADIR.bit.GPIO27 = 0;

GpioCtrlRegs.GPAPUD.bit.GPIO27 = 0;    

GpioCtrlRegs.GPAQSEL2.bit.GPIO27 = 3;  

InputXbarRegs.INPUT4SELECT = 27;

EPwmXbarRegs.TRIP4MUX0TO15CFG.ALL |=(1UL << 14);

EPwmXbarRegs.TRIP4MUX0TO15CFG.ALL |=(0x1 << 14);

EPwmXbarRegs.TRIPOUTINV.bit.TRIP4=1;

EDIS;

 

PWM 初始化代码:

EALLOW;

   EPwm10Regs.AQSFRC.bit.RLDCSF=3;

   EPwm10Regs.TZSEL.bit.OSHT4 = 1;

   EPwm10Regs.TZCTL.BIT.TZA = TZ_FORCE_LO;

   EPwm10Regs.TZCTL.BIT.TZB = TZ_FORCE_LO;

   EPwm10Regs.TZEINT.bit.OST = 1;

   EDIS;

 

TZ ISR:

__ interrupt void epwm10_tzint_isr (void)

flag3.inv_sat_trip=1;

stop_pwm ();

 

 

   EALLOW;

   EPwm10Regs.TZCLR.bit.OST = 1;

   EPwm10Regs.TZCLR.bit.INT = 1;

   EDIS;

   PieCtrlRegs.PIEACK.ALL = PIEACK_group2;

}

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

    尊敬的 Ujas Patel:

    我要介绍一下配置、我会在一天内回复您。  

    谢谢
    Praneeth

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

    尊敬的 Ujas Patel:
    我可以看到、您尝试使用 GPIO 27 使 TZ4 跳闸 ePWM。 但 TZ4 是保留的、如下图所示。 它未连接到 XBar。

    在 TZSEL 中启用 OSHT4 会启用 TZ4 跳闸、该跳闸应来自 eQEP。 这就是从 GPIO27 发出信号时没有发生跳闸事件的原因。
    谢谢
    Praneeth

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

    尊敬的文卡塔:

     

    感谢您发送编修。

    因为我想在发生故障时使 ePWM10 跳闸、因此我使用 GPIO27 检测故障信号(从高电平到低电平)。 在这方面、请告诉我如何使用 InputXbar 使 ePWM10 跳闸。  是否可以使用 Trip4 信号? 请提供一些示例代码以明确说明。 难以理解 epwmxbar 模块寄存器配置。

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

    尊敬的 Ujas Patel:
    在 EPWMxbar 配置之前、您的代码看起来正常。 您可以将跳闸 4 从 EPWMXBar 传递到直流子模块、并在跳闸区域子模块中将此 DCAEVT 配置为一次性源。 您可以在 C2000ware 示例中找到该示例代码。  可以参考 C:\ti\c2000\C2000Ware_6_00_01_00\driverlib\f2837xd\examples\cpu1\epwm。
    谢谢  
    Praneeth