位置:51电子网 » 技术资料 » 接口电路

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

发布时间:2008/5/26 0:00:00 访问次数:766

        

    

    

     来源:国外电子元器件 作者:林 愿 吴淑泉 冼志妙 摘要:介绍了一种基于usb2.0控制器cy7c68130的usb-ata接口,将普通硬盘转化为usb mass -storage的解决方案,文中给出了利用gpif实现该方案的相关设计方法。

     关键词:usb2.0 ata接口 cy7c68130 gpif1 引言 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时钟周

        

    

    

     来源:国外电子元器件 作者:林 愿 吴淑泉 冼志妙 摘要:介绍了一种基于usb2.0控制器cy7c68130的usb-ata接口,将普通硬盘转化为usb mass -storage的解决方案,文中给出了利用gpif实现该方案的相关设计方法。

     关键词:usb2.0 ata接口 cy7c68130 gpif1 引言 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时钟周

相关IC型号

热门点击

 

推荐技术资料

耳机放大器
    为了在听音乐时不影响家人,我萌生了做一台耳机放大器的想... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!