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.

[参考译文] CCS/UCD3138ALLCEVM150:一个在 EVAL 板上、另一个在 TI 网站上、UCD3138ALLCEVM 软件差异

Guru**** 2589300 points
Other Parts Discussed in Thread: UCD3138ALLCEVM150, UCD3138A

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/972581/ccs-ucd3138allcevm150-ucd3138allcevm-software-differences-between-one-on-eval-board-and-other-on-ti-website

器件型号:UCD3138ALLCEVM150
主题中讨论的其他器件: UCD3138A

工具/软件:Code Composer Studio

您好!

我正在分析评估板 UCD3138ALLCEVM150上的代码和 TI 网站上提供的代码。 在测试时、我发现代码中存在以下差异:

  1. 最大工作频率从150kHz 更改为250kHz。
  2. 在轻负载运行期间,转换器不会切换到循环跳跃模式。 在 EVAL 板上的原始固件中、有两个选项、一个是轻负载条件、其中转换器进入 PWM 模式、另一个是脉冲跳跃条件、其中脉冲进入特定时间、然后关闭。 从我从 TI 网站获得的固件中、无负载时转换器保持89Khz 频率、而在 EVAL 板上的原始代码中、无负载时转换器保持在89Khz 频率、用于跳升至150kHz、然后开始降低脉冲宽度(PWM 模式)。

在哪里可以找到与 EVAL 板上的代码相同的更新代码、因为空载时耗散25W (TI 网站上提供代码)是不可行的。

