USB 3.0 Rx Detect之超速U盘的识别

news2025/1/12 1:40:25

1 USB超速SerDes原理介绍
1.1 SerDes Rx.Detect
SerDes Rx.Detect的原理比较简单,就是通过一个逻辑电路比较RC时间常数的大小。
- 当Rx不存在时,RC时间常数较小。
- 当Rx存在时,RC时间常数较大。
下面将详细描述其原理。
Figure 1-1 USB 3.0电缆

Center
USB 3.0的接口比USB 2.0接口多了5根线,这5根线分别是Shield、SSRX+/-和SSTX+/-,即是屏蔽地、超速发送差分对和接收差分对。因此一个支持USB 3.0的U盘插到电脑上我们有必要搞清楚是D+/D-传递数据还是SSRX+/-和SSTX+/-传递数据。
Figure 1-2 超速引脚

Center

Figure 1-2中USB主机和设备通过电缆连接后,会在USB主机和设备端的Receiver SSRX+/-上产生一个等效下拉电阻R_Term(其范围在18-30欧姆,由SSRX+/-上各一个50欧姆的等效下拉电阻并联而成)。
Figure 1-3 等效下拉电阻R_Term

Center

设备连接前的充放电时间常数T = R_Detect * C_Parasitic
设备连接后的充放电时间常数T = (R_Detect + R_Term) * (C_AC + C_Parasitic)
Probe SSTX+, you can see the 500mV Rx.Detect pulse without connecting device, its period is 13.75ms (72Hz), pulse width is less than 40us.

1.2 Redriver Rx.Detect
If Redriver detects receiver on its transmitter, then it assumes there is a valid termination. In this case, Redriver turns on its own Rx 50-ohm termination, this signals the xHCI to start Rx.Detect. Redriver does not include LTSSM, but Retimer includes LTSSM.

1.3 Electrical Idle
Electrical Idle means the differential voltage applied to the link is 0mV (no signaling). If there is 0mV differential, then the Rx cannot recover a clock and bit/symbol lock is lost.
In Logical Idle the Rx maintains bit/symbol lock because the Tx will send IDLE symbols. The IDLE symbols do not contain data and are thrown away by the Rx.

1.4 APL xHCI LTSSM stuck issue
not warm reset yet, waiting 200ms
not enabled, trying warm reset again

This log shows ss port stuck issue.
Disable USB3 roothub port: Clear power Feature and Set BH_Reset Feature.
In Hex format.
23 01 0008 port1 0000
23 03 001c port1 0000
Disable USB3 non roothub port: Set Rx.disabled Feature.
​​​​​​​In Hex format.
23 03 0005 0400|port1 0000
Add # define DEBUG at the first line of the hub.c file (above the header files) for enabling Linux dynamic debug log.

2 PIPE PHY数据线宽度
DWC_usb3_databook_2.50a.pdf
USB3 PIPE PHY的数据线宽度是可以设置的,最大宽度分别是Tx 32bit、Rx 32bit,需要根据PIPE PHY的接口频率来设置数据线宽度。如果PIPE PHY运行在128MHz,那么Tx和Rx的数据线宽度都是32bit;如果PIPE PHY运行在256MHz,那么Tx和Rx的数据线宽度都是16bit。

USB3 Gen1的速度5Gbps,是指Tx和Rx的速率都是5Gbps(128MHz x 4bytes或者256MHz x 2bytes)。
USB 3.0 Tx或者Rx的传输速率虽然是5Gbps,但实际上数字信号的方波频率是2.5GHz(传输2个bit对应一个方波)。

Intel APL (Gen9, A39X0) 8-port MPH xHCI的物理层名字是ModPHY(High Speed I/O Modular Physical Layer for Intel USB 3.0)。

3 xHCI PORTSC端口状态控制寄存器
drivers/usb/host/xhci-hub.c 
xhci_get_ports()

4 USB Bulk传输速度计算
- Full-speed
每个frame最大可以传输19个Bulk包,每个Bulk包最大是64 Bytes,所以其最大传输速率是:19 x 64 x 1000 = 1.16 MB/s。
- High-speed
USB 2.0在每个微帧中最大可传输13个Bulk包,每个Bulk包最大是512 Bytes,而每个微帧长固定为125 μs,所以其最大传输速率为:13 x 512 x 8 x 1000 = 51 MB/s。
- Super-speed
USB 3.0在每个微帧中最大可传输13个Bulk包,每个Bulk包最大是1024 Bytes,而每个微帧长固定为125 μs,所以其最大传输速率为:13 x 1024 x 8 x 1000 = 102 MB/s。

5 Standalone SerDes
Freescale MC92610
STM C65SPACE-HSSL SerDes, HSSL stands for High Speed Serial Link

