如下图所示,USB控制器可以呈现出两种不同的状态。USB控制器作为Host时,称为USB主机控制器,使用USB主机控制器驱动。USB控制器作为Device时,称为USB设备控制器,使用UDC(usb device controller)驱动。本节只分析USB控制器作为Device时的驱动框架。
USB 有主机功能和从设备功能。做主机时,能连接 U 盘、USB 鼠标等 USB 设备;做从设备时,具有 ADB 调试等从设备功能。
[root@node1 ~]# dmesg|grep usb [ 0.211798] usbcore: registered new interface driver usbfs [ 0.211801] usbcore: registered new interface driver hub [ 0.211812] usbcore: registered new device driver usb [ 0.513302] usb usb1: New USB device fo
OTG 主要用作Host 与Device 的切换,如当板子通过 USB 线连接到 USB 主机 (PC) 上时, 此时 OTG 是加载成 USB Device;若当前板子是通过 OTG 线连接一个USB 设备,此时 OTG 则加载 成 USB Host。
问1. 既然还没有"驱动程序",为何能知道是"android phone" 答1. windows里已经有了USB的总线驱动程序,接入USB设备后,是"总线驱动程序"知道你是"android phone" 提示你安装的是"设备驱动程序" USB总线驱动程序负责:识别USB设备, 给USB设备找到对应的驱动程序
大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。
FabulaTech是一家位于英国伦敦的软件开发公司,其专业精神、经验和执行领导能力得到高度认可。
"USB 接口"是逻辑上的 USB 设备,编写的 usb_driver 驱动程序,支持的是"USB 接口":
一个正常的UAC设备插入Android 7.0是默认打开UAC配置的,打印的log如下: [ 2367.490491] usb 3-3.2: new full-speed USB device number 9 using xhci_hcd [ 2367.580010] usb 3-3.2: New USB device found, idVendor=0d8c, idProduct=0132 [ 2367.580018] usb 3-3.2: New USB device strings: Mfr=1,
接口是Java中的很重要的一个知识点,首先我们要初步了解从生活中了解“接口”的概念,什么是接口?
在USB 2.0协议中第 9.1 USB Device States 章节规定了USB设备的6种状态,包括:
今天给大侠带来基于 FPGA 的 USB 接口控制器设计(VHDL),由于篇幅较长,分三篇。今天带来第一篇,上篇,USB 接口简介 以及 USB 体系结构。话不多说,上货。
需要关注注册驱动的有hub, usb, usb-storage。hub中用来做检测usb口是否有OTG的东东接入,usb是所有usb接入设备的老大哥,usb-storage只是usb的一个小老弟。
在当今数字时代,无论是连接电脑、手机、平板还是其他各种外设,USB接口都发挥着重要作用,但USB接口类型和外观多样,导致出现很多错误叫法,像什么“华为口”、“安卓口”等,实际上每一款USB接口及其变体都有名称,每种类型也都具有其独特的特点和用途。
从前在学校,混了四年,没有学到任何东西,每天就是逃课,上网,玩游戏,睡觉。毕业的时候,人家跟我说Makefile我完全不知,但是一说Make Love我就来劲了,现在想来依然觉得丢人。
在Linux环境上使用SDX55模块时出现无法识别adb端口,但可以识别手机adb端口。
UDC驱动的接口都定义在drivers/usb/gadget/udc/core.c文件中。USB Function驱动通过调用这些接口匹配及访问USB设备控制器,而底层USB控制器驱动要实现这些接口定义的功能。下面分析一下主要的UDC驱动接口调用流程。
开发板: Exynos4412(Cortex-A9) ----友善之臂Tiny4412
本文介绍了如何通过Linux内核模块编程,实现USB设备驱动,特别是针对键盘、鼠标等输入设备的驱动开发。通过分析具体的实现过程,作者让读者了解如何通过Linux内核模块编程,实现USB设备驱动,特别是针对键盘、鼠标等输入设备的驱动开发。
USB是连接计算机系统与外部设备的一种串口总线标准,也是一种输入输出接口的技术规范,被广泛地应用于个人电脑和移动设备等信息通讯产品,USB就是简写,中文叫通用串行总线。最早出现在1995年,伴随着奔腾机发展而来。自微软在Windows 98中加入对USB接口的支持后,USB接口才推广开来,USB设备也日渐增多,如数码相机、摄像头、扫描仪、游戏杆、打印机、键盘、鼠标等等,其中应用最广的就是摄像头和U盘了。
论坛原始地址(持续更新):http://www.armbbs.cn/forum.php?mod=viewthread&tid=99710 第8章 学习USB协议栈前要了解的基础知识 本章节为大家
教程更新中:http://www.armbbs.cn/forum.php?mod=viewthread&tid=108546 第4章 ThreadX USBX协议栈基础知识 本章节为大家讲解USB
本文总结了USB总线驱动程序的实现原理和流程。首先介绍了USB总线驱动程序的基本概念和作用,然后详细阐述了USB总线驱动程序的实现流程,包括设备加载、设备初始化、设备配置、设备接口、端点、读写请求、中断和轮询机制。最后对USB总线驱动程序中涉及到的几个重要概念进行了详细说明。通过本文的总结,可以更好地理解USB总线驱动程序的实现原理和流程,为后续的USB驱动开发打下坚实的基础。
USB4 全名为Universal Serial Bus Generation 4。USB 这个介面在1996 年发布USB 1.0 规格, 传输速度支援低速1.5 Mbps 与全速12 Mbps,以及之后陆续发表支援速度480 Mbps、5Gbps、10Gbps、20Gbps 等,并在2019年9 月发布最新一代USB4 规格,支援20 Gbps 与40 Gbps。USB 介面演进及相对应的logo,请参考图表一。
如何让Openharmony设备HDC接口(OTG接口)作为一个复合设备,实现HDC(HDC:鸿蒙设备连接器) + CDC ACM(USB 虚拟串口),而设备本身支持HDC。所以需要增加CDC ACM(USB 虚拟串口)。
Cynthion 是一款用于构建、测试、监控和试验 USB 设备的一体化工具。Cynthion 的数字硬件围绕独特的 FPGA 的架构构建,可以完全定制以适应当前的应用。因此,它可以充当不折不扣的高速 USB 协议分析仪、USB 黑客多功能工具或USB 开发平台。
USB总线以高效、便捷的特性得到广泛的应用,但是USB本身并不是专为工业控制开发的,工业控制具有实时性强,安全要求高,现场干扰大等特点。USB-5800是研华科技专为严苛工业环境下进行总线式高速采集与控制应用而打造的系列产品,增加多项专门设计以保证工业现场应用的可靠性。
下图是RK3399 SOC的框图。RK3399包含了2个USB2.0 Host控制器;两个USB3.0 OTG控制器,同时兼容USB2.0。USB3.0使用的是Synopsys公司的IP,驱动也使用Synopsys的dwc3 USB驱动。
有客户使用Linux中的USB Gadget功能,把MPSoC器件做USB从设备。在执行“mkdir functions/.”时,得到错误“Device or resource busy”。
在SmartQ 7上面,同时存在USB HOST与 USB OTG两个接口,我想问一下,这两个接口有什么区别么?我怎么认为HOST属于是多余呢? 麻烦高手解答,感激不尽!! 零 USB背景知识 U
在usb gadget configfs引入到内核之前,内核都使用硬编码的方式实现复合设备,无法在用户空间动态修改和绑定不同的function驱动,若要修改,则需要修改内核代码,重新编码,非常不方便。目前这部分代码在被放到drivers/usb/gadget/legacy/目录下。被编译成内核模块时,名称以g开头,如音频设备g_audio.ko、串口设备g_serial.ko、CDC设备及大容量存储设备g_multi.ko。USB gadget configfs和legacy相比只是实现复合设备的形式不同而已,设备的功能最终还是要通过function驱动实现。下面以音频复合设备为例,分析g_audio驱动的工作过程。
USB是通用串行总线(Universal Serial Bus)的缩写。在USB总线出现之前,计算机与键盘、鼠标、扫描仪、打印机都使用专用的接口连接,不同设备的接口不能互用,扩展性很差,每次插拔设备都要关闭计算机,不支持热插拔,且通信速率很低。为了解决上述问题,USB总线诞生了。USB总线就好像一条管道,管道里流过的东西只要符合USB协议,至于具体流的是什么东西,USB总线并不关心,可以是自来水,可以是污水,可以是天然气,也可以是石油。对应具体的设备上,只要是支持USB协议的设备,都可以连接计算机,如USB键盘、USB鼠标、USB摄像头、USB音箱等。USB的出现简化了计算机与外围设备的连接,增强了扩展性,支持热插拔,且通信速度很快。
configfs是基于ram的文件系统,与sysfs的功能有所不同。sysfs是基于文件系统的kernel对象视图,虽然某些属性允许用户读写,但对象是在kernel中创建、注册、销毁,由kernel控制其生命周期。而configfs是一个基于文件系统的内核对象管理器(或称为config_items),config_items在用户空间通过mkdir显式的创建,使用rmdir销毁,在mkdir之后会出现对应的属性,可以在用户空间对这些属性进行读写,与sysfs不同的是,这些对象的生命周期完全由用户空间控制,kernel只需要响应用户空间的操作即可。configfs和sysfs两者可以共存,但不能相互取代。
论坛原始地址(持续更新):http://www.armbbs.cn/forum.php?mod=viewthread&tid=99710 第3章 RL-USB协议栈介绍 本章节介绍一下RL-USB
1,windows下第一次插入该猫的时候,会以一个usb外接存储设备显示出来,并且看上去是一个CD-ROM的Media设备,当在windows下安装完电信的拨号程序以后,这个CDROM的设备就不见了,然后打开windows的超级终端,会看到三个新的串口设备
在贴测试结果之前,先来普及一下usb3相关信息,百科什么的得自己去看,这里我说几个大家可能关心的问题。
迭代速度是构建高质量 Android 应用的关键要素。处理的速度越快,应用程序的体验就越顺畅。这篇文章将和大家聊聊如何优化部署时间。
USB是计算机公司和通信公司在1994年联合制定的新一代接口标准,全称为通用串行总线 (Universal Serial Bus,USB) 。USB 总线作为一种高速串行总线,其极高的传输速度可以满足高速数据传输应用场景,所以应用领域非常广泛。
根据此前的消息,基于Thunderbolt 3(雷电3)技术的USB 4接口与此前的USB 3.2相比带宽提升了一倍,能够提供40Gbps的带宽与100W的供电,使用USB Type-C 物理接口,所以你可以将USB 4当作是雷电3的大众化版本。目前USB Promoter Group正在努力开发USB 4规范,相关零售产品将于2020年底上市。
USB总线以高效、便捷的特性得到广泛的应用,但是USB本身并不是专为工业控制开发的。工业控制具有实时性强,安全要求高,现场干扰大等特点,因此USB需要进行工业设计才能保证工业应用的可靠性。
最近某些新电脑的发布,看到带了全功能的type-c接口,一直搞不懂什么type-c还有什么全功能,半功能?和雷电3又有什么区别,雷电3又有什么全速,半速。由于搞不清,所以网上看了很多资料,这里总结一下以备后续查阅
论坛原始地址(持续更新):http://www.armbbs.cn/forum.php?mod=viewthread&tid=99710 第9章 RL-USB各种USB描述符简介 本章节为大家讲
之前见过引入第三方键盘、鼠标驱动导致远程受影响的,最近安装了USB Network Gate 也出现远程异常的情况,甚至蓝屏
在全志R128开发过程中总结一些RTOS系统的usb命令使用方法,以下命令在所有RTOS平台(MELIS/FREERTOS)都可以使用
– 随着移动互联网技术的迅猛发展,两大主流智能移动设备iOS 和Android占据了绝对的市场,除了基本的通话、娱乐功能之外,这些移动设备已经成为新时代中重要的信息终端设备节点。 – 通用串行总线(USB)目前已经成为了最标准的接口,用于提供系统一个可靠且低成本的数字连接,目前在使用方面已经超越了电脑的范畴,并已广泛应用在工业、医疗、消费电子、通信网络等等。 – RS232接口长期广泛存在于在各种应用领域,随着安卓手机平板的大量上市,安卓系统下通过USB转RS232接口接入外设的应用需求也开始变得强烈起来。
领取专属 10元无门槛券
手把手带您无忧上云