首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于GPIF的USB-ATA解决方案
来源:本站整理  作者:佚名  2009-04-09 13:58:14



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

1 USB、GPIF、ATA接口

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 GPIF

    GPIF(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]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:280,113.30000 毫秒