软件方面的一些问题:

  1. 在恒定电流模式下运行时,如果电流低至20安培,转换器将不会保持接近谐振频率,并开始向更高频率的一侧移动,最终进入 PWM 模式。 是因为此 EVAL 板设计中使用的 LLC 参数、还是用于恒流运行的 π 型滤波器的性质。 根据仿真结果、LLC 转换器可在谐振频率边界内运行高达额定电流值的50%。
  2. 在上升沿期间、DPWM0A 和 DPWM1A 之间存在死区时间。 在 LLC 设计中、我们绝不会在 DPWM0A 和 DPWM1A 的上升沿之间放置任何类型的延迟。 它可以在 GUI 中进行修改、但这个死区时间有什么意义吗?
  3. TI 固件中用于 LLC 的一些常量具有与原理图中显示的电阻分压器比率计算的参数不同的电流、电压和温度的 ADC 标度。 这些变化是否有任何意义?
  4. 我尝试在 这里为恒流环路的不同启动系数添加额外的 filter_PMBus_regs、但我无法找到这些变量的定义位置、无法在同一位置定义所有变量并使其正常工作。  

    extern filter_PMBus_regs filter0_PMBus_regs;
    extern filter_PMBus_regs filter0_start_up_PMBus_regs;
    extern filter_PMBus_regs filter0_CP_PMBus_regs;
    extern filter_PMBus_regs filter1_PMBus_regs;
    extern filter_PMBus_regs * filter_destination;

    它显示它们是 extern 变量、但它们是在哪里定义的?

    希望很快得到答案。

    此致、

    Nitish

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

    您好、Nitish、

    此 EVM 的固件应为 v1.2、请告诉我您正在比较的固件版本、我将检查是否有任何会导致您描述的行为的东西。

    请告诉我您使用的输入电压是多少、因为这会对频率产生影响、正如您在 LLC EVM 用户指南的第0.9.3节中看到的:    

    对于您的问题:

    为了避免高开关频率、UCD 将自动从 LLC 切换到 PWM 模式。  

    2.如果 SR FET 过早接通、则可能存在反向电流。 因此、有一些延迟来避免这种情况。

    3.如果您可以、请给我一个您希望更改的常数的示例、我可以指导您完成计算。

    这些定义将特定于器件、因此它们将位于"/device/UCD3138A/header "文件夹中的 cyclone_filter.h 文件中。

    此致、

    Swami

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

     感谢您的回复。

    我使用的输入电压为380V、GUI 在内部将其读取为400V。 我使用的是1.2版软件

    我注意到的最近的一个漏洞是、转换器有时会突然(随机)关闭、即使输入保持在380V、GUI 也会开始读取270V 的输入电压。 由于该电压读数、UV Vin 故障会启动并关闭转换器。

    我重新进行了无负载测试、损耗为8W (而非24W)、但转换器不会进入轻负载条件并保持接近谐振。

    轻负载特性有两种、一种是基于硬件的、另一种是基于软件的。 硬件一会查找滤波器条件、软件一会基于输出电流的值。 基于软件的轻负载使能功能不适用于可在线下载的软件、它会在随 EVAL 板提供的转换器曾经工作、但输出电压迟滞非常高的情况下关闭转换器。 如果我要在恒定电流期间使用轻负载硬件功能、它是否仍然工作?

    是否可以在 PMBus GUI 仪表板上添加新命令、如调整电流调节的转换率等?

    1.好的

    2.好的

    3.我注意到以下常量值与刻度不匹配、加上电流、温度和输入高电压的读数与 GUI 上的实际读数不匹配。

    例如:ADC12_Vout 比例:在代码中为145.21

    根据计算结果,它应为(1k*4096)/(3.3*(1k+10k+0.1k)=111.8209

    4.我找不到这些变量声明

    此致、

    Nitish

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

    您好、Nitish、

    我正在尝试获取 EVM 随附的固件的详细信息、因此让我在1月26日之前向您更新该信息。

    只要连接没有问题、GUI 电压就应该正确读取、因此我不知道在这种情况下电压为什么会下降。 它还可能导致您看到的某些控制变化。

    遗憾的是、此时无法向 GUI 添加新命令。

    对于您的其他问题:

    ADC 上的电压范围为0-2.5V、因此计算结果为  (1k*4096)/(2.5*(1k+10k +0.1k)

    4.我觉得我误解了你的问题。 您是否正在尝试更改滤波器参数? 例如、"filter0_start_up_PMBus_regs"在 configuration_functions.c 中进行配置 请告诉我、这是否仍不是您想要的。

    此致、

    Swami

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

    你好,Swami,

    请仔细检查评估板上的电流和 Vin 直流读数、它们会被很大的百分比关闭、而 temp ext.读取的值为负值。

    感谢对该2.5V 基准的澄清。 这说明了 GUI 上电压(Vout)读数的准确性。

    4.我正在尝试添加其他寄存器作为 filter1_start_up_PMBus_regs、该寄存器将保存恒定电流环路的启动系数值。 如果系数较高、则电流控制环路接管速度非常快、避免高过冲、但会发生振荡。 另一方面、如果系数的值较低、则在电流环路在启动时接管之前、电流将变为恒定电流限制的2-3倍、但在50-60ms 后最终稳定至一个稳定值。 因此、为了充分利用这两者、我需要在 CC 环路(filter1)中使用高 Kp 和 Ki 系数启动、并在启动后将系数更改为低 Kp 和 Ki、以保持环路响应稳定。 为此、我在启动后手动更改这些值、而不是调用变量 filter1_start_up_PMBus_regs。

    此致、

    Nitish

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

    您好、Nitish、

    我仍在检查 EVM 中的默认固件。

    对于其他问题:

    4.我认为您描述的内容应该已经在"standard_interrupt.c"中的状态机中的 EVM 代码中实现。

    在函数"transition to _didle_state (void)"中、滤波器初始化为"filter0_start_up_PMBus_regs"、然后在函数"CPCC_Adjustment (void)"中、根据电源状态切换到"filter0_PMBus_regs"或"filter0_PMBus_regs"。

    "filter0_start_up_PMBus_regs"在函数"restore_default_all (void)"中的"store_restore_functions.c"中初始化为"filter0_start_up_PMBus_regs_ptr =&filter0_start_up_PMBus_regs_constants;"。

    在"constants.c"中将"filter0_start_up_PMBus_regs_constants"初始化为"volatile const filter_PMBus_regs filter0_start_up_PMBus_regs_constants = default_filter_0_start_up_PMBus_regs;"。  

    在"PMBus_topology.h"中定义了 DEFAULT_FILTER_0_START_UP_PMBus_regs

    如果您尝试具有两个不同的启动系数、则可能必须修改状态机。

    我将于明天向您更新 EVM 的默认固件。

    此致、

    Swami

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

    你好,Swami,

    感谢您的回复。 我希望为恒流环路使用不同的 filter_1_startup_PMBus_regs。

    我重新读取代码并找到用于的 extern 变量  

    #ifdef main //如果它是主例程
    #define extern //如果它不是 extern,那么将它定义为无
    #else //如果它不是主例程
    #define extern extern //如果它是 extern
    #endif

    我看到 main 是在 main.c 中定义的、因此 extern 为空。 我对以下声明感到困惑:

    extern filter_PMBus_regs filter0_PMBus_regs;  

    我认为该变量是在代码中的其他位置定义的。 我将尝试以 类似的方式添加 extern filter_PMBus_regs filter1_PMBus_regs、并查看我是否遇到一些错误。

    此致、

    Nitish

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

    您好、Nitish、

    我正在研究 EVM 随附的固件与网络上版本1.2之间的差异、我确实看到了处理突发模式的方式存在一些差异、这可能是您看到的情况、但也可能存在其他差异。 我需要更多时间来检查所有差异、因此我将在1月29日星期五之前再次与您进行讨论。

    此致、

    Swami

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

    你好,Swami,

    感谢您的回复。  

    我再次看到高压直流输入中的干扰。

    在连接 Vin Mon 的 AD06处探测并观察到该波形、  

    我还检查了电流读数差异的来源、它们是由硬件引起的。 对于1安的电流、它的读数为41mV、而不是35.7mV。

    此致、

    Nitish

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

    您好、Nitish、

    电压波形看起来绝对不寻常。 我开始想知道是否存在硬件问题。 您是否可以访问另一个您可以比较的 UCD3138ALLCEVM150? 这一个上的东西似乎损坏了。

    我尝试将频率钳制的问题重复、但我目前看不到相同的问题。 我使用的是默认版本1.2固件。 请问您对固件所做的更改吗?

    此致、

    Swami

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

    你好,Swami,

    我没有其他 EVM。 当我修改代码时、这个问题开始出现、光耦合器可能有问题。 我找不到偏置板的原理图来查看用于提供 HV 总线信息的光耦合器的位置。

    到目前为止,我已作出以下修改:

    具有不同的电流调节环路启动系数。

    2.启用 FE1中的斜坡。

    3.恒流环路中 Kp 和 Ki 的较高稳态系数。

    4.注释掉软件轻载控制、硬件轻载仍然开启。  

    5.根据电池充电曲线添加了其他状态。

    6.删除了电流共享和恒定功率的代码。

    修改了一些 PMBus 警告命令、以使用 GUI 设置电池的预充电电流和浮动电压。

    添加了一个功能、将 PGOOD 和故障引脚重新配置为红色和绿色 LED、以显示电池充电的不同阶段。

    9、除此之外、没有修改任何外设设置寄存器。

    此致。

    Nitish

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

    您好、Nitish、

    主板的原理图应在用户指南中  

    控制卡的原理图位于  

    我建议返回到原始固件、并首先检查所有内容是否按预期工作。

    然后一次修改一个、以查看导致问题的原因。

    我将按以下顺序进行修改:

    修改了一些 PMBus 警告命令、以使用 GUI 设置电池的预充电电流和浮动电压。

    2. 恒流环路中 Kp 和 Ki 的较高稳态系数。

    具有不同的电流调节环路启动系数。

    4、使能 FE1中的斜坡。  

    5.根据电池充电曲线添加了其他状态。

    6.添加了一个功能,将 PGOOD 和 FAILURE 引脚重新配置为红色和绿色 LED,以显示电池充电的不同阶段。

    7. 删除了电流共享和恒定功率的代码。

    8. 注释掉软件轻载控制、硬件轻载仍然开启。 -我认为最好让这个软件保持可控

    此致、

    Swami

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

    你好,Swami,

    具有此 HV 总线感应功能的偏置板显示为 PWR050、这是一个不同的板。

    我在为什么滤波器1的启动寄存器不起作用时发现了错误。 我必须添加以下更改:

    1.恢复默认功能:添加启动寄存器1.

    2.添加此条件: if ((source =&filter1_PMBus_regs)||(source =&filter1_start_up_PMBus_regs),而不是  if (source =&filter1_PMBus_regs)

    我认为轻负载条件在12V 时不会开启、因为 LLC 能够在谐振频率范围内找到一个稳定的点、而无需进行电压击穿即可启动轻负载条件。 如果电压设定值降低至11V、则观察到轻负载脉冲跳跃、然后运行良好。 我将尝试在轻负载期间关闭 SR 驱动、看看它是否会提高效率。

    当我尝试使用 V1.2软件时、当我使用打开轻负载的 PMBus 命令启用软件轻负载条件时、电源刚刚关闭。 它在 TI 评估板上的原始软件中工作正常、但电压迟滞非常高。  

    您能否解释一下以下值是如何计算的以及它们是如何工作的。 在内部查看进入轻负载条件的条件(基于硬件)。 从读取代码看、如果我必须对电流滤波器应用相同的东西、即在预充电期间、当功率要求非常低时、如何计算这些值

    LoopMuxRegs.LLENTHRESH.bit.TLUG_ON_THRESH_REG = HWBMTHRESH_REG;//ZCS 特性
    LoopMuxRegs.LLDISTHRESH.bit.TLOW_OFF_THRESH = HWBMTHRESH_REG;//ZCS 特性
    Filter0Regs.FILTEROCLPLA.bit.output_CLAMP 低电平=(HWBMTHRESH_REG-1000);//ZCS 特性

    此致、

    Nitish

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

    您好、Nitish、

    HWBMTHRESH_REG 应该是 250ps 倍数~ 181.8KHz HWBM 进入阈值的半周期。 它确实可以通过电压滤波器工作、我认为没有方法可以直接将其应用于电流滤波器。 您可能必须对其进行实验并查看、而且它可能因电路板而异、因此不确定它是否有用。

    关闭 SR FET 似乎是一个好主意、至少是关闭顶部的 SR FET。 让我检查一下是否有其他人在我们的团队中尝试过这种方法、以及他们是否有任何想法。  

    此致、

    Swami  

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

    你好,Swami,

    我看到我可以对轻负载阈值执行什么操作并绕过它。

    我在空载时开启了 SR FET (两个 FET)、空载功耗从8W 降至4W。

    Nitish

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

    您好、Nitish、

    PWR050的原理图位于   Hope 中、有助于确定电路板是否存在问题。

    我找不到任何人使用电流滤波器转换到低负载。 希望关闭 SR FET 将适合您。

    此致、

    Swami