没有合适的资源?快使用搜索试试~ 我知道了~
首页EZ-USB® FX2LP™ GPIF 入门
EZ-USB® FX2LP™ GPIF 入门
需积分: 13 17 下载量 128 浏览量
更新于2023-05-19
评论
收藏 1.65MB PDF 举报
FX2LP™通用可编程接口(GPIF)提供一个独立硬件单元,用于创建数据和控制外部接口所需要的信号。通过对GPIF 寄存器 进行CPU 读和写操作,GPIF 可以移位数据。本文档通过提供一个简单设计(该设计对GPIF 时钟进行2、4 和7 分频)详细 介绍了GPIF 单元和它的图形设计工具(称为GPIF Designer)。在配置和管理该接口时,仅需要三行C 代码。本应用笔记还 提供了一个示例,用于演示了如何将USB 连接添加到GPIF 设计。
资源详情
资源评论
资源推荐
www.cypress.com 文档编号:001-92462 版本** 1
AN66806
EZ-USB
®
FX2LP™ GPIF 入门
作者名称:Rama Sai Krishna Vakkantula
关联项目:有
软件版本:Keil uVision 2,GPIF Designer
要获取完整的应用笔记列表,请单击此处。
FX2LP™通用可编程接口(GPIF)提供一个独立硬件单元,用于创建数据和控制外部接口所需要的信号。通过对 GPIF 寄存器
进行 CPU 读和写操作,GPIF 可以移位数据。本文档通过提供一个简单设计(该设计对 GPIF 时钟进行 2、4 和 7 分频)详细
介绍了 GPIF 单元和它的图形设计工具(称为 GPIF Designer)。在配置和管理该接口时,仅需要三行 C 代码。本应用笔记还
提供了一个示例,用于演示了如何将 USB 连接添加到 GPIF 设计。
目录
简介 ....................................................................................... 1
FX2LP 架构概述 .................................................................... 1
端口模式 ........................................................................... 1
从设备 FIFO 模式 ............................................................. 2
GPIF 模式 — 自动 ............................................................ 2
GPIF 模式 — 手动 ............................................................ 2
通用可编程接口 ..................................................................... 2
GPIF 概述 ......................................................................... 2
物理互连 ........................................................................... 3
创建一个 GPIF 应用 ............................................................... 4
设计 GPIF 接口 ................................................................. 4
使用固件框架 .................................................................... 4
使用 GPIF Designer 实现 GPIF 波形 ................................. 4
示例 1:对 GPIF 时钟进行 2 分频和 4 分频 ............................ 5
示例 2:对 GPIF 时钟进行 7 分频 .......................................... 9
示例 3:使用单个字的读/写数据操作 ................................... 10
单字写波形 ..................................................................... 14
单字读波形 ..................................................................... 16
GPIF 单个操作的固件编程 .............................................. 18
运行 GPIF 单个操作示例 ................................................. 24
单个操作的逻辑分析仪波形 ............................................ 25
相关文档 .............................................................................. 27
其他 GPIF 示例 ............................................................... 27
参考设计 ......................................................................... 27
数据手册 ......................................................................... 27
总结 ..................................................................................... 27
文档修订记录 ....................................................................... 28
全球销售和设计支持 ............................................................ 29
简介
USB 2.0 的 480 Mbps 信号速率要求控制器芯片对高速数据
进行输出/输入传输。EZ-USB
®
FX2LP GPIF 提供了一个独立
的硬件单元,CPU 通过对其进行相关设置实现 USB 端点
FIFO 和外部接口之间的数据直接传输。外部接口可以是
RAM、FIFO 或第二个处理器。因此,CPU 不需要移动数
据。配置时,由于数据经过了 GPIF 硬件通道,因此 CPU 仅
控制各标志和中断。
通过使用 GPIF 可以实现各种协议,包括 EIDE/ATAPI、打印
机 、 并 行 端 口 ( IEEE P1284 )以及 Utopia 。本文档对
FX2LP GPIF 的架构和实现进行了说明。它介绍了应用使用
模型和调试决策,并提供了各种示例用于介绍和解释 GPIF
概念。
FX2LP 架构概述
EZ-USB FX2LP 是一个灵活的 USB 2.0 外设控制器,用于处
理 USB 2.0 的最大宽度。FX2LP 通过提供 GPIF 为外部器件
提供高速并行接口,从而优化 USB 的吞吐量。通过使用该
GPIF,可以在 FX2LP 端点 FIFO 和 GPIF 接口间传输数据。
以下各节通过提供可配置的不同 FX2LP 模式,对 FX2LP 架
构进行了简要说明。
端口模式
FX2LP 拥有 24 个接口引脚,根据模式设置,可将这些引脚
用于各种目的。在“端口”模式下,它们是通用的 I/O 引
脚,并且 GPIF 无效(图 1)。
EZ-USB
®
FX2LP™ GPIF 入门
www.cypress.com 文档编号:001-92462 版本** 2
图 1. 端口模式下的 FX2LP
Host (PC)
USB
SIE
FIFOs 8051
Pins
FX2LP
PA[7:0]
PB[7:0]
PD[7:0]
从设备 FIFO 模式
在从设备 FIFO 模式中,专用的 FX2LP 逻辑提供了控制和数
据信号,用于将 USB 端点 FIFO 连接到外部 FIFO 控制器。
除了数据总线和 FIFO 选择输入外,该接口还提供了常用的
FIFO 信号,如 RD、WR 和 FIFO 标志。更多有关该接口的
详细信息,请参考赛普拉斯应用笔记 AN63787:使用 8 位异
步接口的 EZ-USB FX2LP GPIF 和从设备 FIFO 的配置示
例。
图 2. 从设备 FIFO 模式下的 FX2LP 引脚
Host (PC)
USB
SIE
FIFOs
8051
Pins
CLK
RD,WR
FLAGS
ADDR[1:0]
Control
FX2LP
SlaveFIFO logic
DATA[15:0]
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]
赛普拉斯应用笔记 AN57322:通过 GPIF 将 SRAM 连接至
FX2LP 来说明 GPIF 自动模式。该笔记介绍了如何使用 8 位
异步接口和 GPIF 自动模式将赛普拉斯 CY7C1399B SRAM
连接至 FX2LP。
GPIF 模式 — 手动
在手动模式下,通过使用 GPIF 寄存器的读和写操作,8051
对该接口进行读写字节(图 4)。在本文档的后续内容中介
绍了 GPIF 手动模式的一个示例。
图 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]
通用可编程接口
GPIF 概述
GPIF 的内核是一个可编程状态机,用于控制 8 位或 16 位双
向数据总线,并生成多达六个 CONTROL 和九个 ADDRESS
输出。另外,它还接收六个外部和两个内部 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 版本** 3
图 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. 当该条件为真时,将转入闲置状态。状态机也随即停
止。
物理互连
GPIF 互连包含一个 8 位或 16 位的数据总线、地址总线、控
制输出和就绪输入(图 4)。另外它还包含了三个 GSTATE
输出(用于指出 GPIF 机械的当前状态),用于调试目的。
本节详细说明了这些信号。
IFCLK
IFCLK(接口时钟)是所有 GPIF 操作的参考时钟。可将其作
为输入或输出信号使用;并且您可以将上升沿或下降沿选为
有效沿。当作为输入信号使用时,可以使用一个频率为
5 MHz 到 48 MHz 的外部时钟驱动它。作为输出信号使用
时,可以使用 FX2LP 中一个频率为 30 MHz 或 48 MHz 的内
部时钟进行驱动 IFCLK。如果外部外设需要的时钟频率更
低,那么可以使用 FX2LP 的内部时钟切换各 CTL 线中的某
一个。在第一个示例中,GPIF 时钟被 2 分频和 4 分频,并通
过使用两个 CTL 输出可以输出这些信号。如果需要进行更高
的分频,请在进入下一个状态前,通过编程 GPIF 状态计算
已编程的时钟数量(1 到 256)。
GPIFADR[8:0](仅输出)
GPIF 通过驱动 GPIFADR[8:0]为需要地址行的外设提供地址
行。在所有 GPIF 状态下,可以保持或递增这些输出。
FD[15:0](双向)
该数据总线是一个通道,通过它可以在 FX2LP 端点 FIFO 和
外部外设间传输负载数据。该信号经配置后可作为 8 位或 16
位接口运行。系统需要时,可进入三态。在 16 位模式下,
FD[7:0]代表端点 FIFO 的第一个字节,而 FD[15:8]则代表第
二个字节。
CTL[5:0] (仅输出)
控制输出信号可提供外部外设所需要的各种信号,如读/写选
通、使能和分频时钟。
RDY[5:0] (仅输入)
就绪输入信号提供了外部外设的状态信息,如 FIFO 状态标志
和有效数据。GPIF 能将这些信号作为决策点限定符使用。
GSTATE[2:0] (仅输出)
调试输出信号代表在 GPIF 波形中执行的状态。这些信号与
逻辑分析仪相连,以用于调试目的。
EZ
®
- USB™ FX2LP GPIF 入门
www.cypress.com 文档编号:001-92462 版本** 4
创建一个 GPIF 应用
本节介绍了创建 GPIF 应用的各步骤。
设计 GPIF 接口
要设计 GPIF 互连,您需要了解 FX2LP 和外部外设器件之
间的接口。通过使用 FX2LP 数据手册和技术参考手册可以
定义该接口。可通过下列各项决策确定如何配置 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]。
使用固件框架
使用 GPIF Designer 创建接口信号和波形时,您需要使用
Keil 集成开发环境(IDE)对控制固件进行编写。开始操作
新的 FX2LP 固件项目时,优先使用基于赛普拉斯编写的固
件框架的 Keil uVision2 项目。FX2LP 开发套件(DVK)所
提供的固件示例都是基于框架的。您可以使用这些示例其中
的任何一个进行操作,或将 Keil 项目复制到新的子目录
内,以进行修改。这样,您便能够对空的固件基础进行操
作。如果使用了固件框架项目,那么您可以集中到您的应用
代码,因为已经写入了 USB 低电平协议代码。更多有关信
息,请参考 fw.c 文件和开发套件文档。
GPIF 应用方案拥有两个主要组件:
配置 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 工具
使用 GPIF Designer 实现 GPIF 波形
GPIF Designer 生成包含了 GPIF 波形描述符的 C 代码,使
用 这 些 描 述 符 可 以 实 现 接 口 的 物 理 总 线 时 序 。 GPIF
Designer 可实现多个波形性能,包括四种波形类型:单写
、 单 读 、 FIFO 写和 FIFO 读。CPU 通 过 写 入
GPIFWFSELECT 寄存器控制所使用的波形。每一个描述符
的长度均为 32 个字节,它位于片上存储器空间内专用的
GPIF 波形描述区域内。通过 GPIF Designer 工具,您可以
将这些描述符作为“黑箱子”使用。这是因为它可以生成所
有需要的 C 代码,用于实现和使用这些描述符。
将这些 GPIF 波形作为状态机使用。存在七种状态或间隔
(S0-S6),以及一个用于终止操作的自动闲置状态 S7。
图 6. 由各状态构成的 GPIF 波形
图 6 显示的是一个示例,它说明了一个简单的波形被分解
为各 GPIF 状态转换。
EZ-USB
®
FX2LP™ GPIF 入门
www.cypress.com 文档编号:001-92462 版本** 5
示例 1:对 GPIF 时钟进行 2 分频和 4 分
频
首先,需要设计一个状态机用于对 GPIF 时钟进行 2 分频和
4 分频,然后在 CTL[0]和 CTL[1]上分别输出分频后的时钟
信号。这样,在介绍高级特性包括 USB 端点 FIFO 前,可
以了解 GPIF Designer 工具的基本知识。由于在本示例中
没有使用 USB,因此不需要固件框架。
1. 解压并存储随本应用笔记附带的 FX2LP source code
and GPIF project files.zip 文件。转到 FX2LP Source
code and GPIF project
files\Firmware\GPIF Clock Divider。右击该
文件夹并单击 Properties(属性)项。如果选择了
“Read-only...”项,请取消勾选它。点击 OK,以允许
子目录采用修改内容。
在该文件夹内,双击 GPIF_Clock_Divider.uv2 启动
Keil uVision2 IDE。它包含一个基本的 GPIF 项目,此
项目包含所有信息,但不包括 GPIF 信息。双击 main.c
文件以打开它;您将看到仅需要三行代码便能够启动
GPIF 操作:
WORD g_data;
GpifInit();
XGPIFSGLDATLX=g_data; // Start transfer
图 7. 基本的 GPIF Keil 项目
如果您没有修改任何代码,您会看到链接器错误,这是
因为 GPIF Keil 项目未包含 GPIF Designer 生成的
GPIF C 文件。该文件包含 GpifInit()函数和波形表数
据。下一步骤将创建该文件。
2. 启动 GPIF Designer,然后依次选择 File > New 打开
下面图片显示的窗口。
图 8. GPIF Designer 启动窗口
3. 要想使用 FX2LP 开发板检测该示例,请选择 CY FX2
(128 引脚)并点击 OK。这样可打开框图窗口:
图 9. GPIF Designer 框图
4. 在该框图顶部,右击 Clk 48 MHz 文本框配置 GPIF 时
钟。对于该项目,则保持默认设置。
图 10. IFCLK 默认设置
5. 右击 ADR(地址)标签。该示例没有使用地址总线,
因此您可以点击 Disable All;这样会使框图内的各地
址行变暗。
图 11. 禁用地址行
剩余28页未读,继续阅读
qq_39553255
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- 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
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0