SmartUSBHub Pro 4CH USB2.0 使用指南

English Version

view1

本文档适用型号:SmartUSBHub Pro 4CH USB2.0

本文档更新日期:2026年6月4日

产品概述

SmartUSBHub是一个4端口的可编程USB2.0(480Mbps)集线器,每个下游端口均可独立控制电源和数据通道,同时具备电压/电流测量功能,适用于开发、测试和设备管理。

  1. 独立电源/数据控制,模拟热插拔: SmartUSBHub 每个下游端口支持 电源(VBUS)数据(D+ / D-) 的独立控制,可通过指令模拟物理插拔USB设备 。工程师无需手动插拔即可远程控制USB设备的连接/断开,实现自动化测试或远程重启设备,极大提升调试和测试效率。

  2. 电压/电流监测: 该集线器提供每端口实时电压、电流采集功能 。这意味着用户可以随时监控各被测设备的供电电压及电流,辅助进行设备功耗分析与状态监测。在测试中若出现异常电压跌落或电流过载,工程师能够及时发现并定位问题。

  3. 开源软件生态,易于集成: SmartUSBHub 提供了开源的协议、控制软件和 Python 控制库,兼容 Windows/macOS/Linux 等主流操作系统 。得益于标准串口指令接口和开放的API,用户可将其无缝集成到现有的自动化测试平台或脚本中(通过Python、CLI等),轻松将USB端口控制纳入自动化流程,加速开发测试周期。

  4. 多模式端口管理

  • 支持 普通模式(多通道同时控制)与 互锁模式(仅允许操作一个通道)

  • 每端口可设置 上电默认状态断电状态记忆

  1. 扩展性强

  • 设备支持地址配置,适用于菊花链拓扑结构,连接多个SmartUSBHub。

被行业验证的选择

从消费电子到自动驾驶,从全球领先的消费电子品牌到高性能芯片设计公司,SmartUSBHub 已广泛应用于多个行业头部企业的研发流程、自动化测试系统与产线测试场景中。

SmartUSBHub 目前已被全球 20+ 家行业头部企业广泛采用,其客户涵盖以下代表性领域:

  • 汽车行业: 全球 Tier 1 前五大供应商中,超三家在使用

  • 智能手机行业: 全球出货量前五的终端品牌中,超三家在使用

  • 半导体与芯片设计: 全球领先芯片设计公司中,超五家在使用

  • 人工智能与大模型平台: 全球领先企业中,超两家在使用

  • 通信与物联网设备制造: 全球/区域多家龙头企业在使用

应用场景

嵌入式开发调试

  • 精确控制 USB 连接与识别流程:支持通过编程方式控制 USB 设备的连接与断开,实现预设的枚举顺序。在自动化测试或多设备系统中,可确保关键设备优先识别,提升测试一致性与系统初始化的可控性。

  • 远程调试与复位: 嵌入式开发中经常需要反复插拔调试器或USB设备来复位系统。使用 SmartUSBHub,工程师可以通过软件远程控制调试工具(如 J-Link 等)与目标板的连接和断开 。例如,在无人值守的测试机台上,Hub 可模拟拔插操作对设备上电/掉电,及时重启挂起的设备或进入调试模式,避免人工干预提高调试效率。

  • 供电监控与故障定位: 在调试过程中监控设备的电源状态有助于定位问题。借助 SmartUSBHub 的电压、电流监测功能,开发者可以实时观察开发板的电压稳压情况和电流消耗。一旦出现异常的功耗波动(例如突发掉电或过流),即可通过采集的数据及时发现并定位硬件故障点,保证嵌入式系统调试的稳定性和安全性。

自动化验证测试

  • 可靠性测试: 在自动化测试环境下,SmartUSBHub 可编程控制各端口电源和数据通断,对被测设备执行反复的上电/断电连接/断开循环 。这种方式可模拟反复插拔、掉电等极端场景,验证设备及其USB接口的稳定性和抗压能力,帮助发现设备在异常断连断电情况下的潜在问题(如Flash擦写过程中断电),而无需人工反复插拔设备。

  • 功耗特性验证: 利用 SmartUSBHub 的端口电压电流采集能力,测试系统能够在运行自动化用例时记录每个USB设备的实时供电电压和电流。工程师可将这些数据与功能测试结果关联分析,验证设备在不同工作状态下的功耗是否符合预期。例如,可自动判定设备在待机/满载时的电流是否在规范范围内,及时发现异常耗电情况。

  • 测试系统集成: SmartUSBHub 提供的 Python API 和串口指令接口使其易于集成进现有ATE(自动测试设备)系统。测试脚本可以直接调用Hub接口,对多个USB端口进行并行或序列化的控制操作。例如,在批量测试中同步重启多台设备,或按顺序依次切换端口与主机通信来进行固件刷写 。这种灵活的可编程控制大大提高了测试的自动化程度和效率。

