首页 > 其他分享 >USB总线-RK3399 USB3.0控制器特性介绍(二)

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

时间:2022-12-07 11:56:35浏览次数:50  
标签:控制器 USB OTG USB3.0 RK3399 端点 USB2.0

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

标签:控制器,USB,OTG,USB3.0,RK3399,端点,USB2.0
From: https://www.cnblogs.com/linhaostudy/p/16962649.html

相关文章

  • 不用USB,通过adb无线调试安卓手机页面
    以前真机调试手机页面,都是使用数据线连接手机和电脑,近日身边没有USB数据线,折腾了下如何不依赖数据线只用无线调试手机页面,教程如下。本教程适用于安卓11以及以上版本。否......
  • USB的DCP、CDP、SDP的区别
    1、标准下行端口(SDP)这种端口的D+和D-线上具有15kΩ下拉电阻。限流值为:挂起时2.5mA,连接时为100mA,连接并配置为较高功率时为500mA。它其实就是一种普通的USB模式。当USB......
  • 使用pyusb读取USB设备的输入
    1importusb.core23dev=usb.core.find(idVendor=0x17ef,idProduct=0x600e)4ep=dev[0].interfaces()[0].endpoints()[0]567i=dev[0].interfaces......
  • USB_VENDOR_AND_INTERFACE_INFO
    {USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID,0xff,0xff,0xff)},{USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID,0xff,0x01,0x01)},{USB_VENDOR_A......
  • CONFIG_USB_SERIAL_WWAN
    CONFIG_USB_SERIAL=yCONFIG_USB_SERIAL_OPTION=yCONFIG_USB_SERIAL_WWAN=yCONFIG_PPP=yCONFIG_PPP_MULTILINK=yCONFIG_PPP_FILTER=yCONFIG_PPP_ASYNC=yCONFIG_PPP_SYNC_TTY......
  • usb-serial usb 串口
      方驱动文件op    https://baijiahao.baidu.com/s?id=1746671372715034944&wfr=spider&for=pc......
  • 为什么虚拟机只能用外接usb无线网卡,不能用笔记本自带的无线网卡?
    想着笔记本都自带了个无线网卡,为什么虚拟机要用还是要买个外接的usb无线网卡呢,找了好久,都说不行,下面的疑惑只能留待以后再说了。为什么虚拟机只能用外接usb无线网卡,不能用......
  • dwc3 linux usb3.0 driver架构
    USB控制器1.DRDdriverDRD驱动在usb/dwc31.1dtsdwc3@44000000{/*CompatibleIDusedbytheLinuxdriverforthiskindofdevice*/compatible="snps,dwc......
  • USB总线-USB协议简介(一)
    1.简介USB是通用串行总线(UniversalSerialBus)的缩写。在USB总线出现之前,计算机与键盘、鼠标、扫描仪、打印机都使用专用的接口连接,不同设备的接口不能互用,扩展性很差,每次......
  • 展锐Android平台增加gadget 虚拟usb串口
    方案一:需要修改展锐现有Windows端驱动,增加一组MI接口。由于无法推动展锐修改Windows驱动,该方案不推荐。SL8541E/device/sprd/sharkle/common/rootdir/root/init.common.us......