dreamtown
驱动小牛
驱动小牛
  • 注册日期2004-05-12
  • 最后登录2006-01-16
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望5点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1500回复:1

9054的DMA的一个奇怪问题

楼主#
更多 发布于:2005-01-30 18:49
先说一下local端的设置: 工作在C模式,32位数据总线传输,单周期不突发。  每当ADS#有一个下降沿时,local端接受一个32位数据。不用ready#,用内部等待。dma为block dma,方向位PCI到LOCAL

现在的问题是:当把一次dma传输的字节个数设置为1或2或3时,9054发起一次dma传输,local接收到32位数据,完全正确。 当传输的字节个数设置为4时,应该和前面的结果一样,但是现在却发起了两次传输,local收到了两个32位数据,并且第二个数据不对。  以此类推,传输字节个数不为4的倍数时,完全正确,一旦为4的倍数,就会多传输一次,并且数据不对。  PCI TARGET读写完全正确

TOM兄,我都重头翻到尾了,实在不知所以然,恳求给个解释
20分送上
春节愉快
dreamtown
驱动小牛
驱动小牛
  • 注册日期2004-05-12
  • 最后登录2006-01-16
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望5点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-01-30 18:51
有一点没说清楚
当为4的倍数时,数据不对,指的是多传输的那次不对,别的也都正确

再次感谢
游客

返回顶部