生产线批量测试

  • 提升产线测试效率: 在产品生产的批量测试阶段,使用 SmartUSBHub 可以搭建同时连接多台待测设备的测试工装,由软件分别控制每个端口的通断状态。相比人工逐一插拔,Hub允许测试系统并行地对多台设备执行测试流程,显著提升了单批次设备测试的吞吐量 ,帮助厂家缩短生产测试周期。

  • 自动化固件刷写与重启: 生产线常见的固件烧录、反复重启等流程也可由 SmartUSBHub 来自动完成。利用可编程端口控制,测试工站的软件可按序切换USB数据连接为多台设备依次烧写固件,并在完成后远程断电重启设备 。整个过程无需人工参与,保证每台设备以相同步骤执行,减少人为误差并提高一致性。

  • 电气参数测试: 利用每端口的电流监测功能,可实时识别出电流异常(如短路或过流)设备,辅助测试系统标记不良品,保障测试链路安全运行。

USB资产管理

  • 敏感设备控制与授权管理: 支持对加密狗、电子签章、税务 UKey 等硬件资产的连接状态进行集中控制。通过物理 USB 通断实现高安全性场景下的设备启用/禁用逻辑。

  • 多终端接入场景管理: 可用于会议室、数据中心等环境中,对摄像头、麦克风、外设切换器等 USB 设备进行远程连接管理。

  • 硬件级 USB 隔离与接入审计: 适用于金融、政务等行业,通过 Hub 的断电控制实现物理级端口隔离,避免非授权接入带来的数据泄露风险。

设备概览

device_overview

连接说明

connection_guide_cn

设备接口

  • 设备控制端口 1个:用于收发控制指令,另一端接到主机

  • 辅助供电端口 1个:当下游设备需要更高功率时,将外置供电电源连接至此端口

  • USB上游端口 1个:用于连接USB主机的端口

  • USB下游端口 4个:用于连接USB设备

接线图

[1]按键

单击:打开/关闭对应通道

长按:[按键1] 3秒:切换工作模式:普通/互锁; 6秒:恢复出厂设置

​ [按键2] 3秒:启用/关闭上电恢复功能

[2]通道指示灯

亮:通道已打开

灭:通道已关闭

[3]状态指示灯

慢闪:普通模式

快闪:互锁模式

[4]辅助供电端口

当下游设备功率超过10W时,请将外置电源连接至该端口。

该口电源最大输入规格(建议):30W(5V 6A)不带过流保护。

[5]指令控制口

该口用于收发控制指令,另一端接到主机。

最大输入规格:20W(5V 4A)带防倒灌、过压保护、过流保护。

[6]USB2.0上游端口

该口具备供电与数据传输功能,可用于连接USB主机设备,如电脑

最大输入规格:20W(5V 4A)带防倒灌、过压保护、过流保护。

[7]USB2.0下游端口

USB-A接口,具备供电数据传输功能,用于连接USB设备

每个口电源最大输出规格:20W(5V 4A)

[!NOTE]

连接 USB2.0上游端口[6] 到主机以实现数据传输,连接 指令控制口[5] 以实现指令控制。

也就是说,如果需要数据传输且通过指令控制,请将上述两个接口都连接到同一主机。

系统兼容性

本设备使用标准USB CDC,免驱动。已验证以下系统版本:

  • Windows 10、11 或更新版本。

  • macOS 10.9 或更新版本。

  • Linux 发行版,如Ubuntu。

  • 其他X86、AMD64、ARM64架构兼容,如Apple Silicon平台、Windows on ARM平台。

[!NOTE]

对于Windows 7及之前版本的Windows操作系统,需打驱动补丁,详情请参考win7系统安装CDC驱动

USB兼容性

本设备遵循USB2.0协议,上游端口支持USB2.0高速和全速,下游端口支持USB2.0高速480Mbps、全速12Mbps和低速1.5Mbps,向下兼容USB1.1协议规范。

支持高性能MTT模式(4个TT各对应1个端口,并发处理),为每个端口提供独立TT实现满带宽并发传输,总带宽是STT的4倍。

可连接所有USB接入的设备,不挑设备

常用连接设备

connect_device

已验证过的设备

名称

keyboard

键盘、鼠标等输入设备

thumbdrive

U盘

harddrive

移动硬盘

dongle

CA证书锁、数字签章设备

iPhone

iPhone

iPad

iPad

s25

其他智能手机、平板

cam

USB摄像头 / 麦克风 / 音频卡

printer

各类 USB CDC 类产品(如工业设备、打印设备)

需要 USB 供电的模块或整机

集线器均支持电流消耗小于4A的用电设备。

已验证过的设备

名称

fan

USB风扇

pump

水泵

screenbar

小米屏幕挂灯、明基ScreenBar系列

led

USB灯带

speaker

USB音箱

开发工具类设备

已验证过的设备

名称

jlink

Segger J-Link

stlink

ST-Link

xds110

XDS-110

xds100

XDS-100

daplink

DAP-LINK

canbox

USB转CAN

logic_analyzer

逻辑分析仪

usbserial

USB串口桥

dongle

USB加密狗

esp32

各类开发板、研发原型机

raspberry

树莓派

instrument

带USB接口的仪器

[!WARNING]

不支持快充协议,连接手机、平板设备的充电电流等同于直接接到电脑上。


设备参数

尺寸

10.6x4.6x1.8 CM(长x宽x高)

电气参数

  • 输入电压:DC 5V

  • 输入电流(最大):16A

  • 输出电流:每路最大4A

  • 控制方式:按键控制、指令控制

  • 供电方式:主机取电、辅助供电接口取电

