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

1.RK3399 USB

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

RK3399框图

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

USB3.0_OTG控制器硬件框图

参考资料

  1. https://www.usb.org/
  2. Rockchip RK3399TRM V1.3 Part1
  3. Rockchip RK3399TRM V1.3 Part2
  4. https://www.cnblogs.com/coryxie/p/3956463.html
  5. Universal Serial Bus 3.12 Specification
  6. Universal Serial Bus Specification Revision 2.0
  • 7
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值