qyxu1979
驱动牛犊
驱动牛犊
  • 注册日期2005-03-11
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分30分
  • 威望8点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
阅读:1753回复:3

请教各位高手一个关于SLAVE FIFO批量自动输出的问题?

楼主#
更多 发布于:2005-04-23 11:07
我使用的是端点2,批量输出,四级缓冲,采用SLAVE FIFO模式,
自动输出,外部主控由一片FPGA提供给68013各种控制信号,如IFCLK,SLCS,SLRD,SLOE,FIFOADR1:0,
现在我没有向FPGA中烧程序;使用CYPRESS公司提供的控制面板开始批量输出数据,但是却一次也传输不了,总是PENDING,
因为我是第一次传输,端点缓冲应该是空的,应该会给我传输的,为什么连一次也不传呢?
我怀疑是不是没有接外部主控的原因呢!因为我没有向FPGA中写程序!
不知道对不对,请各位多多指教!在下不胜感激!
送上20分了表敬意!
hawky
驱动牛犊
驱动牛犊
  • 注册日期2007-04-04
  • 最后登录2007-10-31
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-04-04 14:40
我也遇到了相同问题,异步FIFO自动输入可以实现,按照datasheet上的自动输出设置无法实现,数据没有发送到EP2中,  设置如下:
… … … … …
REVCTL = 0x03; // MUST set REVCTL.0 and REVCTL.1 to 1
SYNCDELAY;
EP2CFG = 0xA2; // EP2 is DIR=OUT, TYPE=BULK, SIZE=512, BUF=2x
SYNCDELAY;
FIFORESET = 0x80; // Reset the FIFO
SYNCDELAY;
FIFORESET = 0x02;
SYNCDELAY;
FIFORESET = 0x00;
SYNCDELAY;
EP2FIFOCFG = 0x10; // EP2 is AUTOOUT=1, AUTOIN=0, ZEROLEN=0, WORDWIDE=0
SYNCDELAY;
OUTPKTEND = 0x82; // Arm both EP2 buffers to “prime the pump”
SYNCDELAY;
OUTPKTEND = 0x82;

请教高手,是不是少了什么?

另外请问qyxu1979,你是如何解决  
SLAVE FIFO批量自动输出的问题的
qyxu1979
驱动牛犊
驱动牛犊
  • 注册日期2005-03-11
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分30分
  • 威望8点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-04-26 10:41
这个问题已经解决了!
我想问一下,你用过I2C总线吗
我用I2C总线发控制信号给FPGA,FPGA模拟接受时序,
其中的ACK响应在第九个时钟由FPGA发出,那么第十个时钟,主控器又发数了吗?
在FPGA程序中,ACK需要两个时钟才能释放总线,这行吗?会不会接收错误呀
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-04-24 19:07
68013里下程序了没有?
如果下了并且能正确运行
你至少可以传输2个512字节数据下去。
游客

返回顶部