USB2.0控制器CY7C68013的接口设计实现

发布者:温馨家园最新更新时间:2016-07-15 来源: 21ic关键字:USB2.0控制器  CY7C68013 手机看文章 扫描二维码
随时随地手机看文章
1 引言

USB(Universal Serial Bus)接口以其速度快、功耗低、支持即插即用(Plug & Play)、使用安装方便等优点而得到了广泛的应用。目前USB2.0标准的传输速度已达480Mb/s,这使得USB可以推广到硬盘、信息家电网络产品和其它快速外设。在某些应用场合,如基于硬盘的大容量数据采集与分析系统中,为了使用方便,需要将普通硬盘转化成海量存储器,这样在使用时就不需关机重启或打开机箱来安装。本文介绍一种利用带USB接口的单片机芯片CY7C68013来控制普通硬盘的读写,从而半普通硬盘转化为USB2.0海量存储器的可行方案,本系统可扩展,完全可用于实现基于硬盘的大容量数据采集与分析系统。

2 硬件设计

2.1 USB接口芯片

本设计选用的是Cypress公司的EZ-USBFX2系列芯片中的CY7C68013,这是一种带USB接口的单片机芯片,虽然采用低价的8051单片机,但仍然能获得很高的速度。它包括一个8051处理器、一个串行接口引擎(SIE)、一个USB收发器、一个8.5kB片上RAM、一个4 kB FIFO存储器及一个通用可编程接口(GPIF)。FX2可提供全面集成的解决方案。它有56SSOP、100TQFP、128TQFP三种封装,本设计选用占用电路板空间较少的56SSOP封装。如果要进行扩展,也可选用128TQFP封装。

    2.2 ATA接口

ATA接口是在ST506的基础上改进而成的,它将控制器集成到驱动器中,采用8个端口寄存器(即命令寄存器)来完成对硬盘的读写,ATA有两种工作模式:PIO模式和DMA模式。本设计采用的DMA传输模式不需要处理器参与整个数据传输过程,而是由I/O口直接将数据传送到存储器中,从而节约大量的CPU时间以更好的处理其它事件。控制器对硬盘的操作分为两种:8位数据的命令操作和16位数据的数据传输操作。在对硬盘输出控制命令之前,程序需对端口完整输出7字节的命令块。其中前六个端口为参数,最后一个端口为命令码。读写操据端口一般以512字节作为数据块进行。硬盘执行命令后发出中断请求以表示操作结束(结束传输),也可以置控制器状态为空闲,以表示扇区请求传输(数据传输)。最后,由控制器读取硬盘状态寄存器,以检测硬盘操作的成功与否。如操作正常,则进行下一次动作;否则进入错误处理程序。

2.3 GPIF与ATA接口

FX2芯片的最主要特点是可通过USB2.0的通用可编程接口(GPIF)为特定的应用接口编程,以便使用多种协议完成与外围器件的无缝连接,如EIDE/ATAPI,IEEE1284,Utopia等。其编程可以根据需要进行,且其中不需要CPU的干预,只是通过一些CPU标志和中断即可与增强型8051内核进行通讯。系统结构框图如图1所示。

本设计采用“GPIF主控”接口模式,并使用PORTB和PORTD双向FIFO数据线来构成通向四个FX2端点FIFO(EP2、EP4、EP6、EP8)的16位数据接口,以用来连接数据线DD[15:0]并进行数据的传送;GPIF作为内部主控器与FIFO相连,并通过产生用户可编程的控制主控器与FIFO相连,并通过产生用户可编程的控制信号CTL[2:0]与外部接口进行通信。同时,GPIF还可以通过RDY[1:0]引脚采用外部信号并等待外部事件。由于GPIF的运算速度比FIFO快得多,因此其时序信号具有很好的编程分辨率。

FX2用4个波形描述符来控制各个状态。这些波形描述符可动态的配置给任何一个端点FIFO。配置后,GPIF将依据波形描述符产生相应的控制逻辑CTL及握手信号RDY来和外界接口,以满足向FIFO读写数据的需要。GPIF的数据总线可以是8位FD[7:0],也可以是16位FD[15:0],本设计采用16位数据总线。其硬盘读数据控制波形如图2所示。

