USB2.0学习笔记连载(十九):EZ-USB TRM手册重要部分介绍

  image

  TRM手册中给出了所有的寄存器配置,在 slave fifo模式或者 GPIF模式等,所以对于用到的各种寄存器配置需要查看此手册,当然还可以配合着应用手册《AN61345》.

  1.主机操作

  对于USB2.0的设备来说,是不能作为主机,主动发送数据或者接收数据的,如下面的描述。

image 2. 方向控制

image   OUT意味着 主机到设备,IN是设备到主机,这里注意以下,若是工作在slave fifo模式下,FPGA与 EZ-USB通信,最后传递给上位机,应该是工作在IN模式(输入模式)。

  3.事务处理方式

  令牌包,数据包,握手包。

image   4.枚举

image image   (1)首先是主机发送 get descriptor device指令请求给地址0;

   (2)设备响应请求,发送ID给主机得到确认;

   (3)主机发送地址请求,此地址是设备特有的;

   (4)主机再发送其他额外的设备信息get descriptor device;

  其实上述的这些响应,EZ-USB内部会自动完成,只需了解其机制即可。

   4.1重枚举

   当第一次插入设备,需要安装驱动,等下次再插入设备时,会自动被识别,这就是重枚举过程。

image   image

   5.EZ-USB架构

image  6.端点缓冲配置方式

  手册中有介绍,ENDPOINT buffer一共就有12种配置方式,如下所示:

image

image   对照两个图可以看出,端点缓冲区的设置是与CPU部分进行通信的,包括缓冲区大小,几个缓冲区,输入和输出,以及缓冲模式(bulk,control,同步模式,中断模式)

   7.SLRD,SLWR,FLAGABC,SLOE,SLCS几个信号讲解

image 

    上图中,FPGA与CY7C68013A进行通信,工作在slave fifo模式,其中我们只需用到FPGA对CY进行写操作。所以对于写入情况手册中有给出如下情况:

image   在写入数据时,是伴随着ifclk时钟频率下,在上升沿进行采样,且此时SLWR为低电平,SLCS为低电平。

   flagABC,其中A代表空,B代表满,C代表可编程,FPGA可以通过这几个信号来判断CY是写满还是读空。

  SOLE是输出使能信号,高电平使能。

  SLRD是读出信号,如下图所示:

image   SLRD也是低电平有效,并且SLCS金额SLOE也是低电平时在ifclk时钟频率下开始读出数据,由于FPGA与CY通信只是写入情况,用不到读出,所以可以直接将SLOE,SLRD直接拉高。

  8.电源管理模式

  主要有suspend,resume,idle,wakeup模式

  8.1晶振时钟源寄存器设置,默认值是1.

image  8.2 唤醒控制

image   wakeup引脚的优先权是通过WUPOL和WU2POL来设置的,DPEN使用来设置D+的使能,WUEN使能wakeup引脚,WU2EN使能WU2引脚。通过设置上述参数,就可以进入到wakeup中断。有上述可以看出,有三种中断源可以使CY进入到中断模式,1)wakeup(WUEN),2)D+(DPEN),3)WU2(WU2EN),进入中断后,8052就会推出idle模式。

  9.复位

  image   复位有三种方式:硬件复位(低电平有效),CPU复位(由EZ-USB的逻辑控制),USB总线复位。

   10.端点介绍

image   端点2.4.6.8可以进行配置。通过下图的寄存器进行配置。

image

  对于每个buffer缓冲器的数据大小通过以下寄存器进行设置   。image

  11.自动指针

  自动指针会当每个字节发送过来后自动增加。

image

  其他参看博客连载18的内容

原文地址:https://www.cnblogs.com/raymon-tec/p/5368817.html