前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >USB总线-RK3399 USB3.0控制器特性介绍(二)

USB总线-RK3399 USB3.0控制器特性介绍(二)

作者头像
233333
发布2022-12-09 15:27:32
2K0
发布2022-12-09 15:27:32
举报

1.RK3399 USB

下图是RK3399 SOC的框图。RK3399包含了2个USB2.0 Host控制器;两个USB3.0 OTG控制器,同时兼容USB2.0。USB3.0使用的是Synopsys公司的IP,驱动也使用Synopsys的dwc3 USB驱动。

2.USB3.0 OTG Controller简介

USB3.0 OTG控制器可以作为主机(Host)、设备(Device),或者根据从USB2.0 PHY和DFP/UFP/Data Role Swap输入的ID状态确定是USB2.0/3.0 OTG A设备和B设备。可以以Super-Speed/High-Speed/Full-Speed/Low-Speed的速度在主机与设备之间进行数据传输。USB3.0 OTG控制器支持如下的特性:

1)通用特性

  • 兼容规范
    • Universal Serial Bus 3.0 Specification, Revision 1.0
    • Universal Serial Bus Specification, Revision 2.0
    • eXtensible Host Controller Interface for Universal Serial Bus (xHCI), Revision 1.1
  • 支持控制、批量(包括流)、中断、等时传输
  • USB3.0模式时可以同时输入输出,最大可达8Gbps的带宽
  • 在高延迟的系统中使用描述符缓存和数据预取改善系统性能
  • USB2.0支持链接电源管理协议(LPM);USB3.0支持U0、U1、U2、U3四种状态
  • 端点的动态FIFO内存分配
  • 低速(LS)模式下支持Keep-Alive特性,高速和全速(HS/FS)模式下支持(micro-)SOFs特性
  • 低MIPS(Million Instructions Per Second)支持
    • 驱动程序只需要在传输建立时和高等级错误恢复时参与其中
    • 硬件自动将数据打包并路由到明确的管道(pipe)中

(2)应用程序接口特性

  • AHB 从机(Slave)接口
  • AXI 主机(Master)接口
  • 可编程的burst lengths,最大可设置到16
  • 可处理固定burst address对齐
  • 可编程数量的未完成读/写请求(outstanding read/write requests)最多16个
  • 并发读/写以获得最佳USB3.0双工操作性能

(3)USB3.0设备特性

  • 7个输入(IN)端点,包括端点0
  • 6个输出(OUT)端点,包括端点0
  • 13个端点传输资源,每个端点对应一个
  • 灵活的端点配置,适用于多种应用/USB配置模式
  • 硬件自动处理ERDY和burst
  • 基于流(Stream-based)的批量端点可以自动控制启动数据移动
  • 在数据缓冲区中使用等时数据的等时端点
  • 灵活的描述符,具有丰富的功能集,以支持缓冲区中断调节,多次传输,同步,控制和分散的缓冲支持

(4)USB特定类设备特性

  • UASP(USB Attached SCSI Protocol)应用程序的流支持
  • 分散数据包聚合以支持虚拟USB以太网
  • 非中断调度多以太网数据包
  • 每端点的FIFO缓冲区分配可变
  • 对于等时传输的应用,每个微帧的变长度有效载荷可以调度
  • 高精度的同步传输微帧调度
  • 可配置的端点类型选择和动态 FIFO 分配,以促进多功能/复合设备实现在set-config或alternate-setting过程中,设备资源被重新配置以满足配置或alternate设置的要求

(4)USB3.0 xHCI控制器特性

  • 最多支持64个设备
  • 拥有一个interrupter
  • 拥有1个USB2.0 port和1个Super-Speed port
  • 拥有xHCI调试能力
  • USB3.0/USB2.0并发传输,最大达8.48Gbps的带宽
  • 支持标准或开源的xHCI和类驱动程序

(5)USB 3.0 Dual-Role Device (DRD) 特性

  • 静态设备操作
  • 静态主机操作
  • 基于ID的USB3.0/USB2.0 OTG A设备和B设备

3.USB3.0 OTG Controller硬件框图

从下面的硬件框图中可以看出,USB3.0 OTG控制器内部的USB2.0和USB3.0的PHY和MAC是独立的,各自使用自己的硬件。因此USB2.0和USB3.0的带宽也是独立计算的,USB2.0的带宽并不会占用USB3.0的带宽。USB3.0 OTG控制器由以下几部分组成:

  • Bus Interface/List Management: Register Interface/Data and Descriptors DMA management
  • HS/FS/LS MAC : USB2.0 part logic
  • SS MAC : SS part logic(USB3.0)
  • USB2.0 PHY: UTMI+ interface USB2.0 PHY
  • TypeC PHY: Pipe Interface Super-Speed PHY
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-12-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.RK3399 USB
  • 2.USB3.0 OTG Controller简介
  • 3.USB3.0 OTG Controller硬件框图
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档