问题现象
- 无人机直连A133控制主板时,无法识别为大容量存储设备
- A133主板接绿联USB hub再接无人机时可以识别为大容量存储设备
直连日志
# 检测到高速(High-Speed, USB 2.0)设备连接到 Allwinner A133 的 EHCI 控制器上
# 设备成功上电并开始握手,但不代表已经完全枚举成功
09-08 16:28:04.321356[ 6322.413719] sunxi-ehci 5101000.ehci0-controller: ehci_irq: highspeed device connect
# Linux 为连接的 USB 设备分配了设备号 2
# EHCI 驱动已经识别设备并准备枚举
09-08 16:28:04.543229[ 6322.632529] usb 3-1: new high-speed USB device number 2 using sunxi-ehci
# USB 子系统识别该设备为 USB 大容量存储设备(U盘/存储卡)
# 设备已经可以作为块设备(block device)使用
09-08 16:28:04.689879[ 6322.780072] usb-storage 3-1:1.2: USB Mass Storage device detected
# 为该 USB 存储设备创建一个 SCSI 主机实例 host0
# Linux 通过 usb-storage 驱动模拟 SCSI 设备以访问文件系统
09-08 16:28:04.693187[ 6322.784509] scsi host0: usb-storage 3-1:1.2
# SCSI 设备枚举完成,识别为 Direct-Access(可寻址块存储设备)
# 说明设备内部存储(可能是 TF 卡或 eMMC)已被识别
09-08 16:28:05.696530[ 6323.787832] scsi 0:0:0:0: Direct-Access Linux File-Stor Gadget 0504 PQ: 0 ANSI: 2
# 存储设备容量约 23.7 GB
# 驱动已经读取到逻辑块数,设备容量正常
09-08 16:28:05.705844[ 6323.796188] sd 0:0:0:0: [sda] 46350296 512-byte logical blocks: (23.7 GB/22.1 GiB)
# 设备未写保护,可写入数据
09-08 16:28:05.706002[ 6323.796904] sd 0:0:0:0: [sda] Write Protect is off
# 读取 SCSI Mode Sense 信息,用于获取设备特性
09-08 16:28:05.706057[ 6323.796912] sd 0:0:0:0: [sda] Mode Sense: 0f 00 00 00
# 设备启用读写缓存,但不支持高级命令(DPO/FUA)
09-08 16:28:05.706108[ 6323.797643] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
# 块设备已成功挂载到内核,可作为 /dev/sda 使用
09-08 16:28:05.719937[ 6323.809048] sda:
09-08 16:28:05.723203[ 6323.812790] sd 0:0:0:0: [sda] Attached SCSI removable disk
# Android 使用 sdcardfs 将块设备挂载到 /mnt/media_rw/61C8-D15B,并配置访问权限
09-08 16:28:05.973218[ 6324.062496] sdcardfs version 2.0
09-08 16:28:05.973402[ 6324.062511] sdcardfs: dev_name -> /mnt/media_rw/61C8-D15B
09-08 16:28:05.973448[ 6324.062516] sdcardfs: options -> fsuid=1023,fsgid=1023,mask=6,userid=0,gid=1015,reserved_mb=100
09-08 16:28:05.973491[ 6324.062524] sdcardfs: mnt -> ffffffc02cd8b6e0
# sdcardfs 成功挂载,但挂载类型是 fuseblk,说明可能是 exFAT 文件系统,需要内核支持
09-08 16:28:05.973534[ 6324.062606] sdcardfs: mounted on top of /mnt/media_rw/61C8-D15B type fuseblk
09-08 16:28:05.973577[ 6324.063769] Remount options were mask=18,gid=9997 for vfsmnt ffffffc0439c5de0.
09-08 16:28:05.973614[ 6324.063782] sdcardfs : options - debug:1
09-08 16:28:05.973656[ 6324.063787] sdcardfs : options - gid:9997
09-08 16:28:05.973698[ 6324.063791] sdcardfs : options - mask:18
09-08 16:28:05.973740[ 6324.064510] Remount options were mask=18,gid=9997 for vfsmnt ffffffc053d6c3a0.
09-08 16:28:05.973777[ 6324.064518] sdcardfs : options - debug:1
09-08 16:28:05.973818[ 6324.064522] sdcardfs : options - gid:9997
09-08 16:28:05.973859[ 6324.064525] sdcardfs : options - mask:18
09-08 16:28:05.973902[ 6324.065257] Remount options were mask=7,gid=9997 for vfsmnt ffffffc053c138a0.
09-08 16:28:05.973939[ 6324.065264] sdcardfs : options - debug:1
09-08 16:28:05.973981[ 6324.065268] sdcardfs : options - gid:9997
09-08 16:28:05.974022[ 6324.065272] sdcardfs : options - mask:7
# USB 高速设备断开连接
# 可能是 USB PHY 信号质量差、电源不足或线材问题,导致设备在短时间内掉线
09-08 16:28:07.553738[ 6325.646092] sunxi-ehci 5101000.ehci0-controller: ehci_irq: highspeed device disconnect
09-08 16:28:07.556591[ 6325.646769] usb 3-1: USB disconnect, device number 2
# 块设备尝试同步缓存失败
# 掉线导致 SCSI cache flush 失败。hostbyte=0x01 表示主机错误,通常与硬件连接不稳定相关
09-08 16:28:07.593213[ 6325.682724] sd 0:0:0:0: [sda] Synchronizing SCSI cache
09-08 16:28:07.593389[ 6325.682896] sd 0:0:0:0: [sda] Synchronize Cache(10) failed: Result: hostbyte=0x01 driverbyte=0x00
可能的原因分析
信号完整性改善
- Hub 内部布线、端口缓冲芯片对 USB 信号做了 再驱动(re-driver)
- 直连线可能导致 高速信号衰减或反射,Hub 相当于加了一个信号“缓冲器”
- 高速设备枚举时,如果信号质量不好,就容易掉线
总线电流瞬时冲击分散
- Hub 虽然无源,但内部做了 电流分配和稳压电路。
- 当无人机刚上电或块设备初始化时,瞬间拉电流导致直连口电压下降。
- 通过 Hub 后,多个端口共享总线电流,瞬时冲击可能稍微缓解,掉线概率降低。
USB 枚举顺序和延时改变
- Hub 会引入 几微秒到几毫秒的延迟。
- 对一些对枚举时序敏感的设备(如无人机内置 USB 存储)有意外正面作用。
- 直连时可能枚举太快,设备还没准备好就被 Host 轮询,导致掉线。
表格总结
对比项 | 直连 A133 → 无人机 | A133 → Hub → 无人机 | 说明 |
---|---|---|---|
USB 枚举 | 成功,但几秒后掉线 | 成功且稳定 | Hub 引入微延迟,设备初始化更充分 |
信号完整性 | 受 PCB Trace &连接器寄生影响,易短时抖动 | Hub 内部缓冲/再驱动改善信号 | 高速 USB 对阻抗匹配敏感 |
供电稳定性 | 瞬时拉电流可能导致电压下降 → 掉线 | Hub 分流/缓冲瞬时电流 | Hub 起到电流缓冲作用,即使无源也有寄生电容 |
掉线现象 | 几秒内断开,SCSI Cache Flush 失败 | 稳定,无掉线 | 主机错误 hostbyte=0x01 指向物理层问题 |
解决方式 | 改进 PCB 电源、增加延时或使用高性能端口 | 可直接使用 | Hub 是快速、可靠的方案 |
适用性 | 对敏感设备不稳定 | 高速存储设备稳定识别 | 对无人机存储、摄像头等高速设备尤其明显 |
需求
通过 USB 集线器同时接 5 台 DJI Neo 飞机到一台安卓主机,并能够访问任意一台的存储图片
┌───────────────────────────┐
│ 安卓主机 (USB Host) │
│ ┌─────────────────────┐ │
│ │ USB 控制器 xHCI/ EHCI │
│ └─────────┬───────────┘ │
└───────────┼─────────────┘
│
│ 高速信号 + 电源
│
┌────────┴─────────┐
│ 有源 USB Hub │
│ (每端口 ≥1A 电流)│
└─────┬───┬───┬───┬───┘
│ │ │ │
┌────────────┘ │ │ │
│ │ │ │
┌────┴────┐ ┌────┴────┐│ │
│无人机1 │ │无人机2 ││ │
│存储/图片 │ │存储/图片 ││ │
└─────────┘ └─────────┘│ │
│
┌─────────┐ ┌─────────┐ │
│无人机3 │ │无人机4 │ │
│存储/图片 │ │存储/图片 │ │
└─────────┘ └─────────┘ │
│
┌─────┴─────┐
│无人机5 │
│存储/图片 │
└───────────┘
即便使用了有源的hub也不一定能支持5路
问题 | Hub 是否能解决 |
---|---|
电流不足导致掉线 | ✅ 可缓冲电流,每端口独立供电 ≥1A |
信号抖动 | ✅ 优质 Hub 会改善信号完整性 |
带宽限制 | ❌ Hub 不能增加主控 USB 带宽,单控制器仍共享总带宽 |
同时枚举失败 | ❌ 仍受限于主控处理能力 |
硬件条件
条件 | 说明 |
---|---|
USB 控制器数量 | 安卓主机必须有 足够的高速 USB 控制器。如果只有一个 EHCI/xHCI 控制器,5 台高速设备会共享带宽和电流,可能掉线。理想是 每 2 台无人机分配一个控制器 或者使用带独立通道的 xHCI 控制器。 |
USB Hub 类型 | 有源 Hub(带独立电源)必需,否则 5 台无人机同时拉电可能导致电压下降和掉线。Hub 的每个端口最好能提供 1A 以上电流。 |
线材与信号完整性 | 高速 USB 线短、屏蔽良好,连接器质量高,以减少信号抖动和掉线。 |
软件条件
条件 | 说明 |
---|---|
USB Host 模式 | 安卓主机必须支持 USB Host(OTG)模式,并且有 xHCI 控制器驱动,支持多设备同时挂载。 |
文件系统访问 | 每台无人机的存储必须被识别为 USB Mass Storage(U盘模式) 或者 MTP 模式。安卓系统才能通过 /storage 或 /mnt/usb 访问。 |
多设备枚举 | 安卓 USB Host API 可以同时管理多个 USB 设备,但应用需要: |
集线器选型
外部电源适配器:配备 12V/2A 的外部电源适配器,可确保连接多个高功率设备时的稳定性
创惟科技 GL3520 芯片模组
- USB3.0 支持:采用专业 USB3.0 芯片设计,提供高速数据传输
- 稳定性:经过 Windows 8 硬件认证,传输更稳定
- 电源支持:芯片内建 12V 转 5V 稳压器,可为手机、平板提供充电
- 兼容性:同时兼容 Windows 和 macOS(苹果电脑)
虽然 GL3520 本身最多支持 4 个下游端口,但在实际应用中,可以通过级联多个 GL3520 芯片来实现更多的 USB 端口。 例如,某些 7 端口的 USB 集线器产品内部可能使用了多个 GL3520 芯片进行级联,以提供更多的端口。
A133 上通过hub挂载成功的日志
09-09 10:41:58.977 1794 1805 D vold : /system/bin/sgdisk
09-09 10:41:58.977 1794 1805 D vold : --android-dump
09-09 10:41:58.977 1794 1805 D vold : /dev/block/vold/disk:8,0
09-09 10:41:58.997 1794 1805 D vold : DISK mbr
09-09 10:41:58.997 1794 1805 D vold :
09-09 10:41:58.998 1794 1805 W vold : disk:8,0 has unknown partition table; trying entire device
09-09 10:41:58.998 1794 1805 D vold : /system/bin/blkid
09-09 10:41:58.998 1794 1805 D vold : -c
09-09 10:41:58.998 1794 1805 D vold : /dev/null
09-09 10:41:58.999 1794 1805 D vold : -s
09-09 10:41:58.999 1794 1805 D vold : TYPE
09-09 10:41:58.999 1794 1805 D vold : -s
09-09 10:41:58.999 1794 1805 D vold : UUID
09-09 10:41:58.999 1794 1805 D vold : -s
09-09 10:41:58.999 1794 1805 D vold : LABEL
09-09 10:41:58.999 1794 1805 D vold : /dev/block/vold/disk:8,0
09-09 10:41:59.037 1794 1805 D vold : /dev/block/vold/disk:8,0: LABEL="InternalStorage" UUID="61C8-D15B" TYPE="exfat"
09-09 10:41:59.037 1794 1805 D vold :
09-09 10:41:59.040 1794 1805 D vold : VolumeBase create onVolumeCreated
09-09 10:41:59.040 1794 1920 D vold : /system/bin/blkid
09-09 10:41:59.041 1794 1920 D vold : -c
09-09 10:41:59.041 1794 1920 D vold : /dev/null
09-09 10:41:59.041 1794 1920 D vold : -s
09-09 10:41:59.041 1794 1920 D vold : TYPE
09-09 10:41:59.041 1794 1920 D vold : -s
09-09 10:41:59.041 1794 1920 D vold : UUID
09-09 10:41:59.041 1794 1920 D vold : -s
09-09 10:41:59.041 1794 1920 D vold : LABEL
09-09 10:41:59.041 1794 1920 D vold : /dev/block/vold/public:8,0
09-09 10:41:59.083 1794 1920 D vold : /dev/block/vold/public:8,0: LABEL="InternalStorage" UUID="61C8-D15B" TYPE="exfat"
09-09 10:41:59.083 1794 1920 D vold :
09-09 10:41:59.085 1794 1920 D vold : /system/bin/fsck.exfat
09-09 10:41:59.085 1794 1920 D vold : -a
09-09 10:41:59.085 1794 1920 D vold : /dev/block/vold/public:8,0
09-09 10:41:59.231 1794 1920 D vold : exfatfsck 1.3.0
09-09 10:41:59.231 1794 1920 D vold :
09-09 10:41:59.231 1794 1920 D vold : Checking file system on /dev/block/vold/public:8,0.
09-09 10:41:59.231 1794 1920 D vold :
09-09 10:41:59.231 1794 1920 D vold : File system version 1.0
09-09 10:41:59.231 1794 1920 D vold :
09-09 10:41:59.231 1794 1920 D vold : Sector size 512 bytes
09-09 10:41:59.231 1794 1920 D vold :
09-09 10:41:59.231 1794 1920 D vold : Cluster size 128 KB
09-09 10:41:59.231 1794 1920 D vold :
09-09 10:41:59.231 1794 1920 D vold : Volume size 22 GB
09-09 10:41:59.231 1794 1920 D vold :
09-09 10:41:59.231 1794 1920 D vold : Used space 3308 KB
09-09 10:41:59.231 1794 1920 D vold :
09-09 10:41:59.231 1794 1920 D vold : Available space 22 GB
09-09 10:41:59.231 1794 1920 D vold :
09-09 10:41:59.231 1794 1920 D vold : Totally 10 directories and 3 files.
09-09 10:41:59.231 1794 1920 D vold :
09-09 10:41:59.231 1794 1920 D vold : File system checking finished. No errors found.
09-09 10:41:59.231 1794 1920 D vold :
09-09 10:41:59.233 1794 1920 I vold : Check OK
09-09 10:41:59.234 1794 1920 E vold : Mount failed; attempting read-only: No such device
09-09 10:41:59.235 1794 1920 D vold : /system/bin/mount.exfat
09-09 10:41:59.235 1794 1920 D vold : -o
09-09 10:41:59.235 1794 1920 D vold : uid=1023,gid=1023,fmask=7,dmask=7
09-09 10:41:59.235 1794 1920 D vold : /dev/block/vold/public:8,0
09-09 10:41:59.235 1794 1920 D vold : /mnt/media_rw/61C8-D15B
09-09 10:41:59.301 1794 1920 D vold : Waiting for FUSE to spin up...
RK3568 无法识别无人机中照片问题
内核日志
[ 122.412957] usb 5-1: new high-speed USB device number 2 using xhci-hcd
[ 122.554644] usb 5-1: New USB device found, idVendor=2ca3, idProduct=0020, bcdDevice= 5.04
[ 122.554727] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 122.554756] usb 5-1: Product: DJI-1581F87LW254M0025APZ
[ 122.554780] usb 5-1: Manufacturer: DJI
[ 122.554803] usb 5-1: SerialNumber: 123456789ABCDEF
[ 122.602097] rndis_host 5-1:1.0 usb1: register 'rndis_host' at usb-xhci-hcd.1.auto-1, RNDIS device, 6a:11:20:6c:be:17
[ 122.608627] usb-storage 5-1:1.2: USB Mass Storage device detected
[ 122.615706] scsi host0: usb-storage 5-1:1.2
[ 123.634674] scsi 0:0:0:0: Direct-Access Linux File-Stor Gadget 0504 PQ: 0 ANSI: 2
[ 123.639574] sd 0:0:0:0: Attached scsi generic sg0 type 0
[ 123.639617] sd 0:0:0:0: [sda] 46350296 512-byte logical blocks: (23.7 GB/22.1 GiB)
[ 123.639892] sd 0:0:0:0: [sda] Write Protect is off
[ 123.639914] sd 0:0:0:0: [sda] Mode Sense: 0f 00 00 00
[ 123.640213] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 123.642902] sda:
[ 123.649504] sd 0:0:0:0: [sda] Attached SCSI removable disk
vold日志
07-17 18:31:13.889 150 164 D vold : /system/bin/sgdisk
07-17 18:31:13.889 150 164 D vold : --android-dump
07-17 18:31:13.889 150 164 D vold : /dev/block/vold/disk:8,0
07-17 18:31:13.913 150 164 D vold : DISK mbr
07-17 18:31:13.915 150 164 W vold : disk:8,0 has unknown partition table; trying entire device
07-17 18:31:13.915 150 164 D vold : /system/bin/blkid
07-17 18:31:13.915 150 164 D vold : -c
07-17 18:31:13.915 150 164 D vold : /dev/null
07-17 18:31:13.915 150 164 D vold : -s
07-17 18:31:13.915 150 164 D vold : TYPE
07-17 18:31:13.915 150 164 D vold : -s
07-17 18:31:13.915 150 164 D vold : UUID
07-17 18:31:13.915 150 164 D vold : -s
07-17 18:31:13.915 150 164 D vold : LABEL
07-17 18:31:13.915 150 164 D vold : /dev/block/vold/disk:8,0
07-17 18:31:13.958 150 164 D vold : /dev/block/vold/disk:8,0: LABEL="InternalStorage" UUID="61C8-D15B" TYPE="exfat"
07-17 18:31:13.963 150 223 D vold : /system/bin/blkid
07-17 18:31:13.963 150 223 D vold : -c
07-17 18:31:13.963 150 223 D vold : /dev/null
07-17 18:31:13.963 150 223 D vold : -s
07-17 18:31:13.963 150 223 D vold : TYPE
07-17 18:31:13.963 150 223 D vold : -s
07-17 18:31:13.963 150 223 D vold : UUID
07-17 18:31:13.963 150 223 D vold : -s
07-17 18:31:13.963 150 223 D vold : LABEL
07-17 18:31:13.963 150 223 D vold : /dev/block/vold/public:8,0
07-17 18:31:14.003 150 223 D vold : /dev/block/vold/public:8,0: LABEL="InternalStorage" UUID="61C8-D15B" TYPE="exfat"
07-17 18:31:14.004 150 223 E vold : public:8,0 unsupported filesystem exfat
关键日志
unsupported filesystem exfat
文件系统是 exFAT,Android 当前环境不支持,所以挂载失败
exFAT 驱动发展 + Linux 内核 + Android 支持情况
2006 ── 2010 ── 2015 ── 2017 ── 2019 ── 2020 ──> 时间
Linux 内核:
[3.x/4.x] ────> FUSE 用户态 / OOT 内核模块
(旧内核无原生 exFAT,性能有限)
[4.x LTS] ────> OOT 模块稳定版
(社区维护,兼容 4.19)
[5.4+] ────> 原生 exFAT 内核驱动
(微软开源,性能优良)
Android 系统:
<= Android 9 ──> 不支持 exFAT / 可集成 FUSE
Android 10-11 ──> 默认不支持 exFAT
(需要 OOT 模块集成)
Android 12+ ──> 可直接使用原生内核 exFAT
(厂商可挂载大文件/大容量 SD 卡)
驱动类型:
FUSE 用户态 ──> 所有旧内核兼容
OOT 内核模块 ──> 4.x 内核使用
内核原生驱动 ──> 5.4+ 内核使用,Android 12+ 支持
Android 上 exFAT 不一定需要内核原生支持
┌─────────────────────────┐
│ 存储设备插入 Android │
│ (SD 卡 / USB) │
└─────────┬─────────────┘
│
▼
┌─────────────────────┐
│ Linux 内核检测块设备 │
│ - 提供块设备接口 │
└─────────┬───────────┘
│
┌──────────┴───────────┐
│ │
▼ ▼
┌─────────────────┐ ┌────────────────────┐
│ 内核态驱动挂载 │ │ FUSE 用户态挂载 │
│ (in-kernel) │ │ (user-space) │
├─────────────────┤ ├────────────────────┤
│ 内核需要 exFAT │ │ 内核不需要 exFAT │
│ 驱动模块 │ │ 使用 /system/bin/mount.exfat │
│ │ │ 使用 /system/bin/fsck.exfat │
│ 挂载路径直接提供 │ │ FUSE 模块处理挂载逻辑 │
│ 给系统 │ │ /mnt/media_rw/... │
└─────────┬───────┘ └───────────────┬─────────┘
│ │
▼ ▼
┌─────────────────────┐ ┌─────────────────────┐
│ Android 系统访问挂载点 │ │ Android 系统访问挂载点 │
│ /mnt/media_rw/... │ │ /mnt/media_rw/... │
│ 文件管理器 / App │ │ 文件管理器 / App │
└─────────────────────┘ └─────────────────────┘
A133 上采用的是非内核驱动的方案, 源码位置:vendor/aw/public/package/bin/fstools/exfat/
exFAT 低内核版本文件系统适配
查看当前系统支持的文件系统
rk3568_r:/ $ cat proc/filesystems
nodev sysfs
nodev rootfs
nodev tmpfs
nodev bdev
nodev proc
nodev cpuset
nodev cgroup
nodev cgroup2
nodev devtmpfs
nodev configfs
nodev debugfs
nodev tracefs
nodev sockfs
nodev bpf
nodev pipefs
nodev ramfs
nodev devpts
ext3
ext2
ext4
vfat
exfat
msdos
iso9660
fuseblk
nodev fuse
nodev fusectl
nodev overlay
nodev incremental-fs
udf
f2fs
nodev selinuxfs
nodev binder
nodev pstore
nodev functionfs
RK3568 添加exfat文件系统后的挂载日志
2025-09-09 14:28:32.465 usb 5-1 kernel I new high-speed USB device number 4 using xhci-hcd
2025-09-09 14:28:32.607 usb 5-1 kernel I New USB device found, idVendor=2ca3, idProduct=0020, bcdDevice= 5.04
2025-09-09 14:28:32.608 usb 5-1 kernel I New USB device strings: Mfr=1, Product=2, SerialNumber=3
2025-09-09 14:28:32.608 usb 5-1 kernel I Product: DJI-1581F87LW254M0025APZ
2025-09-09 14:28:32.608 usb 5-1 kernel I Manufacturer: DJI
2025-09-09 14:28:32.608 usb 5-1 kernel I SerialNumber: 123456789ABCDEF
2025-09-09 14:28:32.675 rndis_host 5-1 kernel I 1.0 usb1: register 'rndis_host' at usb-xhci-hcd.1.auto-1, RNDIS device, 16:b4:33:2e:56:ca
2025-09-09 14:28:32.682 usb-storage 5-1 kernel I 1.2: USB Mass Storage device detected
2025-09-09 14:28:32.686 scsi host0 kernel I usb-storage 5-1:1.2
2025-09-09 14:28:33.707 scsi 0 kernel I 0:0:0: Direct-Access Linux File-Stor Gadget 0504 PQ: 0 ANSI: 2
2025-09-09 14:28:33.713 sd 0 kernel I 0:0:0: Attached scsi generic sg0 type 0
2025-09-09 14:28:33.713 sd 0 kernel I 0:0:0: [sda] 46350296 512-byte logical blocks: (23.7 GB/22.1 GiB)
2025-09-09 14:28:33.714 sd 0 kernel I 0:0:0: [sda] Write Protect is off
2025-09-09 14:28:33.714 sd 0 kernel D 0:0:0: [sda] Mode Sense: 0f 00 00 00
2025-09-09 14:28:33.714 sd 0 kernel I 0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
2025-09-09 14:28:33.732 sd 0 kernel I 0:0:0: [sda] Attached SCSI removable disk
09-09 14:28:33.721 161 175 D vold : /system/bin/sgdisk
09-09 14:28:33.721 161 175 D vold : --android-dump
09-09 14:28:33.721 161 175 D vold : /dev/block/vold/disk:8,0
09-09 14:28:33.749 161 175 D vold : DISK mbr
09-09 14:28:33.752 161 175 W vold : disk:8,0 has unknown partition table; trying entire device
09-09 14:28:33.752 161 175 D vold : /system/bin/blkid
09-09 14:28:33.752 161 175 D vold : -c
09-09 14:28:33.752 161 175 D vold : /dev/null
09-09 14:28:33.752 161 175 D vold : -s
09-09 14:28:33.752 161 175 D vold : TYPE
09-09 14:28:33.752 161 175 D vold : -s
09-09 14:28:33.752 161 175 D vold : UUID
09-09 14:28:33.752 161 175 D vold : -s
09-09 14:28:33.752 161 175 D vold : LABEL
09-09 14:28:33.752 161 175 D vold : /dev/block/vold/disk:8,0
09-09 14:28:33.802 161 175 D vold : /dev/block/vold/disk:8,0: LABEL="InternalStorage" UUID="61C8-D15B" TYPE="exfat"
09-09 14:28:33.810 161 2445 D vold : /system/bin/blkid
09-09 14:28:33.810 161 2445 D vold : -c
09-09 14:28:33.810 161 2445 D vold : /dev/null
09-09 14:28:33.810 161 2445 D vold : -s
09-09 14:28:33.810 161 2445 D vold : TYPE
09-09 14:28:33.810 161 2445 D vold : -s
09-09 14:28:33.810 161 2445 D vold : UUID
09-09 14:28:33.810 161 2445 D vold : -s
09-09 14:28:33.810 161 2445 D vold : LABEL
09-09 14:28:33.810 161 2445 D vold : /dev/block/vold/public:8,0
09-09 14:28:33.851 161 2445 D vold : /dev/block/vold/public:8,0: LABEL="InternalStorage" UUID="61C8-D15B" TYPE="exfat"
09-09 14:28:33.853 161 2445 D vold : /system/bin/fsck.exfat
09-09 14:28:33.853 161 2445 D vold : -y
09-09 14:28:33.853 161 2445 D vold : /dev/block/vold/public:8,0
09-09 14:28:33.885 161 2445 D vold : exfatprogs version : 1.2.9
09-09 14:28:33.885 161 2445 D vold : /dev/block/vold/public:8,0: clean. directories 16, files 9
09-09 14:28:33.888 161 2445 I vold : Check OK
09-09 14:28:33.909 161 2445 I vold : Mounting public fuse volume
09-09 14:28:33.916 161 2445 I vold : Bind mounting /mnt/media_rw/61C8-D15B to /mnt/pass_through/0/61C8-D15B
09-09 14:28:34.959 161 2445 I vold : Configuring read_ahead of /mnt/user/0/61C8-D15B fuse filesystem to 256kb
09-09 14:28:34.961 161 2445 I vold : Writing 256 to /sys/class/bdi/0:64/read_ahead_kb
09-09 14:28:34.961 161 2445 I vold : Configuring max_ratio of /mnt/user/0/61C8-D15B fuse filesystem to 40
09-09 14:28:34.962 161 2445 I vold : Writing 40 to /sys/class/bdi/0:64/max_ratio
注意:整个挂载过程耗时2.5秒
不同USB接口的充电能力对比
标准/协议 | 最大电压 | 最大电流 | 最大功率 | 说明 |
---|---|---|---|---|
USB 1.1 / 2.0 | 5V | 0.5A | 2.5W | 最早期的 USB 供电能力,仅能驱动低功耗设备(鼠标、键盘、U盘)。 |
USB 3.0 / 3.1 / 3.2 | 5V | 0.9A | 4.5W | 比 2.0 增加电流上限,能驱动移动硬盘、小型外设。 |
USB Battery Charging (BC 1.2) | 5V | 1.5A | 7.5W | 常见于手机充电器/PC USB 接口,支持快速充电(非 PD 协议)。 |
USB Type-C (默认) | 5V | 3A | 15W | Type-C 接口本身的默认供电能力,已足够驱动平板、树莓派等设备。 |
USB Power Delivery (USB-PD 2.0/3.0) | 5V–20V | 5A | 100W | 可协商电压:5V / 9V / 15V / 20V,不同设备需求不同(如笔记本电脑)。 |
USB-PD 3.1 (EPR, Extended Power Range) | 28V / 36V / 48V | 5A | 140W / 180W / 240W | 新增 28V、36V、48V 档位,能给游戏本、显示器甚至小型服务器供电。 |
苹果设备充电能力演进
产品 | 支持的充电协议 | 最大功率 |
---|---|---|
iPhone 3G / 3GS | USB 2.0(5V / 0.5A) | 2.5W |
iPhone 4 / 4s | USB 3.0(5V / 0.9A) | 4.5W |
iPhone 5 / 5s / 6 / 6s | BC 1.2(5V / 1.5A) | 7.5W |
iPhone 6s Plus / 7 / 7 Plus | Apple 2.4A 专有协议(5V / 2.4A) | 12W |
iPhone 8 / X / XR / XS / 11 / SE2 | USB-PD 2.0(5V/9V) | 18–20W |
iPhone 12 / 13 / 14 / 15 系列 | USB-PD 3.0(5V/9V,支持 9V/3A 档位) | 20–27W |
iPhone 16 系列 | USB-PD 3.0(支持最高 45W) | 45W(有线)/ 25W(MagSafe) |
iPhone 17 系列 | USB-PD 3.0(支持最高 50W) | 50W(有线 / 25W(MagSafe) |
MacBook Pro 13 (2016–2020) | USB-PD 3.0(20V / 3.05A) | 61W |
MacBook Pro 15 (2016–2019) | USB-PD 3.0(20V / 4.35A) | 87W |
MacBook Pro 16 (2019) | USB-PD 3.0(20V / 4.7A) | 96W |
MacBook Pro 14/16 (2021+) | USB-PD 3.1 EPR(28V / 5A) | 140W |
USB HUB 同时接5个DJI NEO 芯片选型和设计
厂商 | 国别 | 芯片型号 | USB 版本 | 下游端口 | 最大单口供电 | 典型应用 |
---|---|---|---|---|---|---|
创惟科技(Genesys Logic, GL) | 台湾 | GL3520 / GL3522 / GL3523 | USB 3.0 / 3.1 | 4 | 900mA | USB Hub、扩展坞 |
创惟科技(Genesys Logic, GL) | 台湾 | GL850G / GL850A | USB 2.0 | 4 | 500mA | USB Hub、键鼠共享 |
智微科技(JMicron) | 台湾 | JMS561 / JMS583 / JMS586 | USB 3.0 / 3.1 / 3.2 | 1~4 | 900mA | 外置硬盘盒、SSD 外壳 |
威盛电子(VIA Labs) | 台湾 | VL817 / VL813 / VL820 | USB 3.0 / 3.1 | 4~7 | 900mA | USB Hub、智能充电设备 |
德州仪器(Texas Instruments, TI) | 美国 | TUSB8041 / TUSB8042 | USB 3.0 | 4 | 900mA | 扩展坞、多端口 Hub |
瑞萨电子(Renesas) | 日本 | µPD720202 / µPD720201 | USB 3.0 | 4 | 900mA | 主机控制器、Hub |
华硕旗下(ASMedia) | 台湾 | ASM1042 / ASM1142 | USB 3.0 / 3.1 | 4~7 | 900mA | 主板 USB 扩展、Hub |
赛普拉斯 / 英飞凌(Cypress / Infineon) | 美国 / 德国 | EZ-USB FX3 | USB 3.0 | 可编程 | 可编程 | 高性能存储、定制外设 |
如果同时需要为多个高功率设备(如 DJI NEO 飞机)充电,需要考虑电源方案和单口供电能力
硬件架构
┌────────────────────────────┐
│ 外部电源模块 │
│ 5V / 12~15A DC-DC │
└───────────┬────────────────┘
│
│ 5V 高电流
│
┌───────────────────┴───────────────────┐
│ │
┌───────▼─────────┐ ┌───────▼─────────┐
│ 主数据端口芯片 │ │ 充电端口智能IC │
│ GL3523-A │ │ TPS2548 等 │
│ 下游端口:3 个 │ └───────┬─────────┘
└───────┬─────────┘ │
│ │
│ 级联(Cascade) │
▼ ▼
┌───────▼─────────┐ ┌─────────────┴─────────────┐
│ 从数据端口芯片 │ │ 充电端口 1 │ 5V │ 2~3A │
│ GL3523-B │ │ 充电端口 2 │ 5V │ 2~3A │
│ 下游端口:1 个 │ │ 充电端口 3 │ 5V │ 2~3A │
└───────┬─────────┘ │ 充电端口 4 │ 5V │ 2~3A │
│ │ 充电端口 5 │ 5V │ 2~3A │
┌───────┴─────────┐ └───────────────────────────┘
│ 数据端口 1 │ USB3.0 │ 0.9A │
│ 数据端口 2 │ USB3.0 │ 0.9A │
│ 数据端口 3 │ USB3.0 │ 0.9A │
│ 数据端口 4 │ USB3.0 │ 0.9A │ (从芯片下游端口)
└─────────────────┘
说明:
- 数据端口级联设计:主芯片 GL3523-A 下游 3 个端口,其中 1 个用于级联从芯片 GL3523-B,实现 4 个数据端口。
- 数据端口:总共 4 个 USB 3.0 数据端口,每口 0.9A,用于高速数据传输。
- 充电端口:5 个高功率充电端口,通过独立智能充电 IC(TPS2548 等),每口 5V/2~3A,可为 DJI NEO 飞机充电。
- 外部电源模块:提供总功率约 5V/12~15A,支持 5 台飞机同时充电。
- 保护设计:每个端口过流、短路保护;整体散热设计。
- 数据端口与充电端口分开,避免高电流影响高速 USB 数据传输。