每个波形描述符包含了S0~S6七个有效状态和一个空闲状态。在每个有铲状态对应的时间段里,经过预先设置,GPIF可以做出以下几件事件;驱动(使高或低)或浮接CTL输出、采样或驱动FIFO的数据总线、增加GPIF地址总线的值、增加指向当前FIFO指针的值和启动GPIFWF(GPIF波形)中断。除此之外,在每个状态,GPIF还可以对以下几个信号中的任意两个进行采样,它们是:RDYX输入端、FIFO状态标志位、内部RDY标志位和传输计数终止标志位。每个GPIF动作都由七段组成,每个状态都可以定义为Non-Decision Interval (NDP)或Decision Point Interval(DP)。当某个状态定义为NDP时,在执行此状态动作时,系统只是用简单的延时来确定产生指定电平的延续时间;而当执行DP状态时,它将根据RDY0、RDY1上的输入信号状态把其中的两个信号相与、相或或者相异,然后根据结果跳转到其它任意一个状态或延迟1~256个IFCLK时钟周期。当然也可根据输入端信号进行跳转或延迟。

    图2中,在第一个DP时刻,若硬盘中数据已准备就绪,硬盘会传给GPIF一个负脉冲信号RDY0,根据此信号,波形将按顺序转入2、3、4状态,并使指向内部FIFO的指针在每个时钟上升沿加1,然后依次读取四个数据,读取完数据后再利用CTL0的上升沿启动下一次读写操作。若在状态1时没有出现负脉冲,则直接跳转到状态6,之后重复此波形描述符。在这种情况下,所有的读写及控制逻辑均可通过CY7C68013的GPIF以软件编程的方式实现,且控制逻辑的变换非常方便灵活(只需改变接口的一个配置寄存器的值)。GPIF波形描述符可用Cypress公司的GPIF工具GPIFTOOL来进行配置,它是一个可以运行于Windows平台的应用程序。

3 系统软件设计与实现

本系统软件设计包括:固件、应用程序和驱动程序的设计。其中,固件程序是指运行在设备CPU中的程序,是整个程序设计的核心,可采用汇编语言和C语言设计。只有在该程序运行时,外设才能称之为具有给定功能的外部设备。

3.1 USB设备固件程序设计

设备固件程序的主要功能是控制EZ-USB FX2接收并处理USB驱动程序的请求(如请求设备描述符或设置设备状态,请求或设置设备接口等USB2.0标准请求)、控制芯片中应用程序控制指令的接收、控制硬盘数据的读写等。该固件程序除能够使内置的通用可编程接口(GPIF)在没有CPU的干涉下通过四个大的端点FIFO(EP2、EP4、EP6、EP8)来处理高速宽带外,还有如下固定的工作:配置端点、通过控制端点0来响应主机请求、控制和监测GPIF的活动等。其固件程序框图如图形所示。

设计时可采用PIO和UDMA两种模式,FX2芯片的BULK端点大小可设置为512字节或1024字节。为实现UDMA功能,应将GPIF中的Slave FIFO与USB通讯中的端点BUFFER直接连接,数据的传送不再需要CPU的参考。当BUFFER写满后,置BUFFER满标志位,以使GPIF停止动作。实际上,也可运用GPIF的Re-execute功能(重复执行功能)。设定此功能后,GPIF可以不经过IDLE状态而仅根据采样RDY信号即可重复下次动作。直到出现指定的标志位后才停止动作。这项功能一般用于大批量数据的连续读写。如在UDMA模式下对一个或多个扇区的读写操作。如在UDMA模式下对一个或多个扇区的读写操作。为了实现UDMA模式下的CRC校验,还需设备特殊寄存器来完成CRC校验工作。

3.2 驱动程序设计

该系统需要两个驱动程度,即通用驱动和下载固件驱动。通用驱动用于完成与外设和用户程序的通信及控制;而下载固件驱动程序则负责在外连接USB总线后把特定的固件程序下载到FX2的RAM中使FX2的CPU重启,同时模拟断开与USB总线的连接以完成对外设的重新设置,这种即可使主机能够根据新的设置来安装通用驱动程序,重新格举外设为一个新的USB设备。通用驱动程序一般不需要重新编写,可以使用Cypress公司已经编好的驱动ezusb.sys。由于在Winsows2000操作系统中已经新增了媒体存储(Mass Stroage)设备的驱动程序,并可使用批量传输功能,所以可以直接选择BULKUSB.SYS驱动程序,而下载固件驱动则必须定做。

    3.3 用户程序的设计

用户程序是系统与用户的接口,这通过通用驱动程序来完成对外设的控制和通信。在编写用户程序时,首先要建立与外设的连接,然后才能实施数据的传输。本设计使用Visual Basic6. 0编译环境中的API函数来将ATI函数包装成一个VB.DLL连接程序文件,其编程方法与串口编程类似;首先查找设备,打开设备的句柄,然后进行读写和控制操作,最后关闭设备句柄。程序中主要用到的两个API函数CreatFile()和DeviceIoControl()就是根据该句柄完成数据传输的。

4 结语

本设计利用CY7C68013芯片的ATA接口将普通硬盘转化为具有USB2.0接口的海量存储器,其灵活的接口和可编程特性简化了外部硬件设计,提高了系统稳定性,同时也有利于PCB板的制作和调试。另外,USB设备的可热插拔特性使该系统具有了便携式的特点,而且使用方便,无需关机重启或打开机箱即可进行安装。该系统可采用PIO和UDMA两种模式实现。为了实现UDMA方式,所采用的Conductors导线部分为80-pin,而不是传统的40-pin,但是Cable (也就是排线的连接头部分)还是40-pin。本设计支持全速和高速传输两种状态,如果PC机是USB1.1的,它也能向下兼容USB1.1,而且速度远高于采用纯粹的USB接口芯片加外微处理器所构成的系统。从该方案可以看出,如果采用128TQFP封装的EZ-SUB FX2系列芯片,还可利用其地址线和数据线在此基础上进行其它扩展,从而实现基于硬盘的大容量数据采集与分析。

