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.

[参考译文] 编译器/UCD3138:UCD3138

Guru**** 2537360 points
Other Parts Discussed in Thread: UCD3138

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/730549/compiler-ucd3138-ucd3138

器件型号:UCD3138

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

您好:

我想询问一些有关 UCD3138 DPWM 主从模式的保留。

假设采用 LLC 拓扑。 我将 DPWM0 (主 MOS)配置为主器件、将 DPWM1 (SR MOS)配置为从器件。

然后、我将编写如下代码:

"

Dpwm0Regs.DPWMCTRL0.bit.MSYNC_SLAVE_EN =0;
LoopMuxRegs.DPWMMUX.bit.DPWM0_SYNC_SEL = 0;

Dpwm1Regs.DPWMCTRL0.bit.MSYNC_SLAVE_EN =1;

LoopMuxRegs.DPWMMUX.bit.DPWM1_SYNC_SEL = 0;

"

我‘s DPWM0的死区时间与 DPWM1的死区时间相同、例如:DPWM0的死区时间为350ns、DPWM1的死区时间为350ns

filter0 同时连接到 dpwm0和 dpwm1。

无论 在何种情况下、DPWM1是否遵循 DPWM0?

如果两个 EVENT1相同。  它们将始终一起打开,但 dpwm1将在 dpwm0之前或与 dpwm0同时关闭(根据谐振频率), 我是否理解正确?

是否存在不同时打开的情况(即使相位也会交错。)?  

非常感谢!

