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.

[参考译文] TMS320F2.8379万D:DBCTL中OUT_MODE和OUTSWAP位的阴影

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/658232/tms320f28379d-shadow-of-out_mode-and-outswap-bits-in-dbctl

部件号:TMS320F2.8379万D

您好,

我想使用带设备死区模块阴影的OUTSWAP功能。 但是,OUTSWAP位似乎不是阴影,而其他位则是阴影。
是否应该对该位字段进行阴影?

要进行测试,请在CTR =PRD (上下计数模式)运行ISR,同时将DBCTL的重新加载配置为CTR =0。 因此,我希望在执行ISR时,信号不会发生变化。

死区发生器的配置如以下链路所示,但S3设置为1。

延迟设置为零,因此有效地将ePWM1A传递到红色点,并将ePWM1B倒置并传递 到FED。

ePWM1A具有一个smaler占空比,ePWM1B用于可视化信号。

在左光标所在的位置执行此操作:

//         EPwm1Regs.DBCTL.bit.OUTSWAP = 0x3;(交换输出)
//         EPwm1Regs.DBCTL.bit.out模式= 0x3;(启用B反转)
         EPwm1Regs.DBCTL.ALL = 1231;
在右光标处:

//         EPwm1Regs.DBCTL.bit.OUTSWAP = 0x0;(非交换输出)
//         EPwm1Regs.DBCTL.bit.out模式= 0x0;(禁用B=的反转
         EPwm1Regs.DBCTL.ALL = 40;

正如您在示波器上看到的那样,输出在光标处立即跳过,而B的反转在50us之后的ctr=zero时发生。

CH7 = B
Ch6 = A


谢谢!
Thomas。

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

    抱歉。

    该行:

    死区发生器的配置如以下链路所示,但S3设置为1。

    应该说:

    死区发生器的配置如以下链接所示:

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

    这很有趣。 您是否在使用计数模式? 是否也可以共享操作限定符设置? 我只是想确定CTR =0事件可能发生在波形上的哪个位置。

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

    Hrishi,您好!

    我使用了向上-向下计数模式。
    CTR = 0与示波器网格对齐。

    CH0 (左下角)中的脉冲是一个GPIO,它在CTR = PRD的IRQ中设置和重置。

    以下是我的AQ设置:

       EPwm1Regs.AQCTLA.ALL = 0;
       EPwm1Regs.AQCTLA.bit.CAU = 0x1;//清除
       EPwm1Regs.AQCTLA.bit.CAD = 0x2;//设置

       EPwm1Regs.AQCTLB.all = 0;
       EPwm1Regs.AQCTLB.bit.CBU = 0x1;//清除
       EPwm1Regs.AQCTLB.bit.CBD = 0x2;//设置


    以下是DBCTL和DBCTL2中的设置:

       //为DBCTL激活阴影模式
       EPwm1Regs.DBCTL2.bit.SHDWDBCTLMODE = 0x1;
       //在CTR = 0上重新加载
       EPwm1Regs.DBCTL2.bit.LOADDBCTLMODE = 0x0;

       EPwm1Regs.DBRED.bit.DBRED = 0; //死带发生器上升边缘延迟计数寄存器
       EPwm1Regs.DBFED.bit.DBFED = 0; //死带发生器下降边缘延迟计数寄存器

       EPwm1Regs.DBCTL.bit.out模式= 0x3;
       EPwm1Regs.DBCTL.bit.POLSEL = 0x2;
       EPwm1Regs.DBCTL.bit.in_mode = 0x2;
       EPwm1Regs.DBCTL.bit.OUTSWAP = 0x0;
       EPwm1Regs.DBCTL.bit.DEDB_mode = 0x0;

    谢谢!

    Thomas。

    TMS320F2.8379万D:DBCTL中OUT_MODE和OUTSWAP位的阴影

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

    您好,

    有没有关于这一主题的消息?

    同时,我使用AQ设置来实现输出交换。 这种方法有效,但可能涉及其他问题。

    以下是参考手册的相关部分:

    可以对DBCTL寄存器进行投影。 通过设置启用DBCTL的阴影模式
    DBCTL2[SHDWDBCTLMODE]位。 如果启用了阴影寄存器,则显示阴影的内容
    在指定的以下事件之一上,寄存器被传输到活动寄存器
    DBCTL2[LOADDBCTLMODE]寄存器位:
    •CTR = PRD:时基计数器等于周期(TBCTR = TBPRD)
    •CTR =零:时基计数器等于零(TBCTR = 0x00)
    •CTR = PRD,CTR =零

    此致,

    Thomas。

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

    您好,Thomas:

    很抱歉耽误你的时间。 以下是我从设计中得到的反馈:

    注:阴影适用于DBCTL的位[5:0]。 其它位不受阴影负载操作的影响。  

    这意味着您报告的行为是预期行为。

    通常不建议在操作过程中交换两个输出。 如果必须执行此操作,我建议在无切换或输出处于相同状态时的操作安静时间执行此操作。

    我希望这能有所帮助。

    Hrishi

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

    Hrishi,您好!

    感谢您的回答。

    此致,

    Thomas。

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

    Hrishi,您好!

    我刚刚遇到了与彭先生2016年担任这一职务时完全相同的问题:

    如果TI在参考手册中更新DBCTL和AQCTLy2 y=A/B的阴影,我真的很感激。

    此致,
    Thomas。

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

    您好,Thomas:

    感谢您的反馈。 如果文档更新列表中没有,我会将其添加到其中。

    Hrishi