USB简介  

USB是英文Universal Serial BUS(通用串行总线)的缩写,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯,是应用在PC领域的接口技术。USB接口支持设备的即插即用和热插拔功能。

USB的电气特性

USB连接器包含四条线:2条用于电源供电(VBUS和GND),2条用于USB数据传输(D+和D-)。VBUS提供5V电源,电流可达500mA。D+和D-为双向信号线,信号传输速率为12Mbps(每位83ns)。D+和D-信号电平为3.3V 

USB的特点 

1)USB为所有的USB外设提供了单一的易于使用的标准的连接类型。这样一来就简化了USB 外设的设计,实现了单一的数据通用接口。USB的端口具有很灵活的扩展性,一个USB端口串接上一个USBHub就可以扩展为多个USB端口。整个的USB的系统只有一个端口和一个中断节省了系统资源

2) USB支持热插拔(hot plug)和PNP(Plug-and-Play),也就是说在不关闭PC 的情况下可 以安全的插上和断开USB设备。

3)USB在设备供电方面提供了灵活性。直接连接到Hub,或者是连接到Host的设备可以通过USB,也可以通过电池或者其它的电力设备来供电,或使用两种供电方式的组合并且支持节约能源的挂机和唤醒模式。 

5)USB传输速率适应各种不同类型的外设,提供全速12Mbps的速率和低速1.5Mbps的速率, USB2.0还支持480Mbps的高速传输速率。(现在usb3.0了,usb1.1不再考虑)

6)为了适应各种不同类型外围设备的要求,USB提供了四种不同的数据传输类型:控制传输,Bulk数据传输,中断数据传输和同步数据传输,同步数据传输可为音频和视频等实时设备的实时数据传输提供固定带宽。

USB四种的传输方式:

  • 控制(Control)传输

控制传输是双向传输数据,主要进行查询配置和给USB设备发送通用的命令。控制传输方式可以包括8,16,32和64字节的数据,这依赖于设备和传输速度。控制传输典型地用在主计算机和USB外设端点之间的传输。

  • 同步(isochronous)传输

同步传输提供了确定的带宽和间隔时间,它被用于时间严格并具有较强容错性的流数据传输,或者用于要求恒定的数据传输率的即时应用中,例如执行即时通话的网络电话,应用时使用同步传输模式是很好的选择。

  • 中断(interrupt)传输

中断方式传输主要用于定时查询设备是否有中断数据要传输。设备的端点模式器的结构决定了它的查询频率从1到255ms之间。这种传输方式典型的应用在少量的分散的不可预测数据的传输,键盘、操纵杆和鼠标就属于这一类型。

  • 批量(bulk)传输

主要应用在数据大量传输,而传输和接受数据上又没有带宽和间隔时间要求。打印机和扫描仪属于这种类型。

USB的拓朴结构

1) USB的网络协议中每个USB的系统有且只有一个host它负责管理整个USB系统,包括USB Device的连接与删除、与USB Device的通信、总路线的控制等等

2) Host端有一个Root Hub,可提供一个或多个USB下行端口,每个端口可以连接一个USB Hub或一个USB Device

3) USB Hub是用于USB端口扩展的,即USB Hub可以将一个USB端口扩展为多个端口。 上图中的每个Func(Function)就是一个USB Device,如USB键盘、USB鼠标、USB MODEM、USB硬盘等等

4) Compound Device是指带一个Hub和一个或多个不可删除的USB Device的复合设备 

5) 一个USB系统可连接多达127个Function

USB 的设备类型(device class) 

虽然USB设备都会表现USB的一些基本的特征,但是USB的设备还是可以分成多个不同类型。同类型的设备可以拥有一些共同的行为特征和工作协议从而使设备的驱动程序的书写变得简单一些。下表中就给出一些基本的USB的设备类型分类

引用:

  1. 常见接口电路介绍 <http://wenku.baidu.com/link?url=rPXAWPV1DLttBOy6O2-8g4jq2VZBnv4v70bCixoCU6l2I6Yuc9reQ-I99_njImH1tVKolXSkpUCmL65Bx2-yeLMNzXTBNd-cjf2OV60mwBK>

   
 

   
 

