IP Facts
一、介绍
AXI USB2.0设备核为用户设计提供一个USB接口。该接口适用于以USB为中心的高性能设计、桥接和遗留端口更换操作。

二、特性
1、基于AXI4规范的AXI接口。
2、可突变长度1到256拍与INCR类型传输。
3、可选的DMA模式,增加数据传输期间的吞吐量。
4、可选特性支持主接口上的非对齐传输。
5、支持高速和全速USB 2.0规范。
6、支持高速、高带宽的同步事务。
7、最多支持八个端点,包括一个控制端点0。端点1到7可以是大容量、中断或同步的。端点可单独配置。
8、每个端点有两个乒乓缓冲区(端点0除外)。
9、可选USB错误检测,更新错误计数,并产生错误中断。
10、支持ULPI (Universal Transceiver Macrocell Interface (UTMI) + Low Pin Interface)到外部USB PHY。
11、访问ULPI PHY寄存器和参数化ULPI PHY复位。
12、在低功耗模式可进行恢复和复位检测。
13、用远程唤醒信号从低功耗模式恢复主机。

Chapter 1
一、综述
USB2.0协议在一个单一的、半双工的串行总线上多路复用许多设备。该总线的运行速度为480 Mb/s(高速)或12 Mb/s(全速),被设计为即插即用。主机总是控制总线,并向每个设备发送令牌,指定所需的操作。每个设备在USB 2.0总线上都有一个地址,并有一个或多个端点,这些端点是数据的源或接收器。所有设备都有系统控制端点(端点0)。

二、功能描述
AXI USB 2.0设备有八个端点:一个控制端点(端点0)和七个用户端点。与7个用户端点相比,端点0有不同的需求。端点0只处理控制事务,这些事务以一个8字节的setup package开始,然后跟随0个或多个data package。Setup package总是存储在双端口随机访问存储器(DRAM)中地址偏移为0x80的专用位置。当接收到setup package时,设置中断状态寄存器(ISR)的SETUPPkt位。Data package长度不超过64字节。这些data packages存储在单个双向数据缓冲区中,该缓冲区由端点0配置内存设置,位于DPRAM中的地址偏移0x0处。当data package成功发送或接收时,分别设置ISR中断状态寄存器的FIFOBufFree和FIFOBufRdy位。

AXI USB 2.0设备的七个用户端点可以配置为批量、中断或同步传输。此外,可以将端点配置为INPUT(针对主机)或OUTPUT(来自主机)。每个端点都有两个相同大小的乒乓缓冲区用于端点数据。用户端点数据缓冲区是单向的,由各自端点的端点配置和状态寄存器配置。对于批量传输,缓冲区的大小可以配置为0-512字节;对于中断传输,缓冲区的大小可以配置为64字节;对于同步传输,缓冲区的大小可以配置为1024字节。

带有AXI和ULPI接口的AXI USB2.0设备核如图1-1所示。

当主机试图向设备的一个端点发送数据时,它发送一个令牌,该令牌由OUT PID、设备地址和端点编号以及数据组成。当且仅当接收到令牌和数据时没有任何USB错误(如Bit Stuff、PID和CRC errors),设备使用handshake packets报告数据事务的状态。Handshake packets指示成功接收数据、流控制和停止条件。

接收数据时,主机发送一个由IN PID和设备地址和端点号组成的令牌,然后等待设备的数据。如果接收到令牌而没有任何USB错误,设备将响应请求的数据到主机。然后设备等待握手报文(handshake packet)。

1、寄存器和控制逻辑
AXI USB2.0设备核心包括32位寄存器,为IP core提供控制和状态信息。这些寄存器可以从AXI Slave接口访问。有关寄存器的更多信息,请参见第二章中的寄存器描述。

2、USB 2.0串行接口引擎(SIE)
USB 2.0串行接口引擎(SIE)处理字节级别的USB流量的串行和反串行,以及USB数据在IP core端点之间的复用和解复用。SIE还处理USB2.0状态转换,例如挂起、恢复、USB复位和远程唤醒信号(从挂起模式唤醒主机)。

SIE接口到PHY使用ULPI接口,需要12个引脚。从USB到FPGA的数据从PHY接收,进行错误检查,并加载到DPRAM的适当区域。来自FPGA的要通过USB发送的数据从DPRAM加载,协议封装,然后在协议允许的情况下,一次1字节地呈现给PHY。ULPI接口的详细信息超出了本文档的范围。

如果任何数据包有USB错误,SIE将忽略并丢弃它。SIE在错误计数寄存器(ECR)中增加相应的USB错误计数,并在中断状态寄存器(ISR)中设置相应的USB错误位。
当前USB事务的状态由SIE向中断状态寄存器(ISR)发出信号。可以通过IER启用某些条件来生成中断。

