SmartUSBHub Pro 4CH USB2.0 使用指南¶

本文档适用型号:SmartUSBHub Pro 4CH USB2.0
本文档更新日期:2026年6月4日
产品概述¶
SmartUSBHub是一个4端口的可编程USB2.0(480Mbps)集线器,每个下游端口均可独立控制电源和数据通道,同时具备电压/电流测量功能,适用于开发、测试和设备管理。
独立电源/数据控制,模拟热插拔: SmartUSBHub 每个下游端口支持 电源(VBUS) 和 数据(D+ / D-) 的独立控制,可通过指令模拟物理插拔USB设备 。工程师无需手动插拔即可远程控制USB设备的连接/断开,实现自动化测试或远程重启设备,极大提升调试和测试效率。
电压/电流监测: 该集线器提供每端口实时电压、电流采集功能 。这意味着用户可以随时监控各被测设备的供电电压及电流,辅助进行设备功耗分析与状态监测。在测试中若出现异常电压跌落或电流过载,工程师能够及时发现并定位问题。
开源软件生态,易于集成: SmartUSBHub 提供了开源的协议、控制软件和 Python 控制库,兼容 Windows/macOS/Linux 等主流操作系统 。得益于标准串口指令接口和开放的API,用户可将其无缝集成到现有的自动化测试平台或脚本中(通过Python、CLI等),轻松将USB端口控制纳入自动化流程,加速开发测试周期。
多模式端口管理
支持 普通模式(多通道同时控制)与 互锁模式(仅允许操作一个通道)
每端口可设置 上电默认状态 与 断电状态记忆
扩展性强
设备支持地址配置,适用于菊花链拓扑结构,连接多个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 的断电控制实现物理级端口隔离,避免非授权接入带来的数据泄露风险。
设备概览¶

连接说明¶

设备接口¶
设备控制端口 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接入的设备,不挑设备。
常用连接设备¶

已验证过的设备 |
名称 |
|---|---|
|
键盘、鼠标等输入设备 |
|
U盘 |
|
移动硬盘 |
|
CA证书锁、数字签章设备 |
|
iPhone |
|
iPad |
|
其他智能手机、平板 |
|
USB摄像头 / 麦克风 / 音频卡 |
|
各类 USB CDC 类产品(如工业设备、打印设备) |
需要 USB 供电的模块或整机¶
集线器均支持电流消耗小于4A的用电设备。
已验证过的设备 |
名称 |
|---|---|
|
USB风扇 |
|
水泵 |
|
小米屏幕挂灯、明基ScreenBar系列 |
|
USB灯带 |
|
USB音箱 |
开发工具类设备¶
已验证过的设备 |
名称 |
|---|---|
|
Segger J-Link |
|
ST-Link |
|
XDS-110 |
|
XDS-100 |
|
DAP-LINK |
|
USB转CAN |
|
逻辑分析仪 |
|
USB串口桥 |
|
USB加密狗 |
|
各类开发板、研发原型机 |
|
树莓派 |
|
带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 |
设备框图¶

灯语¶
设备最左侧有一颗指示灯
灯语如下:
闪烁规律 |
含义 |
|---|---|
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平台:
COMxLinux平台:
/dev/ttyACMxmacOS平台:
/dev/cu.usbmodemx
控制通道电源开关(CMD:0x01)¶
[!NOTE]
若设备处于互锁模式下,则控制指令(CMD:0x01)无效,需要使用互锁控制命令(CMD:0x02)控制;
若处于互锁模式下,发送控制指令,将会返回指令无效帧:
指令无效:
55 5A 01 FF FF FF
data域描述:¶
data[0] |
data[1] |
|---|---|
通道号 |
通道电源开关值 |
|
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] |
|---|---|
通道号 |
通道电源开关值 |
|
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]
设备默认每个通道的USB 数据信号是连通的,除非用户发送控制通道数据开关指令(CMD:0x05)手动切断。
如果启用断电状态记忆,数据开关状态将记忆。
data域描述:¶
data[0] |
data[1] |
|---|---|
通道号 |
通道数据开关值 |
|
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] |
|---|---|
通道号 |
通道数据开关值 |
|
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] |
|---|---|
通道号 |
通道电源开关值 |
|
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] |
|
- |
- |
查询通道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] |
|
- |
- |
查询通道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]
设备默认能通过按键控制对应通道。
该配置影响范围为所有按键及通道。
长按功能不受影响。
该指令断电仍然保存。
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] |
|---|---|---|
通道号 |
启用电源默认状态 |
默认值 |
|
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] |
|---|---|---|
通道号 |
启用电源默认状态 |
默认值 |
|
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] |
|---|---|---|
通道号 |
启用数据连接默认状态 |
默认值 |
|
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] |
|---|---|---|
通道号 |
启用数据连接默认状态 |
默认值 |
|
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:¶
多个Hub的上游数据端口连接到一个上级的Hub
多个Hub的控制端口连接到一个上级的Hub
两个顶层的Hub连接到主机
该拓扑结构的可用端口为 4n

拓扑结构2:¶
下一个Hub的上游数据端口连接到上一个Hub的下游数据端口
多个Hub的控制端口连接到一个上级的Hub
第一个Hub的上游数据端口连接到主机
控制端口的顶层的Hub连接到主机
该拓扑结构的可用端口为 3n + 1

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]
设备两种工作模式:
普通模式:该模式每个通道都可任意控制。
互锁模式:该模式下各个通道为互斥状态,同一时刻只有一个通道打开。
该指令断电仍然保存。
可以通过长按
按键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上游端口到电脑上。
Q:没有找到串口设备
A:电脑是否为windows7或更早之前的版本?如果是,请安装legacy driver;检查是否将[5]指令控制口连接至主机接口
Q:集线器偶尔会跟电脑断开连接
A:检查接入的设备功率是否过高?
如果超过电脑USB口的输出功率,则需要将足够功率的5V的电源适配器接到[4]辅助供电端口进行额外的供电。
笔记:¶
此页为空白页