总线接口与计算机通信(四)USB外部总线(初级认识)的更多相关文章

  1. 总线接口与计算机通信(二)SPI总线

    SPI总线协议及SPI时序图详解  : http://blog.163.com/sunshine_linting/blog/static/44893323201181482335951/ 浅谈SPI总 ...

  2. 总线接口与计算机通信(五)CAN总线

        CAN网络图示     CAN的特点      CAN协议具有以下特点.      (1) 多主控制  在总线空闲时,所有的单元都可开始发送消息(多主控制). 最先访问总线的单元可获得发送权( ...

  3. 总线接口与计算机通信(一)I2C总线

    1.  I2C总线的基本概念    1)发送器(Transmitter):发送数据到总线的器件    2)接收器(Receiver):从总线接收数据的器件    3)主机(Master):初始化发送. ...

  4. 总线接口与计算机通信(三)UART起止式异步通用串行数据总线

    串口简介 1. 什么是串口? 串口是计算机上一种非常通用的设备通信的协议.串口通信的概念非常简单,串口按位(bit) 发送和接收字节.尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送 ...

  5. Linux usb 1. 总线简介

    文章目录 1. USB 发展历史 1.1 USB 1.0/2.0 1.2 USB 3.0 1.3 速度识别 1.4 OTG 1.5 phy 总线 1.6 传输编码方式 2. 总线拓扑 2.1 Devi ...

  6. 【接口时序】6、IIC总线的原理与Verilog实现

    一. 软件平台与硬件平台 软件平台: 1.操作系统:Windows-8.1 2.开发套件:ISE14.7 3.仿真工具:ModelSim-10.4-SE .ChipScope 硬件平台: 1. FPG ...

  7. 【接口时序】4、SPI总线的原理与Verilog实现

    一. 软件平台与硬件平台 软件平台: 1.操作系统:Windows-8.1 2.开发套件:ISE14.7 3.仿真工具:ModelSim-10.4-SE 硬件平台: 1. FPGA型号:Xilinx公 ...

  8. 利用FPGA实现PCI总线接口及Windows驱动实现

    利用FPGA实现PCI总线接口及Windows驱动实现 关于PCI总线协议,资料网上.书本都是.这里我们仅仅对重点对利用FPGA实现PCI总线接口问题进行简单分析.下图是PCI总线接口信号: 配置空间 ...

  9. MVC5+EF6 简易版CMS(非接口) 第四章:使用业务层方法,以及关联表解决方案

    目录 简易版CMS后台管理系统开发流程 MVC5+EF6 简易版CMS(非接口) 第一章:新建项目 MVC5+EF6 简易版CMS(非接口) 第二章:建数据模型 MVC5+EF6 简易版CMS(非接口 ...

随机推荐

  1. LaTeX技巧如何拆分源文件并且分别编译

    当处理很大的文档时,经常将文件分成若干个部分分别进行编译,这时我们可以使用LATEX所提供的命令 \input \include \includeonly \input{texfile} 文件名只需指 ...

  2. 《Linux命令行与shell脚本编程大全》 第十五章 学习笔记

    第十五章:控制脚本 处理信号 重温Linux信号 信号 名称 描述 1 HUP 挂起 2 INT 中断 3 QUIT 结束运行 9 KILL 无条件终止 11 SEGV 段错误 15 TERM 尽可能 ...

  3. 第八届acm省赛 A挑战密室(模拟)

    10406: A.挑战密室 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 29  Solved: 10 [Submit][Status][Web Bo ...

  4. sql的强大功能(看一条sql解决的复杂业务)

        一条sql语句解决的复杂业务,请往下看:     业务介绍:一个单位有多个立项(立项信息表里有单位id),每个立项可能被预警多次(预警信息表里的uuid字段的值里包含有立项id或单位id),每 ...

  5. 用ahk脚本自己主动删除flashcookies

    手动方法(请戳点击打开链接): 点击桌面左下脚的"開始"键 打开"控制面板" 并点击 "flash player" 项 进入 并点击&quo ...

  6. Use Excel to write insert SqlScript

    ="insert into Process.dbo.TempHampInGoodStandingLoanList (Loan_No,ProgramType,ModificationEffec ...

  7. 有关spring-servlet.xml 和 application.xml的配置信息讲解(这两个配置信息的区别在哪里)

    在使用springmvc时需要配置得信息有两个,一个是spring-servlet.xml和applcation.xml: 首先两个文件的的存放位置就有一点的不同(见下图),application.x ...

  8. [LeetCode]题解(python):132-Palindrome Partitioning II

    题目来源: https://leetcode.com/problems/palindrome-partitioning-ii/ 题意分析: 给定一个s,可以将s拆成若干个回文子字符串之和,如果拆成了m ...

  9. android-意图Intent

    Android基本的设计理念是鼓励减少组件间的耦合,因此Android提供了Intent (意图) ,Intent提供了一种通用的消息系统,它允许在你的应用程序与其它的应用程序间传递 Intent 来 ...

  10. 读书笔记: 深入浅出node.js

    >> 深入浅出node.js node.js是c++编写的js运行环境 浏览器: 渲染引擎 + js引擎 后端的js运行环境 node.js用google v8引擎,同时提供很多系统级的A ...