本文主要是介绍【驱动】USB驱动、USB Functionfs简单使用介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、基本概念
USB(Universal Serial Bus)是一种通用的串行总线标准。
1.1 主从结构
USB是一种主从结构,主机叫做Host,从机叫做Device即设备,所有的USB传输,都是从USB主机这方发起;USB设备没有“主动”通知USB主机的能力。
1.2 USB可以热拔插的硬件原理
USB热插拔的原理是基于USB接口的电气特性和协议规范。USB接口有四根线,分别是VCC(电源正极)、D+(数据+)、D-(数据-)和GND(电源负极)。当USB设备插入计算机时,计算机会检测到VCC和GND的电压变化,从而判断设备的插入和拔出状态。
1.3 USB的4大传输类型:
1.3.1 控制传输
控制传输是每一个USB设备必须支持的,通常用来获取设备描述符、设置设备的状态等等。一个USB设备从插入到最后的拔出这个过程一定会产生控制传输(即便这个USB设备不能被这个系统支持)。
1.3.2 中断传输
支持中断传输的典型设备有USB鼠标、USB键盘等等。中断传输不是说我的设备真正发出一个中断,然后主机会来读取数据。它其实是一种轮询的方式来完成数据的通信。USB设备会在设备驱动程序中设置一个参数叫做interval,它是endpoint的一个成员。interval是间隔时间的意思,表示我这个设备希望主机多长时间来轮询自己,只要这个值确定了之后,我主机就会周期性来查看
这篇关于【驱动】USB驱动、USB Functionfs简单使用介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!