来源:公众号【鱼鹰谈单片机】
作者:鱼鹰Osprey
ID :emOsprey
当你的手机插入了电脑后,为什么电脑可以识别你的手机设备?你并没有做任何操作,但是电脑会弹出提示框,告诉你,手机已插入,可以进行操作了,电脑和手机之间到底交流了什么东西?回答这个问题,很简单,当插入手机后,电脑通过数据线的电平变化,知道有一个 USB 设备已经插入了,但是这个是什么设备,电脑其实还不知道。所以电脑开始发送复位信号给设备(只复位 USB,并不是整个手机重启),之后电脑和手机之间开始简单数据交互,了解一个 USB 设备的基本信息,之后再次复位(据说这次复位是历史遗留导致的)。这次复位之后,电脑会了解更多 USB 设备的信息。在设置手机的地址后,将全面了解 USB 设备信息,比如有多少个配置,多少个接口,多少个端点等信息。如果是手机,一般会识别为 U 盘(也可能不是 U 盘,如果不是,需要专门安装驱动),这是 USB 标准协议中定义好的设备,而大多数电脑安装了U盘驱动,所以电脑可以在不安装驱动的情况下像操作 U盘一样直接操作手机。鱼鹰并没有分析手机的通信过程,所以以上内容是鱼鹰猜测的,大体是应该类似的。但鱼鹰熟悉 CDC 设备,即模拟串口的USB设备,而所有的 USB 设备在插入后那一段时间的行为基本是确定的,这个是 USB 标准规定的,只要是 USB 设备,都会遵循该流程,所以我们可以借此了解一下,当 CDC 设备插入之后发生了什么通信过程呢?通过逻辑分析仪,我们可以很方便的了解USB设备插入之后的通信流程:![46cd0b1f0b0667bbf683a62ddac8cd9b.png](https://i-blog.csdnimg.cn/blog_migrate/818bc889ffe25d32c2fc39dd9dde806e.png)
![bf2a6e436fbd5bd698fa91360be52db8.png](https://i-blog.csdnimg.cn/blog_migrate/77378579108430f144911c20d6748290.png)
![472b8ecd1dcfaa07a4c06e74692577a4.png](https://i-blog.csdnimg.cn/blog_migrate/5a13ef691d226c60db01782d64b3d6e0.png)
![a7ab311f3d00bccd8f0f4124bbbc5685.png](https://i-blog.csdnimg.cn/blog_migrate/793cf2db48c845c8481e9cab36079eac.png)
![ecaa2b0a5e0461c24ddf1a6c71a8e324.png](https://i-blog.csdnimg.cn/blog_migrate/86d442802fb16cfb52e06e76c806802e.png)
![06d638051fe91500da0141713326b40e.png](https://i-blog.csdnimg.cn/blog_migrate/4eefd87c2b8a029b1c0880d4a7559282.png)
-THE END-
如果对你有帮助,记得转发分享哦
微信公众号「鱼鹰谈单片机」
每周一更单片机知识
长按后前往图中包含的公众号关注