认识USB

usb的类型

接头外形上
USB类型 描述
USB-A 最广泛的接口标准
USB-B 一般用于打印机、扫描仪、USBHUB等外部USB设备(j-tag就用到了)
USB-C USB-C将成为欧盟电子设备的通用标准(常说的type-c)
总线版本上
总线版本 描述 速率(Xb/s)
USB 0.7 第一个版本,发展阶段 -
USB 1.0 1. 正式推出。由于热插拔特性,广泛应用于低速HID设备
2.可向外提供5V供电电压,最大电流500mA
1.5Mb/s
(低速)
USB 1.1 1. 兼容低速
2.得到win98以及以上版本的支持
3.一个USB接口可以拓展支持127个USB设备
12Mb/s
(全速)
USB 2.0
(最广泛)
1. 兼容低速和全速
2. 得到win和Linux的完整支持
3. 通过USB Hub级联(最多五级串联),可以拓展支持127个设备
4. 支持控制传输、中断传输、同步传输、块传输
480Mb/s
(高速)
USB 3.0 1. 兼容低速、全速和高速
2. 增加了电源管理职能,支持待机、睡眠及暂定模式
3. 全双工数据通讯
5Gb/s
(超速)
其他规范
规范名称 描述
USB-OTG 可使设备在没有USB主机的情况下进行输出交换(手机读U盘等)
无线USB 全新的无线传输标准(竞争目标是蓝牙)???我的无线鼠标是这个?

usb的主机和设备的关系

判断一个usb是主机还是设备有两个方法(这都是我的感觉,充电宝和手机可以推翻下面两点)

  1. 该设备的目的:如果是为了给其他设备服务,那这个usb设备就不是主机。主机是被提供服务的那一个。
  2. 该设备是否供电:供电方为主机(或集线器)

USB集线器

usb集线器可以拓展主机可以连接的usb设备数,最多可以五级串联。

  • 使用USB总线供电时,下行端口一般都是低功率输出端口
  • 使用自供电时,下行端口一般都是高功率输出端口

USB入门系列(一)认识USB的更多相关文章

  1. Android系统编程入门系列之硬件交互——通信硬件USB

    在硬件交互的首篇对设备硬件的分类中,互联通信系列硬件主要用来与其他设备进行数据交互.从本文开始,将重点介绍该系列相关硬件. 互联通信系列硬件 根据硬件的可通信距离,由近及远分为USB.NFC.蓝牙.W ...

  2. 在KVM虚拟机中使用spice系列之二(USB映射,SSL,密码,多客户端支持)

    在KVM虚拟机中使用spice系列之二(USB映射,SSL,密码,多客户端支持) 发布时间: 2015-02-27 00:16 1.spice的USB重定向 1.1 介绍 使用usb重定向,在clie ...

  3. USB入门基础知识(转)

    源:USB入门基础知识 相关名词: 主机(Host) 设备(Device) 接口(Interface) 管道(Pipe) 管道是主机与设备端点数据传输的连接通道,代表了主机的数据缓冲区与设备端点之间交 ...

  4. usb入门学习

    1.学习资源: usb org.http://www.beyondlogic.org/usbnutshell/usb3.shtml http://wenku.baidu.com/view/028231 ...

  5. USB入门开发的八个问题&USB枚举『转』

    USB 基本知识 USB的重要关键字: 1.端点:位于USB设备或主机上的一个数据缓冲区,用来存放和发送USB的各种数据,每一个端点都有惟一的确定地址,有不同的传输特性(如输入端点.输出端点.配置端点 ...

  6. USB入门

    简述 USB(Universal Serial Bus)全称通用串口总线,USB为解决即插即用需求而诞生,支持热插拔.USB协议版本有USB1.0.USB1.1.USB2.0.USB3.1等,USB2 ...

  7. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  8. ABP入门系列(1)——学习Abp框架之实操演练

    作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...

  9. Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数

    上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...

  10. Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数

    上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...

随机推荐

  1. 面试官:你了解git cherry-pick吗?

    事情要从一次不规范的代码开发开始说起 背景故事 时间 2024年某个风平浪静的周五晚上 地点 中国,北京,西二旗,某互联网大厂会议室 人物 小杰,小A,小B,老K 对话 老K:昨天提交的代码被测试打回 ...

  2. unity中Shader实现地形中根据实际高度绘制等高线,剖切功能,颜色渐变等功能

    问题背景 在做地形模块时,需要根据实际地形高度画出世界相应的等高线,以及根据高度做颜色渐变,以及剖切功能. 解决方法 通过像素点在世界坐标系下的真实高度值来判断计算绘制等高线,剖切功能以及颜色渐变均有 ...

  3. Log4Net配置详解及输出自定义消息类示例

    1.简单使用实例 1.1 添加log4net.dll的引用.   在NuGet程序包中搜索log4net并添加,此次我所用版本为2.0.17.如下图: 1.2 添加配置文件   右键项目,添加新建项, ...

  4. Spring WebFlux 简单业务代码及其Swagger文档

    上一篇文章<Spring 5 中函数式webmvc开发中的swagger文档>中讲了如何给传统MVC开发模式中的RouterFunction增加swagger文档.这一篇讲一下如何给函数式 ...

  5. pymsql往数据库插入表情报错

    修改数据库 需要数据库支持utf8mb4 修改/etc/my.conf [client] default-character-set = utf8mb4 [mysql] default-charact ...

  6. BootstrapTable 行内编辑解决方案:bootstrap-table-editor

    最近开发的一个业务平台,是一个低代码业务平台.其中用到的了bootstrap-table组件.但是bootstrap-table自身不带编辑功能. 通过搜索发现,网上大部分的解决方案都是使用x-edi ...

  7. leetcode简单(数组、字符串):[219, 268, 349, 414, 485, 541, 557, 821, 925, 977]

    目录 219. 存在重复元素 268. 丢失的数字 349. 两个数组的交集 414. 第三大的数 485. 最大连续 1 的个数 541. 反转字符串 II 557. 反转字符串中的单词 III 8 ...

  8. Day 8 - 并查集、堆、set 与 map

    并查集 引入 并查集是一种用于管理元素所属集合的数据结构,实现为一个森林,其中每棵树表示一个集合,树中的节点表示对应集合中的元素. 顾名思义,并查集支持两种操作: 合并(\(\text{Union}\ ...

  9. [rCore学习笔记 07]移除标准库依赖

    改造Rust hello world 移除println!宏 rustc添加对裸机的支持 rustup target add riscv64gc-unknown-none-elf detail rus ...

  10. 使用.NET6实现动态API

    ApiLite是基于.NET6直接将Service层生成动态api路由,可以不用添加Controller,支持模块插件化,在项目开发中能够提高工作效率,降低代码量. 开发环境 .NET SDK 6.0 ...