zoukankan      html  css  js  c++  java
  • 电脑是怎样识别USB3.0 U盘的

    版权声明:本文为博主原创文章,未经博主同意不得转载。

    https://blog.csdn.net/zoosenpin/article/details/31735727

    1 How to Recognize USB Flash Drive
    USB3.0电缆如Figure 1-1所看到的。
                                              Figure 1-1



    USB3.0的接口比USB2.0接口多了5根线。这5根线各自是Shield、SSRX+/-和SSTX+/-,即是屏蔽地、超速发送差分对和接受差分对。



    因此一个支持USB3.0的U盘插到电脑上我们有必要搞清楚是D+/D-传递数据还是SSRX+/-和SSTX+/-传递数据。当USB3.0的U盘连到支持SuperSpeed的电脑上后,引脚接口如Figure 1-2所看到的。


                                                                     Figure 1-2

    Figure 1-2中两端相连的电缆会在USB主机和设备端的SSRX+/-上产生一个等效下拉电阻R_Term(其范围在18-30欧姆)。如Figure 1-3所看到的。
                                           Figure 1-3

    插入电缆后等效电路能够看成一个RC回路。而RC回路有一个重要特性。就是时间常数。这个常数就是R和C乘积。也是影响充放电特性的,其充放电特性如Figure 1-4所看到的。
                                                   Figure 1-4

    从Figure 1-4能够看出,插入和拔除电缆。将Vo充电到特定的电压,则插入电缆后,充电须要的时长添加了。电脑的USB3.0主机就是依据这个特性探測到U盘是支持超速特性的,否则插入电缆前后假设充电到电压Vo没有时间变化的话,电脑就觉得是快速U盘,而不是超速U盘了。

    超速U盘就使用SSRX+/-和SSTX+/-传递数据,而且是全双工的。否则快速U盘使用D+/D-传递数据。



    2 PIPE PHY数据线宽度
    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 * 4bytes或者256MHz * 2bytes)。

    3 Bulk传输速度计算
    - Full-speed
    每一个frame最大能够传输19个Bulk包,每一个包最大是64 B,所以其最大传输速率是:64 x 19 x 1000 = 1.16MB/s。


    - High-speed
    USB2.0在每一个微帧中最大可传输13个Bulk包,而每一个微帧长固定为125μs,所以其最大传输速率为:512 x 13 x 8 x 1000 = 53MB/s。



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

    5 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
    CC2530:TI ChipCon2530
    DWC2:Design Ware Controller 2。Apple的嵌入式设备。包含iPad和iPhone都是使用的DWC2
    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的MPH的Port1作为OTG使用,和DWC3(仅作为slave)使用一个MUX开关来控制Host还是UDC连接到该Port1
    Quirks:the attributes of a device that are considered to be noncompliant with expected operation
    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收购
    TLV:TI Low Value,高性价比
    TPS:TI Performance Solution
    TT:Transaction Translator(事务转换器,将USB2.0的包转换成USB1.1的包)
    TUR:Test Unit Ready,sd_spinup_disk()执行该命令,底层排队函数usb_stor_host_template.queuecommand()和ufshcd_queuecommand()
    xECP:xHCI Extended Capabilities Pointer

  • 相关阅读:
    linux终端发送邮件
    ubuntu交换Caps 和 ESC
    pycharm快捷键
    python catch socket timeout
    pgsql restart
    python re.sub
    文件写入与缓存
    HTTP协议再分析
    leetcode-45
    Java的锁
  • 原文地址:https://www.cnblogs.com/mqxnongmin/p/10846360.html
Copyright © 2011-2022 走看看