02042202
驱动牛犊
驱动牛犊
  • 注册日期2007-11-13
  • 最后登录2008-05-07
  • 粉丝0
  • 关注0
  • 积分70分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
阅读:5721回复:12

请教一个9054 DMA 传输的问题!多次传输后9054自锁!!!!

楼主#
更多 发布于:2008-04-01 10:16
小弟在开发fpga+9054的数据采集系统,本地时钟为40MHz,数据位宽为32位,
fpga方面是一个FIFO供9054读数据,我将FIFO大小设为32k,每当FIFO>16K是由9054发起本地中断LINT#。在9054方面,我采用的是DMA传输方式,对LINT#采用的是查询方式,查INCSR的状态位,一旦有中断来了后,就DMAstart();  ,然后再DMAClose(myhDev,hDma); ,在DMA的工作方式中,我设置dmamode =0x0143H ,size =16K ! 采用block DMA方式, burst 方式,
 现在我的问题是:
  1,在执行DMA操作时,刚开始前100多次,都是正常的,都能读到数据到内存。但是读了1分钟后,9054就停在那边不动了!我用逻辑分析仪查看时,发现
       lhold = 1,
       ads   = 1,
       blast = 1,
       lint    = 0 ,   但是9054就是不响应????
  2,在执行DMA block 传输的时候,我将wait,breqi等信号都没有使用,为什么每10个burst 周期,9054就释放本地总线一次,然后再重新申请一次,不是应该在DMA传输中一直占用本地总线的吗?

很困惑,麻烦各位高手帮帮忙!!不胜感激!
  
02042202
驱动牛犊
驱动牛犊
  • 注册日期2007-11-13
  • 最后登录2008-05-07
  • 粉丝0
  • 关注0
  • 积分70分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-04-01 10:44
虚心求问!
pzczly
驱动牛犊
驱动牛犊
  • 注册日期2008-03-21
  • 最后登录2009-10-30
  • 粉丝0
  • 关注0
  • 积分70分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-04-01 20:17
建议仔细读一下9054 手册第6章,LOCAL INTERRUPT;
看是否有没想到的地方。
而且最好能传一份时序图,便于大家分析提建议!
765shm
驱动牛犊
驱动牛犊
  • 注册日期2007-09-28
  • 最后登录2008-05-28
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望9点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-04-02 13:41
是不是由于MARBR[16,7:0]设置使能本地总线的Local Bus Latency Timer的缘故,仅供参考...也请楼主如果搞定了共享一下
汗水滋补智慧
02042202
驱动牛犊
驱动牛犊
  • 注册日期2007-11-13
  • 最后登录2008-05-07
  • 粉丝0
  • 关注0
  • 积分70分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2008-04-02 21:01
好的,谢谢楼上两位的忠告!
我先试下!
晚上将时序图上传哈!
谢谢
02042202
驱动牛犊
驱动牛犊
  • 注册日期2007-11-13
  • 最后登录2008-05-07
  • 粉丝0
  • 关注0
  • 积分70分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2008-04-02 22:23
我的项目硬件架构,FPGA和9054之间的连接,我用的是一条30cm长的屏蔽线(会不会这个干扰比较大,造成数据传输不稳定啊??),见附件图一

附件图二是正常运行的情况下,我用逻辑分析仪测得的时序图
附件图三是在9054死机的情况下测得的时序图
请大牛帮帮忙!!
谢谢
附件名称/大小 下载次数 最后更新
1.rar (163KB)  53 2008-04-02 22:23
附件图二.rar (9KB)  48 2008-04-02 22:23
附件图三.rar (6KB)  43 2008-04-02 22:23
765shm
驱动牛犊
驱动牛犊
  • 注册日期2007-09-28
  • 最后登录2008-05-28
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望9点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2008-04-08 15:24
楼主9054 PCI配置空间的Device ID 写多少,9054h还是5046h?
汗水滋补智慧
02042202
驱动牛犊
驱动牛犊
  • 注册日期2007-11-13
  • 最后登录2008-05-07
  • 粉丝0
  • 关注0
  • 积分70分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2008-04-11 13:07
引用第6楼765shm于2008-04-08 15:24发表的  :
楼主9054 PCI配置空间的Device ID 写多少,9054h还是5046h?


9054h

有问题吗?
pzczly
驱动牛犊
驱动牛犊
  • 注册日期2008-03-21
  • 最后登录2009-10-30
  • 粉丝0
  • 关注0
  • 积分70分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2008-04-14 11:05
我也在做FPGA+9054,也遇到了类似的问题,依然没有解决:
不过参照时序图,提2个建议,希望有用:
1、你的local_data数据所占时钟周期不一样??
2、可以检查一下fifo(fifo的那些标志信号并不一定可信,可能出现错误时你没有抓到到),是不是可能溢出。
在FPGA做一下fifo溢出处理,建议最好用内部逻辑分析仪看(xilinx、altera都有)

3、问题2,lint问题只能问论坛大牛了或再看手册,俺也没搞明白(正在坚持查找俺自己项目的问题,等清楚了马上告诉你)
02042202
驱动牛犊
驱动牛犊
  • 注册日期2007-11-13
  • 最后登录2008-05-07
  • 粉丝0
  • 关注0
  • 积分70分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2008-04-15 12:53
引用第8楼pzczly于2008-04-14 11:05发表的  :
我也在做FPGA+9054,也遇到了类似的问题,依然没有解决:
不过参照时序图,提2个建议,希望有用:
1、你的local_data数据所占时钟周期不一样??
2、可以检查一下fifo(fifo的那些标志信号并不一定可信,可能出现错误时你没有抓到到),是不是可能溢出。
在FPGA做一下fifo溢出处理,建议最好用内部逻辑分析仪看(xilinx、altera都有)
.......


local_data 数据所占的时钟周期不一样是这样造成的,我用xilinx内部的逻辑分析仪查看的,逻辑分析仪的采样周期我设为是5ns,而本地总线的时钟周期是25ns,占空比是1:1的,所以有时在采样出来的信号占空比是3:2 或3:2 ,导致时钟周期不一样!!!

fifo的的标志信号,确实不可信的,特别是fifo reset 后,很多信号不可信的!

对于死锁的问题,我昨天将lready信号disable掉,就不会出现死锁了!但是有时数据读出来会出错的!
不知道这样是否可行!!!???
我的联系方式为xluowell@hotmail.com  ,QQ : 342918298!
能留下你的联系方式吗?
pzczly
驱动牛犊
驱动牛犊
  • 注册日期2008-03-21
  • 最后登录2009-10-30
  • 粉丝0
  • 关注0
  • 积分70分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2008-04-21 17:32
pzczly@163.com

我用的是ready_n信号,没用LINT信号(由PC控制本地的读写)。并参照datasheet时序图来做;
你那种方法lready信号disable掉,是不用ready信号么?(要是这样的化感觉不行吧)
bestyuan111
驱动牛犊
驱动牛犊
  • 注册日期2009-06-02
  • 最后登录2009-07-08
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望31点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2009-06-02 21:22
我也遇到了你这个问题,感觉好像是某个时刻ready信号长时间置高造成的。
zhinvxing
驱动牛犊
驱动牛犊
  • 注册日期2009-10-22
  • 最后登录2011-01-09
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2010-03-05 14:05
受启发
游客

返回顶部