侧边栏壁纸
博主头像
xiaoming 博主等级

累死自己,卷死别人,为了小刘而努力!!!

  • 累计撰写 37 篇文章
  • 累计创建 7 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录
DIY

[DIY]USB 3.0 超高速集线器

Administrator
2024-11-13 / 0 评论 / 0 点赞 / 9 阅读 / 0 字 / 正在检测是否收录...

一、概述

在学习Linux开发的时候由于经常需要将img固件烧录到sd卡里面,每次都需要使用读卡器插电脑上面,本身电脑的USB口就很有限了,还需要再插上读卡器,因此萌生了买一个带读卡器功能的USB集线器,既满足了烧录sd卡的需求也能扩展一下电脑的USB口。但是找遍了所有的淘宝、pdd、京东都没有找到合适的

  • 普通USB集线器:优点,简单便宜,连接线很长,方便接线。缺点是这种都不带读卡器的功能。
  • Type-c集线器:优点是这种集线器功能非常非常多,完全满足要求。缺点是需要电脑有Type-c口,而且连接线非常短,普遍只有10cm左右,不方便使用。

因此萌生了自己制作一个USB集线器的想法。既然是自己制作了,那么就可以加入一些自己需要的DIY功能了:

  • 每个USB口独立开关控制
  • 集成无线下载器功能
  • 添加串口调试功能
  • 自定义接口布局和外壳设计
ce5ebf802e43259935931db1b12dfd88 99a1bb24eb565996cc8566ae1db88c3a

二、功能介绍

核心功能

  • 3路USB 3.0接口 - 支持5Gbps超高速传输
  • 1路USB 2.0接口 - 向下兼容,支持480Mbps高速传输
  • 1路USB 2.0读卡器 - 支持SD卡热插拔
  • 1路DAP无线下载器 - 集成STM32无线下载功能
  • 1路虚拟串口 - 基于CP2102芯片
  • 1路硬件串口 - 直接UART输出
  • Type-C输入口 - 支持正反插入,5V/3A供电
  • 独立电源开关 - 每个USB口、下载器、读卡器均可单独控制
  • 智能电源管理 - 防止过载保护
  • 热插拔支持 - 设备插拔无需重启

三、版本说明

V1.2版本(当前版本)已打板验证,功能完整

主要改进:

  • 主控芯片升级:VL812 → VL817,性能更稳定
  • 成本优化:移除电压电流检测和屏幕显示功能
  • 功耗优化:无线DAP下载器从模块改为芯片直焊
    • 成本:50元 → 20元
    • 功耗:150mA → 40mA
    • 续航:显著提升

读卡器这部分为了能够实现插卡读卡,拔卡断电的操作将sd卡槽接入识别连接到单片机,如果拔卡不断电会导致再次插卡时芯片不会重新枚举导致无法识别。可能是本身这个芯片体制不太好,在调试时候就坏了好几个了,再加上频繁上电断电导致芯片非常容易损坏,之后会更坏其他芯片。

fc7d5adfd3507d4f013cd7001050691b ada90a7112b4c9c009356e30787e9026

V1.1版本(已废弃)

状态:存在严重问题,已废弃

主要问题:

  • Type-C兼容性问题:仅支持单面插入USB3.0,另一面仅识别USB2.0
  • 电源管理缺陷:无法支持大功耗设备(如固态硬盘),会掉电重启
  • 电压不稳定:多设备接入后电压降至4.5V
  • 检测功能异常:电压电流检测仅能读取部分数据

由于是第一次制作这样复杂的板子,PCB走线、滤波电容放置、芯片保护等等都做的非常不好,导致板子出现了各种各样莫名其妙的问题。

9bb5ea5749943a7c1f8ede48baca16b2 209d5fbf4d94fe5c396b6c7c0d84b012

四、技术实现

V1.2版本

4.1 系统架构

Type-C输入 → VL160(正反插检测) → VL817(USB3.0集线器) → 3×USB3.0输出
                    ↓
            CH334F(USB2.0集线器) → 1×USB2.0输出
                    ↓
            GL3224(读卡器芯片) → SD卡槽
                    ↓
            CH32V307(主控) → SX1281(LoRa) → 无线下载器
                    ↓
            CP2102(串口芯片) → 虚拟串口
                    ↓
            STC8H1K28(辅助MCU) → 硬件串口

4.2 核心芯片详解

4.2.1 VL817 USB3.0集线器芯片

功能: USB 3.0 "一拖四"集线器主控

  • 传输速率:支持USB3.0 SuperSpeed(5Gbps)
  • 向下兼容:兼容USB2.0/1.1
  • 即插即用:无需驱动,兼容性好
  • 供电方式:支持总线供电或外接电源
  • 封装:QFN-48,体积小巧

VL817芯片

4.2.2 VL160 Type-C正反插检测芯片

功能: Type-C接口正反插识别和信号切换

  • 方向检测:自动识别插入方向
  • 信号管理:管理CC引脚信号
  • 线路切换:将SuperSpeed信号分配到正确引脚
  • 电源管理:VCONN信号分配
  • 封装:QFN-16,集成度高

