博客
关于我
驱动程序之_1_字符设备_13_USB设备_1_基本概念
阅读量:665 次
发布时间:2019-03-16

本文共 967 字,大约阅读时间需要 3 分钟。

驾驭程序之《1》字符设备与《13》USB设备的基本概念

USB设备识别过程

在Windows系统中,每当插入USB设备,若未安装驱动程序,系统会提示有新设备并要求安装驱动程序。这表明系统能够识别到新插入的设备。这个识别过程可以通过平台总线驱动的概念来理解。系统中存在一个USB设备总线,总线又分为设备(device)和驱动程序(driver)两个部分。每当插入一个USB设备,系统会将该设备节点(device)添加到总线的设备链表上,并提示安装驱动程序(driver);安装驱动程序时,系统又将驱动程序添加到总线的驱动程序链表上,并寻找能够匹配的设备,建立联系(同样地,插入设备时也会从驱动程序链表中寻找匹配驱动程序)。当驱动程序与设备建立联系后,设备就可以正常工作(前提是驱动程序是正常的)。

USB总线驱动的作用

  • 识别USB设备
  • 搜索、安装USB设备驱动程序
  • 提供USB设备的读写接口
  • 主机与设备的通信规范

    当插入设备时,主机会要求设备发送设备信息(设备描述符),并使用0地址进行通信。主机会为设备分配地址,之后的通信则使用该地址。

    USB接口的物理特点

    不论是USB主机还是USB设备,接口上都有四个引脚:VCC、GND、D+和D-。

    • D+和D-引脚负责数据传输
    • 主机侧的D+、D-分别连接15K下拉电阻,保持低电平
    • 设备侧的D+或D-/D-引脚连接1.5K上拉电阻
    • 当插入设备时,主机侧的D+或D-引脚被拉高,主机通过检测D线湿电阻变化来确定设备的插入。

    USB设备总线架构

    USB设备是主从结构,数据传输由主机发起,设备不能主动通知主机。

    USB传输类型

  • 控制传输:数据可靠且需要实时性,例如设备识别过程。
  • 批量传输:数据可靠,但不需要实时性,例如U盘的文件读取写入。
  • 中断传输:数据可靠且需要实时性(因为主机主动查询),例如鼠标。
  • 实时传输:数据不可靠但需要实时性,例如USB摄像头。
  • 数据传输的特点

    • 传输对象:数据传送的对象是端点。
    • 0端点:可双向传输。
    • 非0端点:只支持单向传输(读或写)。
      用户在U盘读文件时,数据从设备端点传输到主机0端点;写文件时,主机将数据发送至设备对应的端点。

    USB输入输出的概念

    从主机角度来看,输入信息来自设备的指定端点(读取数据),输出信息则是主机向设备指定端点发送数据(写入数据)。

    转载地址:http://ohoqz.baihongyu.com/

    你可能感兴趣的文章
    微信小程序云开发:怎么删除云函数?已解决
    查看>>
    解决微信小程序项目导入的问题:app.json 未找到、 __wxConfig is not defined
    查看>>
    非迅捷|PDF、Word、PPT、Excel、图片等互相在线转换:免费、简单、快速、零错误、无套路
    查看>>
    第一次被黑
    查看>>
    PyCharm配置anaconda环境
    查看>>
    SpringBoot与缓存(JSR-107、Spring缓存抽象)
    查看>>
    ERROR 总结
    查看>>
    查找最小值栈的O(1)
    查看>>
    淘宝天猫双十一养猫组队怎么踢人
    查看>>
    Java面试题整理,闭关在家37天“吃透”这份345页PDF,纯干货
    查看>>
    概念唱片Plastic Beach封面高清壁纸
    查看>>
    旅游后期效果Ography Lightroom预设
    查看>>
    2017CS231n笔记5.CNN
    查看>>
    Linux系统安装Nodejs
    查看>>
    vue项目报错集合
    查看>>
    图片链接
    查看>>
    LINUX-WIFI无线接入的一些东西
    查看>>
    word文档手写字母总会大写问题
    查看>>
    Redis中的key
    查看>>
    juc-09-控制并发流程工具类
    查看>>