UTMI接口规范介绍_第1页
UTMI接口规范介绍_第2页
UTMI接口规范介绍_第3页
UTMI接口规范介绍_第4页
UTMI接口规范介绍_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第第页UTMI接口规范介绍1.什么是UTMI?

UTMI((USB)2.0TransceiverMacrocellInterface):USB2.0通用传输(接口)。最初设计是为了减少开发(厂商)的工作量,旨在提供一种通用标准,来完成USB2.0的底层协议数据处理。UTMI的出现是为了加速USB2.0外设的开发。

UTMI最主要的作用主要是负责USB协议中最底层的物理电信号的转换。其本质是一个接口规范,与usbphy相连。

下图总结了在这个规范中表达的一些概念:

USB2.0TransceiverMacrocell(UTM):

SerialInterfaceEngine(SIE):串行接口引擎

Dev(ic)eSpecific(Logic):设备特殊逻辑

1.1UTM

UTM处理低级别的USB协议和(信号)。这包括诸如;数据序列化和反序列化、位填充和(时钟)恢复和同步等特性。

UTM的主要焦点是将数据的时钟域从USB2.0速率转移到与(ASIC)中的一般逻辑兼容的速率。

UTM的关键特点:

消除了高速USB2.0逻辑设计

标准(收发器)接口为USB2.0SIEVHDL提供多个IP源

支持480Mbit/s“高速”(HS)/12Mbit/s“全速”(FS);仅支持FS和“低速”(LS);仅支持LS1.5Mbit/s串行数据传输速率。

利用8位并行接口传输和接收USB2.0电缆数据。

SYNC/EOP生成和检查

高速和全速运行,以支持“双模式”设备的发展

bit-stuffing/bit-unstuffing,biterrordetect

能够在FS和HS终端/信号之间切换

等等

UTMI被设计用于支持HS/FS、仅FS和仅LS的UTM实现。这三个选项允许一个单一的SIE实现被使用与任何速度的USB收发器。供应商可以选择最满足其需求的收发器性能。

1.2SerialInterfaceEngine(SIE)

SIE

可以进一步细分为两种类型的子块:SIE控制逻辑和端点逻辑。

SIE控制逻辑包含USB(PI)D和地址识别逻辑,以及其他处理USB数据包和事务的排序和状态机逻辑。

端点逻辑:包含特定于端点的逻辑:端点编号识别、FIFO和FIFO控制等。

一般来说,任何USB实现都需要SIE控制逻辑,而端点的数量和类型将随着应用程序和性能要求的不同而变化。

1.3DeviceSpecificLogic

这是将USB接口与设备的特定应用程序连接起来的逻辑。

1.4UTMfunc(ti)onblock

UTMblock如上图。

Device->HOST:并行TxData->bitStufffer->NRZIEncoder->xmit->D+/D-->HOSTHOST->Device:Host->D+/D-->NRZIDecoder->BitUnstuffer->并行RxData->Device

2.UTMI版本

UTMI第一个版本,是2023年发布的(UTMIspecV1.05)。后续随着UTM发展,引出了UMTI+版本。具体的版本如下:

版本功能备注UTMI+level0仅仅支持USB2.0设备也是UTMI第一个版本,V1.05版本UTMI+leve1支持USB2.0设备、host和OTG功能(HS/FS)。不支持LS,2.0用得最广的接口UTMI+level2支持USB2.0设备、host和OTG功能(HS/FS/LSwithnohubsupport)支持LS模式UTMI+level3支持USB2.0设备、host和OTG功能(HS/FS/LSwithhubsupport)

UTMI+不同版本接口协议规范是向下兼容的。对于学习USB2.0我们可以研究UTMI+level0或者level1就够了,高版本的协议无非是在旧有的协议基础上新增了一些信号处理。

3.UTMI接口介绍

UMTI+不同版本之间信号还是很多的。我们以usb2.0device为主先介绍level0/level1。

3.1UTMI+level0

UTMI+level0规范,来源于UTMI1.05接口规范。下图给出了具有16位接口的UTMT+level0收发器所需要的所有接口信号:

对于具有8位接口的UTMI+0级收发器,TXValidH、RXValidH、DataBus16_8、Dat(aI)n(15:8)和DataOut(15:8)信号,则是不需要的。

对于USB2.0phy调试我们需要关注的几个信号(注意phy的调试可能只在(芯片)(fpga)阶段,或者外挂usbphy才存在。一旦芯片集成完了,无法修改,后续的调试就大概率涉及不到phy的调试):

CLK:UTMI_CLK输出时钟

Reset:UTMI_(RS)T

Xc(vr)Select:传输模式选择

(Te)rmSelect:终端选择

LineState:D+/D-状态。高速枚举的时候确认电平状态是否ok

DataBus_16_8:8bit/16bit选择。

一旦速度枚举成功,说明整个输入输出信号无误,剩下的就到软件层面了。

3.2UTMI+level1

UTMI+level1规范相对于level0多了对OTG设备的支持。新增了一些OTG/HOST相关的接口。

信号接口如下:

对于USB2.0,我们大多数情况下,用得最多的就是level1。同时支持:

devicemode

hostmode

OTGmode

对于单纯的只需要device的设备我们在芯片设计阶段可以考虑,选择level0的接口phy。

当然无论level几,都可以向前兼容的。关键是usb(控制器)的输入信号给的是什么标准。

usb2.0设备默认信号:

3.3UTMI+level2

与UTMI+1相比,增加1bit的XcvrSelect信号来控制LS选择。另外需要注意linestate等信号在LS时也要表示不一样状态。

新增接口:

LineStare状态:

在全速和低速模式下,lineState(0)总是反应DP,而lineState(1)总是反应DM。

下行(端口)lineState:设备端

上行端口lineState:host端

修复一个前文错误:

下行端口(downstream):设备到主机行为。

上行端口(upstream):主机到设备行为

3.4UTMI+level3

与UTMI+2相比,没有增加新的信号。只增加XcvrSelect=2'b11时的功能,该功能定义在UTMI+2中该位是保留的。

这是对level2的进一步增强。在这个级别中,处理必须通过FS集线器从主机发送到LS设备的LS流量是可行的。

在level2中,如果使用并行接口,USBOn-the-GoDRD的主机控制器部分只能与直接连接到主机的LS设备进行(通信)。

如果XcrvSelect是11b,则收发器将在发送LS分组之前在FS处发送preamblepacket。在接收模式下,它将等待在LS收发器启用的情况下接收LS数据包。收发器必须使用FS令牌(快速上升和下降时间以及相反的极性)发送所有数据(FSpreamblepacket和LS数据)。注意,此时的令牌为特殊令牌PRE(有关PRE,本文不做介绍)。

一句话总结:level2只能直接和LS设备通信,level3可以通过hub外接LS设备。

4.其他

4.1ChripSequence

对于高速设备连接到整个usbhost整个时序如图所示:

FSdetect:全速设备(检测)

HostDriver:主机产生SE0,持续10ms

DeviceResponds:设备回应chirpK

HostResponds:主机回应chirpk/j

对,设备切换到高速模式

HSIdle:高速Idle

通常我们关注最多的就是USB设备端的这段信号(DP/DM)。对于XcverSelectoptmodelinestate等信号,一般对软件层面是隐藏的。一旦这些信号有问题。说明IC设计有问题,比如信号连

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论