一文搞懂 USB 控制器与phy 关系

strongerHuang 2025-09-25 08:00

关注+星标公众,不错过精彩内容

转自 | 漫谈嵌入式

USB设备越来越常见,大到工控汽车电子,小到手机消费类电子,都有它的身影。今天就来讲讲USB 控制器与phy 的关系。

1. 概述

一个完整的usb 系统通信流程如下图所示:整个系统大致分为三层。

host

  • 客户软件:管理接口设备
  • usb 系统软件:管理设备
  • USB 总线接口(HDC):管理usb 帧数据

device

  • function :管理接口
  • usb 逻辑设备:管理端点
  • USB 总线接口(UDC):管理usb 帧数据
一文搞懂 USB 控制器与phy 关系图1

整个数据流向如下:

设备端:function -> usb logical device -> SIE。

那么usb framed 数据到底是怎么产生的? 

第一种方式:纯软件行为,软件添加 

第二种方式:硬件加工,生成符合usb 协议规范的帧数据。

目前市面上大部分主流usb 控制器采用第二种方式:即 CPU 从DDR 搬运数据到usb 控制器,然后通过usb phy 模型差分信号发送出去。

2. 什么是usb 控制器与phy

了解了前面的usb 数据通信基础流程。那么接下来我们来介绍一下,什么是控制器及phy。

2.1 usb 控制器

usb 控制器,可以简单理解为用来控制usb 逻辑及数据流传输的装置。我们可以类比其他控制器。包含几大块:

  • 中断
  • dma(内部dma/外部dma)
  • FIFO(sram)
  • 输入/输出:比如与phy 接口
一文搞懂 USB 控制器与phy 关系图2

现代复杂的usb 控制器有的还内置usb phy。

2.2 usb phy

所谓 phy,从字面意思就是物理接口。一般完成物理信号的转换。对于usb phy 而言,其主要完成以下工作:

  • usb FS/HS 或者LS 模式选择
  • usb 数据 NRZI 编码 和 Bit Stuffer
  • 将otg 并行数据 转为 差分串行D-/D+ 数据
  • 速度枚举,J/K 信号产生。
  • ......

一句话总结:usb phy 将usb 控制器的数据,按字usb 标准协议编码,然后转成串行差分数据,并通过D+/D- 发送出去。反之,对于从host 产生的数据,经过usb phy 解码,然后到usb 控制器,最后到我们ddr 可以访问的应用数据。

3. 常见的控制器与phy 的形式

目前市面上主流的控制器与phy 大致有两种形式:

  • 第一种,控制器集成usb phy
  • 第二种,控制器需要外部接usb phy

不管是内部集成,还是外部连接。我们只需要关心控制器与phy 之间的标准接口即可。对于USB2.0 一般采用 UTMI 或者UTMI+ 接口。对于usb3.0 一般采用PIPE 接口。

不管是UTMI 接口还是PIPE 接口,其都是并行的标准接口。因此我们在学习时,不用关心特定的phy, 只需要关心其对应的接口协议即可。

一文搞懂 USB 控制器与phy 关系图3

4. UTM block

有关utmi 接口介绍,本文不做详细介绍。如下图是UTM function block。从图中我们可以看出,其主要的功能:

  • HS/FS 模式选择
  • NRZI 编码/解码
  • Bit Stufer/unstuffer
  • 输出clk
一文搞懂 USB 控制器与phy 关系图4

5. 控制器、PHY 与Soc 连接

控制器与phy 连接是通过标准的接口UTMI(2.0) 或者PIPE(3.0)

一文搞懂 USB 控制器与phy 关系图5


整个数据流程大致如下:

发送数据:CPU 通过cpu 模式/DMA 模式 搬运数据到 USB 控制器 的端点FIFO, 然后通过UTMI 接口经过usb phy 通过usb 发到host 端 

接口数据:host 到来的数据,经过usb phy 经utmi 接口转换,到usb 控制器的端点FIFO,然后通过cpu 或者dma 模式搬运到DDR

一文搞懂 USB 控制器与phy 关系图6

6. 总结

本文介绍了usb 控制器与phy 的关系。旨在帮助我们更好的理解usb 的整个数据流向。当我们在调usb 的通信时,到底在调什么?结合前面的枚举流程,来思考什么时候usb 的通信到了软件层面。

事实上,对于不调usb 控制器的厂家来说,大部分人都接触不到usb phy 的知识,因为很多原厂已经帮我们搞定。不过笔者认为,对于usb 的学习,不能只停留在软件层面,应该结合硬件对整个协议才会有一个更深入的认知。

当我们接触一款新的usb 控制器驱动时,我们应该关心什么?

  • usb 控制器流程:不同的控制器参考usb ip 厂商给的控制流程。
  • usb phy 初始化:事实上,phy 在芯片量产时基本已定型。可配的空间很小。phy 上大部分信号都是控制器输入的。故一般控制器配置ok. phy 上可能只需要微调一下即可。比如产生复位或者强制suspend 信号。

------------ END ------------


一文搞懂 USB 控制器与phy 关系图7


关注公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。


点击“阅读原文”查看更多分享。

声明:内容取材于网络,仅代表作者观点,如有内容违规问题,请联系处理。 
USB
more
USB Type-C接口太香了
中国USB桥接芯片行业市场发展现状及前景展望:中国USB桥接芯片行业市场规模约为1.21亿美元
USB-C 一线通是好文明,但任天堂选择不加入
电子鬼才DIY,你不敢用这样的USB转TTL模块之西式版本
老宇哥出手,100W快充 + USB3.0高速传输(3A1C),这个开源HUB项目太香了!
USB 差分信号线 PCB 布线指南
有奖直播报名中!高效、安全、智能: Nexperia USB PD 控制器产品介绍和USB 充电应用的技术解析
“USB接口PCB设计全攻略|从Type-C到高速布线,一文掌握核心要点!”
含泪拆解19元买的7口USB 3.0 HUB:原以为赚麻了,最后发现亏惨了!
揭秘 USB 接口的 PCB 设计:从 2.0 到 Type-C,这些细节决定传输速度
Copyright © 2025 成都区角科技有限公司
蜀ICP备2025143415号-1
  
川公网安备51015602001305号