usb系统–硬件框架和软件框架
-
现象1:当一个usb设备插入 pc,pc端会提示什么设备,比如:android phone。 说明pc上有usb总线驱动程序,它负责识别usb设备,给这个usb设备找到对应的驱动程序
-
为什么pc一接入usb设备,立马会发现:
pc的usb口内部,D-和D+接有15K的下拉电阻,未接usb设备时,是低电平状态;
usb设备的usb口内部,D-和D+接有1.5k的上拉电阻;
当usb设备接入pc时,就会把pc的usb口的D-或D+拉高,从硬件角度通知pc有新设备接入
-
usb设备接入pc,pc端就能识别是哪类设备:
pc和usb设备都得遵守一些规范。比如:usb设备接入电脑后,pc会说:who are you,usb设备会说: iam xx,并且回答格式是固定的。
usb总线驱动程序会发出某些指令 来获取设备信息(描述符),usb设备必须返回“描述符”给pc。 -
pc上有很多usb设备,是怎么区分:每个usb设备接入pc时,usb总线驱动程序都会给他分配一个随机编号(地址),方便后续pc与usb设备通信。
硬件框架
在usb系统中,有2个硬件概念: -
USB host:和cpu相连,通过usb host跟各类usb设备通信。usb host中集成一个 root hub
-
USB device:分两类:
Hub:用来扩展USB接口
Function:普通的usb设备,比如u盘等。==参考资料《圈圈教你玩USB》
下图是来自 https://www.usb.org/documents