如何从 USB-C 充电器获得 20 V 电压?
一句话,没有。您需要通过 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 项目网站:
我刚刚完成了一个基于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,可能会提供带针带的控制器(没有微控制器),但您需要搜索这个。