接口

  • USB速度:USB2.0 480Mbps

  • 控制接口:USB(非TTL信号,内部已经转换为USB串口)

  • 上游端口:1个USB-C接口

  • 下游端口:4个USB-A接口

  • 辅助供电接口:1个USB-C接口

保护功能

  • 过流保护:上游端口、指令接口、下游端口每路均带4A自恢复保险

  • 过压保护:上游端口、指令接口带过压保护

  • 防电流倒灌:上游端口、指令接口、辅助供电接口带过压保护

  • 静电保护:关键接口均带ESD静电防护

详细参数

Parameter

Conditions/Notes

Min

Typ.

Max

Units

USB Downstream (Vbus)

4.5

5.0

5.5

V

USB Downstream Current

LIM=4.0A

0.0

-

4.0

A

Current Measurement Range

TBD

4000

mA

Current Measurement Resolution

-

TBD

-

mA

Current Measurement Accuracy

-

TBD

-

%

Vbus Voltage Measurement

0.0

-

5.5

V

Vbus Voltage Resolution

-

TBD

-

mV

Vbus Output Rise Time

TBD

ms

Short Circuit Response Time

TBD

µs

设备框图

image-20250614180531459

灯语

设备最左侧有一颗指示灯

sc2

灯语如下

闪烁规律

含义

0.5秒亮,0.5秒灭

普通工作模式

0.25秒亮,0.25秒灭

通道互锁工作模式

叠加熄灭

接收到控制命令帧

按键

设备有4个按键,分别对应4个USB-A通道的控制,以下按键有特殊功能

操作

功能

默认状态

按键1 先按住再上电

进入固件升级模式

按键1 长按6秒以上

恢复出厂设置

按键1 长按3秒以上

切换工作模式:普通/互锁,断电仍然有效。

普通模式

按键2 长按3秒以上

启用/禁用断电状态记忆功能(记忆通道状态)

不保存

指令集

设备通过简易的请求-响应通信协议进行交互控制,有以下命令

功能分类

指令码

描述说明

控制通道电源开关

0x01

控制指定通道的VBUS供电状态

查询通道电源状态

0x00

查询通道当前VBUS供电是否开启

控制互锁模式下电源开关

0x02

通道互锁下,仅允许一路通道开启

查询电压采样

0x03

查询通道VBUS电压值(单位:mV)

查询电流采样

0x04

查询通道电流值(单位:mA)

控制USB数据开关

0x05

控制D+/D−是否连通

查询USB差分线状态

0x08

查询D+/D−当前开关状态

设置按键控制权限

0x09

使能或禁用按键控制功能

查询按键控制权限

0x0A

查询当前是否启用按键控制

设置电源默认状态

0x0B

配置上电后VBUS默认开启/关闭

查询电源默认状态

0x0C

查询通道电源默认状态

设置数据连通的默认状态

0x0D

配置D+/D−默认开关状态

查询数据连通的默认状态

0x0E

查询D+/D−默认状态

设置断电状态记忆

0x0F

开启/关闭通道状态记忆

查询断电保存状态

0x10

查询是否启用断电状态记忆功能

设置设备地址

0x11

设置设备的地址,用于在多台集线器连接的场景中,标识和区分各个集线器

获取设备地址

0x12

获取设备的地址,用于在多台集线器连接的场景中,标识和区分各个集线器

设置工作模式

0x06

切换普通/互锁模式

查询工作模式

0x07

查询当前工作模式

恢复出厂设置

0xFC

恢复出厂设置

查询固件版本号

0xFD

查询设备固件版本

查询硬件版本号

0xFE

查询当前硬件版本

帧格式

帧头1

帧头2

CMD

DATA[1-3]

SUM8 校验和

0x55

0x5A

详见指令集

视具体指令而定

CMD+CH+data[1-3]

命令示例

[!NOTE]

  • 以下所有数据内容均为16进制。

  • 通道值的取值为Channel_e并非通道数字,在控制和查询命令集中可用位或批量控制和查询;若设备处于互锁模式,则只能使用互锁控制命令[0x02],按位与无效

  • 发送的帧格式或错误命令将不会响应。

  • 按键按下时将会上报当前按下的通道状态[0x00]。

  • 在资料包中的uart_tool中,有串口助手便于快速上手。

  • 提供python控制库smartusbhub

  • 下文将USB下游端口称为通道

通道值

typedef enum
{
    CH1 = 0x01,
    CH2 = 0x02,
    CH3 = 0x04,
    CH4 = 0x08, 
}Channel_e;

[!NOTE]

设备通信参数

  • 波特率:115200 - 921600 默认:115200

  • 数据位:8

  • 校验位:无

  • 停止位:1

设备名称

  • Windows平台: COMx

  • Linux平台: /dev/ttyACMx

  • macOS平台: /dev/cu.usbmodemx

控制通道电源开关(CMD:0x01)

[!NOTE]

若设备处于互锁模式下,则控制指令(CMD:0x01)无效,需要使用互锁控制命令(CMD:0x02)控制;

若处于互锁模式下,发送控制指令,将会返回指令无效帧

指令无效

55 5A 01 FF FF FF 

data域描述:

data[0]

data[1]

通道号

通道电源开关值

Channel_e

0 (OFF), 1(ON)

打开通道1电源

命令

55 5A 01 01 01 03

返回

55 5A 01 01 01 03

关闭通道1电源

命令

