首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

USB通信基础知识

协议 6.1 USB基本规范 USB在逻辑上被分为三层:信号层、协议层、数据传输层。...0x4B 0x5A 0x1E 接收器无错的接收数据包 接收设备忙不能接收数据 设备出错通信不上 专用包 (special) 前同步(PRE) 0x2C 主机发送的前同步字。...,用于传输与时效相关的信息,并且在数据中保存时间戳的信息 中断传输(interrput transfers):周期性,低频率,允许有限延迟的通信 大容量数据传输(bulk transfers):...非周期性,大容量突发数据通信数据可以占用任意带宽,并容忍延迟 6.6 USB枚举过程 当一个USB设备插入主机后,会有以下活动: 供电 复位 获取device descriptor 复位(可选...的协议类型、端点的包数据的最大长度等,每个USB设备只有一个设备描述符。

2.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    USB通信协议深入理解

    USB数据在【主机软件】与【USB设备特定的端点】间被传输。【主机软件】与【USB设备特定的端点】间的关联叫做【pipes】。一个USB设备可以有多个管道(pipes)。 1....包(Packet) 包(Packet)是USB系统中信息传输的基本单元,所有数据都是经过打包后在总线上传输的。数据USB总线上的传输以包为单位,包只能在帧内传输。...主机从总线上的某个USB设备接收一个数据包的过程。...输出(OUT)事务处理 输出事务处理:表示USB主机把一个数据包输出到总线上的某个USB设备接收的过程。...3.1.2 数据阶段 根据数据阶段的数据传输的方向,控制传输又可分为3种类型: 控制读取(读取USB描述符) 控制写入(配置USB设备) 无数据控制 数据传输阶段:用来传输主机与设备之间的数据

    1K20

    FPGA和USB3.0通信-USB3.0 PHY介绍

    USB3.0 PHY简介 首先我们需要了解PHY具体完成哪些工作以及我利用FPGA能 实现哪些工作才能实现USB通信。...要实现USB通信大致需要两部分:Controller和PHY两部分,Controller大多为数字逻辑实现(逻辑控制主要分为:MAC、CSR以及FIFO,MAC部分主要按照USB协议进行数据的打包和分解...大致的通信方式如下图所示: PHY部分负责最底层的信号转换,作用类似于网口的PHY,这里如果大家需要了解具体的工作可以查看usb specification,因为和本文关系不大,所以不过多介绍了。...举例如下:我用FPGA实现USB2.0通信,我使用逻辑实现cntroller+外挂USB PHY的方式,那么我的接口基本使用ULPI接口(降低pin的数量); USB3316 芯片逻辑框图 (来源:芯片数据手册.../601Q 芯片逻辑框图 (来源:芯片数据手册) 上图中可以看到FPGA和controller通信方式为FIFO或者SPI等接口,SPI主要时用在2.0/1.1时代,典型代表(MAX3421E)。

    3.6K30

    深入理解 USB 通信协议

    USB数据在【主机软件】与【USB设备特定的端点】间被传输。【主机软件】与【USB设备特定的端点】间的关联叫做【pipes】。一个USB设备可以有多个管道(pipes)。 2....包(Packet) 包(Packet)是USB系统中信息传输的基本单元,所有数据都是经过打包后在总线上传输的。数据USB总线上的传输以包为单位,包只能在帧内传输。...主机从总线上的某个USB设备接收一个数据包的过程。...输出(OUT)事务处理 输出事务处理:表示USB主机把一个数据包输出到总线上的某个USB设备接收的过程。...4.1.2 数据阶段 根据数据阶段的数据传输的方向,控制传输又可分为3种类型: 控制读取(读取USB描述符) 控制写入(配置USB设备) 无数据控制 数据传输阶段:用来传输主机与设备之间的数据

    1.4K20

    Android USB转串口通信开发基本流程

    好久没有写文章了,年前公司新开了一个项目,是和usb转串口通信相关的,需求是用安卓平板通过usb转接后与好几个外设进行通信,一直忙到最近,才慢慢闲下来,趁着这个周末不忙,记录下usb转串口通信开发的基本流程...我们开发使用的是usb主机模式,即:安卓平板作为主机,usb外设作为从机进行数据通信。...2.打开设备 接下来,我们需要打开刚刚搜索到的usb设备,我们可以将平板与usb外设之间的连接想象成一个通道,只有把通道的门打开后,两边才能进行通信。...3.数据传输 到这里,我们已经可以与usb外设进行数据传输了,首先来看怎么向usb设备发送数据。...转串口通信的基本流程,有些地方写的不是很全面,比如接收usb外设数据的方法应该还有别的,不足之处欢迎指正。

    3.6K40

    浅谈总线通信机制----USB学习指南与总结

    (3)缺省态 USB在被配置之前,通过地址0与主机进行通信。例如: ?...(4)地址态 经过了配置,USB设备复位后,就可以按主机分配给它的唯一地址来与主机通信,这种状态就是地址态;例如: ?...USB的包(宏观上来说)有四种:令牌包、数据包、握手包、特殊包。包是USB传输数据的基本单位。每种类型的包都会有不同的域来构成。...USB的域是USB传输中最小的单位,域主要分为7类,分别是:同步域(SYNC)、标识域(PID)、地址域(ADDR)、端点域(ENDP)、帧起始域(SOF)、数据域(DATA)、CRC校验域(CRC)。...枚举将是整个USB学习的重中之重,枚举就是主机从设备读取各种描述符信息,这样主机就可以根据这些信息加载合适的的驱动程序,从而知道是什么类型的设备,如何进行通信等等。

    1.3K20

    如何用Wireshark捕获USB数据

    事实上通过wireshark,我们可以捕获到usb设备发送给我们主机的数据,这样就可以进一步研究了。...如下图: 上图是连接在我电脑上的USB设备列表,通过lsusb查看命令。 例如说,我有一个无线鼠标Logitech。它是属于HID设备。...这个设备正常的运行,并且通过lsusb这个命令查看所有usb设备,现在大家能找出哪一条是这个鼠标吗??...Bus 003 Device 010代表usb设备正常连接,这点需要记下来。 准备 我们用root权限运行Wireshark捕获USB数据流。但是通常来说我们不建议这么做。...通过这些,我们可以了解到usb设备与主机之间的通信过程和工作原理,也许我们就可以把这些知识用到逆向工程中,得到一些东西。好了,就到这里!!! ‍‍

    3K70

    FPGA和USB3.0通信-联合测试(二)

    FPGA和USB3.0通信-联合测试(二) 本次演示用的是USB3.0芯片-CYPRESS CYUSB3014(下称 FX3),该芯片是标准的USB3.0 PHY,可以大大简化使用USB通信时FPGA...FX3应用中后半部分测试已经完成暨FX3和PC之间的通信: 接下来就是通过FX3这个“桥梁”实现FPGA与PC之间的通信。...同时也可以在ILA窗口读取到相应的数据,结合发送数据可以查看一下我们设计的时序对不对。...StreamOUT 实例、Streamer 中查看数据吞吐量等测试 《AN65974 - Designing with the EZ-USB® FX3™ Slave FIFO Interface》这个文件夹下...上面的测试就不一一展示了,具体可以查看上面的官方文档,每一个步骤都有详细的说明和图示说明。

    1.6K30

    FPGA和USB3.0通信-硬件的测试

    FPGA和USB3.0通信-硬件的测试 本次演示用的是USB3.0芯片-CYPRESS CYUSB3014(下称 FX3),该芯片是标准的USB3.0 PHY,可以大大简化使用USB通信时FPGA的设计...设备管理器的VID/PID 2、基于内部DMA的loopback传输测试 何为LoopBack,通俗点就是FX3接收到什么数据就发送什么数据(类似串口回环)。...在上诉过程中,FX3内部ARM核(ARM9)是不参与数据本身传输的,固件配置好后,内部通过DMA进行数据的搬运。 在上一节基础上测试FX3的硬件。...3、FX3数据吞吐量测试 编译固件 本次使用的是SDK目录下: ❝C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\basic_examples...FPGA和USB3.0通信-USB3.0协议介绍 FPGA和USB3.0通信-USB3.0 PHY介绍 FPGA和USB3.0通信-FX3硬件设计简谈 FPGA和USB3.0通信-SDK的安装

    2.3K20

    USB数据收发过程

    USB是一种主从通信机制,所有互相连接在一起的设备中只有一个主机,其余的都是从机。从机不能主动发起通信,主机轮流对各从机进行访问。...USB协议比较复杂,这是因为USB的硬件接口线比较少,要完成很多的功能就只能把协议做的复杂。...USB协议里面有个描述符,分为好多个子类(设备描述符、配置描述符、接口描述符、端点描述符、字符串描述符、设备限定符描述符)。这些描述符其实就是一个个数据结构,对应程序里的几个结构体。...表征USB的状态,在主机询问时,将自身的状态汇报给主机。比如: 主机:性别? 从机:男 主机:身高? 从机:180 ...... 从机回答的这些自身属性的就是那些描述符中的数据。...不考虑USB具体的协议的话,数据传输并不复杂,就是主机轮询各个从机数据,传输按照功能等分了四种,分别是控制传输,中断传输,同步传输,批量传输。不同的USB设备使用各种传输进行数据收发。

    26410

    对atbus的小数据包的优化

    atbus是我按之前的思路写得服务器消息通信中间件,目标是简化服务器通信的流程,能够自动选择最优路线,自动的断线重连和通信通道维护。能够跨平台并且高效。...虽然现在忘记了那些个框架的名字,我以前接触过的一些用于游戏的通信中间件,QPS在10w-20w/s之间已经算是比较高的了。...而且这个中间件主要是面向游戏服务器的通信,而在一个游戏服务器进程中,一般不会有这么高的请求频次。而且游戏服务器一般是逻辑比较复杂,CPU和内存比较容易成为瓶颈。...这个设计详见:关于BUS通信系统的一些思考(二) 或 https://github.com/atframework/libatbus/tree/master/doc 对于网络通道的大数据包,读性能仍然是差不多...现在如果某个连接有数据正在发送,则需要先把要发送的数据保存下来,直接返回成功,然后发送完毕后对保存的数据做合包,然后再一起发送。

    6.9K20

    【教程】checkra1n越狱教程+常用插件推荐

    checkra1n越狱发布也有一段时间了,今天让我们回顾一下 本篇文章前半部分主要写Linux+安卓手机引导越狱,后半部分写一下常用的插件 重要:越狱骨灰级玩家请忽略本篇文章,篇幅较长,大约2500+字...进行越狱/引导 checkra1n越狱 Linux篇 方法一(完整系统篇,重点讲解) 直接安装Linux系统(安装系统的方法这里不做赘述),然后checkra1n官网(checkra1n.in)下载 查看架构命令...扩展 第一行命令:mt管理器获取超级用户权限(即使已经给了,这一步是保险) 第二行命令:查看你的iPhone是否连接,如有链接,下面会列出来 第三行命令:进入system目录 第四行命令:给checkra1n.bin...完整读写运行权限 第五行命令:运行checkra1n.bin 这里小编的个人建议(仅是个人看法,可能并不正确) 安卓手机建议电量充足,因为要进行数据传输,低电量可能会导致电压电流不够,导致usb报错 建议用...bfdecrypt:简易砸壳工具 BrickFix:修复iMessage的bug C callbar xs:小窗口电话 ccsupport:控制中心添加功能按键 cocaatop 64bit:进程查看

    9.5K20
    领券