USB
张三李四结婚了
这个作者很懒,什么都没留下…
展开
-
详解USB控制传输
USB 控制传输一、USB控制传输1 传输过程1)建立过程2)数据过程3)状态过程二、示例1)建立过程2)数据过程3)状态过程usb的枚举过程是通过控制端点0使用控制传输方式来实现对usb 设备信息的获取和配置的,相对于其他传输方式,控制传输过程相对麻烦些,这里进行下说明。一、USB控制传输1 传输过程usb 控制传输分为三个过程,分别为建立过程、可选的数据过程、和状态过程。1)建立过程建立过程细分为3步,分别是 host 发送sendup token ,host发送8字节的控制指令的数据包,d原创 2020-12-08 17:30:21 · 1600 阅读 · 0 评论 -
USB host关于收到STALL处理
前言:stall 仅仅限于device 应答,而host端是不会发送stall握手包的。关于stall 包的场景,usb2.0 spec中有详细的说明。且收到stall后,软件必须做出相应的处理才能使通信恢复正常。一级标题一、STALL包分类:参看usb2.0 spec,STALL包分为两类,一类是protocol STALL,一类是functional STALL。用通俗的话来说就是,当使用控制端点0时,对应的是使用的protocol STALL(虽然控制端点也可以作为functional STAL原创 2020-11-27 21:22:32 · 3700 阅读 · 0 评论 -
USB开发-USB基础知识
1.一个usb 控制器下最多挂载多少usb 设备?答:127个,这是由usb数据协议中设备地址位数决定的,地址位总共7bit,其中0地址是用来给未初始化设备使用的。2.SE0状态是如何定义的?答:se0 就是D+和D-都处于低电平的状态。注意SE0并没有要求D+/D-维持多久,是要在一个数据宽度上D+和D-都处于低电平该阶段就是SE0状态。而USB很多信号是基于SE0来实现特殊信号,比如复位信号就是SE0维持10ms以上就认定为复位信号, 在FULL/LOW speed设备上,包结束符EOP是维持大原创 2020-11-27 16:57:01 · 747 阅读 · 0 评论 -
USB开发-USB从启动到运行
序:最近在调USB驱动,使用的控制器是Candence USB2.0 High speed Contrller,这是一个支持otg的控制器,有感于usb庞大的知识体系,给同样陷于usb泥潭中的同学一点启发,USB在处理细节上会由于硬件和操作系统的不同,但是其大体的流程是一致的。由于个人对usb的学习也就两周,知识水平有限,难免有错欢迎拍砖交流,内容随心情更新!时间有限,这里不会涉及到一些基础概念的讲解。知识点1:就是一个支持otg的usb控制器端做host还是device除了软件支持外,是由ID线决定的原创 2020-11-22 00:40:23 · 1075 阅读 · 1 评论