USB Hub

本文介绍了包含MCU的全速和高速USBHub的数据流结构,包括全速与低速的区别、高速与全速/低速的交互,以及枚举过程。同时提到了Linux环境下的DWC_USB3实现和libusb库的使用,并讨论了USB设备编号的标识方法。此外,还提及了USB3HubCommandVerifier工具和USB重置类型(BiggerHammer)的相关信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 包含MCU的全速Hub
1.1 数据流
这种类型的Hub主要用来实现Compound设备,需要实现Hub和HID 2个固件模块。也叫键盘USB Hub。
1)低速vs低速:upstream <-> repeater <-> downstream
2)全速vs全速:upstream <-> repeater <-> downstream
3)枚举:upstream <-> SIE <-> Hub Controller(固件实现或者ASIC)

1.2 show case
AT43USB355
CY7C65113C

2 包含MCU的高速Hub
2.1 数据流
1)高速vs高速:upstream <-> repeater <-> downstream
2)高速vs全速/低速:upstream <-> SIE <-> TT <-> downstream
3)枚举:upstream <-> SIE <-> Hub Controller(固件实现或者ASIC)

2.2 show case
Aspeed SoC AST2500 (Aspeed Technology) vhub
drivers/usb/gadget/udc/aspeed-vhub/hub.c

3 Linux USB hub
3.1 DWC USB3
DWC_usb3_databook_2.50a.pdf
In multi-port Host mode, multiple instances of the PHY, Link, and MAC layers are instantiated. Buffer management also has separate Rx and Tx buffers for each bus instance. Refer to page 69.

In host mode, each Bus Instance per speed has its own TxFIFO shared among all OUT endpoints, whereas, in device mode, each IN endpoint has its own separate TxFIFO. Refer to 3.11.
Host TxFIFOs: one per UxMAC, U3MAC, U2MAC, FMAC
Host RxFIFOs: one per UxMAC, U3MAC, U2MAC, FMAC

Two downstream ports with shared bandwidth, refer to opencores OHCI Full/Low-Speed USB Host Controller.

3.2 HUB3CV
USB-IF官网Document Library下载HUB3CV工具。

3.3 libusb库的使用
Read my blog “Android libusb库的使用”。

3.4 CW23WWDD
hub.c中找到USB device number,然后在后面加上CW23WWDD,用来确认版本。

4 Abbreviations
EM:ELAN Microelectronics Corp
HUB3CV:USB 3 Hub Command Verifier Ver. 2.1.12.1
USB BH reset:Bigger Hammer or Brad Hosler,表示warm reset;you may be confused why the USB 3.0 spec calls the same type of reset "warm reset" in some places and "BH reset" in other places. "BH" reset is supposed to stand for "Big Hammer" reset, but it also stands for "Brad Hosler". Brad died shortly after the USB 3.0 bus specification was started, and they decided to name the reset after him. The suggestion was made shortly before the spec was finalized, so the wording is a bit inconsistent.

Dynamix 保留本作品所有权利. ALL RIGHTS RESERVED by DYNAMIX. 本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 本设计是一款符合 USB 3.0 要求的,兼具有5V快速充电特性的一款超高速分线器。本设计从原理,布线,采购,制造均有本人亲自把关,用料考究,稳定性强。本人尊崇开源的思想,希望通过这样一个简单的设计,抛砖引玉,让国内的爱好者们在分享中学习,在学习中交流。这仅仅是个开始,我会在接下来的业余生活中带给大家更多更好的作品。 本设计经过两次迭代实物验证,除厂商不对外开放的OTP功能外完全实现TUSB8041其余各项功能。其功能主要包括: 实现 USB 3.0 集线器功能,向下兼容 USB 2.0 链路; 实现四个USB-A 母座 下行端口和一个USB-B 母座 上行端口以最高近似 5Gbps(SuperSpeed)的速率传输数据; 设备可以通过 5.5 外径 2.5 内径 DC 电源接口供电,供电电压为 9V~14V DC,所需适配器功率不低于 45W *; 在外部电源接口插入后,设备电源将自动从上行 Vbus 端口供电切换至外部独立供电; 设备属性可以通过外部 EEPROM 修改,提供默认配置二进制文件(*.bin); 在默认配置下,上行端口连接时,四个下行端口支持 CDP,DCP 协议最高2A@5V快速充电模式; 在默认配置下,上行端口未连接时,四个下行端口支持 ACP1/2,CDP,DCP 协议最高2A@5V快速充电模式; 下行四个端口采用独立限流开关控制,当任意一个下行端口输出电流超过 2A 时,PC端将会收到下游端口过流通知并可手动复位; 主芯片TUSB8041 pin-to-pin 兼容TUSB8041A,经过验证可以实现 USB 3.1 Gen1 标准。 本设计使用 Altium Designer 绘制原理图文件和 PCB 文件。PCB 经过样品生产后,手工焊接并调试。调试测试电压,电流,时钟频率等参数,并针对限流,过流,警告,快充等特性单独测试。同时,粗略对比高速 SSD 移动硬盘在大文件传输过程中直接连接 PC 与经过 HUB 连接 PC 时速度的变化,结果传输速度无明显差别**。 设计中根据 PCB 样品生产材料规格,使用 Si9000 计算差分阻抗。在 Layout 过程中,使用差分对工具布线,进行等长处理,使用 Shield 工具保护差分线,以获得最好的信号完整性。由于身边没有 TDR 和 VNA 等设备,无法进行详细测试。 在 PCB 文档中所有器件均含有 3D 外形,方便二次开发外壳。文件中附带一个简易外壳文件***。 本设计核心器件全部使用进口器件。主要芯片均选择德州仪器公司产品。该公司器件资料齐全,对独立开发者非常友好。接插件方面,选择引进较多的通用接插件。评估人员可以在要求高的场合使用进口接插件,在要求低的场合使用国产接插件,这样有利于控制成本。在测试过程中,主要使用 TE,Molex,CUI 和富士康的接插件,这几个生产商器件质量较好,寿命高。对于电解电容,采用高速数字电路中常用的松下POSCAP等高分子聚合物电容,提高整体电源质量。 本设计采用四层板材,顶层信号,中间层地和电源,底层低速信号。极大保证了电源和信号完整性。 本设计端口均有过流保护和静电保护,保证设备安全。 在设计中,参考了若干半导体生厂商关于 USB 3.0 的 Reference design ,USB 协会的 USB 3 Spec 还有一些网上版权不明晰的设计。 在本文档中,主要包括整个 1.2 版本 PCB project 文件。 其中,可以提取出 BOM,Gerber 等制造相关文件。后续所有文档的更新和维护将会在 Github 中呈现。 Github文件地址 PCB 文件中,含有板层设计文件。请根据板层厚度,挑选加工厂商。如需调整,使用 Si9000 重新计算后,更改差分对规则,对差分对重新 Layout 。 四层板打样,参考费用在200元/10片左右。 针对于高校学生,推荐在 TI.com 申请样片,本设计中 TI 芯片均可申请样片****。 本设计中包含相当多的冗余器件,请根据实际需求添加。 本设计只考虑到小量样品测试,并未经过产品化测试。其中存在很多可制造性问题亟待解决。 本说明中未尽事宜,请根据图纸自行揣摩。如有疑惑欢迎在文后跟帖或者在 Github 中提问,也可以 Email 联系我 miracle.jin.tong@gmail.com 或 15918107@hdu.edu.cn 。 本设计中存在的瑕疵与不足也欢迎批评指正。 *可以参考 TUSB8041 Datasheet 中寄存器定义,使用烧录器调整所需功能。在关闭若干快充功能
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值