55 5A 01 01 00 02

返回

55 5A 01 01 00 02

打开通道2电源

命令

55 5A 01 02 01 04

返回

55 5A 01 02 01 04

关闭通道2电源

命令

55 5A 01 02 00 03

返回

55 5A 01 02 00 03

打开通道3电源

命令

55 5A 01 04 01 06

返回

55 5A 01 04 01 06

关闭通道3电源

命令

55 5A 01 04 00 05

返回

55 5A 01 04 00 05

打开通道4电源

命令

55 5A 01 08 01 0A

返回

55 5A 01 08 01 0A

关闭通道4电源

命令

55 5A 01 08 00 09

返回

55 5A 01 08 00 09

组合控制示例

打开通道1和通道3电源

命令

55 5A 01 05 01 07

返回

55 5A 01 05 01 07

关闭通道1和通道3电源

命令

55 5A 01 05 00 06

返回

55 5A 01 05 00 06

打开所有通道电源

命令

55 5A 01 0F 01 11

返回

55 5A 01 0F 01 11

关闭所有通道电源

命令

55 5A 01 0F 00 10

返回

55 5A 01 0F 00 10

查询通道电源开关值(CMD:0x00)

data域描述:

data[0]

data[1]

通道号

通道电源开关值

Channel_e

0 (OFF), 1(ON)

查询通道1电源的开关值

命令

55 5A 00 01 00 01

返回

如果通道1电源关闭

55 5A 00 01 00 01

如果通道1电源打开

55 5A 00 01 01 02

查询通道2电源的开关值

命令

55 5A 00 02 00 02

返回

如果通道2电源关闭

55 5A 00 02 00 02

如果通道2电源打开

55 5A 00 02 01 03

查询通道3电源的开关值

命令

55 5A 00 04 00 04

返回

如果通道3电源关闭

55 5A 00 04 00 04

如果通道3电源打开

55 5A 00 04 01 05

查询通道4电源的开关值

命令

55 5A 00 08 00 08

返回

如果通道4电源关闭

55 5A 00 08 00 08

如果通道4电源打开

55 5A 00 08 01 09

组合控制示例

查询所有通道的电源开关值

命令

55 5A 00 0F 00 0F

返回

55 5A 00 01 01 02 
55 5A 00 02 00 02 
55 5A 00 04 00 04 
55 5A 00 08 01 09 
  • 通道1电源:打开

  • 通道2电源:关闭

  • 通道3电源:关闭

  • 通道4电源:打开

控制通道USB 数据开关 (CMD:0x05)

设备可控制指定通道的USB差分对(D+ D-)的通断,从而满足保持供电但断开数据的应用场景。

[!NOTE]

  1. 设备默认每个通道的USB 数据信号是连通的,除非用户发送控制通道数据开关指令(CMD:0x05)手动切断。

  2. 如果启用断电状态记忆,数据开关状态将记忆。

data域描述:

data[0]

data[1]

通道号

通道数据开关值

Channel_e

0 (OFF), 1(ON)

连通通道1数据

命令

55 5A 05 01 01 07

返回

55 5A 05 01 01 07

断开通道1数据

命令

55 5A 05 01 00 06

返回

55 5A 05 01 00 06

连通通道2数据

命令

55 5A 05 02 01 08

返回

55 5A 05 02 01 08

断开通道2数据

命令

55 5A 05 02 00 07

返回

55 5A 05 02 00 07

连通通道3数据

命令

55 5A 05 04 01 0A

返回

55 5A 05 04 01 0A

断开通道3数据

命令

55 5A 05 04 00 09

返回

55 5A 05 04 00 09

连通通道4数据

命令

55 5A 05 08 01 0E

返回

55 5A 05 08 01 0E

断开通道4数据

命令

55 5A 05 08 00 0D

返回

55 5A 05 08 00 0D

组合控制示例

连通所有通道数据

命令

55 5A 05 0F 01 15

返回

55 5A 05 0F 01 15

断开所有通道数据

命令

55 5A 05 0F 00 14

返回

55 5A 05 0F 00 14

查询通道USB 数据开关值(CMD:0x08)

data域描述:

data[0]

data[1]

通道号

通道数据开关值

Channel_e

0 (OFF), 1(ON)

查询通道1数据的连通状态

命令

55 5A 08 01 00 09

返回

如果通道1数据断开

55 5A 08 01 00 09

如果通道1数据连通

55 5A 08 01 01 0A

查询通道2数据的连通状态

命令

55 5A 08 02 00 0A

返回

如果通道2数据断开

55 5A 08 02 00 0A

如果通道2数据连通

55 5A 08 02 01 0B

查询通道3数据的连通状态

命令

55 5A 08 04 00 0C

返回

如果通道3数据断开

55 5A 08 04 00 0C

如果通道3数据连通

55 5A 08 04 01 0D

查询通道4数据的连通状态

命令

55 5A 08 08 00 10

返回

如果通道4数据断开

55 5A 08 08 00 10

如果通道4数据连通

55 5A 08 08 01 11

组合控制示例

查询所有通道的数据连通状态

命令

55 5A 08 0F 00 17

返回

55 5A 08 01 01 0A
55 5A 08 02 01 0B
55 5A 08 04 01 0D
55 5A 08 08 01 11 
  • 通道1数据:连通

  • 通道2数据:连通

  • 通道3数据:连通

  • 通道4数据:连通