关键字:USB2.0控制器  CY7C68013 引用地址:USB2.0控制器CY7C68013的接口设计实现

上一篇:USB总线接口芯片CH371及其应用
下一篇:LXT384接口芯片的几种环回形式

推荐阅读最新更新时间:2024-05-03 00:31

USB2.0控制器CY7C68013特点与应用
摘要:介绍USB2.0协议以及Cypress公司推出的USB2.0控制器CY7C68013。USB2.0协议提供480Mb/s的传输速度,向下完全兼容流行的USB1.1协议。CY7C68013是USB2.0的完整解决方案。该芯片包括带8.5KB片上RAM的高速8051单片机、4KB FIFO存储器以及通用可编程接口(GPIF)、串行接口引擎(SIE)和USB2.0收发器,无需外加芯片即可完成高速USB传输,性价比较高。 关键词:USB2.0 高速模式 端点 本刊2002年到2、3期已对EZ-USB单片机的介绍。本文在此只重点介绍USB2.0的特殊之处以及芯片CY7C68013的主要特点。* 1 USB2.0的主要特点 US
[应用]
NEC电子推出内置USB2.0通信功能16位微控制器
NEC电子日前推出12款内置USB2.0通信功能、实现业界尖端低功耗技术的16位全闪存微控制器“78K0R/Kx3-L”系列产品,并于即日起开始提供样品。 新产品包括6款外部引脚48pin的“78K0R/KC3-L”,以及6款64pin的“78K0R/KE3-L”。样品价格根据存储容量、封装种类及引脚数而不同。以128KB全闪存、8KBRAM的64pin QFP封装“78K0R/KE3-L”为例,样品价格为500日元/个。预计2010年6月开始量产,2011年12款产品的合计产量将达100万个/月。 作为电脑与周边设备数据传输通信规格,USB2.0已经广泛普及。近年来,不仅仅电脑周边设备,数
[单片机]
NEC电子推出内置<font color='red'>USB2.0</font>通信功能16位微<font color='red'>控制器</font>
基于CY7C68013芯片的高速数据采集系统的设计方案
在图像处理、瞬态信号测量等一些高速、高精度的应用中,需要进行高速数据采集。USB 2.0接口以其高速率等优点渐有取代传统ISA及PCI数据总线的趋势,热插拔特性也使其成为各种PC外设的首选接口。EZ-USB FX2是Cypress公司推出的集成USB 2.0的微处理器,它集成了USB 2.0收发器、SIE(串行接口引擎)、增强的8051微控制器和可编程的外围接口。本文将介绍基于EZ-USB FX2系列CY7C68013芯片的高速数据采集系统的设计,该系统具有限幅保护功能,固件和驱动程序的编写简便,能够完成对数据的高速采集和传送。 数据采集系统方案设计 数据采集系统的框图如图1所示,硬件电路如图2所示。其中,AD1674是l2位模数
[单片机]
基于<font color='red'>CY7C68013</font>芯片的高速数据采集系统的设计方案
Ports模式下CY7C68013和FPGA的数据通信
引言 通用串行总线(USB)具有快速、双向、大批量传输、廉价以及可实现热插拔等优点,Cypress公司的FX2系列芯片之一CY7C68013是最早符合USB2.0标准的微控制器,集成了符合USB2.0的收发器、串行接口引擎(SIE)、增强型8051内核以及可编程的外围接口,实现基于USB2.0的接口数据通信,CY7C68013可配置成3种不同的接口模式;Ports(端口模式)、GPIF Master(可编程接口模式)和Slave FIFO(主从模式),其中,后两种模式利用其内部集成的可以独立于微处理器而自动处理USB事务的硬件(USB核),数据的传输通过执行USB本身的协议来完成,微处理器可不参与数据传输,从而使数据的传输速率大
[应用]
EZ-USB FX2单片机CY7C68013的特性介绍
作者Email: cai_yang@etang.com 摘要:本文主要介绍Cypress Semiconductor公司的EZ-USB FX2单片机CY7C68013,该单片机是一个带USB2.0内核、8051兼容的单片机。 关键词:USB2.0 EZ-USB FX2 单片机 CY7C68013 1 介绍 Cypress Semiconductor公司的EZ-USB FX2是世界上第一款集成USB2.0的微处理器,它集成了USB2.0收发器、SIE(串行接口引擎)、增强的8051微控制器和可编程的外围接口。FX2这种独创性结构可使数据传输率达到56Mbytes/s,即USB2.0允许的最大带宽。在FX2中
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved