USB2.0如何区分low speed、full speed 和high speed
USB2.0如何区分low speed、full speed 和high speed
连接过程区分:
low speed: D-高D+低;
full / high speed:D-低D+高;
区分full / high speed
1、Device接入后,Host会通过SE0对设备进行重置,若Device是high speed设备,那么它内部的电流源会向D-注入的17.78mA电路与其H/LS Driver(等同于45Ω电阻)形成约800mV的电压,也即Chirp K,在2.5μs内,若host支持high speed,则Host 端的Receiver会对此 Chirp K进行Detect,一旦host接受到此信号,就会在该Chirp K结束的100μs内回复一串KJKJkJ序列,也即进行handshake(Chirp Sequence),在设备接收到3对KJ信号(Six Chirp)之后,会在500μs内切换到告诉模式;否则,Device也即full speed device。
波形如下:
DM(Device) 发出800mv的Chirp K, DP(host)检测到后进行 handshake (3对K J信号)
移除过程区分
low / full speed 移除:
high speed移除:
在HS模式下,设备被移除后,μSOF仍然在按时发送(125μs),此时由于设备已然Remove,失去匹配阻抗,会返回一个双倍振幅(Double Signal Amplitude)信号,Host以此来判断设备已然移除。
波形如下:
SOF 只有high speed和full speed 才会发送, full speed 每隔 1ms 会发送一个SOF,high speed 每隔 125us 会发送一个SOF。
low speed 是不发SOF的, low speed 通过keep-alive strobe 来实现和SOF一样的功能, 也是每隔 1ms 发送一次。
下图是Port reset(10-20ms) 之后, 进入low speed 每给1ms 发一个Keep-alive strobe。(3号DM,2号是DP)
原文链接:https://blog.csdn.net/shenjin_s/article/details/87921856
GDragondd: 为什么会出现档案系统描述(GDT)损坏的情况捏?
nanfengnan?: 为什莫我有.so,.a但是没有可执行程序
入门工作者: 析构函数怎么申明
Fan_ives: 遇到了同样的问题,一会试下这个方式,不过我很奇怪的是我本地windows是好使的,依赖的javacv-platform上也都集成有对应环境的so文件,为什么linux上就不行,本地就可以呢,奇怪。
设置名字七个字: 用这个方法把缺失的文件夹拉下来,拉下来的文件夹里还会有缺失的,感觉是小乌龟的问题,我直接用idea打开项目,然后在idea里面拉就不缺了