lawhfy
驱动牛犊
驱动牛犊
  • 注册日期2001-06-15
  • 最后登录2002-04-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1240回复:0

S5933PCIDMA方式求助

楼主#
更多 发布于:2001-10-11 17:58
我现在遇到问题的现象是:我们在ADD_ON端发起忽略计数器方式的DMA传输时出现死机或者显示器出现“out of range”的现象而且在软件端的指定内存处读不到数据。由于大数据量传输的要求,我们在设计时应用AMCC的DMA数据传输功能,应用ADD_ON端触发方式,希望能将外部数据快速传入计算机内存,以外扩的fifo为数据缓冲,根据AMCC公司的资料,ADD_ON触发DMA需要配置8步,但是我们采用的是忽略计数器(MWTC)的方式,和无外部中断方式,所以,忽略了第一(配置AGCSTS的计数器允许位),第二步(配置AINT的中断允许位)。第三步是FIFO的标志复位,我们在设计时没有考虑它,不知道是否产生上述现象的原因?由于要往内存写数据,所以我们应用AMWEN信号申请总线控制权。根据设计要求我们需要每385微秒发起一次1920 DWORD的DMA传输(约耗时56us),硬件是采用FPGA产生的AMCC控制时序,当灌入时序以后,计算机并未死机,因为DMA的产生还需要软件端的相应配置,当运行软件后,机器立即黑屏,但是AMWEN,GNT,WRFULL,WRFIFO等信号的波形却很正确,主机好象还在工作,单显示器的信号灯已经由绿色变为橙色,表明显示器已经没有信号,是不是硬件方面申请DMA总线时,由于频繁占用总线所致?另外,我们还想问问您,往MWAR中写入的到底是计算机内存的物理地址,还是软件方面的所谓的线性地址(经过段页转换后的地址)。有没有可能由于写入的地址不正确导致死机?
游客

返回顶部