UTMI接口规范介绍

原创 漫谈嵌入式 2023-07-01 22:08

1. 什么是UTMI?

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

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

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

  • USB 2.0 Transceiver Macrocell(UTM):
  • Serial Interface Engine(SIE):串行接口引擎
  • Device Specific Logic:设备特殊逻辑

1.1 UTM

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

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

UTM 的关键特点:

  • 消除了高速USB 2.0逻辑设计
  • 标准收发器接口为USB 2.0 SIE VHDL提供多个IP源
  • 支持480 Mbit/s“高速”(HS)/ 12 Mbit/s“全速”(FS);仅支持FS和“低速”(LS);仅支持 LS 1.5 Mbit/s串行数据传输速率。
  • 利用8位并行接口传输和接收USB 2.0电缆数据。
  • SYNC/EOP生成和检查
  • 高速和全速运行,以支持“双模式”设备的发展
  • bit-stuffing/bit-unstuffing, bit error detect
  • 能够在FS和HS终端/信号之间切换
  • 等等

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

1.2 Serial Interface Engine(SIE)

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

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

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

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

1.3 Device Specific Logic

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

1.4 UTM function block

UTM block 如上图。

Device-> HOST:并行 TxData -> bit Stufffer -> NRZI Encoder -> xmit -> D+/D- -> HOST HOST -> Device:Host -> D+/D- -> NRZI Decoder -> Bit Unstuffer -> 并行Rx Data -> Device

2. UTMI 版本

UTMI 第一个版本,是2001 年 发布的(UTMI spec V1.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/LS with no hub support)支持LS 模式
UTMI+ level3支持 USB2.0 设备、host 和 OTG 功能(HS/FS/LS with hub support)

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

3. UTMI 接口介绍

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

3.1 UTMI+ level0

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

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


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

  • CLK:UTMI_CLK 输出时钟
  • Reset:UTMI_RST
  • Xcvr Select:传输模式选择
  • Term Select:终端选择
  • LineState:D+/D- 状态。高速枚举的时候确认电平状态是否ok
  • DataBus_16_8:8bit/16bit 选择。

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

3.2 UTMI+ level1

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

信号接口如下:

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

  • device mode
  • host mode
  • OTG mode

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

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

usb 2.0 设备 默认信号:

3.3 UTMI+ level2

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

新增接口:

LineStare 状态:

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

下行端口lineState:设备端

上行端口lineState:host 端

修复一个前文错误:

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

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

3.4 UTMI+ level3

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

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

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

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

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

4. 其他

4.1 Chrip Sequence

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

  • FS detect:全速设备检测
  • Host Driver:主机产生SE0,持续10ms
  • Device Responds:设备回应chirp K
  • Host Responds:主机回应 chirpk/j  对,设备切换到高速模式
  • HS Idle:高速Idle

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

4.2 不同的信号模式

5. 总结

本文主要介绍了UTMI 及 UTMI+ 接口规范。详细对比了level0/level1/levle2/level3 。对于初学者而言,可以先以level0 为基准学习,后续再逐步深入到其他规范。

本文档适用于哪些人员:IC 设计人员、FPGA 验证人员、USB 底层深入学习人员。

参考文献:《usb2-transceiver-macrocell-interface-specification.pdf》、《TMI-PLUS-SPECIFICATION.pdf》

需要pdf 的 后台回复【UTMI】获取