控制互锁模式下电源开关(CMD:0x02)

控制真值表

通道1

通道2

通道3

通道4

关闭

关闭

关闭

关闭

打开

关闭

关闭

关闭

关闭

打开

关闭

关闭

关闭

关闭

打开

关闭

关闭

关闭

关闭

打开

data域描述:

data[0]

data[1]

通道号

通道电源开关值

Channel_e

0 (OFF), 1(ON)

打开通道1电源,其余通道关闭

命令

55 5A 02 01 01 04

返回

55 5A 02 01 01 04

打开通道2电源,其余通道关闭

命令

55 5A 02 02 01 05

返回

55 5A 02 02 01 05

打开通道3电源,其余通道关闭

命令

55 5A 02 04 01 07 

返回

55 5A 02 04 01 07 

打开通道4电源,其余通道关闭

命令

55 5A 02 08 01 0B

返回

55 5A 02 08 01 0B

关闭所有通道

命令

55 5A 02 0F 01 12

返回

55 5A 02 0F 01 12

查询通道电压(CMD:0x03)

[!NOTE]

  • 设备可测量每一路通道输出端(VBUS)的电压值,可用于判断总线是否正常。

  • 电压单位为mv

  • 电压分辨率为0.1V

data域描述:

data[0]

data[1]

data[2]

通道号

通道电压值[15:8]

通道电压值[7:0]

Channel_e

-

-

查询通道1的电压值

命令

55 5A 03 01 00 04

返回

55 5A 03 01 13 56 6D

通道1电压值为:0x1356 = 4950mv (通道打开)

查询通道2的电压值

命令

55 5A 03 02 00 05

返回

55 5A 03 02 00 0C 11 

通道2电压值为:0x000C = 12mv (通道关闭)

查询通道3的电压值

命令

55 5A 03 04 00 07 

返回

55 5A 03 04 00 09 10

通道3电压值为:0x0009 = 9mv (通道关闭)

查询通道4的电压值

命令

55 5A 03 08 00 0B  

返回

55 5A 03 08 00 08 13

通道4电压值为:0x0008 = 8mv (通道关闭)

查询通道电流(CMD:0x04)

[!NOTE]

设备可测量每一路通道的电流值,可用于判断设备工作状态。

电流单位为mA

电流分辨率为0.1A

data域描述:

data[0]

data[1]

data[2]

通道号

通道电流值[15:8]

通道电流值[7:0]

Channel_e

-

-

查询通道1的电流值

命令

55 5A 04 01 00 05  

返回

55 5A 04 01 01 29 2F

通道1电流值为:0x0129 = 297ma

查询通道2的电流值

命令

55 5A 04 02 00 06  

返回

55 5A 04 02 00 00 06

通道2电流值为:0x0000 = 0ma

查询通道3的电流值

命令

55 5A 04 04 00 08  

返回

55 5A 04 04 00 00 08

通道3电流值为:0x0000 = 0ma

查询通道4的电流值

命令

55 5A 04 08 00 0C 

返回

55 5A 04 08 00 00 0C

通道4电流值为:0x0000 = 0ma

设置按键控制权限(CMD:0x09)

[!NOTE]

  1. 设备默认能通过按键控制对应通道。

  2. 该配置影响范围为所有按键及通道。

  3. 长按功能不受影响。

  4. 该指令断电仍然保存。

data域描述:

data[0]

data[1]

固定

启用按键

0x00

0 (false), 1 (true)

禁用通过按键控制

命令

55 5A 09 00 00 09

返回

55 5A 09 00 00 09

启用通过按键控制

命令

55 5A 09 00 01 0A

返回

55 5A 09 00 01 0A

查询按键控制权限(CMD:0x0A)

data域描述:

data[0]

data[1]

固定

启用按键

0x00

0 (false), 1 (true)

命令

55 5A 0A 00 00 0A

返回

启用按键控制

55 5A 0A 00 01 0B

关闭按键控制功能

55 5A 0A 00 00 0A

设置通道电源默认状态(CMD:0x0B)

[!NOTE]

  • 在系统上电后的通道状态判断中,默认通道状态优先级高于断电状态记忆功能。当默认通道状态功能开启时,即使断电状态记忆功能也处于开启状态,系统上电后仍将按照默认通道状态决定各通道电源或数据的开启/关闭状态。

  • 当默认通道状态功能关闭时,通道的上电状态将依据断电状态记忆功能的设置决定。若断电状态记忆功能也处于关闭状态(默认配置),则系统上电后所有通道默认保持关闭状态。

  • 出厂配置默认所有通道的电源都是关闭的。

data域描述:

data[0]

data[1]

data[2]

通道号

启用电源默认状态

默认值

Channel_e

0 (false), 1 (true)

0 (OFF), 1(ON)

设置通道1电源默认状态为打开

命令

55 5A 0B 01 01 01 0E

返回

55 5A 0B 01 01 01 0E

设置通道1电源默认状态为关闭

命令

55 5A 0B 01 01 00 0D

返回

55 5A 0B 01 01 00 0D

设置通道2电源默认状态为打开

命令

55 5A 0B 02 01 01 0F

返回

55 5A 0B 02 01 01 0F

设置通道2电源默认状态为关闭

命令

