ZHDU006A December 2025 – January 2026
当 SW2 接通时,响应遵循指数衰减公式:
其中
请参阅 图 2-6,以便更好地了解这一概念。
需要特别关注稳定电压 Vinf。这个公式中的三个未知数是 Vinf、τ 和 Vo。如果 ADC 在三个不同的时间测量三个样本电压,则会创建一个由三个公式组成的系统:
通过使用 t2 = 2 × t1,Vinf 的计算得到了显著简化:
用于求解方程组的 MATLAB 脚本为:
%% solution for exponential decay
clc
syms vt0 vt1 vt2 vinf v0 x
eq1 = vt0 == vinf+v0;
eq2 = vt1 == vinf+v0×x;
eq3 = vt2 == vinf+v0×x×x;
eq4 = vt0 ~= vt1;
eqns = [eq1, eq2, eq3, eq4];
[vinf, v0, x, para, conditions] = solve(eqns,[vinf, v0, x],ReturnConditions=true)在 TIDA-010985 默认代码中,三个样本之间的时间间隔为 330ms。这会将总 IMD 测量周期时间保持在 2s 以内,同时使定点计算变得简单。要更改默认周期时间,用户可以执行以下操作之一:
#define SamplesSize 2000 // ADC buffer size
#define E1 990 // total time for Riso measurement is 2xE1 in ms 使用以下公式可以计算时间常数:
对于隔离电阻,只需要 Vinf。对于总系统 Y 电容 (CisoP + CisoN),在两个相邻的 ADC 测量值下,在 t0 处的电压近似为 V'(t)。则 Ciso 为:
图 2-6 采用用于预测算法的 ADC 样本的电压衰减曲线示例可以对充电曲线进行类似的分析。最终稳态电压 Vinf 的计算公式为:
用于求解方程组的 MATLAB 脚本为:
%% charging solution
clc
syms vt0 vt1 vt2 vi v0 x
eq1 = vt0 == vi;
eq2 = vt1 == vi+ v0×(1-x);
eq3 = vt2 == vi+ v0×(1-x×x);
eq4 = vt0 ~= vt1;
eqns = [eq1, eq2, eq3, eq4];
%
[svi, sv0, sx, para, conditions] = solve(eqns,[vi, v0, x],ReturnConditions=true)一个重要的考虑因素是知道何时应用预测算法。如果电压快速稳定,应避免使用预测算法。在求解 Riso 或 Ciso 之前等待更长的时间更为实际。目前,该软件会根据电压时间导数(由 Vbus 电压归一化)执行一些基本检查,以设置预测模式的阈值。此方法确实需要在已知负载的情况下进行一些调整,以提供可靠的运行。以下是代码中可能的存在模式: