usb
ekenlinbing
这个作者很懒,什么都没留下…
展开
-
Linux-USB学习 -- 基本知识(一)
USB的重要关键字:1、端点:位于USB设备或主机上的一个数据缓冲区,用来存放和发送USB的各种数据,每一个端点都有惟一的确定地址,有不同的传输特性(如输入端点、输出端点、配置端点、批量传输端点)2、帧:时间概念,在USB中,一帧就是1MS,它是一个独立的单元,包含了一系列总线动作,USB将1帧分为好几份,每一份中是一个USB的传输动作。3、上行、下行:设备到主机为上行,主机到设备为下翻译 2012-05-29 14:55:08 · 491 阅读 · 0 评论 -
Linux USB驱动相关细节知识
1. 在usb_fill_bulk_urb,usb_fill_int_urb,usb_fill_control_urb都需要指定回调函数,当此URB请求完成时,usb core回调用此函数。注意:urb 回调函数是在中断上下文运行, 因此它不应做任何内存分配, 持有任何信号量, 或任何可导致进程休眠的事情. 如果从回调中提交 urb 并需要分配新内存块, 需使用 GFP_ATOMIC 标志来告翻译 2012-05-31 21:04:25 · 521 阅读 · 0 评论 -
Linux USB驱动工作流程
1. USB主机在Linux驱动中,USB驱动处于最底层的是USB主机控制器硬件,在其之上运行的是USB主机控制器驱动,主机控制器之上为USB核心层,再上层为USB设备驱动层(插入主机上的U盘、鼠标、USB转串口等设备驱动)。因此,在主机侧的层次结构中,要实现的USB驱动包括两类:USB主机控制器驱动和USB设备驱动,前者控制插入其中的USB设备,后者控制USB设备如何与主机通信。Linu翻译 2012-05-31 21:03:40 · 559 阅读 · 0 评论 -
USB基本问题及答案
问题一:USB的传输线结构是如何的呢? 答案一:一条USB的传输线分别由地线、电源线、D+、D-四条线构成,D+和D-是差分输入线,它使用的是3.3V的电压(注意哦,与CMOS的5V电平不同),而电源线和地线可向设备提供5V电压,最大电流为500MA(可以在编程中设置的,至于硬件的实现机制,就不要管它了)。 问题二:数据是如何在USB传输线里面传送的 答翻译 2012-05-31 20:59:21 · 559 阅读 · 0 评论 -
Linux USB驱动详解
原文地址:http://blog.csdn.net/chenjin_zhong/article/details/63293161.Linux usb设备驱动框架USB是通用串行总线的总称,Linux内核几乎支持所有的usb设备,包括键盘,鼠标,打印机,modem,扫描仪。Linux的usb驱动分为主机驱动与gadget驱动。前者是设备连接到计算机上,通过主机驱动扫描usb设备,控制所连接的翻译 2012-05-31 21:06:14 · 1079 阅读 · 0 评论 -
Linux usb_device usb_bus usb_driver的三角关系-USB Bus
一、USB Device 1. struct device: The Basic Device Structure, generic device interface(所有设备的抽象) -struct bus_type *bus; /* type of bus device is on */ -struct device_driver *driver;翻译 2012-05-31 20:57:14 · 736 阅读 · 0 评论 -
LINUX下USB1.1设备学习小记(3)_host与device
各位还记得”任何传输都是由host发起的”这句话么~在usb设备插入pc中到拔出usb设备,都是由host进行询问的一个usb鼠标的工作流程可以表达如下:usb鼠标插入pc中:主机询问设备:给我你的设备信息(控制传输)主机根据usb鼠标的设备信息进行驱动配置,配置结束后主机询问设备:给我你的数据信息(中断传输)一定的时间间隔之后....主机询问设备:给我你的数据信息原创 2012-05-29 19:29:07 · 496 阅读 · 0 评论 -
Linux USB驱动框架分析
Linux USB驱动框架分析(一) 事实上,Linux的设备驱动都遵循一个惯例——表征驱动程序的结构体,结构体里面应该包含了驱动程序所需要的所有资源。用术语来说,就是这个驱动器对象所拥有的属性及成员。这个结构体的名字由驱动开发人员决定,比如说,鼠标可能有一个叫做mouse_dev的struct,键盘可能由一个keyboard_dev的struct。而这次我们来分析一下Linux内核翻译 2012-05-29 16:17:33 · 554 阅读 · 0 评论 -
Linux-USB学习 -- USB枚举过程
USB架构中, hub负责检测设备的连接和断开,利用其中断IN端点(Interrupt IN Endpoint)来向主机(Host)报告。在系统启动时,主机轮询它的根hub(Root Hub)的状态看是否有设备(包括子hub和子hub上的设备)连接。USB总线拓扑结构见下图(最顶端为主机的Root Hub): USB总线拓扑结构(USB BusTopology)开始ColinkEx翻译 2012-05-29 14:56:01 · 962 阅读 · 0 评论 -
LINUX下USB1.1设备学习小记(2)_协议
USB协议:先看USB接口可以看出,在USB使用了4根线,分别为电源线,地线,信号线和差分信号线差分信号线用于检测信号线的传输是否正确下面我们只关注信号线然后是USB的串口传输在串口传输中,由于所有的信号共用一根数据线,所以不仅有先来后到的问题,而且在一个设备和另一个设备进行通信的时候,如果别的设备也进来插一脚,就会导致信号的出错,所以这个时候需要一个管理者原创 2012-05-29 19:28:07 · 416 阅读 · 0 评论 -
LINUX下USB1.1设备学习小记(1)
现在暂定的学习目标为一个USB鼠标的设备到主机的传输过程软件上的贯穿(会涉及到部分硬件 但是本人的电电路知识有限 涉及的量不会多) 学习的框架如下:1. USB1.1协议 A. 控制传输 B. 中断传输 2. USB主机 A. LINUX下的UHCI3. USB设备 A.飞利浦的PDIUSBD124.原创 2012-05-29 19:26:24 · 600 阅读 · 0 评论 -
Linux设备驱动程序学习(17)-USB 驱动程序(二)
USB设备其实很复杂,但是Linux内核提供了一个称为USB core的子系统来处理了大部分的复杂工作,所以这里所描述的是驱动程序和USB core之间的接口。在USB设备组织结构中,从上到下分为设备(device)、配置(config)、接口(interface)和端点(endpoint)四个层次。对于这四个层次的简单描述如下: 设备通常具有一个或多个的配置 配置原创 2012-05-29 16:41:35 · 454 阅读 · 0 评论 -
不插usb声卡时,录像机无法关闭
问题:当不插usb声卡时,打开录像机,点录像键,几秒钟后系统提示错误,退出,再次点击录像键或照相机,均打不开 用录像机录像时,要打开音频输入设备在AudioFlinger层frameworks/base/services/audioflinger/AudioFlinger.cpp[cpp] view plaincopyprint?int AudioF翻译 2012-05-24 16:09:34 · 1697 阅读 · 0 评论