0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

对USB驱动的简单解析

Q4MP_gh_c472c21 2018-01-27 10:49 次阅读

写在前面,看完本文,你是不可能完全掌握USB驱动的,这里主要是给大家带来一点思路,希望能对大家有所帮助。

一.整体框架

对USB驱动的简单解析

二.硬件基础

对USB驱动的简单解析

USB的硬件十分简单,一共就四根线,一共电源一共地,还有两根数据线。这区区四根线看似简单,作用不可小看啊。

识别过程:正如上图看到的, PC的USB口内部,D-和D+接有15K的下拉电阻,未接USB设备时为低。USB设备的USB口内部,D-或D+接有1.5K的上拉电阻;它一接入PC,电源通过两根电阻接地,然后分压,就会把PC USB口的D-或D+拉高,从硬件的角度通知PC有新设备接入。

三.软件概念

1.USB设备概观

对USB驱动的简单解析

有图可看出:

• 设备通常有一个或多个配置.• 配置常常有一个或多个接口• 接口常常有一个或多个设置.• 接口有零或多个端点.

2.端点

端点是USB通信的最基本的形式,USB端点只能往一个方向传输数据。输出端点(主机向设备),输入端点(设备向主机)都是相对于主机来说的。

端点的四种类型:

控制端点:控制端点是用来控制对USB设备不同部分的访问,通常用于配制设备、获取设备信息、发送命令到设备,或者获取设备的状态报告。数据可靠,并且有时间保证。

中断端点:每当USB宿主要求设备传输数据是,中断端点就以一个固定的速率来传输少量数据。注意这里说的中断,并不是我们之前说的硬件上的中断。因为设备在没有主控制器要求的情况下是不会发送数据的,所以是USB宿主负责每一个USB设备是否有数据需要发送。这些端点是USB鼠标和键盘所使用的主要传输方式。

批量端点:批量端点传输大批量的数据。USB协议不保证这些传输始终可以在特定的时间内完成。U盘等设备多用次传输方式

等时端点:等时端点也可以传送大批量的数据,但是数据是否到达没有保证。USB话筒,USB视频都使用这类端点。

3.接口

USB接口只处理一种USB逻辑连接。举个例子:现在的USB摄像头基本都带麦克风功能。要实现它的驱动,则需要两个驱动,一个USB摄像头驱动,一个麦克风驱动。所以需要两个接口。因为一个USB接口代表了一种基本的功能。所以说,并不是一个硬件就只对应着一个驱动,是有一对多的情况的。

4.配置

一个 USB 设备可有多个配置并且可能在它们之间转换,以便改变设备的状态. 例如, 一些允许固件被下载到它们的设备包含多个配置来实现这个,一个配置只能在一个时间点上被使能。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接口
    +关注

    关注

    33

    文章

    8474

    浏览量

    150766
  • USB驱动
    +关注

    关注

    1

    文章

    136

    浏览量

    20162
  • 配置
    +关注

    关注

    1

    文章

    187

    浏览量

    18347

原文标题:看完就会是不可能的,给大家讲讲USB驱动

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式微处理器】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    介绍一种简单的数据解析方法

    C语言简单数据解析​ 在嵌入式开发中通过串口等传输数据通常使用JSON解析,虽然JSON十分强大,但JSON耗费资源太多,数据的打包和解析都比较麻烦。有时我们只是传输一些
    发表于 02-28 06:15

    HDF驱动框架中USB DDK的解析与指导

    驱动程序。本期,我们将为大家带来HDF驱动框架中USB DDK的解析与指导。一、USB DDK介绍USB
    发表于 03-29 09:24

    USB 3.0电缆实物解析

    USB 3.0电缆实物解析 大家日常接触最多的PC外设接口莫过于USB了.8年前,USB 2.0(USB Hi-Speed)将
    发表于 05-15 09:11 1654次阅读

    电脑不能识别USB全面解析

    电脑不能识别USB全面解析 usb鼠标无法识别    问:我有一个Microsoft IE3.0鼠标,是X08版的。我的鼠
    发表于 02-25 11:32 8224次阅读

    Arduino USB驱动

    Arduino+USB驱动
    发表于 06-25 10:12 0次下载

    HC6800的USB驱动程序

    HC6800的USB驱动程序HC6800的USB驱动程序HC6800的USB驱动程序HC6800
    发表于 12-28 15:28 0次下载

    STM32的USB库深入解析

    STM32的USB库深入解析
    发表于 10-15 09:21 89次下载
    STM32的<b class='flag-5'>USB</b>库深入<b class='flag-5'>解析</b>

    简单USB转RS232线驱动安装入口

    本文主要介绍了简单USB转RS232线驱动安装入口.
    发表于 06-27 08:00 16次下载
    <b class='flag-5'>简单</b>的<b class='flag-5'>USB</b>转RS232线<b class='flag-5'>驱动</b>安装入口

    USB入门教程之如何简单快速的玩转USB

    通过U盘、USB鼠标、USB键盘、USB MIDI键盘、USB转串口、自定义的USB HID设备和自定义的
    发表于 09-26 17:40 86次下载
    <b class='flag-5'>USB</b>入门教程之如何<b class='flag-5'>简单</b>快速的玩转<b class='flag-5'>USB</b>

    USB驱动开发的步骤及方法解析

    项目需求是在已调好的ARM9板子上开发USB WiFi无线网卡的驱动程序,具体要求是驱动程序平台是WinCE,CPU类型支持ARM构架,要能比较方便地移植到X86;驱动接口类型是
    发表于 02-28 14:47 1.2w次阅读

    USB设备驱动的详细资料概述

    介绍USB设备在WDM中的开发框架。由于操作系统的USB总线驱动程序提供了丰富的功能调用,因此开发USB驱动开发变得相对
    发表于 05-07 18:20 9次下载
    <b class='flag-5'>USB</b>设备<b class='flag-5'>驱动</b>的详细资料概述

    基于USB设备的接口驱动设计方法解析

    项目需求是在已调好的ARM9板子上开发USB WiFi无线网卡的驱动程序,具体要求是驱动程序平台是WinCE,CPU类型支持ARM构架,要能比较方便地移植到X86;驱动接口类型是
    发表于 12-05 14:23 1305次阅读
    基于<b class='flag-5'>USB</b>设备的接口<b class='flag-5'>驱动</b>设计方法<b class='flag-5'>解析</b>

    C语言简单数据解析

    C语言简单数据解析​ 在嵌入式开发中通过串口等传输数据通常使用JSON解析,虽然JSON十分强大,但JSON耗费资源太多,数据的打包和解析都比较麻烦。有时我们只是传输一些
    发表于 01-13 15:17 8次下载
    C语言<b class='flag-5'>简单</b>数据<b class='flag-5'>解析</b>

    HDF驱动框架中USB DDK的解析与开发指导

    HDF(Hardware Driver Foundation)驱动框架是HarmonyOS硬件生态开放的基础,为开发者提供了驱动加载、驱动服务管理和驱动消息机制等
    的头像 发表于 03-30 10:16 2146次阅读

    如何制作简单USB设备

    电子发烧友网站提供《如何制作简单USB设备.zip》资料免费下载
    发表于 12-27 11:27 0次下载
    如何制作<b class='flag-5'>简单</b>的<b class='flag-5'>USB</b>设备