55 5A 0B 02 01 00 0E

返回

55 5A 0B 02 01 00 0E

设置通道3电源默认状态为打开

命令

55 5A 0B 04 01 01 11

返回

55 5A 0B 04 01 01 11

设置通道3电源默认状态为关闭

命令

55 5A 0B 04 00 00 0F

返回

55 5A 0B 04 00 00 0F

设置通道4电源默认状态为打开

命令

55 5A 0B 08 01 01 15

返回

55 5A 0B 08 01 01 15

设置通道4电源默认状态为关闭

命令

55 5A 0B 08 01 00 14

返回

55 5A 0B 08 01 00 14

设置所有通道电源默认状态为打开

命令

55 5A 0B 0F 01 01 1C

返回

55 5A 0B 0F 01 01 1C

设置所有通道电源默认状态为关闭

命令

55 5A 0B 0F 01 00 1B

返回

55 5A 0B 0F 01 00 1B

禁用通道1电源使用默认状态

命令

55 5A 0B 01 00 00 0C

返回

55 5A 0B 01 00 00 0C

禁用通道2电源使用默认状态

命令

55 5A 0B 02 00 00 0D

返回

55 5A 0B 02 00 00 0D

禁用通道3电源使用默认状态

命令

55 5A 0B 04 00 00 0F

返回

55 5A 0B 04 00 00 0F

禁用通道4电源使用默认状态

命令

55 5A 0B 08 00 00 13

返回

55 5A 0B 08 00 00 13

禁用所有通道电源使用默认状态

命令

55 5A 0B 0F 00 00 1A

返回

55 5A 0B 0F 00 00 1A

查询通道电源默认状态(CMD:0x0C)

data域描述:

data[0]

data[1]

data[2]

通道号

启用电源默认状态

默认值

Channel_e

0 (false), 1 (true)

0 (OFF), 1(ON)

查询通道1的电源默认状态

命令

55 5A 0C 01 00 00 0D

返回

默认状态禁用

55 5A 0C 01 00 00 0D

默认关闭

55 5A 0C 01 00 00 0D 

默认开启

55 5A 0C 01 01 01 0F 

查询通道2的电源默认状态

命令

55 5A 0C 02 00 00 0E

返回

默认状态禁用

55 5A 0C 02 00 00 0E 

默认关闭

55 5A 0C 02 00 00 0E 

默认开启

55 5A 0C 02 01 01 10

查询通道3的电源默认状态

命令

55 5A 0C 04 00 00 10

返回

默认状态禁用

55 5A 0C 04 00 00 10 

默认关闭

55 5A 0C 04 00 00 10 

默认开启

55 5A 0C 04 01 01 12 

查询通道4的电源默认状态

命令

55 5A 0C 08 00 00 14

返回

默认状态禁用

55 5A 0C 08 00 00 14 

默认关闭

55 5A 0C 08 00 00 14

默认开启

55 5A 0C 08 01 01 16 

查询所有通道的电源默认状态

命令

55 5A 0C 0F 00 00 1B

返回

55 5A 0C 01 01 01 0F
55 5A 0C 02 01 01 10
55 5A 0C 04 01 01 12
55 5A 0C 08 01 01 16 
  • 通道1电源: 默认开启

  • 通道2电源: 默认开启

  • 通道3电源: 默认开启

  • 通道4电源: 默认开启

设置通道数据连通的默认状态(CMD:0x0D)

[!NOTE]

  • 在系统上电后的通道状态判断中,默认通道状态优先级高于断电状态记忆功能。当默认通道状态功能开启时,即使断电状态记忆功能也处于开启状态,系统上电后仍将按照默认通道状态决定各通道电源或数据的开启/关闭状态。

  • 当默认通道状态功能关闭时,通道的上电状态将依据断电状态记忆功能的设置决定。若断电状态记忆功能也处于关闭状态(默认配置),则系统上电后所有通道默认保持关闭状态。

  • 出厂配置默认所有通道的数据都是联通的。

data域描述:

data[0]

data[1]

data[2]

通道号

启用数据连接默认状态

默认值

Channel_e

0 (false), 1 (true)

0 (disconnect), 1(connect)

设置通道1数据连通的默认状态为连接

命令

55 5A 0D 01 01 01 10

返回

55 5A 0D 01 01 01 10

设置通道1数据连通的默认状态为断开

命令

55 5A 0D 01 01 00 0F

返回

55 5A 0D 01 01 00 0F

设置通道2数据连通的默认状态为连接

命令

55 5A 0D 02 01 01 11

返回

55 5A 0D 02 01 01 11

设置通道2数据连通的默认状态为断开

命令

55 5A 0D 02 01 00 10

返回

55 5A 0D 02 01 00 10

设置通道3数据连通的默认状态为连接

命令

55 5A 0D 04 01 01 13

返回

55 5A 0D 04 01 01 13

设置通道3数据连通的默认状态为断开

命令

55 5A 0D 04 01 00 12

返回

55 5A 0D 04 01 00 12

设置通道4数据连通的默认状态为连接

命令

55 5A 0D 08 01 01 17

返回

55 5A 0D 08 01 01 17

设置通道4数据连通的默认状态为断开

命令

55 5A 0D 08 01 00 16

返回

55 5A 0D 08 01 00 16

设置所有通道数据连通的默认状态为连接

