电流检测
项目中设计了三种电流检测方案,分别是 - INA226 进行高侧或低侧采样,通过 I2C 进行通信 - INA193 进行高侧或低侧采样和放大,通过模拟信号供 ADC 使用 - INA138 进行高侧采样,通过模拟信号供 ADC 或 SW2303 使用
INA193 进行高侧或低侧采样
INA19x 芯片支持高侧或低侧采样,其中 INA193 的增益是 20 V/V。 这里选用了一路 INA193 进行验证,一是因为我用过 INA193,想进一步验证下 INA193 的性能和校准方案;二是我想看看 INA19x 这类电流检测放大器在高侧和低侧测量输出的差别。
INA138 进行高侧采样方案
这个方案主要用于验证使用 INA138 将高侧采样的差模信号转为相当于低侧采样取得的差模信号,以便 SW2303 能够使用。

从上面的数据手册给出的典型应用可以看出,INA138 支持配置输出增益。我准备设计两个增益: - 1 V/V,供 SW2303 使用 - 20 V/V,供 MCU ADC 使用
通过 20V/V 的增益,可以对比一下 INA138 与 INA193 在高侧采样时的差异。
在输出端,实现了一个低通滤波器。使用计算公式 来计算所需的电容值,并选择最接近的标准电容值。

-
5k 电阻, 1 V/V 增益
-
100k 电阻, 20 V/V 增益
结果如下:
| 电阻值 | 增益 | 计算所需电容 | 合适的标准电容 |
|---|---|---|---|
| 5kΩ | 1 V/V | 3.18 nF | 3.3 nF |
| 100kΩ | 20 V/V | 0.159 nF | 150 pF |
使用运放实现恒压恒流反馈
我选用的 DC-DC 控制器芯片,通过 FB 引脚来闭环控制输出电压。在一般的定压输出的情况下,通过电阻分压网络对 进行分压,使 FB 电压 与 成比例。DC-DC 控制器芯片根据实际的 FB 电压调整输出电压,使 得 与其内部的参考电压相等,从而实现恒压输出。
而 USB PD 协议需要支持多电压输出,并且需要带有过流保护,我查阅了一些开源项目,感觉有点不理解,最后准备实现下面这种限流方案:

这个方案实现了类似“与”的逻辑,FB 网络是通过电压信号控制 DC-DC 控制器的输出电压。 未触发限流保护的情况下,由上面 N 沟道场效应管进行恒压,恒流反馈会因为电流未到达限流值而使下面的 N 沟道场效应管在力所能及的范围内尽可能地导通。 一旦负载电流达到限流值,下面的场效应管会开始在线性区域内导通,这个时候 DC-DC 控制器的输出电压会下降,这样就实现了限流的功能。 与此同时,由于 DC-DC 控制器输出电压下降,上面的场效应管会开始尽可能导通,以期望得到更高的输出电压。 通过串联这两个“阀门”,使这俩个场效应管的组合阻值永远不低于最小的那个,从而实现恒压恒流模式。
下面的场效应管给电流控制环路,主要是考虑未触发限流的情况下, 下面的场效应管产生的阻值相对来说是低且稳定的,能让上方的 N 沟道场效应管的源极(S)电位尽可能固定在 0 附近,减少引入的干扰。如果反过来,我就猜不出会不会出现什么曲折的跳动了,这个问题已经进入我的知识盲区了。 同理,回到现在的方案,如果触发过流保护,这时我就不知道会发生什么了,但是大概最后应该是会稳定在上管线性,下管饱和。或许中间过程曲折,但是保护状态我就不挑三拣四了。
这个方案是我想出来的,看起来和下图的有点像,希望能成功吧。

使用 STM32G4 实现恒压恒流反馈
恒压模式使用到 STM32G4 内部的 DAC3 和 OPAMP1; 恒流模式使用到 STM32G4 内部的 DAC3 和 OPAMP3。 其中,运放实现的功能是反相放大器。STM32G4 的片上运放是轨到轨输入和输出的。 使用 DAC 输出参考电压送入运放的同相输入端,电压和电流信号分别送到两个运放的同相输入端,实现增大 DAC 输出就增大电压或电流。

上图是 STM32G4 运算放大器的原理图,参考上图并结合我们的用例,将同相输入端连接到 DACx 的输出端,将 VINM0 连接到分压的输出电压或分流的电压,就是我们需要的结果。
至于这个外部电容的容值要用多少的,目前我不知道,所以先留个焊盘空着,后续再做调整。
USB PD
VBUS 泄放电路
USB Type-C 规范要求源端口在接收端口断开后的 650ms 内对 VBUS 进行放电到 5V 以内。所以需要一个泄放电路。
下面是 LLM 计算的结果:
1. 计算电容放电所需的电阻值
电容放电的公式为:
其中:
- 是时间 时的电压
- 是初始电压
- 是电阻
- 是电容
- 是时间
我们知道:
将这些数值代入公式:
简化得到:
取自然对数:
解出 :
2. 计算峰值电流
峰值电流 在放电开始时最大,即 时:
3. 验证电阻值与放电时间
使用0402电阻封装时,通常电阻的功率为0.063W (63mW),需要确保在放电过程中功率不超出此范围。
在放电过程中,瞬时功率可以计算为:
在峰值电流时:
这在0402封装的功率范围内。
上面使用的公式看起来好像没啥问题,我就不验证了。直接使用 510 的电阻就行了。
如果这篇文章对你有帮助,欢迎留下反应或评论。