阅读:1533回复:3
请教一个9054 DMA 传输的问题!多次传输后9054自锁!!!!
小弟在开发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传输中一直占用本地总线的吗? 很困惑,麻烦各位高手帮帮忙!!不胜感激! |
|
沙发#
发布于:2008-04-27 13:14
我也在做fpga+9054的数据采集系统,qq153732032
一起交流进步 |
|
板凳#
发布于:2008-06-08 21:51
我也遇到此类问题,同求。
|
|
地板#
发布于:2008-06-12 07:23
我也遇到此类问题,不过是进行多次DMA后,电脑就死机了,不知道什么原因,请斑竹给点建议啊,谢谢!!!
|
|