命令

55 5A 0D 0F 01 01 1E

返回

55 5A 0D 0F 01 01 1E

设置所有通道数据连通的默认状态为断开

命令

55 5A 0D 0F 01 00 1D

返回

55 5A 0D 0F 01 00 1D

禁用通道1通道数据使用默认状态

命令

55 5A 0D 01 00 00 0E

返回

55 5A 0D 01 00 00 0E

禁用通道2通道数据连接使用默认状态

命令

55 5A 0D 02 00 00 0F

返回

55 5A 0D 02 00 00 0F

禁用通道3通道数据连接使用默认状态

命令

55 5A 0D 04 00 00 11

返回

55 5A 0D 04 00 00 11

禁用通道4通道数据连接使用默认状态

命令

55 5A 0D 08 00 00 15

返回

55 5A 0D 08 00 00 15

禁用所有通道数据连接使用默认状态

命令

55 5A 0D 0F 00 01 1D

返回

55 5A 0D 0F 00 01 1D

查询通道数据连通的默认状态(CMD:0x0E)

data域描述:

data[0]

data[1]

data[2]

通道号

启用数据连接默认状态

默认值

Channel_e

0 (false), 1 (true)

0 (disconnect), 1(connect)

查询通道1数据连通的默认状态

命令

55 5A 0E 01 00 00 0F

返回

默认状态禁用,数据默认连接

55 5A 0E 01 00 01 10 

默认状态启用,数据默认断开

55 5A 0E 01 01 00 10

默认状态启用,数据默认连接

55 5A 0E 01 01 01 11

查询通道2数据连通的默认状态

命令

55 5A 0E 02 00 00 10

返回

默认状态禁用,数据默认连接

55 5A 0E 02 00 01 11 

默认状态启用,数据默认断开

55 5A 0E 02 01 00 11

默认状态启用,数据默认连接

55 5A 0E 02 01 01 12 

查询通道3数据连通的默认状态

命令

55 5A 0E 04 00 00 12

返回

默认状态禁用,数据默认连接

55 5A 0E 04 00 01 13

默认状态启用,数据默认断开

55 5A 0E 04 01 00 13

默认状态启用,数据默认连接

55 5A 0E 04 01 01 14

查询通道4数据连通的默认状态

命令

55 5A 0E 08 00 00 16

返回

默认状态禁用,数据默认连接。

55 5A 0E 08 00 01 17

默认状态启用,数据默认断开

55 5A 0E 08 01 00 17

默认状态启用,数据默认连接

55 5A 0E 08 01 01 18

查询所有通道数据连通的默认状态

命令

55 5A 0E 0F 00 00 1D

返回

  • 通道1数据: 默认状态禁用,数据默认连接。

  • 通道2数据: 默认状态禁用,数据默认连接。

  • 通道3数据: 默认状态禁用,数据默认连接。

  • 通道4数据: 默认状态禁用,数据默认连接。

55 5A 0E 01 00 01 10 
55 5A 0E 02 00 01 11 
55 5A 0E 04 00 01 13 
55 5A 0E 08 00 01 17 
  • 通道1数据: 默认状态启用,数据默认断开。

  • 通道2数据: 默认状态启用,数据默认断开。

  • 通道3数据: 默认状态启用,数据默认断开。

  • 通道4数据: 默认状态启用,数据默认断开。

55 5A 0E 01 01 00 10 
55 5A 0E 02 01 00 11 
55 5A 0E 04 01 00 13 
55 5A 0E 08 01 00 17 

设置断电状态记忆(CMD:0x0F)

[!NOTE]

此功能可通过长按按键2开启或者关闭,开启后,将自动保存当前的通道状态,重新上电将会恢复所有通道断电之前的状态

data域描述:

data[0]

data[1]

固定

启用断电保存

0x00

0 (false), 1 (true)

启用断电状态记忆

命令

55 5A 0F 00 01 10

返回

55 5A 0F 00 01 10

关闭断电状态记忆

命令

55 5A 0F 00 00 0F

返回

55 5A 0F 00 00 0F

查询断电状态记忆状态(CMD:0x10)

data域描述:

data[0]

data[1]

固定

启用断电保存

0x00

0 (false), 1 (true)

命令

55 5A 10 00 00 10

返回

断电状态记忆启用

55 5A 10 00 01 11

断电状态记忆禁用

55 5A 10 00 00 10

设置设备地址(CMD:0x11)

[!NOTE]

  • 设备地址用于在多台集线器连接的场景中,标识和区分各个集线器。

  • 地址的编号由用户自定义,其取值范围为: 0x0000 - 0xFFFF

  • 地址默认值为0x0000

使用方法:

  1. 为每台集线器分配唯一的设备地址(只需设置一次)

  2. 在程序中依次读取所有已连接集线器的设备地址,并将其与各自对应的串口号或实例进行绑定

  3. 完成上述步骤后,所有集线器即具备了明确的顺序编号和对应关系

连接拓扑图

拓扑结构1:
  • 多个Hub的上游数据端口连接到一个上级的Hub

  • 多个Hub的控制端口连接到一个上级的Hub

  • 两个顶层的Hub连接到主机

该拓扑结构的可用端口为 4n

拓扑图.001

