zoukankan      html  css  js  c++  java
  • USB速率识别

    低速设备D-上有一个1.5k欧的上拉电阻。高速和全速设别在D+上有一1.5k欧上拉电阻。连接后通过检测电压变化来了解设备是否为低速设别。

    低速下:D+为“0”,D-为“1”是为“J”状态,“K”状态相反;
    全速和高速下:D+为“1”,D-为“0”是为“J”状态,“K”状态相反;

    低速下空闲状态为“K”状态;全速下空闲状态为“J”状态;高速下空闲状态为“SE0”状态;

    对于全速操作,SE0表示为复位和EOP,持续时间大于2.5us表示总线复位;
    对于高速操作,SE0维持3ms~3.125ms,设备进入全速状态,全速后100us~875us内采样,如果继续维持SE0,则设备总线复位,开始高速握手;若变为“J”状态,则进入挂起状态”suspend“。

    高速握手条件:
    1.设备处于挂起状态,若出现SE0则立即开始高速握手;
    2.设备处于全速,SE0持续2.5us,则开始高速握手;
    3.设别处于高速,SE0持续3.0ms,切继续持续,则开始高速握手。

    高速握手过程处于总线复位阶段。

    chirp J,只有D+被驱动,chirp K相反。

    高速握手过程:
    当设备为非低速设备,且总线处于SE0状态才可以进行高速握手。

    1.在复位阶段,scvrselect和termselect为全速状态,DP被上拉,HS terminations被屏蔽,opmode被驱动disable bit stuffing and nrzi encoding状态。
    2.xcvrselect变为高速时,设备发送chirp K暨全零信号到主机,同时txvalid有效。
    3.高速集线器检测到chirp K后发送一串交替的chirp K J对,设备检测到三个chirp K J对后,驱动termselect为高速。
    4.高速集线器发现termselect变化后持续若干chirp K J对后进入短暂SE0状态,之后便开始发送sof 包。
    5.高速握手成功。

    若设备在发送chirp K后没有相应,则设备只能工作在全速模式。

  • 相关阅读:
    iOS下JS与OC互相调用(三)--MessageHandler
    在xcode6中使用矢量图(iPhone6置配UI)
    UITextField增加textDidChange回调功能
    IOS开发之格式化日期时间(转)
    ios中将事件同步到系统日历
    xcode中一些便捷用法@literals简写
    JavaScript
    fuzz for test of the Net::HTTP::GET
    perl6 中将 字符串 转成十六进制
    Net::HTTP 一次添加 cookie, body 发送post请求
  • 原文地址:https://www.cnblogs.com/hellokitty2/p/9977145.html
Copyright © 2011-2022 走看看