
usb
文章平均质量分 59
ahc2013
这个作者很懒,什么都没留下…
展开
-
使用lsusb命令查看系统中的USB设备
插入usb鼠标后执行lsusb的输出内容如下:-----------------------------------------Bus 005 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000 Bus 004 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000转载 2013-03-25 15:53:59 · 2641 阅读 · 2 评论 -
usb错误恢复
错误恢复信息包错误检查;错误EOP;总线超时(没有响应);数据触发器错误检查;串扰---在时间片结束之后发年事务处理;LOA---总线活动丢失。 三种类型的包错误:包ID(PID);CRC;位填充错误。发生以上错误,接收方忽略这个信息包,并且不会返回一个信息包。信息包的类型和CRC信息包的类型字段名字段的最大长度转载 2014-01-16 20:34:37 · 2063 阅读 · 1 评论 -
USB 接口关联描述符
USB 接口关联描述符 (IAD) 允许设备将属于一个函数的接口组合在一起。本主题描述客户端驱动程序如何能够确定设备是否包含某个函数的 IAD。通用串行总线规范版本 2.0 不支持将复合设备的多个接口组合在单一函数中。不过,USB 设备工作组 (DWG) 创建了允许函数具有多个接口的 USB 设备类,而且 USB 实施者论坛发布了工程变更通知 (ECN),为组合接口定义了一种机制。转载 2014-01-06 09:13:01 · 3626 阅读 · 0 评论 -
Scatter-gather DMA 与 block DMA
Scatter-gather DMA方式是与block DMA方式相对应的一种DMA方式。 在DMA传输数据的过程中,要求源物理地址和目标物理地址必须是连续的。但是在某些计算机体系中,如IA架构,连续的存储器地址在物理上不一定是连续的,所以DMA传输要分成多次完成。 如果在传输完一块物理上连续的数据后引起一次中断,然后再由主机进行下一块物理上连续的数据传输,那么这种方式转载 2014-01-03 19:27:44 · 1360 阅读 · 0 评论 -
怎样写linux下的USB设备驱动程序
引言随着人们生活水平的提高,我们用到的USB设备也越来越多,但是Linux在硬件配置上仍然没有做到完全即插即用,对于Linux怎样配置和使用他们,也越来越成为困扰我们的一大问题;本文的目地是使大家了解怎样编制USB设备驱动,为更好地配置和使用USB设备提供方便;对于希望开发Linux系统下USB设备驱动的人员,也可作为进一步学习USB驱动的大体架构进而编写出特殊USB设备的驱动程序。转载 2013-12-14 22:01:34 · 1182 阅读 · 0 评论 -
URB数据结构
一、 transfer_flags/* * urb->transfer_flags: * * Note: URB_DIR_IN/OUT is automatically set in usb_submit_urb(). */#define URB_SHORT_NOT_OK 0x0001 /* report short reads as errors */#def转载 2013-12-14 22:00:36 · 1203 阅读 · 0 评论 -
usb-OTG-ADP-HNP-SRP
1. USB速率这得从USB的发展过程说起。 USB 1.0:最早的USB标准,有187.5Kbps和1.5Mbps两种传输速率,最高传输速率1.5Mbps USB 1.1:传输速率为USB 1.0标准的8倍,有1.5Mbps和12Mbps两种传输速率,最高速率12Mbps USB 2.0:较新的USB标准,最高传输速率为480Mbps USB 3.0:据说是最新的USB标转载 2013-11-07 18:32:15 · 2231 阅读 · 0 评论 -
usb协议深入理解
备份http://blog.youkuaiyun.com/myarrow/article/details/8484113转载 2013-11-06 14:03:07 · 1749 阅读 · 0 评论 -
USB协议架构及驱动架构
1. USB协议1.1 USB主机系统 在USB主机系统中,通过根集线器与外部USB从机设备相连的处理芯片,称为USB主机控制器。USB主机控制器包含硬件、软件和固件一部分。1.2 USB设备系统 USB设备按功能分为两部分:集线器(Hub)和功能部件。从下图可知,主机通过根集线器连接到各种外围设备(集线器和功能部件)。1.转载 2013-11-07 18:33:35 · 1133 阅读 · 0 评论 -
USB OTG Session Request Protocol(SRP)请求过程
0.介绍SRP总体过程如下:1.通过管理VBUS与DATA LINES 来确定上一个SESSION的结束2.B-DEVICE通过DATA LINES 上的脉出来发送SRP3.A-DEVICE通过检测VBUS上的电压来确定SRP信号4.B-DEVICE检测新的SESSION是否有效1.SRP初始化条件首先,B-DEVICES只有在VBUS上的电压低于VOTG_SE转载 2013-11-07 18:31:17 · 2327 阅读 · 0 评论 -
USB热插拔机制实现
一.等待static struct usb_driver hub_driver = { .name = "hub", .probe = hub_probe, .disconnect = hub_disconnect, .suspend = hub_suspend, .resume = hub_resume,转载 2013-11-21 11:12:24 · 1919 阅读 · 0 评论 -
USB的八个问题和答案
问题一:USB的传输线结构是如何的呢?答案一:一条USB的传输线分别由地线、电源线、D+、D-四条线构成,D+和D-是差分输入线,它使用的是3.3V的电压(注意哦,与CMOS的5V电平不同),而电源线和地线可向设备提供5V电压,最大电流为500MA(可以在编程中设置的,至于硬件的实现机制,就不要管它了)。 问题二:数据是如何在USB传输线里面传送的答案二:数据在USB线里传送是转载 2013-11-20 16:23:37 · 1855 阅读 · 0 评论 -
usb_submit_urb流程分析
kernel version:3.0.08android version:4.1.1 一般是上层的功能驱动程序通过该函数想core提交urb,core会转递给控制器,控制器处理完urb后,会调用urb的回调函数,将urb控制权重新交给功能驱动程序。驱动程序会重新提交或者释放urb:int usb_submit_urb(struct urb *urb, gfp_t mem_原创 2013-06-24 11:14:26 · 6065 阅读 · 0 评论 -
libusb-win32介绍
1.介绍这篇文档主要介绍libusb API工作的大致概况。适用于对usb2.0协议有一定了解的读者。如果对usb2.0不理解,可以从http://www.usb.org网站上下载usb2.0协议规格文档。libusb-0.1可以工作在linux、FreeBSD、NetBSD、OpenBSD、Darwin/Macos X、Solaris等操作系统下。libusb-win32的API不仅兼容li翻译 2013-03-17 11:53:32 · 4372 阅读 · 0 评论 -
EV_REP,input_repeat_key,键盘重复,GPIO键盘
要实现的效果:类似桌面打开记事本,按下键盘后有输入,按住按键不放的话就连续输入。环境:嵌入式Linux系统,键盘有GPIO扫描实现,模拟成标准键盘,界面用QT4的LineEdit显示。 键盘的驱动我就不多说了,参考input/keyboard的omap方面代码即可;QT里面继承keyPressEvent()即可判断按下的是哪个键。要注意的有一些,说说心得:1转载 2014-02-07 20:33:14 · 3078 阅读 · 0 评论