拓扑结构2:
  • 下一个Hub的上游数据端口连接到上一个Hub的下游数据端口

  • 多个Hub的控制端口连接到一个上级的Hub

  • 第一个Hub的上游数据端口连接到主机

  • 控制端口的顶层的Hub连接到主机

该拓扑结构的可用端口为 3n + 1

拓扑图.002

data域描述:

data[0]

data[1]

地址[15-8]

地址[7-0]

-

-

例子

设置集线器地址为0x0001

命令

55 5A 11 00 01 12

返回

55 5A 11 00 01 12

获取设备地址(CMD:0x12)

data域描述:

data[0]

data[1]

地址[15-8]

地址[7-0]

-

-

例子

获取集线器地址

命令

55 5A 12 00 00 12

返回

55 5A 12 00 01 13

该集线器地址为:0x0001

设置工作模式(CMD:0x06)

[!NOTE]

设备两种工作模式

  1. 普通模式:该模式每个通道都可任意控制。

  2. 互锁模式:该模式下各个通道为互斥状态,同一时刻只有一个通道打开。

  • 该指令断电仍然保存。

  • 可以通过长按按键13秒以上切换工作模式,可通过指示灯状态确定当前工作模式。

data域描述:

data[0]

data[1]

固定

工作模式

0x00

0 (普通模式), 1 (互锁模式)

设置普通模式

命令

55 5A 06 00 00 06

返回

55 5A 06 00 00 06

设置互锁模式

命令

55 5A 06 00 01 07

返回

55 5A 06 00 01 07

查询工作模式(CMD:0x07)

data域描述:

data[0]

data[1]

固定

工作模式

0x00

0 (普通模式), 1 (互锁模式)

命令

55 5A 07 00 00 07

返回

设备处于普通模式下

55 5A 07 00 00 07

设备处于互锁模式下

55 5A 07 00 01 08

恢复出厂设置(CMD:0xFC)

data域描述:

data[0]

data[1]

固定

固定

0x00

0x00

命令

55 5A FC 00 00 FC

返回

55 5A FC 00 00 FC

查询固件版本(CMD:0xFD)

data域描述:

data[0]

data[1]

版本号[15-8]

版本号[7-0]

-

-

命令

55 5A FD 00 00 FD

返回

55 5A FD 00 0F 0C

固件版本号:15

查询硬件版本(CMD:0xFE)

data域描述:

data[0]

data[1]

版本号[15-8]

版本号[7-0]

-

-

命令

55 5A FE 00 00 FE

返回

55 5A FE 00 03 01

硬件版本号:3 / V1.3

术语表

中文术语

英文术语

说明

USB数据(D+/D−)

USB Differential Signal Pair (D+/D−)

USB数据传输的差分对,核心物理信号线

数据开关

Differential Pair Switch

控制D+/D−的连接状态

电源控制

VBUS Power Control

控制通道的USB供电状态

电源开关状态

Power Switch State

表示当前VBUS供电是否开启

通道

Channel

集线器的各个下游端口(下游端口)

USB CDC

USB Communications Device Class

一种将 USB 设备虚拟成串口的标准协议

通道电压

Channel Voltage

VBUS上的电压采样值(单位:mV)

通道电流

Channel Current

电源输出电流采样值(单位:mA)

数据控制

USB Signal Control

控制D+/D−通断,但保留供电

数据开关状态

Signal Line Switch State

当前差分信号是否连通

通道互锁模式

Channel Interlock Mode

同一时间仅允许一个通道开启的互斥控制模式

上电默认状态

Power-On Default State

每通道上电后的初始开关状态

默认电源状态

Default Power State

系统上电后VBUS电源的默认开关值

默认数据状态

Default Signal State

系统上电后D+/D−数据线的默认开关值

断电状态记忆

Power-Loss State Retention

系统掉电前状态是否保存,并在上电后恢复

按键控制权限

Button Control Permission

是否允许用户通过实体按键控制通道

上游端口

Upstream Port

连接到主机(PC等)的端口

下游端口

Downstream Port

连接到外设(USB设备)的端口

指令控制

Software Command Control

通过串口协议下发的控制指令

工作模式

Operation Mode

普通模式 / 互锁模式

普通模式

Normal Mode

每通道独立控制

互锁模式

Interlock Mode

通道互斥,仅一个端口可同时开启

固件版本

Firmware Version

当前运行的系统版本

硬件版本

Hardware Version

当前使用的硬件电路版本

串口通信

UART Communication

使用USB虚拟串口进行指令传输

命令帧/协议帧

Command Frame / Protocol Frame

用于控制的完整通信报文结构

快速插拔模拟

Simulated Hot-Plug

保持供电的前提下控制数据连通,实现热插拔场景模拟

FAQ:

Q:已经接入USB数据设备(如U盘),但电脑端无法识别到任何连接的设备?

A:需连接[6]USB2.0上游端口到电脑上。

sc1

Q:没有找到串口设备

A:电脑是否为windows7或更早之前的版本?如果是,请安装legacy driver;检查是否将[5]指令控制口连接至主机接口

image-20250614203937364

Q:集线器偶尔会跟电脑断开连接

A:检查接入的设备功率是否过高?

如果超过电脑USB口的输出功率,则需要将足够功率的5V的电源适配器接到[4]辅助供电端口进行额外的供电。

image-20250614202517699

笔记:

此页为空白页