mablejy0731
驱动牛犊
驱动牛犊
  • 注册日期2005-06-02
  • 最后登录2005-11-16
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1488回复:6

SLAVE FIFO写数据到USB

楼主#
更多 发布于:2005-06-07 19:17
各位大虾,最近调试板子遇到一些问题,我自己做的USB+FPGA的板子,现在下载了安装CONTROL PANEL的时候,安装目录下的驱动程序,系统认出设备,并且使用CONTROL PANEL中的DOWNLOAD下载HEX文件,成功了,我使用的是开发包中的SLAVE FIFO的固件程序。
现在的情况是,FPGA正常工作,D0~D7输出数据,但是,没有办法用CONTROL PANEL显示,每次启动ED6,IN的时候,都失败,不知道是什么原因,我的FIFOADDR的值是10,以下是先使用EP2,OUT,传64字节,再使用EP6,IN的情况。
请各位大虾帮忙看看是怎么回事,什么原因,多谢了,小妹不胜感激。
Bulk OUT Transfer
Bulk OUT success.
Buffer Contents
0000  05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05
0010  05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05
0020  05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05
0030  05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05
Reset Pipe:  Pipe=2
Bulk IN Transfer
Bulk IN success.
Buffer Contents
0000  05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05
0010  05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05
0020  05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05
0030  05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05
mablejy0731
驱动牛犊
驱动牛犊
  • 注册日期2005-06-02
  • 最后登录2005-11-16
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-06-08 12:34
为什么没有人回答呢,这个问题很难吗??多谢了
songfly
驱动牛犊
驱动牛犊
  • 注册日期2002-06-16
  • 最后登录2005-08-31
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-06-10 11:06
很难确定你遗漏了哪方面的细节,个人建议:
1、检查你的外部数据写进USB FIFO正确;
2、确定读数之前已经使用PKEND信号把你的数据提交到USB EP6端点,因为你的数据包小于config设置的EP6数据包的最大容量。
mablejy0731
驱动牛犊
驱动牛犊
  • 注册日期2005-06-02
  • 最后登录2005-11-16
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-06-10 16:33
我检查了时序了,没有什么错误,每一次都是显示failed,我想可能是一直往里面传数据,但是没有取走的原因,困惑中……
songfly
驱动牛犊
驱动牛犊
  • 注册日期2002-06-16
  • 最后登录2005-08-31
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-06-10 20:09
确定PKEND信号正确使用了吗?EP6终端默认是输入缓存,不过最好检查a51文件确认一下。最好先单独测试bulkloop证明EP6读数是对的,再查找硬件的问题。
cahwlx1982
驱动小牛
驱动小牛
  • 注册日期2004-08-16
  • 最后登录2006-06-17
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望4点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-06-14 17:39
其实用SLAVE FIFO方式时,USB那一边只是做了一个初始化的作用,把该设置的寄存器都设置好,把要设置的状态都设置好!
关键是你的FPGA那一边要做好,才能正常的工作,
而要做好这个工作,你首先要保证时序正确,也就是要吻合USB的时序,然后你可以看看数据手册就知道了,SLWR, SLRD还有SLOE都是有一定的要求的!你自己认真核对一下!
当然如果都没有问题的话,那就是你的硬件的问题了!
你再认真的在硬件方面查找原因!

祝你好运!!!
mablejy0731
驱动牛犊
驱动牛犊
  • 注册日期2005-06-02
  • 最后登录2005-11-16
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-06-14 18:04
多谢各位,我发现一个规律,就是解决一个问题,不过是为了发现另一个问题,现在处在一个非常混乱的阶段,我想我需要做的工作实在太多。
今天发现,下载那个slave fifo的.hex文件,也下不进去了,提示failed to open driver,真的很郁闷……
游客

返回顶部