如何从 USB-C 充电器获得 20 V 电压?

电器工程 DIY USB-C USB-PD
2022-01-31 21:10:21

我想用 MacBook Pro USB C 充电器为我的 DIY 东西供电。充电器上的标签说它可以提供三种不同的功率配置文件: USB-C 充电器规格

  1. 20.2V - 4.3A
  2. 9V - 3A
  3. 5.2V - 2.4A

有大量关于 USB-C 电源分配功能的信息,但我找不到任何关于如何做到这一点的示例。

是否有一种简单的方法或解决方法可以在不使用微控制器的情况下请求其中一个电源配置文件?

例如,我有苹果 MacBook Pro 充电器、苹果 USB-C 数据线和一个像这样的分线板: USB-C 简易分线板

4个回答

一句话,没有。您需要通过 Type-C 连接器的 CC 线实现 USB 供电协议,这是一种 300kbps 的双向通信,包括前导码、CRC 等,如果没有微控制器,这几乎是不可能的。

PD 消息格式如下所示:

在此处输入图像描述

有关完整的详细信息,您需要USB Power Delivery 规范,但这里有一个有用的介绍这就是上图的来源。

这很复杂但可行。有人已经实现了这一点,并在 tindie 上提供了 PD buddy sink:

https://www.tindie.com/products/clayghobbs/pd-buddy-sink/

代码:

https://git.clayhobbs.com/pd-buddy/pd-buddy-firmware/src/branch/master/docs/console_config.md

Hackaday 项目网站:

https://hackaday.io/project/20424-pd-buddy-sink/details

我刚刚完成了一个基于STUSB4500的电路板,它非常易于使用,只需要几个无源外部组件(不需要定制固件)。也将很快开源该设计。

您只需要一个Arduino 即可根据您的电压/电流要求对芯片进行一次闪存,它将自动与充电器协商。

编辑:可以通过网络浏览器配置新版本的板。

正如 Finbarr 所指出的,您需要实施 Power Delivery 通信协议来协商 20 V 输出配置文件。PD 规范由来自顶级半导体和软件公司的 300 多名优秀工程师组成的社区设计。历时 3 次重大修订和大约 5 年的工作才制定出当前的功能标准。试图从头开始实现协议(正如 Finbarr 似乎建议的那样)显然是一个失败的提议。

但是,有一个 DIY 级别的解决方案。由于可怕的协议复杂性,一些半导体公司提供了一组嵌入 PD 协议的 IC,这是一种交钥匙解决方案。首先,查看TI 的 PD 解决方案概述,然后选择合适的集群。

您已经拥有功能性 PD 源。所以你需要选择“Device UFP”和“Sink”。您将拥有大约 5 种执行 PD 控制器功能的 IC,例如 TUSB422 或 TPS65981。不幸的是,IC 需要对 I2C 接口进行一些控制才能执行实际协商,因此您将需要一些具有 PD 软件支持的微处理器。他们应该提供带有完整示例的开发工具包如何做到这一点。

所以,祝你好运。

编辑:其他公司,如 NXP、Maxim、Linear、Cypress、ON Semi、STMicro,可能会提供带针带的控制器(没有微控制器),但您需要搜索这个。