SIE的控制由以下四个方面组成:
(1)DPRAM较低的64个字节包含每个端点的控制和状态位置。
(2)控制和状态寄存器提供整体的启动和停止、状态指示、使用状态寄存器位启用中断、USB上的地址控制、当前帧开始定时信息和端点缓冲区就绪指示。
(3)SIE模块的逻辑编码符合usb2.0规范第8章的要求。
(4)USB物理总线通过ULPI PHY接口连接到SIE。SIE本地实现ULPI协议。

3、Dual Port Block RAM (DPRAM)
DPRAM是SIE和AXI接口之间的数据存储区域。DRAM的端口A被SIE使用,端口B被处理器/DMA控制器使用。两个端口都是32位宽。AXI USB2.0设备使用两组4块RAM,分别为64 × 8位(DPRAM1)和2 K × 8位(DPRAM2),具有双异步时钟端口。来自USB2.0设备的数据由SIE通过端口A路由到DPRAM。正在使用的固件或硬件通过AXI从接口通过端口B访问数据。输入到AXI USB 2.0设备的数据通过AXI从接口加载到端口B,进入DPRAM的适当位置。当主机向设备请求数据时,SIE从端口A访问这些数据。

DRAM 被SIE视为DPRAM1和DPRAM2。DPRAM2在端点1到7上有7个FIFOs。DPRAM1具有端点0 FIFO和控制寄存器区域,该区域定义内存是如何排列的,并报告每个FIFO缓冲区的状态(就绪、未就绪或计数)。每个FIFO都是双缓冲的,以帮助支持USB 2.0可能的高吞吐量。一个缓冲区可以用于当前的USB事务,而另一个缓冲区可用于用户应用程序的处理。SIE将存储区域视为FIFO。固件或硬件可以通过AXI从接口作为普通RAM访问存储。

4、AXI Slave 接口
IP Core中的AXI Slave接口执行以下操作:
(1)响应AXI事务以读写32位控制寄存器、状态寄存器和DPRAM。
(2)支持DRAM的字节、半字和字传输,但只支持寄存器的字传输。

5、AXI Master接口
IP Core中的AXI Master接口执行以下操作:
(1)在DMA模式下作为AXI主机执行读和写事务。
(2)在DMA模式下,中断是基于DMA Done和DMA Error条件生成的。

6、直接存储器访问(DMA)控制器
如果“Enable DMA Support”参数设置为1,则DMA控制器包含在AXI USB 2.0设备核心中。DMA控制器在DPRAM2和AXI接口上的外部存储设备或外设之间提供简单的DMA服务。DMA控制器在给定长度的情况下将数据从源地址传输到目的地址,而不需要处理器干预。

它提供可编程寄存器(两个方向读和写到DPRAM2)、源地址、目的地址和传输长度。源地址计数器和目的地址计数器只能递增。它还支持AXI突发传输。DMA控制器只在DPRAM2K和外部存储器之间进行数据传输。

在DMA传输中,DPRAM2地址应该始终是字对齐的地址。一个用户可配置的参数“Enable unaligned transactions”被用来配置支持未对齐外部内存地址。当参数“Enable unaligned transactions”被设置为1时,DMA控制器负责数据重新对齐,DMA源寄存器或目标寄存器可以是未对齐的地址,这取决于DMA控制寄存器中的方向位。当“Enable unaligned transactions”被设置为0时,DMA控制器只支持对齐的地址。

7、ULPI PHY
USB PHY可以是任何符合ULPI的PHY。PHY的主要功能是管理USB 2.0的位级串行化和反串行化。要做到这一点,它必须检测和恢复USB时钟。时钟运行在480MHz的速度对于FPGA的实际实现来说太快了。因为480MHz对于USB SIE时钟来说也太快了,所以在字节串行的基础上,PHY接口到SIE,并产生一个60 MHz的时钟在USB 2.0设备的SIE端运行。

三、应用
AXI USB 2.0设备核支持中断、批量和同步传输。核可用于以下应用:
1、USB键盘或鼠标设备
2、大容量存储设备
3、麦克风和扬声器设备

四、不支持的功能
1、主机的功能
2、USB OTG

LogiCORE IP Product Guide:https://www.xilinx.com/support/documentation/ip_documentation/axi_usb2_device/v5_0/pg137-axi-usb2-device.pdf

