原创 CY7C68013A_Slave fifo固件心得

2009-11-25 10:51 6298 9 12 分类: 通信
CY7C68013A_Slave fifo固件心得

文章发表于:2009-07-11 22:52



    cy7c68013-56在使用Slave fifo进行数据传输的时候,EP2,EP4作为OUT端点,EP6,EP8作为IN端点。所以这些寄存器一定要搞懂:
PINFLAGSAB,PINFLAGSCD.
我们一般要用到FLAGA,FLAGB,FLAGC,FLAGD几个引脚,用于得到端点的状态,PINFLAGSAB,PINFLAGSCD是一组寄存器,用于设置这四个引脚的功能。PINFLAGSAB为例:
  PINFLAGSAB = 0xe8;  // FLAGA - fixed EP2EF, FLAGB - fixed EP6FF 
  SYNCDELAY;              //FLAGA引脚,EP2空时为0,非空为1,FLAGB引脚,EP6满为0,非满为1
  PINFLAGSCD = 0xac;  // FLAGC - fixed EP2FF, FLAGD - fixed EP6EF
  SYNCDELAY;              //FLAGC引脚,EP2满时为0,非空为1,FLAGD引脚,EP6空为0,非满为1


FIFORESET是用于FIFO状态复位的。这个用下面这段就OK了。
  FIFORESET = 0x80;             // activate NAK-ALL to avoid race conditions
  SYNCDELAY;                     // see TRM section 15.14
  FIFORESET = 0x02;             // reset, FIFO 2
  SYNCDELAY;                     //
  FIFORESET = 0x04;             // reset, FIFO 4
  SYNCDELAY;                     //
  FIFORESET = 0x06;             // reset, FIFO 6
  SYNCDELAY;                     //
  FIFORESET = 0x08;             // reset, FIFO 8
  SYNCDELAY;                     //
  FIFORESET = 0x00;             // deactivate NAK-ALL
  SYNCDELAY;                     //
EPxFIFOCFG,用于设置端点的操作方式。
  EP2FIFOCFG = 0x11;            // AUTOOUT="1", WORDWIDE="1"
  SYNCDELAY;                       //自动输出端点,8位数据总线
  EP4FIFOCFG = 0x11;            // AUTOOUT="1", WORDWIDE="1"
  SYNCDELAY;                       //自动输出端点,8位数据总线
  EP6FIFOCFG = 0x0c;            // AUTOIN="1", ZEROLENIN="1", WORDWIDE="1"
  SYNCDELAY;                       //自动输入端点,允许0长度端点,8位数据总线
  EP8FIFOCFG = 0x0c;            // AUTOIN="1", ZEROLENIN="1", WORDWIDE="1"
  SYNCDELAY;                       //自动输入端点,允许0长度端点,8位数据总线
OK,这就行了,在FPGA里面编你的Verilog程序这份很有前途的职业去吧。

文章评论3条评论)

登录后参与讨论

用户427238 2014-11-4 00:54

WORDWIDE=1是16位数据总线吧

用户427238 2014-11-4 00:51

IFCLK起什么做用呢

用户1251359 2010-7-7 16:25

分享快乐

用户68682 2007-1-14 18:04

我是个初学者,对这些还不是好懂,有空多发些,给点指导,指示.
相关推荐阅读
sealove518_112732726 2012-12-14 13:16
同時兩個surfaceview camera 中的一些開發問題
問題1: 如何將camera surfaceview 顯示在最上層:用了this.setZOrderOnTop(true);這個方法 問題2: 如何用一個BUTTON來自由控制came...
sealove518_112732726 2012-12-14 11:22
Eclipse中导入android项目名前有红叉但项目内文件无错误问题解决方法
Eclipse中导入android项目名前有红叉但项目内文件无错误问题解决方法 Eclipse中,Android项目名称前有红叉,但项目内所有文件都无错误,通常发生在导入项目时。 先可以去...
sealove518_112732726 2012-09-05 10:29
android各种权限及说明
  android.permission.ACCESS_CHECKIN_PROPERTIES 允 许读写访问”properties”表在checkin数据库中,改值可以修改上传( Allow...
sealove518_112732726 2012-09-05 10:27
android各种权限及说明
android各种权限及说明 android.permission.ACCESS_CHECKIN_PROPERTIES 允 许读写访问”properties”表在checkin数据库中,改值...
sealove518_112732726 2012-09-04 08:54
android 获取当前程序路径
//  获取当前程序路径     getApplicationContext().getFilesDir().getAbsolutePath();   //  获取该...
sealove518_112732726 2012-01-11 09:40
mt.exe:general error c101008d 最终原因已查明
mt.exe:general error c101008d(最终原因已查明)_算法的天空_百度空间   2011-05-27 16:22:41|  分类: 坑爹软件问题 |  标签: |字号大...
我要评论
3
9
关闭 站长推荐上一条 /2 下一条