6 Abbreviations
ARC:Argonant RISC Core
AT91SAM9260:SAM means Smart ARM-based Microcontroller
ATMEL SAMBA:ATMEL Smart ARM-based Microcontroller Boot Assistant
bdi:Linux backing device info
HUB3CV:USB 3 Hub Command Verifier Ver. 2.1.12.1
ISP1161:Philips' Integrated host Solution Pairs 1161,“Firms introduce USB host controllers”,https://www.eetimes.com/document.asp?doc_id=1290054
MPH:USB Multi-Port Host,Intel APL 8-port MPH xHCI的Port1作为OTG使用,和DWC3(仅作为slave)使用一个MUX开关来控制Host还是UDC连接到该Port1
SL811HS:Cypress/ScanLogic 811 Host/Slave,性能上与ISP1161(Integrated host Solution Pairs 1161)相当
SPH:USB Single-Port Host
TDI:TransDimension Inc.,该公司首先发明了将TT集成到EHCI RootHub中的方法,这样对于嵌入式系统来说,就省去了OHCI/UHCI的硬件,同时降低了成本,作为对该公司的纪念,Linux内核定义了宏ehci_is_TDI(ehci);产品UHC124表示USB Host Controller;收购了ARC USB技术;现已被chipidea收购,chipidea又被mips收购
TT:Transaction Translator(事务转换器,将USB2.0的包转换成USB1.1的包)
TUR:Test Unit Ready,sd_spinup_disk()执行该命令,底层排队函数usb_stor_host_template.queuecommand()和ufshcd_queuecommand()
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.
xECP:xHCI Extended Capabilities Pointer

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/712636.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SuperMap 的 Environment.initialization(this)空指针

如果你把ndk和动态权限等等都设置好了,还发现Environment.initialization(this)还有空指针问题存在。就试试我这个方法 许可文件要用10i的,别用11i的 SuperMap 有个so库文件是放在armeabi-v7a文件夹下的,armeabi-v7a不要放在jniLibs目录下&…

深度理解:Redis Hash(散列表)实现原理

Redis是一种开源的,基于内存的数据结构存储系统,可以用作数据库、缓存和消息代理。它支持多种类型的数据结构,例如字符串、散列表、列表、集合、有序集合等。今天我们将重点讨论Redis的一个重要数据结构:Hash,也叫散列…

Linux网络概念

1.1网络 是由若干结点和连接这些结点的链路组成,网络中的结点可以是计算机,交换机、路由器等设备 网络设备有:交换机、路由器、集线器 传输介质有:双绞线、同轴电缆、光纤 1.2互联网 把多个网络连接起来就构成了互联网&#…

vue+antd——实现拖拽上传文件——技能提升

最近看到有2023年博客之星的入围状况&#xff0c;提示我还差24篇高质量文章才可以入围。前两年由于比较勤奋&#xff0c;文章篇数足够&#xff0c;因此没有遇到这种提示过。现在补上几篇文章&#xff0c;希望可以入围吧。 1.html代码 <template><div class"clea…

编译linux内核(三)

内核配置选项[Centos] 挑选核心功能选项介绍1. General setup&#xff08;通用选项&#xff09;2. Enable loadable module support3. Enable the block layer4. Processor type and features(CPU 的类型与功能选择)5. Power management and ACPI options(电源管理功能)6. Bus …

【Python 随练】❀ 绘制正方形

题目&#xff1a; 画图&#xff0c;学用rectangle画方形。 简介&#xff1a; 在本篇博客中&#xff0c;我们将介绍如何使用Python的绘图库来画方形。我们将使用rectangle函数来绘制方形&#xff0c;并提供一个完整的代码示例来演示其用法。 绘制方形&#xff1a; 要绘制方…

Dom4j在某节点上添加已有的Element节点

需求&#xff1a;有两个xml文件需要解析&#xff0c;将A文件的节点解析之后放到了一个List<Element> list的集合中了&#xff0c;然后解析B文件&#xff0c;将list的内容填充到B中去。 众所周知&#xff0c;下面这段代码是可以添加一个节点元素的。 SAXReader reader n…

数通王国历险记之以太网和MAC地址

系列文章目录 数通王国历险记&#xff08;3&#xff09; 目录 前言 一&#xff0c;以太网的定义 二&#xff0c;如何理解以太网 2.1&#xff0c;以太网是一种广播式数据链路层协议 2.2&#xff0c;以太网支持多点接入 2.3&#xff0c;个人电脑的网络接口遵循的就是以太网…

Apikit 自学日记:如何分享 API、项目

