usb学习笔记414(二)

USB主控制器+PHY硬件
主机控制器接口标准:
(1) OHCI(Open Host Controller Interface)是支持USB1.1的标准,但它不仅仅是针对USB,
还支持其他的一些接口,比如它还支持Apple的火线(Firewire,IEEE 1394)接口。与UHCI相比,OHCI的硬件复杂,硬件做的事情更多,所以实现对应的软件驱动的任务,就相对较简单。主要用于非x86的USB,如扩展卡、嵌入式开发板的USB主控。
(2) UHCI(Universal Host Controller Interface),是Intel主导的对USB1.0、1.1的接口标准,与OHCI不兼容。UHCI的软件驱动的任务重,需要做得比较复杂,但可以使用较便宜、较简单的硬件的USB控制器。Intel和VIA使用UHCI,而其余的硬件提供商使用OHCI。
(3) EHCI(Enhanced Host Controller Interface),是Intel主导的USB2.0的接口标准。EHCI仅提供USB2.0的高速功能,而依靠UHCI或OHCI来提供对全速(full-speed)或低速(low-speed)设备的支持。
(4) xHCI(eXtensible Host Controller Interface),是最新最火的USB3.0的接口标准,它在速度、节能、虚拟化等方面都比前面3中有了较大的提高。xHCI支持所有种类速度的USB设备(USB 3.0 SuperSpeed, USB 2.0 Low-, Full-, and High-speed, USB 1.1 Low- and Full-speed)。xHCI的目的是为了替换前面3中(UHCI/OHCI/EHCI)。

USB总线拓扑结构
USB控制器下边都有一个根集线器只有一个接口
可以连接一个集线器扩展多个接口

热插拔的硬件实现
集线器端口D+和D-都接15K欧的下拉电阻
全速设备和高速设备端口D+上接1.5K欧的上拉电阻
低速设备端口D-上接1.5K欧的上拉电阻
集线器端口D+和D-悬空状态
设备插入导致D+和D-中的一条被分压拉高
集线器检测到之后报告给USB主控制器或者上一层的集线器
USB高速设备先被识别为全速设备,通过HOST和DEVICE之间确认后切换到高速模式

主控制器驱动结构
1、USB设备驱动
2、USB Core驱动
3、USB主控制器驱动
解析和维护urb
负责不同USB传输类型的调度工作
负责USB数据的实际传输工作
实现虚拟根HUB的功能
/driver/usb/host

urb发送方式
1、 同步提交
2、异步提交

usb设备的属性信息保存在usb设备的E2PROM中,属性信息包括四种描述符
设备描述符,只有一个,包括一个成员变量表明设备中配置描述符的个数

配置描述符,一个或者多个,每个配置描述符表明一个设备的一种产品形态,
包括一个成员变量表明该配置之下接口的个数

接口描述符interface,一个或者多个,每一个接口描述符表明该设备的一种功能,
包括一个成员变量表明该接口下的端点个数

端点描述符endpoint

包括一个成员变量描述端点地址(0~15,共16个)和端点传输方向(输入或者输出,0号端点比较特殊,既可以输入也可以输出)
包括一个成员变量描述传输类型

usb主机端开发
usb设备端开发
手机在fastboot模式下运行时候是属于usb设备端

usb的hub设备开发

mini usb接口分ab型,其中一个的id线悬空,另一个的接地
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
in transfer
1、toggle data pid
2、将端点valid状态切换为nack
3、硬件置位ctr tx标志
4、如果中断使能则执行中断处理函数,中断处理函数中:
(1)通过寄存器查看本次transcation发生在那个ep上
(2)如果数据没有发送完成,将下一包数据拷贝到发送缓存区中
(3)更新count tx寄存器
(4)将端点状态置valid状态

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值