USB学习总结

个人学习USB坑中坑的学习知识总结,可能随时更新。(会记录很多断层后续慢慢补齐)

 

一.USB枚举:

USB枚举的过程为:

(type-c检测到有host/dev接入=》切换到对应模式【type-c链接可以确定host/dev】)=》当host检测到DP/DM被dev拉高则进行reset,并在第一次reset时调整通信速度(见1.1.章节)=》获取描述符,host配置address,并且发出第二次reset =》当reset完成后,在新的address上进行通信,并完成configured。

 

1.1 关于USB设备接入和速度确认:

本部分参考,这个博主有图有说明,写的很好:https://blog.csdn.net/u014135607/article/details/80411855

    1)USB设备如何识别设备速度

        1.判断DP/DM电阻: D-上面接电阻(上拉1.5K),说明是低速,D+上接电阻(上拉1.5K)说明是full/high speed。

        2.若是D+上接电阻:这要通过JK信号判别USB速度。

        具体流程如下:

            1.当USB 设备read,且准备被枚举时,拉高对应DP/DM

            2.当HOST检测到DP/DM被拉高时,发出set_port_feature信号,后再发出复位信号即将DP/DM拉低(0V),最少10ms

            3.表明DEV的速度配置:K信号

                高速的DEV,在接收到host的复位(DP/DM拉低)之后,内部会在D-上加上电流,因为host的hub的硬件关系,则会在DM上看到约800mv的电压(持续时间1~7ms),即K信号。反之,全速设备在复位期间,不会有这个操作。用这个即可区分H/F Speed。

            4.是否是支持高速的HOST:

                支持高速的host,在接收到K信号后,会主动驱动自己打出KJKJKJ序列(可看到波形高低变化)。表明自己支持USB20,则后续的通信将在high speed进行。否则都将在full speed进行。

                补充:当dev K信号发车,host必须在100us内返回一连串的KJKJKJ信号(不能间断,每个K/J持续时间为40~60us)。并且dev要在3对KJ信号之后的500us内切换到高速模式,因为切换玩后还处于复位信号期间,所以此时还会处于一段时间的dp/dm为0。dev切换过程中:

                        1)端口1.5K上拉电阻(此时可以看到DM的电压掉落,即400mv)

                        2)连接高速终端电阻

                        3)自己切换到高速状态。至此握手完毕。

        总结:从波形上来看,

            1.DM被拉高(高于1.8V,看别人的图是3.3V),则为low speed

            2.DP 被拉高,在复位期间(DP/DM先被拉到0):

                    1.没有K信号(DM 800mV):dev不支持高速,后续在full speed下运行

                    2.有K信号(DM 800mV):

                            1)没有KJKJ:dev支持高速,但是host不支持高速。最后在全速下运行

                            2)有KJKJKJ:dev 和host都支持高速。并且之后在高速模式下运行

            3.速度确认处于复位信号中 ,即high speed的复位信号过程是:DP/DM 0V ->800MV ->800MV KJ信号 ->400mv KJ信号-> DP/DM 0v。

 

    2)通信状态电平:

        1.差分信号,幅值:一般为400mv和0v

        2.空闲电平

 

 

 

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值