MP5416 是一款便宜大碗的电源芯片,包含 4 路 DCDC、5 路 LDO,且电压、上电时序均可使用 I2C 配置。这么牛逼的芯片,居然 tb 5 块钱就能买到(今年芯片涨价前甚至只要 1 块多),实在是无人能及了。本文简单介绍 MP5416 的联机方法。
MPS 官方为该芯片提供了一个 MP5416 OTP GUI,可以使用图形界面对芯片进行参数调整、OTP 编程。该软件需要搭配官方的 Eval Kit 才能使用,主要因为电脑需要通过 USB 转 I2C 的转接器才能与芯片连接,而转接器是 Eval Kit 附带的,别的渠道难以买到(或者比较贵)。如果是自己画的 PCB,又没有买 Eval Kit,就无法使用这个 GUI 软件了。
真的没法吗?
查看这个 GUI 软件的信息,发现该软件是 C# 写的。C# 天生具有易逆向、易修改的特性。使用 .NET Reflector 打开,发现该软件没有加壳,变量命名也比较清晰,结构很容易读懂。经过一番分析,发现连接设备的代码在 MPS.Instruments.dll 里面。这个 dll 体积很小,代码量不多,导出源码后甚至可以直接编译。所以,思路就很清晰了:我们只需要找一个便宜的 USB 转 I2C 转接器,替换该软件里面的 I2C 连接代码,是不是就可以用这个软件连接芯片了呢?
选择的转接器需要能够很方便地使用 C# 调用。我选择了 Silicon labs 的 CP2112 芯片,该芯片具有友好的 SDK,很容易开发。这个芯片也很容易购买,淘宝搜索“CP2112 USB 转 I2C 模块”(如下图),以 10 – 20 元不等的价格就能买到。
我对上述提到的 dll 进行了一番操作,把里面连接官方 Eval Kit 的代码删掉,替换成 CP2112 的代码。然后,将 CP2112 模块的 I2C 与 MP5416 芯片连接起来——软件成功连接芯片。
好东西当然要大家分享,我将修改好的 dll 文件共享给大家:https://seafile.h.t123yh.xyz:3/d/d71827211f4c4b32ab08/ 其中,MPS.Instrument.dll 文件覆盖原先的 MPS 连接库,而 SLAB 开头的两个文件上述是 I2C 转接器的库文件。只需要将这 3 个文件放进 GUI 安装目录,重新打开软件,就可以连接芯片啦。
本作品使用基于以下许可授权:Creative Commons Attribution-ShareAlike 4.0 International License.