开启/关闭在线分享 您可以在线分享项目给团队以外的人&#xff0c;其他人可以通过分享链接在线查看API文档并且进行API测试。通过这种方式查看API文档不需要注册账号&#xff0c;用户可方便查看接口文档和测试接口。 在项目内&#xff0c;点击进入项目管理菜单&#xff0c;选择…

【国产虚拟仪器】基于ZYNQ7045+V7 FPGA的多通道数据同步采集设计方案(二)

多通道数据采集电路主要流程为实现4路模拟信号接收&#xff0c;通过模数转换、信 号处理后的数据经过光纤传输到总站。多通道数据采集电路由模拟信号采集单元、 数字信号处理单元和信号转接板构成&#xff0c;组成框图如图4-1所示。 为了对带宽内的多个关键频点进行侦察监测&a…

Qt的未来发展趋势:跨平台、用户体验和AI的突破

Qt的未来发展有以下几个方面的趋势&#xff1a; 跨平台和多端支持&#xff1a;随着移动设备和嵌入式系统的普及&#xff0c;Qt将继续扩展其跨平台和多端支持能力。Qt已经在移动平台上取得了一定的成功&#xff0c;并且正在不断改进和优化移动开发工具和功能。未来&#xff0c;Q…

Tcl常用命令汇总

往期文章链接&#xff1a; 1&#xff09;基础篇&#xff1a;包括置换方法&#xff0c;特殊字符&#xff0c;incr与append用法&#xff0c;以及执行方式。 Tcl常用命令备忘录: 基础篇 2&#xff09;列表篇&#xff1a;包括list、concat、lrepeat、lindex、llength、lrange、l…

有趣的turtle(一)

关注“Python专栏”微信公众号&#xff0c;回复暗号【面试大全】&#xff0c;立即领取面试题简历模板。 turtle 是 Python 中用来绘图的标准库&#xff0c;它简单且有趣&#xff0c;很多Python初学者都愿意将它作为第一个学习对象。 下面的内容主要包含 turtle 的基本用法和一…

OpenCV(加载、修改、保存图像)

目录 1、图像加载 2、显示图像 3、修改图像 4、图像保存 OpenCV官方文档查询地址&#xff1a;OpenCV: OpenCV modules 1、图像加载 加载图像&#xff08;用cv::imread )imread功能是加载图像文件成为一个Mat对象&#xff0c;其中第一个参数表示图像文件名称 第二个参数&…

还在一步步搭建平台吗?找对方法更重要喔~

前言&#xff1a; 如今&#xff0c;随着信息化时代互联网的高速发展&#xff0c;繁琐的流程和线下的工作已经不能满足社会发展的需求&#xff0c;这个时候大家都知道系统是唯一一个可以快速解决的方法。但每个企业的需求不一样&#xff0c;成品型的系统未必能满足企业的属性。但…

MySQL数据库--------简单理解文件的相关信息

作者前言 欢迎小可爱们前来借鉴我的gtiee秦老大大 (qin-laoda) - Gitee.com ———————————————————————————————————— 目录 文件的信息 文件的权限 权限的赋予 —————————————————————————————— 插播一些…

INFORMIX存储过程

一、存储过程概述 存储过程是一个用户定义的函数,由存储过程语句(SPL) 和一组SQL语句组成&#xff0c;以可以执行代码形式存储在数据库中&#xff0c;和表、视图、索引等一样&#xff0c;是数据库的一种对象。 存储过程语言SPL&#xff08;Stored Procedure Language&#xf…

硬件重生:PC与数码市场迎来历史性繁荣,搞机佬的春天回来了

在过去的一年里&#xff0c;我们看到了一场全球范围内的数字革命。在这次变革中&#xff0c;PC硬件和数码产品的市场表现令人瞩目&#xff0c;显著反弹。根据我们的调研数据&#xff0c;这一领域的市场规模和销售量都大幅增长&#xff0c;这预示着搞机佬们的春天已经来临。 PC硬…

Vue项目前端部署——nginx方式

Vue项目前端部署——nginx方式 1. 准备好服务器&#xff0c;下载安装nginx并启动2. vue项目编译打包3. 将dist目录上传到服务器上4. 配置nginx安装目录下的nginx.config文件5. 重启nginx6. 访问地址 1. 准备好服务器&#xff0c;下载安装nginx并启动 随便在网上找一篇文章&…

AI 绘画 - 建筑绘图辅助设计之 SD 基础

前情提要 如果你想学会一门东西&#xff0c;那么就给交给自己一个明确的任务&#xff0c;然后独立完成&#xff0c;之后我们就可以掌握这门技术了&#xff1b; 简介 SD建筑绘画主要目的是将建筑概念转化为可视化的表达形式&#xff0c;以便更好地传达设计理念给业主、团队成…