在上一篇文章全速USB波形数据分析(一)介绍了全速USB的数据包(Packet)的组成,数据的类型等基本知识.这篇文章介绍USB的几种传输方式 事务(Transaction) USB协议定义了三种不同的事务(Transation),即SETUP事务, IN事务和OUT事务 SETUP 事务 一次成功的SETUP事务包含3个连续的数据包,分别是令牌包(TOKEN PACKET),数据信息包(DATA PACKET),握手包(HANDSHAKE PACKET) 用示波器实际获取的D+/D-信号如下,…
在之前的文章一次CAN波形分析之旅里,根据示波器采集的波形数据,详细地分析了CAN通信.今天来分析USB数据,还是同样的流程,但是这次使用matplotlib来协助分析. USB基本波形 USB通过一对差分信号进行数据传输,这对差分信号叫D+和D-,用示波器抓取一段D+和D-的信号,保存成CSV格式,用matplotlib绘制该信号: 分了方便分析,我们将D+和D-分别绘制: 标记数据包(Packet)的组成: 进一步细化数据包(Packet)的内容 USB数据分析 起始帧数据包(FRAMEPA…
前面的两篇文章介绍和分析了USB的一些基本知识,结合前面的介绍,今天用实例介绍USB的枚举过程. 1 | 概况 硬件基于EK-TMC123GXL开发板,软件是TI提供的USB批量传输的简单例子,在PC端用命令行通过USB发送字符串,开发板通过USB返回应对的字符串(发送的是大写字母,返回小写字母,反之亦然) 2 | 枚举过程 由于整个枚举过程很长,现有示波器没法捕获这个枚举过程,改用逻辑分析仪来分析: 2.1 | 获取描述符(GET_DEVICE_DESCRIPTOR) 主机发起控制传输的SET…
一.上模块          二.功能分析 l  芯片:CH340N l  输入接口:USB.TYPE-C l  输出接口:TTL(5V\3.3V\GND\TX\RX) l  指示灯:电源.TX.RX 三.CH340x芯片 l  CH340 是一个 USB 总线的转接芯片,实现 USB 转串口 l  全速 USB 设备接口,兼容 USB V2.0 l  硬件全双工串口,内置收发缓冲区,支持通讯波特率 50bps-2Mbps l  支持常用的 MODEM 联络信号 RTS.DTR.DCD.RI.D…
零 USB背景知识 USB是一种数据通信方式,也是一种数据总线,而且是最复杂的总线之一. 硬件上,它是用插头连接.一边是公头(plug),一边是母头(receptacle).例如,PC上的插座就是母头,USB设备使用公头与PC连接. 目前USB硬件接口分三种,普通PC上使用的叫Type:原来诺基亚功能机时代的接口为Mini USB:目前Android手机使用的Micro USB. Host USB是由Host端控制整个总线的数据传输的.单个USB总线上,只能有一个Host. OTG On The…
学习目标:参考lsusb源码,打印USB摄像头的设备描述符.配置描述符.接口联合描述符.端点描述符: 一.lsusb命令和源码 使用命令lsusb可以看看设备的id,并执行 # lsusb -v -d 0x1b3b:2977 命令查看usb摄像头的描述符. 二.源码 打印以下描述符: 程序主要正在probe执行printk函数进行打印: static int myuvc_probe(struct usb_interface *intf, const struct usb_device_id *i…
在SmartQ 7上面,同时存在USB HOST与 USB OTG两个接口,我想问一下,这两个接口有什么区别么?我怎么认为HOST属于是多余呢? 麻烦高手解答,感激不尽!!! 转自USB HOST与 USB OTG的区别及工作原理 零 USB背景知识 USB是一种数据通信方式,也是一种数据总线,而且是最复杂的总线之一. 硬件上,它是用插头连接.一边是公头(plug),一边是母头(receptacle).例如,PC上的插座就是母头,USB设备使用公头与PC连接. 目前USB硬件接口分三种,普通PC…
S3C2440的数据手册将USB功能分为两章--usb host和usb device.具体什么意思呢? usb host: 微处理器作为usb主设备,可以挂接U盘之类的从属设备. usb device: 微处理器作为usb从属设备,其常用作接受PC机发送的命令. 参考网页:USB Host和USB Device的区别…
USB Type-C接口以及USB 3.1标准的到来,理应为消费者提供更多便利.然而就目前来看,似乎这些新标准非但没有为消费者提供了更好的使用体验,反而带来了诸多隐患.Google的工程师Benson Leung最近就发现,市场上为数不少的USB-C数据线并没有完全符合最新的USB规范标准. 那么,就让我们一起理清头绪,看看新技术的规范标准到底是怎样的. 标准的相关定义 首先,我们应该明确的是,虽然在一些网站或是产品介绍中,USB-C和USB 3.1经常会一起出现,但实际上USB-C并不等同于U…
读取USB HDD(USB移动硬盘)序列号的代码,型号及分位. 使用Visual Studio 2010编译成功. 代码使用了CrystalDiskInfo中的代码smartata.c中相关代码: 例如以下的连接解释了为何使用scsi的相关代码.须要USB IC的数据转换. http://blog.csdn.net/waityoualife/article/details/5656589 实现代码例如以下: // DiskInfo.cpp : Defines the entry point fo…