新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于GPIF的USB-ATA解决方案

基于GPIF的USB-ATA解决方案

作者:时间:2009-04-09来源:网络收藏

目前,通过单片机去控制硬盘的,大多采用PIO模式实现,速度和性能上都不够理想,硬盘与PC机的连接也相当繁琐。要频繁地与PC机交换大量资料,采用USB硬盘是一个相当好的。本文给出一个如何利用单片机完成对硬盘的读写,同时具有功能的可行方案。

本文引用地址:http://www.eepw.com.cn/article/173793.htm

1 USB、

1.1 USB总线

USB(Universal Serial Bus)[4]是一种串行接口的新标准,其主要优点是速度快、功耗低、支持即插即用(Plug Play)、使用安装方便。USB支持最多5个Hub层以及127个外设,所有外设通过协议共享USB的带宽。目前使用中的USB协议有1.0、1.1和2.0三个版本,通讯速率分别为1.5Mbps、12Mbps、480Mbps,USB协议向下兼容。

从逻辑结构上讲,USB数据的传输是通过管道进行的,管道的两端连接host和device的端点BUFFER,BUFFER的大小直接影响通讯的速率。USB系统软件通过缺省管道(与端点0相对应)管理设备,设备驱动程序通过其它管道来管理设备的功能接口。每一个USB设备在主机看来就是一个端点的集合,主机只能通过端点与设备进行通讯。在USB系统中,每一个端点都有唯一的地址,这是由设备地址和端点号给出的。每个端点都有一定的特性,其中包括:传输方式、总线访问频率、带宽、端点号、数据包的最大容量等。根据应用场合的不同选择相应的端点类型。USB数据流模型见图1。

1.2

(general programmable interface)[1、2]即通用可编程接口,是CYPRESS公司在其EZ-USB FX以及FX2系列单片机里设计的一个可由用户编程的接口,具有快速、灵活等特点,可使用多种协议完成与外围器件的无缝连接,如EIDE/ATAPI、IEEE1284、Utopia等。对其可以根据需要进行编程,且运行中不需要CPU的干预,仅通过一些CPU标志和中断与增强型8051内核通讯。GPIF与8051内核的关系见图2。

GPIF主要组成部分:

(1)ADR[5..0]:地址线,可作为扩展存储器的低位地址,在连续执行GPIF动作时具有自动增一功能。可对其对应的寄存器进行读写(FX2系列中扩充为9根地址线)。

(2)RDY[5..0]:输入Ready信号,可对指定的信号进行连续采样,以确定GPIF动作继续、等待或是反复不断采样,直到信号的指定状态出现。通常用来等待指定信号的某个状态出现,然后继续剩余动作。

(3)CTL[5..0]:输出Control信号,根据编程指令输出高低电平或集电极开路。通常用作选通信号、非总线输出信号,以及产生简单的脉冲信号。

(4)FD[15..0]:双向FIFO数据线,一般又称AFI、BFI。

(5)IFCLK:时钟接口,决定使用外接时钟还是使用内部48MHz或30MHz时钟周期。

(6)GSTATE[2..0]:当前GPIF状态数,可用来判断当前GPIF工作状态,一般调试用。

(7)GPIF PROGRAM:GPIF程序存储区间0x7900~0x797F,存储GPIF指令,可存储4组波形的程序代码(FX2系列存储区间为0xE400~0xE47F)。

每个GPIF动作都由七段组成:Interval0~Interval6,简称I0~I6。执行完I0~I6的动作后,最后都进入IDLE(I7),即空闲状态,以准备启动下一次GPIF动作。每个Interval可以定义为Non-Decision Interval,简称NDP;或是Decision Point Interval,简称DP。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