[TOC]
cypress_USB2.0
1、cypress_USB2.0简介
AN57294
赛普拉斯应用笔记(或许cypress就是)
年份:看不出来,未说明。
Cypress公司是一家知名的电子芯片制造商,其中文名称为——赛普拉斯。 赛普拉斯在纽约股票交易所上市,在数据通信、消费类电子等广泛领域均提供芯片解决方案。
2、USB历史
USB1.0(1996)
低速LS-1.5Mb/s
全速FS-12Mb/s
USB2.0(2000)
高速HS-480Mb/s
USB3.0(2008)
5Gb/s
USB3.1-10Gb/s
USB实施者论坛(USB-IF)
电磁干扰(EMI)
3、USB概况
USB系统:一台主机(PC)和外围设备
主机:主控制器和根集线器
主机可以有一个或多个主控制器,每个控制器最多接127个设备。
根集线器是连接到主控制器的内部集线器。
(USB设备的通信)管道:
可寻址缓冲区(端点)
控制管道和数据管道,四种数据传输类型。
- 控制传输:用于将指令发送到设备上、进行查询并且配置设备。该传输使用了控制管道。
- 中断传输:用于发送少量的突发性数据,并且保证传输延迟最小。该传输使用了数据管道。
- 批量传输:利用了全部可用的 USB 带宽来传输大量数据,但传输速度或延迟得不到保证。该传输使用了数据管道。
- 同步传输:数据传输采用了得到保证的传输速率。随着传输延迟和总线带宽的保证,传输时间也得到保证。同步传输没有错误纠正功能,因此在重新发送有误的数据包过程中,不能停止传输。该传输使用了数据管道。
每个设备一个控制管道(唯一双向),任意个数据管道(单向)。
USB设备首次与主机相连时启动USB枚举过程。
- .INF:枚举
- .SYS:加载驱动程序
4、USB架构
三种常见的 USB 主控制器:
- 通用主控制器接口(UHCI):由 Intel 生产,适用于 USpB 1.0 和 USB 1.1。使用 UHCI 时需要得到 Intel 的许可。该控制器支持低速模式和全速模式。
- 开放主控制器接口(OHCI):由 Compaq、Microsoft 和 National Semiconductor 生产,适用于 USB 1.0 和 1.1。该控制器支持低速模式和全速模式,并且它的效率比 UHCI 更高,因为可以执行更多硬件功能。
- 扩展型主控制器接口(EHCI):在 USB-IF 要求发布单一主控制器规范后,已经生产了该控制器,它适用于 USB 2.0。EHCI 仅支持高速传输,并且将低速和全速传输委托给 OHCI 或 UHCI 控制器执行。
一个集线器可以将与下行设备进行的通信重复使用到一个上行端口和最多七个下行端口。
通过使用集线器最多能够将 127 个设备连接至主控制器上。连接设备的数目限制由 USB 协议决定,它限制设备地址为 7 位。另外,由于集线器的时间限制和电缆传播的延迟,因此最多只能将五个集线器链接在一起。
5、物理接口
inner、outer
shield:屏蔽、盾、保护
wiring:接线、布线
一个铜排流线、一个 VBUS 线(红色)和一个接地线(黑色)。由铝制成的内部扩展板包含一对用双绞线制成的数据线。有一个 D+线(绿色)和一个 D-线(白色)。
在全速和高速设备内,最大线缆长度为 5 m。要想增大主机和设备间的距离,您必须使用一系列集线器和 5 m 长的线缆。市场上存在多种 USB 扩展线缆,但使用超过 5 m 的线缆违反了 USB 规范。低速设备的规范不太一样。它们的线缆长度被限制为 3 m,并且不需要使用双绞线。
差分:差分,又名差分函数或差分运算,差分的结果反映了离散量之间的一种变化,是研究离散数学的一种工具,常用函数差近似导数。
差分在数学、物理和信息学中应用很广泛,模拟电路中有差分放大电路一说。差分运算,相应于微分运算。
读者熟悉等差数列:a1 a2 a3……an……,其中an+1= an + d( n = 1,2,…n )d为常数,称为公差, 即 d = an+1 -an , 这就是一个差分, 通常用D(an) = an+1- an来表示,于是有D(an)= d , 这是一个最简单形式的差分方程。
定义. 设变量y依赖于自变量t ,当t变到t + 1时,因变量y = y(t)的改变量Dy(t)= y(t+1) - y(t)称为函数y(t)在点t处步长为1的(一阶)差分,记作Dy1= yt+1- yt,简称为函数y(t)的(一阶)差分,并称D为差分算子。
差分具有类似于微分的运算性质。
共模噪声:共模噪声又称为非对称噪声或线路对地的噪声,在使用交流电源的电气设备的输入端(输电线和中线)都存在这种噪声,两者对地的相位保持同相。
共模噪声的电流在两个输电线上以相同的方向流动并通过地线返回。
共模噪声可以通过在电磁干扰滤波器中放置与每条输电线串联的电感,并在两个输电线和地之间使用Y电容进行连接,来予以抑制。
差分 0 和差分 1:这两个状态用于通过 USB 进行的通用数据通信。当 D+线为高电平、D-线为低电平时,该状态为差 分 1。当 D+线为低电平、D-线为高电平时,该状态为差分 0。USB 数据通信的示例如图 12 所示。 J 状态和 K 状态:除了差分信号外,USB 规范还定义了其他两个差分状态:J 状态和 K 状态。它们的定义由设备速度 决定。在全速和高速设备上,J 状态为差分 1 而 K 状态是差分 0。在低速设备上,该情况则相反。 单端 0(SE0):在 D+和 D-均为低电平时所发生的状态。该状态表示一个复位、断连或数据包的结束。 单端 1(SE1):在 D+和 D-均为高电平时发生的状态。不会故意生成该状态,并且不能在 USB 设计中出现。 闲置:必须在发送一个数据包的前后发生的状态。如果一个数据线为低电平,而另一个数据线为高电平,则表示闲置 状态。高电平和低电平的定义由设备的速度决定。在全速设备上,闲置状态是指 D+为高电平、D-为低电平。在低速设 备上,该情况则相反。 恢复:用于使设备从挂起状态唤醒。通过发送一个 K 状态实现该操作。 数据包的开始(SOP):当 D+和 D-线从闲置状态转换到 K 状态时,将在开始低速或全速数据包前发生。 数据包的结束(EOP):在低速或全速数据包结束时发生。当 SE0 状态持续两位时间(后面的内容将介绍位时间)以 及 J 状态持续 1 位时间时,将发生 EOP。 复位:在 SE0 状态持续 10 ms 时发生。在 SE0 至少持续 2.5 ms 后,该设备会复位,并开始进入复位状态。 保持活动(Keep Alive):在低速设备中使用的信号。低速设备缺少了一个帧起始数据包(用于防止挂起状态)。 每次经过 1 ms,它们都会使用一个 EOP 来防止设备进入挂起状态。
USB端口和连接器:typeA
需要将两个主硬件模块连接到 USB 上:一个收发器(又被称为 PHY — 物理层),一个串行接口引擎(又被称为SIE)。该收发器提供了 USB 连接器和芯片电路(用于控制 USB 通信)间的硬件接口。SIE 是 USB 硬件的内核。它执行多种功能,如解码和编码 USB 数据、错误纠正、位填充和发信号。SIE 可以采取不同形式。与收发器不同,它们 不受 USB 规范的限制。实际上,有些设备使用基于软件的 SIE 以降低成本,但也有其他设备使用基于硬件的 SIE。
6、USB速度
SuperSpeed超高速
总线速率:
最大的有效数据速率:
上拉电阻:上拉就是将不确定的信号通过一个电阻钳位在高电平,电阻同时起限流作用。下拉同理,也是将不确定的信号通过一个电阻钳位在低电平。
上拉是对器件输入电流,下拉是输出电流;强弱只是上拉电阻的阻值不同,没有什么严格区分;对于非集电极(或漏极)开路输出型电路(如普通门电路)提供电流和电压的能力是有限的,上拉电阻的功能主要是为集电极开路输出型电路输出电流通道。
7、USB电源
总线供电和自供电。
低功耗设备最多消耗 100 mA 的电流,高功耗设备最多消耗 500 mA 的电流。消耗的电流超过 500 mA 的设备要自供电。
自供电设备通过使用外部电源(如直流电源适配器或电池)为自己供电。自供电设备在进行设计的过程中需要考虑到一些注意事项。USB 规范要求自供电设备一直监控自己的 VBUS线。VBUS不存在的时间内,设备必须断开提供给 D+/D-线上的上拉电阻的电源,从而防止向主机或集线器供电。 否则,会导致 USB 合规性测试发生失败。但是自供电集线器能够从总线获得最多 100 mA 的电流。
8、USB端点
USB 规范对高速和全速设备的端点数量进行了限制,即每个方向最多使用 16 个端 点(16 个 IN、16 个 OUT,总共为 32 个),其中不包含控制端点 0 IN 和 0 OUT 在内。低速设备仅能使用两个端点。USB 类设备可对端点数量设定更严格的限制。
USB 规范定义了四种端点,并根据类型以及所支持的设备速度限制了数据包的尺寸。对应了四种传输类型。
9、通信协议
USB通信由一系列帧构成,SOF开始,EOF结束。
数据包类型:
- 令牌数据包:CRC是唯一错误检测方法。
- 数据:
- 特殊:PRE、SPLIT、ERR、PING
- 握手数据包:ACK、NAK、STALL、NYET
USB 通信一共有三种控制数据传输类型:控制写入、控制读取和控制无数据。
10、USB描述符
传输数据字段时,优先传输最低有效位。
10.1 设备描述符
设备描述符为主机提供了许多信息,如设备需要满足的 USB 规范、设备配置编号、设备支持的协议、供应商标识(又 称为 VID,每个公司只能从 USB 实施者论坛获得唯一的 VID)、产品标识(又称为 PID,与数据包 ID 不同)和一个序 列号(如果设备有)。设备描述符包含了 USB 设备的重要信息。
vendor:供应商
serialnumber:序列号
10.2 配置描述符
该描述符会提供特定设备配置的信息,如接口数量、设备由总线供电还是自供电、设备能否启动一个远程唤醒以及设备 功耗。
10.3 接口关联描述符(IAD)
该描述符介绍两个或多个接口,这些接口与单个设备功能相关。接口关联描述符(IAD)会通知给主机各个接口已经连 接好。
10.4 接口描述符
一个接口描述符介绍了包含在配置中的特定接口。该接口的端点数量将显示在该描述符中。接口描述符也包含有关设备 的 USB 类别的信息。一个 USB 设备可以属于多个预定义类别。
10.5 端点描述符
在一个设备中所使用的全部端点都有自己的描述符。该描述符会提供主机必须获取的端点信息。这些信息包括端点的方 向、传输类型和数据包的最大尺寸。
10.6 字符串描述符
字符串描述符是另一种可选的描述符,它为用户提供了有关设备的可读信息。该描述符中所包含的信息显示了以下内 容:设备名称、生产厂家、序列号或不同接口、配置的名称。如果设备没有使用字符串,必须将前面所述的所有描述符 中的字符串附加字段的值设置为 00h。
11、USB类设备
- 人机界面设备(HID)
- 大容量设备(MSD)
- 通信设备类(CDC)
- 供应商(供应商特定)
第一,每个设备类型都有一个固定的最大带宽。第二,每个设备类型 都受限于支持的传输类型以及必须支持的某个指令。但是,使用预定义 USB 类设备的最大优点是:它可以支持多操作 系统中的跨平台支持。所有主要的操作系统都自带一个驱动程序,用于几乎所有预定义的 USB 设备类型,从而可以避 免创建自定义的驱动程序。
12、USB 枚举和配置
动态检测、枚举、配置。
13、调试USB设计
总线分析仪。
14、获取VID和PID
15、合规性测试
USB-IF合规性测试
Microsoft 硬件认证测试