做点好玩的:使用 Type-C 的 USB 转串口

前言

也不知道为啥,市面上的 USB 转串口宁肯把不常用的 RTS 引脚引出来,也不舍得把 DTR 引脚引出来。

CH340G / CH340C 芯片上明明有这个引脚。在 DTR 引脚上串一个 0.1uF 电容接到 ATmegaX 的 RST 引脚上便可以实现 Arudino 系统的自动下载(如果是 Pro Mini 这样的板子,直接接到 DTR 引脚上即可,开发板自带了需要的电容),但是淘宝上的转串口模块基本都没有用到这个引脚。

最离谱的是,它们还基本都是 USB-A 口的,咱寻思着他们的 USB-HUB 是有好几米长的线还是怎么,咱每次都要拿杜邦线接出来一长条才能接到开发板上,为了满足自己的需求,索性自己做一个 USB 转串口。

方案选择 & 原理图


咱的目的就很明确了:

  • 赛博朋克 2077 都发售了,不是个 USB Type-C 好意思拿出来吗(
  • 要有 DTR 引脚,实现自动复位
  • 尽量的降低焊接难度

WCH 的 CH340 系列芯片是 USB 转串口中性价比较高的芯片,尽管并不免驱,但是市面上常见的开发板也都使用了这系列芯片,驱动早晚要装,四舍五入就是免驱。而且官方同时提供了 Windows、macOS 和 Linux 的驱动,也不用担心兼容性问题。

对于这种单纯的转一个串口出来的用途来说,CP2102 那种全能芯片完全没必要,而且每片价格接近 10 元,一块出头的 CH340 简直是业界良心。

CH340 家族有近十款芯片,本着越简单越好的原则,SOP-8 封装的 CH340N 看起来非常不错,然而没有 DTR 引脚。所以能选择的就只有 CH340G / CH340C 了。

CH340G 需要外部晶振,而 CH340C 内置晶振,价格只差一两毛,果断选择 CH340C,可以少焊一个贴片晶振和两个负载电容。

USB-C 连接器上直接整个 USB2.0 的就完全够用,焊接难度也较低。

用了 USB-C 之后麻烦事也多,为了兼容各种 Type-C 线缆,需要在 CC1 与 CC2 引脚上添加电阻来告诉上游设备本设备的类型。

对于这种 UFP Only 的设备,需要添加两个 5.1KΩ 的下拉电阻。

(树莓派 4 的 Type-C 接口设计上就翻车了,导致 E-Marker 线缆无法为树莓派正常供电)

咱同时加了两个 3Pin 排针:

  • 选择 5V 或者 3V3 的电源输出(毕竟 CH340C 自带了个 3V3 输出,可以给一些特殊的模块用,而且不用就浪费了 233333)
  • 可以选择 DTR 引脚是否串联 0.1uF 电容:如果是 Arudino Pro Mini 这样的板子直连即可,如果是自己的最小系统可以省去在面包板上再插一个电容的麻烦

惯例的 3 个 LED:电源,TX 和 RX。

绿波电龙方便直接选择了普通的贴片电容,毕竟钽电容五毛多钱一个(其实是手边的用完了),对于这种设备来说应该没太多影响。

顺路还给输入端加了一个 6V 500mA 的自恢复保险丝,免得线路出问题把 USB 接口搞挂掉。

原理图制作完成就可以画板了,在封装的选择上,所有 R、C、LED,均使用 0805 封装,方便手工焊接。

制版 & 打样

咱这里选择的是开源的 KiCAD 来进行 PCB 的设计,开源并且自带的库足够大。

因为正式版已经很久没更新过了(还是 5.1.x 版本),所以咱选择了最新的每夜版(5.9.x),UI 和快捷键上的变化较大一些,如果你之前用的是旧版本,可能需要适应一下。

PCB 其实设计和布局都一般,毕竟没什么经验,花了半个多小时简单画了画草草了事,细节方面还是经不起推敲(x

然后就很简单了,导出 Gerber 文件送去嘉立创打样,等收货。

设计的时候其实出了一点问题,KiCAD 的组件基本都自带了两种封装,普通封装和 HandSolder 封装。咱由于对自己的焊接技术过于自信没选择手工焊接的封装,结果焊盘比想象中的小一些。不过焊接也没什么大问题,就是不太美观,以后再做的时候再修改好了(x

焊接好之后长这样,2cm * 4cm,还算小巧。其实做的更小也可以,不过就不太方便固定了,反正打样的钱都一样。

擦腚,楷鸡,LED 轻松点亮。焊完之后才发现 C2 有点歪,不管了,就这样了w。

PWR 是红色 LED,TXD 是黄绿色 LED,RXD 是新买的紫罗兰色 LED。图片上可能因为 LED 太亮了看不太清,肉眼看起来还是清楚的。

之前买 LED 的时候竟然见到了「紫罗兰色」的 LED,顺路就买回来玩玩,是比 Bilibili Logo 偏深一点的粉紫色,图片上因为光线问题 LED 过曝了,实际看起来还算满讨好的颜色。

成品就是这样啦,工程文件和 Gerber 文件都开源在了 Github 上。需要的话,可以做你自己的修改,也可以直接拿去打样。

好久没做过东西玩了,总的来说这次过程都很顺利,几乎没碰到什么问题。咱还是蛮享受自己做东西的这种快乐感的。

之后就不用手动掐时间按 Reset 了!而且还是精致接口的!

标签: DIY USB2TTL CH340C KiCAD PCB


已有 2 条评论
  1. 整个套子 芜湖
    目前我用的USB-TTL不是延长杜邦线就是用USB-A延长线🌚还好平时用笔记本多一点 用延长线情况不多

  2. 大佬终于更新了。做成这样才能方便使用,这个活整的棒!
    (之前见有人做过CP2102的,但是他没大范围卖)

添加新评论