别再犹豫,直接用 QWIIC 吧

从逻辑分析仪调试、模块化太阳能节点到 USB over QWIIC,作者用亲身实践说明为什么值得在所有 I2C 设计中加入 JST-SH 连接器。

QWIIC 是 SparkFun 推动的一个小标准:用 JST-SH 四针连接器承载 3.3V 的 I2C 总线。几年前我写过一篇梳理各种“I2C 上连接器”生态的文章,如今实践下来,反而越来越觉得它值得在每个涉及 I2C 的设计里出现。不是因为要买一堆 QWIIC 成品,而是把它当作板上的标准扩展口,会让你少焊很多线,也更容易调试。

能说 I2C 的器件太多了:环境传感器、GPIO 扩展、ADC、PWM、电机驱动、LED 驱动、小屏幕、GPS/LoRa、电压电流监测、存储器、TPM、触摸板、NFC……在常见创客商店里,搜 QWIIC 兼容模块 很容易找到适合项目的现成板卡。我的建议是:不必为了“QWIIC”品牌而买,但应该在自己的板子上把 QWIIC 作为 I2C 扩展口固定下来。

当调试口用,太顺手了

最开始我只是觉得“加个扩展口总没坏处”,结果它成了最顺手的逻辑分析仪接口。用一根引脚顺序相反、但正好能接上的廉价线,我做了个简单的分析仪转接头;板上的 I2C 一有异常,插上、打开 Pulseview,就能直接看波形。当然,这种线用之前要核对线序,别把便宜线材的坑带进板子里。

如果板上只有一个 QWIIC 口,想在系统内同时观察多个设备,就需要三路并联的转接小板。我 2018 年做过几块,链接在这里。只要所有 I2C 总线都留了 QWIIC 口,观察板载器件、外接器件、逆向驱动、定位总线问题都会快很多。

类似地,ZPUI 名片 现在是我最喜欢的可接 QWIIC 的调试工具之一。

模块化带来的意外好处

今年我买了一大包单端压接好的 JST-SH 线,价格很低,从那以后靠近手边的 I2C 器件几乎都会先焊一根。也提前做了一批粗暴但好用的 JST-SH 转接板,需要时把 QWIIC 塞进设备里。

最近帮人搭一个 Meshtastic 太阳能节点,要给电池和太阳能板加 INA219 电压电流监测。我们把 INA219 板直接焊到电源监测点,避开接触一般的接线端子;I2C 则用一根 QWIIC 定义的 JST-SH 线加插座转接板接到 Heltec 板。

好处很直接:先在 Meshtastic 固件之外,把 INA219 插到旁边一台带 QWIIC 的树莓派小设备上扫总线,确认地址、线序和 ADDR 引脚都没错。这在 Meshtastic 界面里做不到,但有了 QWIIC,只是换根线的事。

装好后整个系统也更干净。节点没有直接焊死在太阳能电池系统上,所有部分都能拆开,换节点、排查故障、避免断电时的电流环路都方便。这就是 QWIIC 带来的模块化:不必为了测试和维修把整机拆焊。

如果拿到一个需要逆向的触摸板,先给它焊一根 JST-SH 线,往往就是很好的起点。

大多数场景都够用

QWIIC 也能当测试口:给板载 I2C 存储器写几个字节、把整块板做成测试夹具接口,都可以。它真正的短板是 INT 引脚:四针里没有中断线,对强依赖中断的器件会比较别扭。但多数器件并不强制需要 INT,小罗盘、OLED、GPIO 扩展器都能靠轮询工作,CPU 开销通常也可以接受。

JST-SH 本身是有防呆的,廉价克隆件把价格压得很低,体积小但用手指就能插拔。注意卧式和立式连接器的引脚顺序会反过来——我曾在工作坊前临时给一批新板子的立式口打热熔胶封住,就是因为这个坑。除此之外,QWIIC 基本插不反、不容易弄坏、也容易替换。

再进一步:把 USB 塞进 QWIIC

标准总要有点“离经叛道”的玩法。我有时会把 USB 放到 QWIIC 的 I2C 引脚上:GND 和 3.3V 位置不变,USB 本身是 3.3V 信号,D+ 接 SDA、D- 接 SCL,方向随意。我会建议加 ESD 二极管,因为 USB 线经常伸出板外,更容易吃静电。也许可以叫它 QWUSB。

我一开始没把 QWIIC 外形当成 USB 上行口的备份方案,但后来发现它确实让一批 Blepis 板用上了更细更整洁的 USB 线。

在某些板子上我还加了半“邪道”的电压切换:3.3V 与 5V 可选。有些 USB 设备确实不能在 3.3V 下工作,所以开关打到 5V 时,一只低 Vf 的红色 LED 会亮起,提醒你现在是危险电压。没那么邪道的板子上,我通常会给 QWIIC 加 SY6820 做过流和回流保护,不管它只跑 3.3V 还是能上 5V。

一块小板子上放三个 JST-SH,分别接三种接口、三种电压,也不是不行。

等有空,我打算把裸线的笔记本摄像头也改成 QWUSB。至少现在,它已经帮我临时连上了不少好玩的东西。

小线材,大自由

有 I2C 标准口,再加上我自己玩的 USB 变体,QWIIC 让我能把以前觉得“不好接线”的东西轻松连起来。转接板从“唉,还得焊”变成“装好就插线测试”。

如果经常做 I2C,真的应该在板子上放 QWIIC;还没开始的话,也别错过。要说愿望,我希望树莓派干脆直接采用 QWIIC——新板都已经用上 JST-SH 了,再往前一步不难吧?Arduino Uno R4 WiFi 的 QWIIC 套件已经加入,效果确实更好。

收录于

讨论

0 条评论

同分类推荐

创客