zoukankan      html  css  js  c++  java
  • USB_USB接口

    USB接口介绍

     USB(Universal Serial Bus)通用串行总线的简称

        USB设备系统分为两个部分,USB HostUSB Device端,以USB接口的U盘为例子,U盘自身是一个USB Device,PC机的USB接口以及相关的控制电路为USB Host部分。

        每个部分由硬件部分和软件部分组成,硬件部分由USB主机控制器和USB接口芯片来组成,固件(软件)由两侧的驱动程序组成。

       

        为了规范不同厂商的USB设备,IEEE指定了相应的规范,只要不同端的设备都符合此规范,就能正常的通讯。

    主机控制器协议

         主机控制器协议有 OHCI、EHCI、UHCI、xHCI。

         对于协议规范里面的特定功能,由硬件来实现还是由软件来实现,这取决于不同的应用场合和环境,因此,就出现了针对USB1.1协议的OHCI和UHCI主机控制器协议。

         OHCI把一些功能实现放在硬件上面,因此,软件方面就比较容易开发,常用于嵌入式系统

         UHCI则把一些功能的实现更多的放在软件上面,因此,硬件上面就可以做的较为简单,适用于大规模生产,常用于PC中

         为了解决USB1.1传输速度低下的问题,USB规范升级到USB2.0,对应的主机控制器规范升级为 EHCI。

         进一步升级USB规范到USB3.0,对于的主机控制器规范为xHCI。下图是不同USB主机控制器的区别。

    clipboard

    USB硬件接口

        USB的插头和插座,根据不同使用环境,分为三种类型,Type最大,Mini适中,Micro最小。每个类型中又分为A类和B类两个规格。

         clipboard[4]

         clipboard[6]

    USB3.0的接口,USB3.0相比于USB2.0增加了4根线,不过在设计上,保持同USB2.0的兼容。

         image

    下图是不同规范的协议对比:

    clipboard[8]

    编码方式

        USB中用NRZI(非归零反转码),电平翻转代表逻辑0,电平不变代表逻辑1.USB的每个数据包都以同步域开头(0000_0001),通过编码成为方波。为了防止发送同样的数据造成的传输误差,USB规定了强制插0的协议,即如果要传输的数据中有7个连续的1,发送前会在第六个1的后面强制插入一个0,强制反转发送信号,使得两侧的接受频率同步。

    USB的分类

        USB只是一种接口形式,基于此接口,可以有多重多样的设备,为了便于统一管理,对于不同的设备,USB规范规定了不同的设备类型,详细的USB的Class分类参加此链接:

        http://www.xat.nl/en/riscos/sw/usb/class.htm

    USB的枚举

        USB的枚举,USB Emulation,就是USB初始化的意思,简单的说,就是USB的Host和Device之间的对话。

    USB的数据传输

        一次USB的传输,由不同事务(Transaction)组成,一个事务是由不同的包(Packet)组成,一个包是由不同的域组成。见下图:

        clipboard[12]

        数据传输分为两类:周期性的和非周期性的。

                周期性的有中断传输和等时传输。

                非周期性的有控制传输和批量传输

      参考链接:

    USB设备简述:

    http://blog.csdn.net/ljzcom/article/details/8574411

    USB设备驱动开发:

    http://blog.csdn.net/ljzcom/article/details/8574387

    usb设备的probe过程:

    http://blog.csdn.net/ljzcom/article/details/7419867

    USB设备驱动开发之数据结构:

    http://blog.csdn.net/ljzcom/article/details/7693209

    http://blog.csdn.net/ljzcom/article/details/7693212

    http://blog.csdn.net/ljzcom/article/details/7693219 

    Technorati 标签:
    作者:浩天之家
  • 相关阅读:
    java学习疑问
    HTTP method GET is not supported by this URL
    详解ListView分页(带图片)显示用法案例
    MySQL 字段数据类型/长度
    getRequestDispatcher()与sendRedirect()的区别
    Codeforces Round #754 (Div. 2) D,E 题解
    CCPC2019 Harbin Site B.Binary Numbers
    2020 EC Final D. City Brain
    [USACO15JAN]Grass Cownoisseur G
    CF1295F Good Contest
  • 原文地址:https://www.cnblogs.com/iriczhao/p/10884724.html
Copyright © 2011-2022 走看看