没有合适的资源?快使用搜索试试~ 我知道了~
首页Getting Started with FX2LP GPIF 68013A芯片GPIF模式配置
Getting Started with FX2LP GPIF 68013A芯片GPIF模式配置
需积分: 10 13 下载量 129 浏览量
更新于2023-05-27
评论
收藏 1.78MB PDF 举报
FX2LP™通用可编程接口(GPIF)提供一个独立硬件单元,用于创建数据和控制外部接口所需要的信号。通过对 GPIF 寄存器进行 CPU 读和写操作, GPIF 可以移位数据。本文档通过提供一个简单设计(该设计对 GPIF 时钟进行 2、 4 和 7 分频)详 细介绍了 GPIF 单元和它的图形设计工具(称为 GPIF Designer)。在配置和管理该接口时,仅需要三行 C 代码。本应用笔记还提供了一个示例,用于演示了如何将 USB 连接添加到 GPIF 设计。
资源详情
资源评论
资源推荐
www.cypress.com 文档编号. 001-92462 版本. *A 1
AN66806
EZ-USB
®
FX2LP™ GPIF 入门
作者名称: Rama Sai Krishna Vakkantula
关联项目: 有
软件版本: Keil uVision 2, GPIF Designer
要获取完整的应用笔记列表,请单击 此处。
更多示例代码? 我们听到了。
要获取更多 USB Hi-Speed 示例代码,请访问网站。
FX2LP™通用可编程接口(GPIF)提供一个独立硬件单元,用于创建数据和控制外部接口所需要的信号。通过对 GPIF 寄存
器进行 CPU 读和写操作,GPIF 可以移位数据。本文档通过提供一个简单设计(该设计对 GPIF 时钟进行 2、4 和 7 分频)详
细介绍了 GPIF 单元和它的图形设计工具(称为 GPIF Designer)。在配置和管理该接口时,仅需要三行 C 代码。本应用笔记
还提供了一个示例,用于演示了如何将 USB 连接添加到 GPIF 设计。
目录
1 简介 .......................................................................... 1
2 FX2LP 架构概述 ....................................................... 2
2.1 端口模式 .......................................................... 2
2.2 从设备 FIFO 模式 ............................................. 2
2.3 GPIF 模式 — 自动 ............................................ 2
2.4 GPIF 模式 — 手动 ............................................ 3
3 通用可编程接口 ........................................................ 3
3.1 GPIF 概述 ........................................................ 3
3.2 物理互连 .......................................................... 4
4 创建一个 GPIF 应用 .................................................. 5
4.1 设计 GPIF 接口 ................................................ 5
4.2 使用固件框架 ................................................... 5
4.3 使用 GPIF Designer 实现 GPIF 波形 ................ 6
5 示例 1:对 GPIF 时钟进行 2 分频和 4 分频 ............... 6
6 示例 2:对 GPIF 时钟进行 7 分频 ........................... 16
7 示例 3:使用单个字的读/写数据操作 ...................... 18
8 USB 数据流 ............................................................ 21
9 设计 GPIF 互联 ....................................................... 21
9.1 单字写波形 ..................................................... 23
9.2 单字读波形 ..................................................... 27
9.3 单个字操作的固件编程 ................................... 30
9.4 代码段 ............................................................ 31
9.5 运行 GPIF 单个字操作示例 ............................ 36
9.6 单个字操作的逻辑分析仪波形 ........................ 37
10 相关文档 ............................................................. 39
10.1 其他 GPIF 示例 .............................................. 39
10.2 参考设计 ........................................................ 39
10.3 数据手册 ........................................................ 39
11 总结 .................................................................... 39
文档修订记录................................................................... 40
全球销售和设计支持 ........................................................ 41
1 简介
USB 2.0 的 480 Mbps 信号速率要求控制器芯片对高速数据进行输出/输入传输。提供了一个独立的硬件单元,CPU 通
过对其进行相关设置实现 USB 端点 FIFO 和外部接口之间的数据直接传输。外部接口可以是 RAM、FIFO 或第二个处
理器。因此,CPU 不需要移动数据。配置时,由于数据经过了 GPIF 硬件通道,因此 CPU 仅控制各标志和中断。
通过使用 GPIF 可以实现各种协议,包括增强型 IDE (EIDE – 有时成为 快速 ATA 或 快速 IDE)或 ATA 数据接口
(ATAPI) 打印机,并行接口 (IEEE P1284),以及 Utopia. This document describes the architecture and
implementation of the FX2LP GPIF. 本文档对 FX2LP GPIF 的架构和实现进行了说明。介绍了应用使用模型和调试决
策,并提供了各种示例用于介绍和解释 GPIF 概念。
EZ-USB
®
FX2LP™ GPIF 入门
www.cypress.com 文档编号. 001-92462 版本. *A 2
2 FX2LP 架构概述
EZ-USB FX2LP 是一个灵活的 USB 2.0 外设控制器,用于处理 USB 2. 0 的最大宽度。FX2LP 通过提供 GPIF 为外部器
件提供高速并行接口,从而优化 USB 的吞吐量。通过使用该 GPIF,可以在 FX2LP 端点 FIFO 和 GPIF 接口间传输数
据。以下各节通过提供可配置的不同 FX2LP 模式,对 FX2LP 架构进行了简要说明。
2.1 端口模式
FX2LP 拥有 24 个接口引脚,根据模式设置,可将这些引脚用于各种目的。在“端口”模式下,它们是通用的 I/O 引脚,
并且 GPIF 无效(图 1)。
图 1. 端口模式下的 FX2LP
Host (PC)
USB
SIE
FIFOs 8051
Pins
FX2LP
PA[7:0]
PB[7:0]
PD[7:0]
2.2 从设备 FIFO 模式
在从设备 FIFO 模式中,专用的 FX2LP 逻辑提供了控制和数据信号,用于将 USB 端点 FIFO 连接到外部 FIFO 控制器。
除了数据总线和 FIFO 选择输入外,该接口还提供了常用的 FIFO 信号,如 RD、WR 和 FIFO 标志。更多有关该接口的
详细信息,请参考赛普拉斯应用笔记 AN63787 - EZ-USB FX2LP GPIF and Slave FIFO Configuration Examples Using
8-bit Asynchronous Interface.
图 2. 从设备 FIFO 模式下的 FX2LP 引脚
Host (PC)
USB
SIE
FIFOs
8051
Pins
CLK
RD,WR
FLAGS
ADDR[1:0]
Control
FX2LP
SlaveFIFO logic
DATA[15:0]
2.3 GPIF 模式 — 自动
当 GPIF 有效时,接口引脚作为主设备控制外部外设,如 RAM、FIFO 或外部处理器。GPIF 可在两个子模式下运行:
自动模式和手动模式。在自动模式下,数据从端点 FIFO 直接输送到外部接口。8051 配置和监控该接口,但不会直接
访问 FIFO 数据;请参考图 3.
图 3. GPIF 自动模式下的 FX2LP
Host (PC)
USB
SIE
FIFOs
8051
Pins
IFCLK
CTL[5:0]
ADDR[8:0]
RDY[5:0]
Gstate[2:0]
FX2LP
GPIF
DATA[15:0]
EZ-USB
®
FX2LP™ GPIF 入门
www.cypress.com 文档编号. 001-92462 版本. *A 3
赛普拉斯应用笔记 AN57322 - Interfacing SRAM with FX2LP over GPIF 来说明 GPIF 自动模式。该笔记介绍了如何使
用 8 位异步接口和 GPIF 自动模式将赛普拉斯 CY7C1399B SRAM 连接至 FX2LP。
2.4 GPIF 模式 — 手动
在手动模式下,通过使用 GPIF 寄存器的读和写操作,8051 对该接口进行读写字节(图 4)。在本文档的后续内容中
介绍了 GPIF 手动模式的一个示例。示例 3:使用单个字的读/写数据操作.
图 4. GPIF 手动模式下的 FX2LP
Host (PC)
USB
SIE
FIFOs
8051
Pins
IFCLK
CTL[5:0]
ADDR[8:0]
RDY[5:0]
Gstate[2:0]
FX2LP
GPIF
DATA[15:0]
3 通用可编程接口
3.1 GPIF 概述
GPIF 的内核是一个可编程状态机,用于控制 8 位或 16 位双向数据总线,并生成多达六个控制(CTL)和九个地址
(GPIFADR)输出。另外,它还接收六个外部和两个内部 READY 输入,用以确定分支条件。用户定义的四个波形描
述符控制该状态机;8051 程序会选择四个波形中的某一个在给定的时间内有效。
每个 GPIF 波形描述符包含多达七种状态,名称分别为 S0-S6。预定义的 S7 用于表示闲置状态。在每个状态内,您可
以将 GPIF 编程为:
▪
使某些或所有 CTL 输出驱动高电平、驱动低电平或悬空
▪
采样或驱动 8/16 位数据总线
▪
递增 GPIF 地址总线的值
▪
递增 FIFO 指针
▪
向 8051 触发一个 GPIF 波形中断
每个状态中的分支决策是通过下列选项得到的两个信号的逻辑 AND、OR 或 XOR:
▪
六个 READY 输入引脚
▪
内部 FIFO 标志
▪
内部 RDY 标志
▪
内部事务处理终止标志
通过两个已选信号的逻辑结合可确定下一个状态。另外,计算好可编程延迟后,状态机会转入下一个状态。该延迟的范
围为 1 到 256 个时钟周期。
采样和分支的状态被称为“决策点”。不带决策点的所有状态仅会维持一个时钟间隔,在下一个时钟间隔内,它将自动
转到下一个状态。
EZ-USB
®
FX2LP™ GPIF 入门
www.cypress.com 文档编号. 001-92462 版本. *A 4
图 5. GPIF 状态机句法
IDLE
Non-
Decision
Point
CPU
_
TRIG
Decision
Point
A
(
func
)
B
is TRUE
A(func)B is FALSE
(func) = AND, OR, XOR
State 0
State 1
State 7
图 5 中的状态机的流程如下所示:
1. 从闲置状态开始,等待 CPU_TRIG 信号激活。
2. 激活 CPU_TRIG 时,转入状态 0;在该状态中,您可以激活某些控制信号输出,移动数据或递增地址总线。该状
态仅在下一个时钟前持续,因为没有任何决策,所以下面它会无条件地转入状态 1。
3. 并保持状态 1,直到两个信号 A 和 B 的逻辑组合为真为止(即它为错误时)。例如,要想一直保持状态 1,直到
READY 信号有效或完成一个计数为止,那么需要选择 A 代表 READY 输入,并选择 B 代表一个计数器到期。如果
发生两个条件其中一个(READY 或终端计数),状态机可通过使用逻辑运算符 OR 输出状态 1。
4. 当该条件为真时,将转入闲置状态。状态机也随即停止。
3.2 物理互连
GPIF 互连包含一个 8 位或 16 位的数据总线、地址总线、控制输出和就绪输入(图 4)。另外它还包含了三个
GSTATE 输出(用于指出 GPIF 机械的当前状态),用于调试目的。本节详细说明了这些信号。
3.2.1 IFCLK
IFCLK(接口时钟)是所有 GPIF 操作的参考时钟。可将其作为输入或输出信号使用;并且您可以将上升沿或下降沿选
为有效沿。当作为输入信号使用时,可以使用一个频率为 5 MHz 到 48 MHz 的外部时钟驱动它。作为输出信号使用时,
可以使用 FX2LP 中一个频率为 30 MHz 或 48 MHz 的内部时钟进行驱动 IFCLK。如果外部外设需要的时钟频率更低,
那么可以使用 FX2LP 的内部时钟切换各 CTL 线中的某一个。在第一个示例中,GPIF 时钟被 2 分频和 4 分频,并通过
使用两个 CTL 输出可以输出这些信号。如果需要进行更高的分频,请在进入下一个状态前,通过编程 GPIF 状态计算
已编程的时钟数量(1 到 256)。
3.2.2 GPIFADR[8:0] (仅输出)
GPIF 通过驱动 GPIFADR[8:0] 为需要地址行的外设提供地址行。在所有 GPIF 状态下,可以保持或递增这些输出。
3.2.3 FD[15:0] (双向)
该数据总线是一个通道,通过它可以在 FX2LP 端点 FIFO 和外部外设间传输负载数据。该信号经配置后可作为 8 位或
16 位接口运行。系统需要时,可进入三态。在 16 位模式下,FD[7:0]代表端点 FIFO 的第一个字节,而 FD[15:8]则代
表第二个字节。
3.2.4 CTL[5:0] (仅输出)
控制输出信号可提供外部外设所需要的各种信号,如读/写选通、使能和分频时钟。
3.2.5 RDY[5:0] (仅输入)
就绪输入信号提供了外部外设的状态信息,如 FIFO 状态标志和有效数据。GPIF 能将这些信号作为决策点限定符使用。
3.2.6 GSTATE[2:0] (仅输出)
调试输出信号代表在 GPIF 波形中执行的状态。这些信号与逻辑分析仪相连,以用于调试目的。
EZ-USB
®
FX2LP™ GPIF 入门
www.cypress.com 文档编号. 001-92462 版本. *A 5
4 创建一个 GPIF 应用
本节介绍了创建 GPIF 应用的各步骤。
4.1 设计 GPIF 接口
要设计 GPIF 互连,您需要了解 FX2LP 和外部外设器件之间的接口。通过使用 FX2LP 数据手册和技术参考手册可以定
义该接口。The following decisions determine how to configure the GPIF.
▪
8 位或 16 位数据路径?
该决定通常取决于外设提供的数据路径的大小。如果大小为 16 位,则可以使用该路径尽可能扩大物理接口的带宽。
对于 16 位的数据路径,当连接至数据总线时,需要考虑字节顺序(字节次序)和位编号。
▪
外部还是内部接口时钟?
决定取决于外设操作模式的灵活度。例如,如果它可以接收一个频率为 30 或 48 MHz 的外部时钟输入,那么内部
GPIF 时钟便能与外设时钟输入相连。
▪
是否需要地址行?
如果在读/写周期操作期间,外设要求对任何寄存器或存储器位置进行寻址,则可以使用 GPIFADR[8:0]。
▪
控制行
从 CTL[5:0]指定 GPIF 控制输出。在这些操作中,外设可能需要读/写信号、芯片选择和其他控制输入。确定有哪些输
入,并合理分配 CTL[5:0]。通过 GPIF Designer 工具,您能够更清晰地命名这些信号;例如 CTL[0]的 WR#和 CTL[1]
的 RD#。
▪
状态(RDY)行
确定在读/写周期期间需要监控的状态信号数量。指定包括哪些状态信号,并合适分配 RDY[5:0]。GPIF Designer 工具
会再次允许您命名这些信号,以便使这些名称符合您的设计。
▪
接口时序
分配输入和输出之后,GPIF 应用的主要任务是设计时序波形,从而考虑接口时序。
注意:并非所有 FX2LP 封装类型均提供 GPIF 接口信号的完整集。例如,100 引脚和 128 引脚的 FX2LP 封装提供了所
有六个就绪输入(RDY[5:0])和控制输出(CTL[5:0])。56 引脚封装提供了两个 RDY 信号 RDY[1:0]和三个 CTL 信号
CTL[2:0]。
4.2 使用固件框架
使用 GPIF Designer 创建接口信号和波形时,您需要使用 Keil 集成开发环境(IDE)对控制固件进行编写。开始操作新
的 FX2LP 固件项目时,优先使用基于赛普拉斯编写的固件框架的 Keil uVision2 项目。FX2LP Development Kit (DVK)
所提供的固件示例都是基于框架的。您可以使用这些示例其中的任何一个进行操作,或将 Keil 项目复制到新的子目录
内,以进行修改。这样,您便能够对空的固件基础进行操作。如果使用了固件框架项目,那么您可以集中到您的应用代
码,因为已经写入了 USB 低电平协议代码。更多有关信息,请参考 fw.c 文件和开发套件文档。
应用方案拥有两个主要组件:
▪
配置 GPIF 和启动 GPIF 传输的固件。该固件还会执行其他应用任务,如 USB 枚举和端点配置。
▪
实现物理总线时序和数据流的 GPIF 波形描述符。
该固件包含五个文件:fw.c、periph.c(可以重新命名该文件)、dscr.a51、ezusb.lib 和 usbjmptb.obj。这些文件拥有
Keil uVision 2 固件框架项目。
第二个组件是一个包含了代码的 C 源文件(例如,gpif.c),它用于定义 GPIF 波形和初始化 GPIF 单元。当您通过图
形方式定义接口后,GPIF Designer 工具将创建该 C 文件。这样便不用知道 GPIF 单元中的单独寄存器和位。您可以在
此处下载 GPIF Designer 工具。
剩余40页未读,继续阅读
秦时明月94
- 粉丝: 3
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0