0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

USB控制器与phy有何关系

漫谈嵌入式 来源:漫谈嵌入式 2023-06-25 09:27 次阅读

1. 概述

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

host

客户软件:管理接口设备

usb 系统软件:管理设备

USB 总线接口(HDC):管理usb 帧数据

device

function :管理接口

usb 逻辑设备:管理端点

USB 总线接口(UDC):管理usb 帧数据

69993018-1299-11ee-962d-dac502259ad0.png

整个数据流向如下:

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

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

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

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

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

2. 什么是usb 控制器与phy

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

2.1 usb 控制器

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

中断

dma(内部dma/外部dma)

FIFO(sram

输入/输出:比如与phy 接口

69dd1d8c-1299-11ee-962d-dac502259ad0.png

现代复杂的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, 只需要关心其对应的接口协议即可。

69f67f7a-1299-11ee-962d-dac502259ad0.png

4. UTMblock

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

HS/FS 模式选择

NRZI 编码/解码

Bit Stufer/unstuffer

输出clk

6a12be56-1299-11ee-962d-dac502259ad0.png

5. 控制器、PHY 与Soc 连接

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

6a2ef382-1299-11ee-962d-dac502259ad0.png

整个数据流程大致如下:

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

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

6a5617f0-1299-11ee-962d-dac502259ad0.png

6. 总结

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

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

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

usb 控制器流程:不同的控制器参考usb ip 厂商给的控制流程。

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




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16332

    浏览量

    177803
  • DDR
    DDR
    +关注

    关注

    11

    文章

    712

    浏览量

    65318
  • PHY
    PHY
    +关注

    关注

    2

    文章

    301

    浏览量

    51732
  • USB通信
    +关注

    关注

    0

    文章

    22

    浏览量

    10910
  • hdc
    hdc
    +关注

    关注

    1

    文章

    44

    浏览量

    3583

原文标题:一文搞懂 USB 控制器与phy 关系

文章出处:【微信号:漫谈嵌入式,微信公众号:漫谈嵌入式】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    以太网芯片MAC和PHY关系

    网卡的主要工作原理是什么?网卡主要分为哪几类?以太网芯片MAC和PHY关系
    发表于 09-22 06:28

    电阻与电导关系

    电阻与电导关系?电流互感是如何进行工作的?
    发表于 09-27 07:15

    PCB板的线宽与电流关系

    PCB板的线宽与电流关系?PCB板的覆铜厚度与电流关系
    发表于 10-08 06:42

    FPGA与DSP关系

    FPGA是什么?功能?ARM是什么?功能?DSP是什么?功能?FPGA与DSP
    发表于 10-21 07:17

    ARM和DSP关系

    CPU是什么?MCU是什么?MCU与DSP区别?ARM和DSP关系
    发表于 10-21 08:04

    STM32的MAC控制器功能

    STM32的MAC是什么?STM32的MAC控制器功能?
    发表于 10-26 07:06

    请问一下PHY是什么意思?PHY功能

    PHY是什么意思?PHY功能?
    发表于 11-03 07:51

    RK3399平台上USB控制器PHY的连接方式和配置说明

    USB3.0和两个USB2.0 Host。USB控制器PHY:rk3399平台控制器
    发表于 05-12 17:46

    GL830 USB 2.0/eSATA桥接控制器设计说明书

    USB 2.0/eSATA 對 SATA 橋接控制器設計說明 GL830 是一個高相容性、低成本的 USB 2.0 對 SATA 橋接控制器,整合
    发表于 11-09 14:15 72次下载

    基于LAN7850下的具有HSIC的高速USB 2.0转 10/100/1000以太网控制器

    亮点   • 单芯片高速(HS)USB 2.0转10/100/1000以太网   控制器   - 集成千兆位PHY和HP Auto-MDIX   - 集成10/100/1000以太网MAC(支持全双工)   - 集成
    发表于 07-03 09:24 36次下载
    基于LAN7850下的具有HSIC的高速<b class='flag-5'>USB</b> 2.0转 10/100/1000以太网<b class='flag-5'>控制器</b>

    USB3.1集线控制器GL3510概述、特征及应用

    Genesys GL3510是一款4端口,低功耗,可配置的集线器控制器。 它符合USB 3.1规范。 GL3510集成了Genesys Logic自主开发的USB 3.1 Gen 1超高速发送
    的头像 发表于 07-15 14:54 1.6w次阅读
    <b class='flag-5'>USB</b>3.1集线<b class='flag-5'>器</b><b class='flag-5'>控制器</b>GL3510概述、特征及应用

    超高速USB3.0主机和设备控制器接口应用方案

    CH569/565 片上集成超高速USB3.0主机和设备控制器(内置 PHY)、千兆以太网控制器、专用高速 SerDes 控制器(内置
    的头像 发表于 09-05 15:29 3117次阅读
    超高速<b class='flag-5'>USB</b>3.0主机和设备<b class='flag-5'>控制器</b>接口应用方案

    USB 3.1集线控制器GL3510

    GL3510是一款4端口,低功耗,可配置的集线器控制器。 它符合USB 3.1规范。 GL3510集成了Genesys Logic自主开发的USB 3.1 Gen 1超高速发送/接收
    发表于 03-16 14:17 1650次阅读
    <b class='flag-5'>USB</b> 3.1集线<b class='flag-5'>器</b><b class='flag-5'>控制器</b>GL3510

    OSPI控制器PHY调优算法

    电子发烧友网站提供《OSPI控制器PHY调优算法.pdf》资料免费下载
    发表于 08-30 11:12 0次下载
    OSPI<b class='flag-5'>控制器</b><b class='flag-5'>PHY</b>调优算法

    usb主机控制器无法启动怎么解决

    USB主机控制器无法启动是一个常见的问题,它可能会阻止你使用USB设备。解决这个问题需要对USB主机控制器、驱动程序、系统设置和硬件故障
    的头像 发表于 09-25 09:10 723次阅读