USB系统硬件框架和软件框架

USB系统硬件框架和软件框架



一、从实验现象了解USB

现象:把USB设备比如Android手机接到PC

  • 右下角弹出"发现android phone"
  • 跳出一个对话框,提示你安装驱动程序

  • 问1:USB设备插到电脑上去,接触到的对方设备是什么?

答1:是USB控制器,是USB控制器内嵌的root hub

  • 问2. 既然还没有"驱动程序",为何能知道是"android phone"

答2. windows里已经有了USB的总线驱动程序,接入USB设备后,是"总线驱动程序"知道你是"android phone"
提示你安装的是"设备驱动程序"。 USB总线驱动程序负责:识别USB设备, 给USB设备找到对应的驱动程序

  • 问3. 为什么一接入USB设备,PC机就能发现它?

答3. PC的USB口内部,D-和D+接有15K的下拉电阻,未接USB设备时为低电平
USB设备的USB口内部,D-或D+接有1.5K的上拉电阻;它一接入PC,就会把PC USB口的D-或D+拉高,从硬件的角度通知PC有新设备接入。

在这里插入图片描述

  • 问4. USB设备种类非常多,为什么一接入电脑,就能识别出来它的种类?

答4. PC和USB设备都得遵守一些规范。比如:USB设备接入电脑后,PC机会发出"你是什么"?USB设备就必须回答"我是xxx",
并且回答的格式是固定的。USB总线驱动程序会发出某些命令想获取设备信息(描述符),USB设备必须返回"描述符"给PC。

  • 问5. PC机上接有非常多的USB设备,怎么分辨它们?

答5. 每一个USB设备接入PC时,USB总线驱动程序都会给它分配一个编号。PC机想访问某个USB设备时,发出的命令都含有对应的编号(地址)。

  • 问6. USB设备刚接入PC时,还没有编号;那么PC怎么把"分配的编号"告诉它?

答6. 新接入的USB设备的默认编号是0,在未分配新编号前,PC使用0编号和它通信。

二、 硬件框架

在USB系统中,有2个硬件概念:

  • USB Host:它跟处理器相连,处理器通过USB Host跟各类USB设备通信。USB Host中集成有一个root hub
  • USB Device:这分为两类设备
    • Hub:用来扩展USB接口
    • Function:就是普通的USB设备,比如U盘、声卡等
      在这里插入图片描述

三、 软件框架

在这里插入图片描述

APP可以通过USB设备驱动程序访问USB设备,
也可以绕过USB设备驱动,直接通过USB控制器驱动访问USB设备。


致谢

以上笔记源自韦东山老师的视频课程,感谢韦老师,韦老师是嵌入式培训界一股清流,为嵌入式linux开发点起的星星之火,也愿韦老师桃李满园。聚是一团火,散是满天星!

在这样一个速食的时代,坚持做自己,慢下来,潜心琢磨,心怀敬畏,领悟知识,才能向下扎到根,向上捅破天,背着世界往前行!

仅此向嵌入行业里的每一个认真做技术的从业者致敬!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值