佐伊

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

    有没有回复?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,Zoe
    如果 DPWM0配置为主器件、DPWM1配置为从器件、并且寄存器 Dpwm0Regs.DPWMPHASETRIG.ALL = 0中的值为0、并且同一个滤波器驱动两个 DPWM (两个 DPWM 配置相同)、则 DPWM1应是 DPWM0的准确副本。
    这是否能回答您的问题?
    此致
    Cormac
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Cormac:

    非常感谢您的回答!

    我做了你说的所有事情。  除 DPWMPHASETRIG。外

    如果 Dpwm0Regs.DPWMPHASETRIG.ALL = 2、会发生什么情况?

    现在、我们有一种情况、DPWM1有时比 DPWM0提前打开、有时两个 DPWM 存在相位差。 我不知道为什么会发生这种情况。

    但愿你能帮帮我。

    非常感谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,Zoe
    当 Dpwm0Regs.DPWMPHASETRIG.ALL = 2时、DPWM1应使 DPWM0滞后8ns。
    听起来、它们之间的相位差在您的系统上可能会有所不同。
    是否可以重试 Dpwm0Regs.DPWMPHASETRIG.ALL = 0?
    您能否在加电/复位后发送 DPWM0、DPWM1、环路多路复用器、滤波器和前端初始化的详细信息?

    在 UCD 上电/复位后、您是否发现当 DPWM0和 DPWM1开始切换时、相位差始终相同、并且当 DPWM 关闭并重新启动(例如由于故障?)时、会出现相位差不一致。 如果是这种情况、您是否还可以发送有关在电源关闭并重新启动后如何重新配置这些外设的详细信息?

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


    感谢您的及时回复!
    上电/复位时、我已配置 DPWM0、DPWM1、LOOP MUX、FILTER 和 FE。(请参阅 main.c 中的 TI 代码):
    //初始化 DPWM
    init_dpwms();
    //初始化样本触发器位置
    /*在指定 EADC 采样触发位置时,这一点至关重要;
    它始终处于对所有运行模式有效的位置。
    一般而言、它应放置在起始位置之间的某个位置
    和 EVENT4 - 500n.*/
    init_sample_trigger();
    //初始化 LOOPMUX
    init_loop_mux();
    //初始化电压控制反馈的 FRONTEND0
    init_front_end0();
    //初始化用于电流控制反馈的 FRONTEND1
    init_front_End1();
    //初始化 FRONTEND2以持续对 IPS 进行采样并实施 ZCS 回避功能、以防止 Qtop 导通至 Qbot 体二极管导通。
    init_front_end2 ();//ZCS 功能
    //初始化 PID 过滤器
    init_filter0();
    init_filter1();
    init_filter2();


    当发生故障时、首先转到 STACD_FAULT、然后当 PSON 更改时、将转到 TRANSION_TO_IDLE_STALL、在此状态下、我将清除所有故障和
    global_disable();
    global_enable();
    我认为这两个代码会使 DPWM0和 DPWM1具有相同的相位,我是否理解正确?

    我没有重新配置 DPWM0、DPWM1、环路多路复用器、滤波器和 FE。
    例如:init_dpwms();等等。
    有问题吗?

    如果 DPWM0小至零、DPWM1是否仍可以遵循 DPWM0的相位?
    是否有任何说明同步机制的文献?


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

    你(们)好

    通过检查您提供的代码和 LLC EVM 代码、我无法看到任何可能导致您问题的明显原因。

    您似乎非常关注我们的 LLC EVM 代码。 是半桥 LLC 吗?

    如果您能提供更多信息、那将会有所帮助、因为老实说、我对您看到的内容仍然没有很好的掌握。 您能否更详细地描述问题、以及您观察到的导致问题发生的任何模式? 是否仅在电源重新启动后、由于故障而关闭之后才会发生? 如果是、是特定故障还是任何故障?  

    我唯一能想到的是、在故障导致 DPWM 停止后、DPWM 计数器未正确复位。 您能否尝试从 standard_interrupt.c 中的函数 clear_faults()中注释掉下面的前两行,正如我在下面所做的那样

    // global_disable();   
    // global_enable();

    FAULTMUXINTSTAT_VALUE = FaultMuxRegs.FAULTMUXINTSTAT.ALL;

    这将使两个 DPWM 永久启用,这应该是可以的,因为您 事先调用 GPIO_DPWM_OFF (),这样会从内部从 DPWM 引脚断开 DPWM 模块。

    如果这不起作用、您能否将 clear_faults()中的代码更改为我在下面显示的代码、然后重试

    global_disable();   

    Dpwm0Regs.DPWMCTRL0.bit.PWM_EN = 0; //本地禁用 DPWM0

    Dpwm1Regs.DPWMCTRL0.bit.PWM_EN = 0; //本地禁用 DPWM1

    Dpwm0Regs.DPWMCTRL0.bit.PWM_EN = 1; //本地启用 DPWM0

    Dpwm1Regs.DPWMCTRL0.bit.PWM_EN = 1; //本地启用 DPWM1

    global_enable();

    FAULTMUXINTSTAT_VALUE = FaultMuxRegs.FAULTMUXINTSTAT.ALL;

    如果上述两项建议都没有改变、请告诉我、我会将此帖子重新分配给我们团队中更熟悉 LLC 固件和 EVM 的另一位成员。

    此致

    Cormac

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

    您好、 Cormac

    很抱歉再次打扰您。请帮助我查看此图片。

    黄色:DPWM0A Vgs (主器件)

    粉色:  DPWM0A VDS (主器件)

    绿色:DPWM1A Vgs (SR)

    DPWM0 A 和 DPWM1A 的两个信号 应同时打开、并同时关闭。

    为什么 DPWM1看起来在整个周期内都是打开的?

    accident.no经常会发生这种情况。

    请帮助我,并告诉我您需要什么信息,或者您有什么建议?

    非常感谢

    祝你一切顺利

    佐伊

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

    你(们)好

    是的、绿色迹线看起来不正确。

    您似乎正在获得某种脉冲扩展。

    出现这种情况时、您好像处于谐振模式(而不是 PWM 模式)、您能确认这一点吗? 还是在 PWM 和谐振模式之间转换时可能发生这种情况?

    该负载是否相关? 此问题发生在什么负载水平?

    您能否以"正常"波形发送、绿色和黄色是一致的吗?

    您能否为您正在使用的滤波器以及 DPWM0和 DPWM1发送寄存器配置?

    此致

    Cormac

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

    你好,Zoe

    我们一段时间没有收到您的消息、此问题是否已得到解决?  

    此致

    Cormac