漫谈嵌入式 一个爱跑马的程序员。致力于分享嵌入式物联网技术【单片机/MIPS/ARM/Linux/C/C++/Qt等】,探寻底层开发的究竟!
评论
  • 11-29学习笔记11-29学习笔记习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-02 23:58 51浏览
  • 《高速PCB设计经验规则应用实践》+PCB绘制学习与验证读书首先看目录,我感兴趣的是这一节;作者在书中列举了一条经典规则,然后进行详细分析,通过公式推导图表列举说明了传统的这一规则是受到电容加工特点影响的,在使用了MLCC陶瓷电容后这一条规则已经不再实用了。图书还列举了高速PCB设计需要的专业工具和仿真软件,当然由于篇幅所限,只是介绍了一点点设计步骤;我最感兴趣的部分还是元件布局的经验规则,在这里列举如下:在这里,演示一下,我根据书本知识进行电机驱动的布局:这也算知行合一吧。对于布局书中有一句:
    wuyu2009 2024-11-30 20:30 106浏览
  •         温度传感器的精度受哪些因素影响,要先看所用的温度传感器输出哪种信号,不同信号输出的温度传感器影响精度的因素也不同。        现在常用的温度传感器输出信号有以下几种:电阻信号、电流信号、电压信号、数字信号等。以输出电阻信号的温度传感器为例,还细分为正温度系数温度传感器和负温度系数温度传感器,常用的铂电阻PT100/1000温度传感器就是正温度系数,就是说随着温度的升高,输出的电阻值会增大。对于输出
    锦正茂科技 2024-12-03 11:50 66浏览
  • 最近几年,新能源汽车愈发受到消费者的青睐,其销量也是一路走高。据中汽协公布的数据显示,2024年10月,新能源汽车产销分别完成146.3万辆和143万辆,同比分别增长48%和49.6%。而结合各家新能源车企所公布的销量数据来看,比亚迪再度夺得了销冠宝座,其10月新能源汽车销量达到了502657辆,同比增长66.53%。众所周知,比亚迪是新能源汽车领域的重要参与者,其一举一动向来为外界所关注。日前,比亚迪汽车旗下品牌方程豹汽车推出了新车方程豹豹8,该款车型一上市就迅速吸引了消费者的目光,成为SUV
    刘旷 2024-12-02 09:32 98浏览
  • 遇到部分串口工具不支持1500000波特率,这时候就需要进行修改,本文以触觉智能RK3562开发板修改系统波特率为115200为例,介绍瑞芯微方案主板Linux修改系统串口波特率教程。温馨提示:瑞芯微方案主板/开发板串口波特率只支持115200或1500000。修改Loader打印波特率查看对应芯片的MINIALL.ini确定要修改的bin文件#查看对应芯片的MINIALL.ini cat rkbin/RKBOOT/RK3562MINIALL.ini修改uart baudrate参数修改以下目
    Industio_触觉智能 2024-12-03 11:28 41浏览
  • 当前,智能汽车产业迎来重大变局,随着人工智能、5G、大数据等新一代信息技术的迅猛发展,智能网联汽车正呈现强劲发展势头。11月26日,在2024紫光展锐全球合作伙伴大会汽车电子生态论坛上,紫光展锐与上汽海外出行联合发布搭载紫光展锐A7870的上汽海外MG量产车型,并发布A7710系列UWB数字钥匙解决方案平台,可应用于数字钥匙、活体检测、脚踢雷达、自动泊车等多种智能汽车场景。 联合发布量产车型,推动汽车智能化出海紫光展锐与上汽海外出行达成战略合作,联合发布搭载紫光展锐A7870的量产车型
    紫光展锐 2024-12-03 11:38 65浏览
  • RDDI-DAP错误通常与调试接口相关,特别是在使用CMSIS-DAP协议进行嵌入式系统开发时。以下是一些可能的原因和解决方法: 1. 硬件连接问题:     检查调试器(如ST-Link)与目标板之间的连接是否牢固。     确保所有必要的引脚都已正确连接,没有松动或短路。 2. 电源问题:     确保目标板和调试器都有足够的电源供应。     检查电源电压是否符合目标板的规格要求。 3. 固件问题: &n
    丙丁先生 2024-12-01 17:37 83浏览
  • 戴上XR眼镜去“追龙”是种什么体验?2024年11月30日,由上海自然博物馆(上海科技馆分馆)与三湘印象联合出品、三湘印象旗下观印象艺术发展有限公司(下简称“观印象”)承制的《又见恐龙》XR嘉年华在上海自然博物馆重磅开幕。该体验项目将于12月1日正式对公众开放,持续至2025年3月30日。双向奔赴,恐龙IP撞上元宇宙不久前,上海市经济和信息化委员会等部门联合印发了《上海市超高清视听产业发展行动方案》,特别提到“支持博物馆、主题乐园等场所推动超高清视听技术应用,丰富线下文旅消费体验”。作为上海自然
    电子与消费 2024-11-30 22:03 86浏览
  • 作为优秀工程师的你,已身经百战、阅板无数!请先醒醒,新的项目来了,这是一个既要、又要、还要的产品需求,ARM核心板中一个处理器怎么能实现这么丰富的外围接口?踌躇之际,你偶阅此文。于是,“潘多拉”的魔盒打开了!没错,USB资源就是你打开新世界得钥匙,它能做哪些扩展呢?1.1  USB扩网口通用ARM处理器大多带两路网口,如果项目中有多路网路接口的需求,一般会选择在主板外部加交换机/路由器。当然,出于成本考虑,也可以将Switch芯片集成到ARM核心板或底板上,如KSZ9897、
    万象奥科 2024-12-03 10:24 37浏览
  • 光伏逆变器是一种高效的能量转换设备,它能够将光伏太阳能板(PV)产生的不稳定的直流电压转换成与市电频率同步的交流电。这种转换后的电能不仅可以回馈至商用输电网络,还能供独立电网系统使用。光伏逆变器在商业光伏储能电站和家庭独立储能系统等应用领域中得到了广泛的应用。光耦合器,以其高速信号传输、出色的共模抑制比以及单向信号传输和光电隔离的特性,在光伏逆变器中扮演着至关重要的角色。它确保了系统的安全隔离、干扰的有效隔离以及通信信号的精准传输。光耦合器的使用不仅提高了系统的稳定性和安全性,而且由于其低功耗的
    晶台光耦 2024-12-02 10:40 102浏览
  • 概述 说明(三)探讨的是比较器一般带有滞回(Hysteresis)功能,为了解决输入信号转换速率不够的问题。前文还提到,即便使能滞回(Hysteresis)功能,还是无法解决SiPM读出测试系统需要解决的问题。本文在说明(三)的基础上,继续探讨为SiPM读出测试系统寻求合适的模拟脉冲检出方案。前四代SiPM使用的高速比较器指标缺陷 由于前端模拟信号属于典型的指数脉冲,所以下降沿转换速率(Slew Rate)过慢,导致比较器检出出现不必要的问题。尽管比较器可以使能滞回(Hysteresis)模块功
    coyoo 2024-12-03 12:20 70浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