3.0的USB,我们都用错了。

你可能用过一个假的USB3.0

在测试USB3.0移动硬盘的时候,发现一个奇怪的现象:

如果将USB3.0设备缓慢插入或者分段插入USB3.0口后(所谓分段插入即插入一小部分,略做停留再完整插入)   

用HDD Tach检测USB3.0移动硬盘的突发传输速度,居然是USB2.0的速度(35MB/s左右)。

在使用NEC,ASMedia USB3.0,芯片的各家主板上验证后,都有这种现象,这是为什么呢?
  
后来通过仔细研究了USB2.0,USB3.0的接线定义及多次试验后,终于真相大白,让我们一起来看看原因

USB2.0,USB3.0外观

先看一下USB2.0的Pin脚定义,有四根信号线

  再看一下USB3.0公口以及母口的Pin脚定义

从上图我们可看到,USB2.0的1-4Pin的定义和USB3.0一致,

不同的是增加了2对TX,RX信号线及1根Gnd线
后部分的5根Pin脚才是USB3.0的关键Pin脚

当在主板上的USB3.0母口上插入USB3.0设备时:

公口前端的4 pin(USB2.0)信号线会与母口的4 pin(USB2.0)信号线先接触,接着再是5pin的信号线接触.

如果系统侦测设备的短暂时间里,如果我们还没有让后5Pin(USB3.0)信号线接通的话,设备就被系统判定为USB2.0设备了,即:

设备插入时间>系统识别设备的时间,则USB3.0设备被系统提前识别为USB2.0设备
      
设备插入时间指的是从设备插入开始到后5Pin信号线接通之间的一小段非常短暂的时间.


疑问:设备只是开始插慢了一点,但是设备最后还是被完全插入了,为何设备还是被认成USB2.0设备呢?

这是因为,系统把设备侦测为USB2.0设备后,当公口,母口的USB2.0 pin脚接触后,没有再次启动设备侦测。

我们只需要重启OS,或者在设备管理器下disable USB3.0 Controller,再Enable USB3.0 Controller即可。

通过这样的操作后,我们可以通过运行HD-Tach来验证突其发传输速度,可以达到100MB/s以上。

实测:

这是小编刚刚实测的,传同一个压缩文件,用的USB3.0的移动硬盘

这是慢慢插的:

这是快速插的:

出处:corescn.com

-END-

﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

免责声明:本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系,谢谢!

猜你喜欢

什么是PCB沉金?为什么要沉金?

单片机开发设计之"十层功力"

老司机们都是怎么学习STM32的?

 最 后  

 

若觉得文章不错,转发分享,也是我们继续更新的动力。

5T资源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,PCB、FPGA、DSP、labview、单片机、等等

在公众号内回复「更多资源」,即可免费获取,期待你的关注~

长按识别图中二维码关注

使用OpenCV通过USB连接并打开Intel D435i相机,在不同系统下有不同的操作方式。 #### Windows系统 可以使用Python代码尝试打开相机,示例如下: ```python import cv2 cap = cv2.VideoCapture(1) index = 0 while True: img = cap.read() cv2.imshow(&#39;imshow&#39;, img[1]) index = index + 1 k = cv2.waitKey(1) if k == 27: cv2.destroyAllWindows() break ``` 若相机无法打开,可通过`PyCameraList`库来识别电脑连接的视频设备,示例代码如下: ```python from PyCameraList.camera_device import list_video_devices cameras = list_video_devices() print(dict(cameras)) ``` 这会输出所有视频设备及对应的索引,可根据输出结果调整`cv2.VideoCapture()`中的索引值以正确打开Intel D435i相机[^1]。 #### Ubuntu系统 如果使用虚拟机(如ubuntu16.04 + Vmware 15.5)调试,可能会遇到无法显示相机的RGB图像,只有红外摄像头采集的灰度图像,且用OpenCV打开图像特别卡顿的问题,可采用双系统解决。打开摄像头需要输入2模式才可以打开RGB相机,示例代码如下: ```cpp #include <opencv2/opencv.hpp> using namespace cv; int main() { VideoCapture pCapture(2); if (!pCapture.isOpened()) { return -1; } Mat frame; while (true) { pCapture >> frame; if (frame.empty()) { break; } imshow("Camera", frame); if (waitKey(1) == 27) { break; } } pCapture.release(); destroyAllWindows(); return 0; } ``` 此外,在使用相机前,可点击Inter RealSense Viewer测试能否成功链接相机。若第一次链接可能无法显示,检查可能是因为接口插错,如插入usb2.0接口可能无法显示,插入usb3.0接口则能正常显示[^3]。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值