精华内容
下载资源
问答
  • 通用串行总线(英语:Universal Serial Bus,缩写:USB连接计算机系统与外部设备的一种串口总线标准,也一种输入输出接口的技术规范,被广泛地应用于个人电脑和移动设备等信息通讯产品,并扩展至摄影器材、...

    USB接口也是经常用到的,这一篇还是从它的基础知识讲起。

    一、USB介绍

    通用串行总线(英语:Universal Serial Bus,缩写:USB)是连接计算机系统与外部设备的一种串口总线标准,也是一种输入输出接口的技术规范,被广泛地应用于个人电脑和移动设备等信息通讯产品,并扩展至摄影器材、数字电视(机顶盒)、游戏机等其它相关领域。最新一代是USB 3.1,传输速度为10Gbit/s,三段式电压5V/12V/20V,最大供电100W ,新型Type C插型不再分正反。

    二、USB版本

    这里写图片描述

    展开全文
  • 纵谈USB总线(上)

    千次阅读 2018-05-19 10:09:00
    USB(Universal Serial Bus,通用串行总线)连接CPU与外部设备的一种串口总线标准,也一种输入输出接口的技术规范。 而USB的出现的时候,那个时候已经有很多的通信方式了,如232、485等,可是为什么还是出现了...

    什么是USB

    USB(Universal Serial Bus,通用串行总线)是连接CPU与外部设备的一种串口总线标准,也是一种输入输出接口的技术规范。
    而USB的出现的时候,那个时候已经有很多的通信方式了,如232、485等,可是为什么还是出现了USB总线呢,而且在后续的发展USB总线比其他通信方式用得更加普遍。

    Themain reason that new interfaces don’t come around very often is that existing interfaces have the irresistible pull of all of the existing peripherals that users don’t want to scrap. Also, using an existing interface saves the time and expense of designing something new. This is why the designers of the original IBM PC chose compatibility with the existing Centronics parallel interface
    and the RS-232 serial-port interface—to speed up the design process and enable users to connect to printers and modems already on the market. These interfaces proved serviceable for close to two decades. But as computer power and the number of peripherals have increased, the older interfaces have became a bottleneck of slow communications, with limited options for expansion.

    简单得来表述的话,你把USB的优点讲一遍就是出现USB总线的原因了:速度快,使用方便

    下面贴上一个各类通信的比较图
    这里写图片描述


    USB的工作原理

    讲工作原理前可以先看看USB硬件结构,这样能更好的去理解

    这里写图片描述

    (1)USB HOST
    在一个USB系统中,当且仅当有一个USB HOST时,USB HOST有以下功能:
    ◇ 管理USB系统;
    ◇ 每毫秒产生一帧数据;
    ◇ 发送配置请求对USB设备进行配置操作;
    ◇ 对总线上的错误进行管理和恢复。

    (2)USB DEVICE
    在一个USB系统中,USB DEVICE和USB HUB总数不能超过127个。USB DEVICE接收USB总线上的所有数据包,通过数据包的地址域来判断是不是发给自己的数据包:若地址不符,则简单地丢弃该数据包;若地址相符,则通过响应USB HOST的数据包与USB HOST进行数据传输。

    (3)USB HUB
    USB HUB用于设备扩展连接,所有USB DEVICE都连接在USB HUB的端口上。一个USB HOST总与一个根HUB (USB ROOT HUB)相连。USB HUB为其每个端口提供100mA电流供设备使用。同时,USB HUB可以通过端口的电气变化诊断出设备的插拔操作,并通过响应USB HOST的数据包把端口状态汇报给USB HOST。一般来说,USB设备与USB HUB间的连线长度不超过5m,USB系统的级联不能超过5级(包括ROOT HUB)。


    工作原理:
    USB是基于以上两者的一种信息传递协议。USB标准对硬件的接口和类型有具体的要求来使USB设备可以按照可控的方式进行操作,数据传输方面有操作系统和硬件的控制器提供支持。这里不深入讨论100011110001这些更加信息通信最低层的理论问题。

    这里写图片描述

    上图可以简单的看出了USB接口到客户软件的整个工作流程,你也可以简单地将他当作一个工作原理。


    工作模式:

    USB标准的四种不同的传输模式:

    (1)控制传输(control transfer)
    控制传输涉及传输所需的控制信息,用于设备的初始配置。此类通信必须安全可靠,但只需要较窄的带宽。其中通过预定义的令牌传输各种控制命令。

    (2)块传输(bulk transfer)
    块传输按数据包发送数据,可以占据总线的全部带宽。在这种模式下,数据传输的安全性由总线保证。换句话说,发送的数据总是原样到达其目的地。扫描仪或大容量存储器之类的设备会使用这种模式。

    (3)中断传输(interrupt transfer)
    中断传输类似于块传输,但按一定的周期重复。驱动程序可以自由地定义周期长度(在一定的限度内)。网卡和类似设备会优先选择使用这种传输模式。

    (4)同步传输(isochronous transfer)
    同步传输具有特殊作用,它是能够使用固定的预定义带宽的唯一方法(尽管不可靠)。在某些方面,这种模式可以与网卡的数据报技术类比。在需要确保连续数据流,而能够容忍偶尔数据丢失的情况下,该传输模式是最适用的。使用这种模式的一个主要的例子就是网络摄像头,该设备通过USB总线发送视频数据。


    纵谈USB总线(下)详看下文链接

    https://mp.weixin.qq.com/s/Bl9tB6mg7iGREMvQDWse8g

    这里写图片描述

    下面也说下为什么突然要开一个公众号:

    几年前刚刚入门的时候,发现网上关于电子设计的资料特别的少,相反的都是软件的资料,直至今日都没多少设计资料,特别是对刚刚入门的电子工程师,常常感到迷茫,这两年带了几个新人,都有这种感觉,因此弄此公众号,帮助更多的新手入门,行业同行们互相交流。争取每周更新能跟上博客的更新,因为一般公众号会在手机端看,因此也会以更加简洁的语言加贴图来发布。

    https://jkfeng1010.github.io/#

    展开全文
  • 批量传输分为批量读和批量写(记住,输入还是输出是以主机为参考的),批量读使用批量输入事务,批量写使用批量输出事务。 批量传输没有规定数据包中数据的意义和结构,具体的数据结构要由设备自己定义。批量传输...

        批量传输使用批量事务(bulk transaction) 传输数据。一次批量事务有三个阶段:令牌包阶段,数据包阶段和握手包阶段。这里的每个阶段都是一个独立的包。批量传输分为批量读和批量写(记住,输入还是输出是以主机为参考的),批量读使用批量输入事务,批量写使用批量输出事务。

        批量传输没有规定数据包中数据的意义和结构,具体的数据结构要由设备自己定义。批量传输通常用在数据量大,对数据的实时性要求不高的场合,例如 USB 打印机、扫描仪、大容量存储设备等。

    1、批量输出事务

    主机端

        主机先发出一个 OUT 令牌包,这个令牌包中包含了设备地址、端点号。然后,再发送一个 DATA 包(具体是什么类型的 DATA 包,要看数据切换位),这时地址和端点匹配的设备就会收下这个数据包。然后主机切换到接收模式,等待设备返回握手包。

    设备端

        设备解码令牌包,数据包都正确无误,并且有足够的缓冲区来保存数据后,就会使用 ACK 握手包或者 NYET 握手包来应答主机(只有高速模式才有 NYET 握手包,它表示本次数据成功接收,但是没有能力接收下一次传输)。

        如果没有足够的缓冲区来保存数据,那么它就会返回一个 NAK 握手包,告诉主机目前没有缓冲区可用,主机会在稍后的时间重试该批量输出事务。

        如果设备检测到数据正确,但是端点处于挂起状态,则返回一个 STALL 握手包。

        如果检测到有错误(例如校验错误、位填充错误),则不做任何响应,让主机等待超时。

    2、批量输入事务

    主机端

        主机首先发出一个 IN 令牌包,同样,这个 IN 令牌包中包含了设备地址和端点号。然后主机切换到接收数据状态,等待设备返回数据。

    设备端

        如果设备检测到错误,那么不做任何响应,主机等待超时

        如果此时有地址和端点匹配的设备,并且没有检测到错误,则设备要做出响应:如果设备有数据需要返回,那么它把一个数据包放到总线上,如果设备没有数据需要返回,则它直接使用 NAK 握手包来响应主机;

        如果该端点处于挂起状态,设备会返回一个 STALL 握手包

        如果主机接收到设备发送的数据包并解码正确后,使用 ACK 握手包应答设备。

        如果主机检测到错误则不做任何响应,设备会检测到超时。USB 协议规定,不允许主机使用 NAK 握手包来拒绝接收数据包。

        主机在收到 NAK 握手包后,知道设备暂时无数据返回,主机会在稍后的时间里重试该输入事务。

    3、PING 令牌包

    USB2.0 高速设备增加了一个 PING 令牌包,它不发出数据,直接等待设备的握手包。因此 PING 事务只有令牌包和握手包。用于探测设备是否有空间接收数据。设备根据实际的情况返回握手包。ACK 握手包表示有空间接收数据,NAK 握手包表示无空间接收,STALL 握手包表示端点挂起。

    4、一次正确的批量输入事务如下

    主机发送

    同步域 IN PID 7 位地址 4 位端点号 5 位 CRC5 校验 EOP

    设备返回

    同步域 DATA0 PID 字节 0 字节 1 16 位 CRC16 校验 EOP

    主机应答

    同步域 ACK PID EOP

    5、一次正确的批量输出事务如下

    主机发送

    同步域 OUT PID 7 位地址 4 位端点号 5 位 CRC5 校验 EOP

    主机发送

    同步域 DATA0 PID 字节 0 字节 1 16 位 CRC16 校验 EOP

    设备应答

    同步域 ACK PID EOP
    展开全文
  • Linux系统下挂载U盘

    2017-12-17 17:54:15
    挂u盘之前,运行命令cat /proc/partitions,看看现在系统中有哪些分区。插上u盘以后,再次运行上述命令,看看多出来什么...Linux对U盘的管理内核模块式,只要usb设备的内核模块没有移除,卸载完后指示灯还是应该发亮。
  • 无论您有简单的USB麦克风还是高端录音室调音台,Loopback都可以使用。组合应用程序和设备当然,您也可以创建虚拟音频设备,其中包括来自软件应用程序和物理音频设备的音频。监视设备强大的可自定义监视选项使您可以...
  • 以上输出显示当前已经连接了三台设备/模拟器,cf264b8f、emulator-5554 和 10.129.164.6:5555 分别它们的 SN。从 emulator-5554 这个名字可以看出它一个 Android 模拟器,而 10.129.164.6:5555 这种形为 <IP&...
  • adb1.0.26包含fastboot.exe

    2019-03-05 15:11:03
    以上输出显示当前已经连接了三台设备/模拟器,cf264b8f、emulator-5554 和 10.129.164.6:5555 分别它们的 SN。从 emulator-5554 这个名字可以看出它一个 Android 模拟器,而 10.129.164.6:5555 这种形为 <IP>:...
  •  本章首先对Windows驱动程序的两个重要数据结构进行介绍,分别驱动对象和设备对象数据结构。另 外还要介绍NT驱动程序和WDM驱动程序的入口函数、卸载例程、各种IRP派遣上函数等。  4.1 Windows驱动程序中重要的...
  • 同时,还针对流行的PCI驱动程序、USB驱动程序、虚拟串口驱动程序、摄像头驱动程序、SDIO驱动程序进行了详细的介绍,本书最大的特色在于每一节的例子都经过精挑细选的,具有很强的针对性。力求让读者通过亲自动手...
  • 不论您创建多媒体播放器,数字录像机,电视协调器,网络摄像机,网络安全性程序,身份证数据库,工业监视系统,还是医学成像设备,VideoCapX都可以帮您捕捉和保存这些图像和视频序列 充分接触USB摄影机,TV调谐器...
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    这些设备名称的命名都有规则的,可以用“推理”的方式把设备名称找出来。例如,/dev/hda1这个 IDE设备,hdHard Disk(硬盘)的,sdSCSI Device,fdFloppy Device(或是Floppy Disk?)。a代表第一个设备,通常IDE...
  • 一卡通软件

    2015-03-11 16:15:22
    如果还是提示无法识别的USB设备,请更换电脑; 5) 发卡类型:通常默认为一卡通卡。若使用门禁读头发卡才选择 “门禁卡”; 6) 大功能选择:可选消费、考勤、门禁三大系统,若不选择,则该功能完全屏蔽无法使用; 7) ...
  • 编程卓越之道:卷一/二

    热门讨论 2010-10-10 08:31:04
    12.3.2 输入输出与高速缓存 335 12.3.3 I/O映射输入/输出 335 12.3.4 直接内存访问(DMA) 336 12.4 输入输出速度等级 337 12.5 系统总线与数据传输率 338 12.5.1 PCI总线的性能 339 12.5.2 ISA总线的性能 340...
  • 无论仿真立体还是分层立体,都可以在图像中任意增加二变、三变、旋转、缩放、彩虹、动画等各种变画效果。只需将变画的图层在Photoshop软件中分组链接起来即可,其它不需任何操作,就会随着立体效果的生成而生成。...
  • 全书分为19章,依次讲解驱动移植的必要性,何为hal层深入分析,goldfish、msm、map内核和驱动解析,显示系统、输入系统、振动器系统、音频系统、视频输出系统的驱动,openmax多媒体、多媒体插件框架,传感器、照相机...
  • 全书分为19章,依次讲解驱动移植的必要性,何为hal层深入分析,goldfish、msm、map内核和驱动解析,显示系统、输入系统、振动器系统、音频系统、视频输出系统的驱动,openmax多媒体、多媒体插件框架,传感器、照相机...
  • 全书分为19章,依次讲解驱动移植的必要性,何为hal层深入分析,goldfish、msm、map内核和驱动解析,显示系统、输入系统、振动器系统、音频系统、视频输出系统的驱动,openmax多媒体、多媒体插件框架,传感器、照相机...
  • PT80-NEAT开发指南v1.1

    2014-06-24 18:38:34
    NEAT 开 发 指南 文档 适用于 PT80 系列 移动数据终端 版本记录 版本号 版本描述 发布日期 V 1.0 初始版本。 2012-04-12 V1.1 修改前三章内容 2012-09-25 目录 第一章 关于本手册.....................................
  • 3.4.1USB 3.4.2火线 3.4.3组网 3.5MIDI接口 3.6键盘控制器 3.7脚踏控制器 3.8音频接口 3.9数字音频工作站硬件控制器 3.1MIDI诊断工具 4电子乐器 4.1内部组成 4.2键盘 4.3合成器 4.3.1合成器音源 4.3.2...
  • 支持数字小键盘,可选弹出全键盘的数字面板还是小键盘。 多版面字符页面,可以自行拓展各种字符展示,可用于多语言输入。 支持Qt程序嵌入的浏览器中的网页中的文本框等控件的输入。 界面大小随意设置,采用布局自...
  • 这时看到类似下面的输出,就可以正式开始用我们这个库了。因为这个库功能太多,后面还有很多的内容,需要慢慢去看 .... {'currentPackageName': 'net.oneplus.launcher', 'displayHeight': 1920, 'displayRotation':...
  • vc++ 应用源码包_2

    2012-09-15 14:27:40
    主要CIocpSrv"伪类",实际上还是调用的DLL, IOCP完成端口 IP所在地查询器 jpeglib_demo 处理Jpeg图片。 KeyHook 键盘钩子,截获键盘信息。 Kugou7+UI 界面设计。学习界面的好实例,强烈推荐。 自绘button 自绘...
  • vc++ 应用源码包_1

    2012-09-15 14:22:12
    主要CIocpSrv"伪类",实际上还是调用的DLL, IOCP完成端口 IP所在地查询器 jpeglib_demo 处理Jpeg图片。 KeyHook 键盘钩子,截获键盘信息。 Kugou7+UI 界面设计。学习界面的好实例,强烈推荐。 自绘button 自绘...
  • vc++ 应用源码包_6

    2012-09-15 14:59:46
    主要CIocpSrv"伪类",实际上还是调用的DLL, IOCP完成端口 IP所在地查询器 jpeglib_demo 处理Jpeg图片。 KeyHook 键盘钩子,截获键盘信息。 Kugou7+UI 界面设计。学习界面的好实例,强烈推荐。 自绘button 自绘...
  • vc++ 应用源码包_5

    2012-09-15 14:45:16
    主要CIocpSrv"伪类",实际上还是调用的DLL, IOCP完成端口 IP所在地查询器 jpeglib_demo 处理Jpeg图片。 KeyHook 键盘钩子,截获键盘信息。 Kugou7+UI 界面设计。学习界面的好实例,强烈推荐。 自绘button 自绘...
  • vc++ 应用源码包_4

    2012-09-15 14:38:35
    主要CIocpSrv"伪类",实际上还是调用的DLL, IOCP完成端口 IP所在地查询器 jpeglib_demo 处理Jpeg图片。 KeyHook 键盘钩子,截获键盘信息。 Kugou7+UI 界面设计。学习界面的好实例,强烈推荐。 自绘button 自绘...
  • vc++ 应用源码包_3

    2012-09-15 14:33:15
    主要CIocpSrv"伪类",实际上还是调用的DLL, IOCP完成端口 IP所在地查询器 jpeglib_demo 处理Jpeg图片。 KeyHook 键盘钩子,截获键盘信息。 Kugou7+UI 界面设计。学习界面的好实例,强烈推荐。 自绘button 自绘...
  • 更该了 usb2.0 驱动设备枚举。完善了驱动器号识别。直接从当前位置运行,缓存移到 0x80000。驻留内存精简到 4 Kb。 2.支持有碎片的文件仿真,最多 8 个片段。占用 11Kb - 13Kb 内存(由是否加载光驱确定)。 3....

空空如也

空空如也

1 2
收藏数 40
精华内容 16
关键字:

usb是输入还是输出设备