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

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.rhkb.cn/news/53778.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

百度地图多点路线规划_通勤出行该选谁?高德、百度地图对比,看看谁是上班最优选...

现在导航已经成为我们生活中不可分割的一部分,无论是走路,骑行还是自驾游,我们都会开启导航。特别是在驾车时,有急转弯,测速拍照,超速等,当我们的驾驶方式出现危险行为的时候,导航都…

人工智能真正值得担心的是缺德,而不是聪明

https://www.toutiao.com/a6686045237724316173/ 我们都要思考技术如何体现特定的价值观和假设,这有助于确保“我们用技术打造的世界,是一个我们想要居于其中的世界”。 我们都要思考技术如何体现特定的价值观和假设,这有助于确保“我们用技术…

npm init @vitejs/app 到底是什么意思

对比:基于vue-cli创建和vite创建项目 //vite npm init vitejs/app //cli vue i -g vue脚手架 vue create project-name通过脚手架创建项目需要分两步,而基于vite创建项目只需要一步,那么npm init vitejs/app具体是什么意思呢。 首先了解npx…

交换机中流量监管、流量整形和接口限速是如何实现的

本文介绍交换机的流量监管、流量整形和接口限速的原理,并且介绍相关参数和配置方法。 01 相关名词解释 表1-1 简称及对应的全称 流量监管、流量整形和接口限速是通过对流量规格进行监督,以限制流量及其资源使用的流控策略。 尽管流量监管和流量整形都…

百度地图sdk导航

百度地图sdk导航 文章目录 百度地图sdk导航前言一、准备二、下载demo三、配置将上面libs的复制到下面的目录(我有x86和x86_64因为之前同事写了地图插件🐓)导入这两个aar导入过程 1.配置build.gradle(两个不同的)2.打开…

c语言程序设计高速公路超速处罚,高速超速违章处理流程

1 如图所示,驾驶机动车看到这种手势信号时,应当停车等待。查看本题分析 2 如图所示,驾驶机动车在路口遇到这种交通信号时,右转弯的车辆在不妨碍被放行的车辆、行人的情况下,可以通行。查看本题分析 3 机动车驾驶证损毁…

什么是跨站脚本 (XSS) 攻击?

目录 定义跨站点脚本的工作原理 进行攻击以感染网站受感染的网站攻击用户统计和分析跨站点脚本攻击的类型反射式(非持久性)XSS反射式(非持久性)XSS 示例 存储(持久)XSS存储(持久)XSS…

周遭心理学的应用-什么是心理学?

前言 这篇文章的标题如果去掉好处二字就显得并不吸引人,难道好处二字对我们的判断影响那么大吗?这又是为什么?(在引起共鸣的因素章节中,将会得到你要的答案) 每一篇文章,每一本书只要涉及到生活…

超速判断java_超速如何判定

例如高速限速80码,行车时速92码,(92-80)除以80乘以100%等于15%,那就超速15% 。 第八十六条 机动车在道路上行驶,违反限速规定的,按下列规定处罚: 1、时速超过限定时速不到10%的,给予警告。 2、在…

怎样用c语言写高速超速罚款标准,超速罚款 超速扣分标准2020新交规怎么规定的...

高速驾驶确实可以带来速度的乐趣,但是这种行为违背了交通规则,而是超速行为。 那超速呢? 超速驾驶的惩罚是什么? 让我们来看看新的2020年超速处罚标准! 一、超速扣分标准新交规 机动车在道路上行驶,违反限速规定的,按下列最新超…

000210什么意思 error_检测卡上是0002什么意思啊

展开全部 【电脑主板故障诊断卡 代码】 代码 Award BIOS Ami BIOS Phoenix BIOS或Tandy 3000 BIOS 00 . 已显62616964757a686964616fe58685e5aeb931333264623139示系统的配置;即将控制INI19引导装入。 . 01 处理器测试1,处理器状态核实,如果测试失败&…

煤矿企业矿用重大设备感知数据接入方案

重大设备感知数据接入 建 设 方 案 1、项目建设背景 为贯彻落实全国关于安全生产工作的总体部署,依据《国家矿山安全监察局关于印发煤矿冲击地压、水害防治及重大设备感知数据接入细则(试行)的通知》(矿安〔2021〕2号&#xff09…

Python案例3—计算基础代谢率V_4.0(已完结)

大家好,我是白菜胡萝丸子 人生苦短,Python当歌 项目导入 版本4.0:如果用户把信息输入错误了怎么办——处理异常操作 项目分析—理清思路 分析问题:分析问题的计算部分明确问题:划分问题的输入、处理和输出部分&…

代谢组检测

代谢组学是继基因组学和蛋白质组学之后新近发展起来的一门学科,是系统生物学的重要组成部分。基因组学和蛋白质组学分别从基因层面和蛋白质层面探寻生命的活动,而实际上细胞内许多生命活动是与代谢物相关的,如细胞信号、能量传递等都是受代谢…

[基因遗传算法]进阶之三:sko.GA的实践TSP

参考资料:《VRP问题分类》 相关文章: 《[基因遗传算法]原理思想和python代码的结合理解之(一) :单变量》 《[基因遗传算法]进阶之二:最优规划问题–多种编码方式多变量》 文章目录 一. GA的用法1.1 help(sko.GA)1.2 目标函数的书写A. 单变量的书写B. 多变量的书写C. 变量的范围…

chatgpt赋能python:Python计算BMI——如何快速方便地计算身体质量指数

Python计算BMI —— 如何快速方便地计算身体质量指数 身体质量指数(BMI)是一种常用的计算方法,用于衡量人体体重和身高的比例。这个算法在健康行业中非常受欢迎,因为它简单而且可以快速得出结果。在Python中,我们可以…

干货第一弹!多组学联合分析之代谢组FAQ

代谢组是对生物体内代谢产物全谱分析的一种研究手段,代谢产物包括核酸、蛋白质、脂类生物大分子以及其他小分子物质,目前主要是检测1000Da以下的物质。代谢组研究具有高通量的检测能力、高灵敏度和准确度、非侵入性、非破坏性、全面性、数据资源整合等特…

组学数据上传(五):代谢组学数据

继扩增子、转录组、蛋白组、基因组数据上传教程发布后,组学数据上传教程最后一弹--代谢组数据上传教程来罗,有需要的一定要点赞加收藏!后续上传数据遇到问题可以私聊小编!接下来我们来了解下代谢组学常用数据库MetaboLights以及如…

Python案例3—计算基础代谢率V_2.0

大家好,我是白菜胡萝丸子 人生苦短,Python当歌 项目导入 版本2.0:在版本1.0的基础上改造程序,根据用户的输入计算BMR,将BMR计算封装到函数并实现持续运行,让用户选择退出 项目分析—理清思路 分析问题:分…

Python案例3—计算基础代谢率V_3.0

大家好,我是白菜胡萝丸子 人生苦短,Python当歌 项目导入 版本3.0:在版本2.0的基础上改造程序,BMR值的输出要带单位,用户能否将数值在一行输入 项目分析—理清思路 分析问题:分析问题的计算部分明确问题&…