一直不理解我们的设备如何通过USB或者其他接口沟通的,查了一些资料。
比如usb设备。
参考:
详解USB总线工作原理
USB配置、接口和端点
USB具体通信过程
物理地址和虚拟地址的区别
1.设备插入,端口那里电压发生变化。
2.进入枚举过程:枚举就是从设备中读取一些信息,了解设备类型、速度,就可以根据设备信息来从硬盘中加载合适的驱动程序到内存中运行。
具体步骤如下:
s1 端口给cpu通过中断线发送一个硬件中断信号,计算机就能检测到设备插入。
s2 CPU检测到中断,启动该接口的中断处理程序,这个中断处理程序就是读hub的一些信息,比如设备速度类型(是高速设备还是低速设备),**HUB应该指的是电脑的USB插口 **。hub应该是在usb设备上
s3 中断处理程序等待100ms,保证接入的设备进入电压稳定状态,然后发消息让HUB进入复位状态,持续至少10ms保证电压稳定,等待下一步操作。
s4进行高速模式测试,看接入的设备是否支持高速模式,还是只能全速模式。(不知道如何检测的&#x