AXI USB 2.0设备IP Core指导手册(第一章)相关推荐

  1. otnm2000启动mysql服务_烽火OTN设备开通初始化指导手册.pdf

    烽火OTN设备开通初始化指导手册 烽火OTN设备开通初始化 指 导 手 册 编写:王云鹤 2016年9月1 日 1 43 第 页 共 页 前言 本文档主要介绍了OTN新建工程开通中的一些操作规范及注意 ...

  2. 使用java实现面向对象编程第十章嗖嗖移动业务大厅项目_ACCP6.0使用Java实现面向对象编程-第一章.ppt...

    ACCP6.0使用Java实现面向对象编程-第一章 练习--用类图设计Dog和Penguin类 需求说明: 运用面向对象思想抽象出Dog类和Penguin类,画出对应类图 根据类图编写Dog类和Pen ...

  3. scratch3.0 二次开发-基本介绍(第一章)

    scratch3.0系列章节列表 scratch3.0 二次开发-基本介绍(第一章) scratch3.0二次开发运行scratch-gui项目并了解工程结构(第二章) scratch3.0二次自定义 ...

  4. AIRPAK3.0用户指导手册第一部分手册简介

    一,手册主要内容 该手册包含了五个针对不同问题的实例教程,实例问题的特点和AIRPAK方案都会有详细论述 文档第一部分主要针对新手进行AIRPAK的详细说明,该部分介绍了问题的建立,解决方案的详细步骤 ...

  5. TCP/IP详解笔记----第一章:概述

    第一章 概述 这一章主要介绍了TCP/IP的概貌.包括分层.网络地址.客户-服务器模型.常见知名应用层服务端口号等等.需要重点掌握和了解的是以下知识点. 1.TCP/IP的重要作用: 很多不同厂商生产 ...

  6. 泛微Ecology8.0二次开发指导手册

    文章目录 一.开发准备 二.开发环境搭建 步骤1:从服务器上拷贝WEAVER/ecology代码 步骤2:把本地代码导入到myeclipse工程中 步骤3:配置ecology项目环境 步骤4:修改ec ...

  7. TCP/IP详解第一卷第一章重点摘要

    一.协议族 一系列相关协议的集合称为协议族 指定一个协议族中的各种协议之间的相互关系并划分需要完成的任务设计,称为协议族的体系结构或参考模型 二.TCP/IP TCP/IP是一个开放的系统,协议族定义 ...

  8. .NET Core IdentityServer4实战 第一章-入门与API添加客户端凭据

    内容:本文带大家使用IdentityServer4进行对API授权保护的基本策略 作者:zara(张子浩) 欢迎分享,但需在文章鲜明处留下原文地址. 本文将要讲述如何使用IdentityServer4 ...

  9. Xilinx AXI USB2.0 Device IP 手册阅读笔记

    目录 1. 前言 2. 概要 2.1 USB2.0协议特点: 2.2 The AXI USB 2.0 Device介绍 2.2.1 Endpoint0: 2.2.2 Endpoint1~7: 3. 详 ...

最新文章

  1. 云智慧CEO:APM技术难点在于前端数据采集与后端数据分析的结合
  2. U盘安装CentOS 7
  3. caffe 加入 cudnn编译
  4. 洛谷P3066 [USACO12DEC]逃跑的BarnRunning Away From…
  5. L1-067 洛希极限 (10 分)
  6. jquery内核学习(3)--作用域分割(下)
  7. Controller比较两个对象discs、outlets中的元素是否相等。相同则相应的checkbox为checked...
  8. 【ArcGIS|空间分析|网络分析】4 查找最近的消防站
  9. 现在无法停止通用卷设备_济宁变压器油道设备
  10. 最新超详细的VMware虚拟机的下载与安装
  11. Leetcode——C++突击面试
  12. 面试系列 | 一个线程OOM,进程里其他线程还能运行么?
  13. pyqt5事件与鼠标事件
  14. 微商个人相册多端小程序源码
  15. maya刷权重时有个叉_为什么maya刷权重 笔刷是打叉
  16. 华为鸿蒙到底是不是安卓系统套了个壳?
  17. 电商系统促销方案的设计
  18. AR——增强现实技术
  19. 字节、PDD、PayPal 的“大小周”,分别是怎样的?
  20. Fiddler抓取主流新闻客户端搜索url

热门文章

  1. 网约车大战重来:易到回归降佣金,美团入局每单补贴超20元
  2. websocket + tls + cdn 断流严重问题解决方法
  3. 前端年后面试真题,会80%直接进大厂
  4. 2021-11-10----韩顺平Java入门第七天
  5. 使用java完成一个猜数字的小游戏(数据范围在1-100之间)
  6. requests请求get接口报错UnicodeEncodeError: ‘latin-1‘ codec can‘t encode characters in position 13-14
  7. 华硕飞行堡垒无线网卡9462黄色感叹号
  8. ssm城市旅游景点信息交流平台的设计与实现毕业设计源码290915
  9. spark内核SortShuffle解析_大数据培训
  10. Krypital Group:dYdX「背叛」以太坊,应用链会成为Dapp的主流叙事么?