应用场景:转接头、扩展坞、主板Type-C接口

image-20251024181719003

4.2.3 CH334F USB2.0集线器芯片

功能: USB2.0 "一拖四"集线器扩展

  • 传输速率:USB2.0高速(480Mbps)
  • 向下兼容:兼容USB1.1
  • 热插拔:支持设备热插拔
  • 成本优势:价格低廉
  • 封装:QFN-28,体积小巧

应用场景:四口扩展器、转接线、外设集线

image-20251024181757694

4.2.4 SX1281 LoRa无线通信芯片

功能: 长距离低功耗无线通信

  • 通信距离:几公里远距离通信
  • 低功耗:支持睡眠模式,适合电池供电
  • 通信接口:SPI与主控MCU通信
  • 调制方式:LoRa调制(扩频CSS)
  • 高灵敏度:抗干扰能力强
  • 可配置:发射/接收参数可调

应用场景:物联网节点、无线传感器网络、远程监控

image-20251024181914116

4.2.5 CH32V307WCU6 主控MCU

功能: 32位RISC-V主控处理器

  • 架构:WCH QingKe RISC-V内核
  • 主频:144MHz高性能
  • 丰富外设:UART×8、SPI、I²C、定时器、DMA、ADC
  • 通信接口:USB2.0、SDIO、FSMC外设总线
  • 性价比:同价位性能突出

应用场景:通信网关、工控系统、多串口转发、以太网扩展

image-20251024181904655

4.2.6 GL3224 USB3.0读卡器芯片

功能: 高速SD卡读卡器控制器

  • 传输速率:USB3.0(5Gbps)
  • 存储支持:SD/microSD等多种格式
  • 向下兼容:兼容USB2.0
  • 逻辑单元:支持Dual/Single LUN
  • 厂商:Genesys Logic

应用场景:高速读卡器、存储设备、数据采集

image-20251024181842749

4.2.7 CP2102 USB转串口芯片

功能: USB转UART桥接芯片

  • 接口转换:USB ↔ UART
  • 虚拟串口:电脑识别为COM口
  • 波特率支持:常见波特率全覆盖
  • 硬件流控:支持RTS/CTS
  • 封装小巧:外设少,集成度高

应用场景:串口调试、MCU烧写、开发板通信

image-20251024181818563

4.2.8 STC8H1K28 辅助MCU

功能: 8位增强型8051兼容MCU

  • 内核架构:增强型8051,效率大幅提升
  • 丰富外设:GPIO、定时器、PWM、ADC、看门狗
  • 通信接口:UART、SPI、I²C
  • 下载方式:支持ISP/IAP串口下载
  • 成本优势:国产芯片,价格低廉
  • 生态友好:Keil/C51开发,中文资料丰富

应用场景:家电控制、工控系统、小型物联网节点

image-20251024182030148

4.3 PCB设计要点

  • USB接口应该靠近板边或结构定位放置,方便插拔;
  • TVS管要靠近USB接口,建议电源线出来就进入TVS管,起到保护作用;
  • 在布局时,要考虑芯片与接口的距离,不能离得太远,缩短差分线距离;
  • USB信号要走差分线,阻抗控制为90欧姆,并做包地出来,高速差分线长度最好不要超过1800mil;
  • 在走线时,优先考虑高速差分信号线,尽可能不要换层,在换层时,加入回流地过孔;
  • 差分对长度误差尽可能小,建议在5mil以内。

上层-信号层

image-20251024182214841

中层-GND

image-20251024182341764

中层-VCC

image-20251024182358696

下层-信号层

image-20251024182415272

4.4 外壳设计

外壳使用是Autodesk Fusion 360制作的,由于板子本身比较紧凑,没有多余的地方放置定位孔,所以只用了两个M3*8的螺丝来固定

image-20251024191515169 image-20251024200652863

五、问题及注意事项

5.1 焊接步骤

由于板子使用的芯片封装都是QFN封装的,因此焊接的时候是有一点难度的,下面是我自己总结的焊接方式,仅供参考:

焊接步骤:

  1. 预热焊盘:风枪加热芯片焊盘位置,便于涂抹锡膏
  2. 关键要点:中间接地焊盘锡量要少,这是成功的关键!
  3. 芯片放置:放上芯片,风枪均匀加热
  4. 助焊处理:锡膏融化后添加助焊膏
  5. 引脚处理:烙铁拖焊所有引脚,去除多余锡料

为什么中间焊盘要少锡?

中间焊盘面积最大,锡过多会在加热时将芯片顶起,导致周围引脚无法接触焊盘。

5.2 常见问题排查

  1. 如果出现集线器有不能识别USB3.0,只能识别USB2.0,大概率是USB接口或芯片有虚焊,如果都不能识别,大概率是芯片虚焊了。
  2. 在每个芯片和供电处添加大容量的电容,防止由于其他位置突然接入大负载设备导致芯片保护掉电。

六、测试

功能测试

外壳展示

固态硬盘测试

img

0

评论区