lansing
驱动牛犊
驱动牛犊
  • 注册日期2003-04-23
  • 最后登录2005-09-01
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1169回复:2

中断为什么延迟了很久才响应?

楼主#
更多 发布于:2004-09-21 09:19
用9054做的MPEG-2码流发送卡,当码流速率小于8Mbytes/s时播放正常,速率再高时FIFO出现了“空”的现象,用逻辑分析仪采集发现有时候硬件发出的中断延迟了很久才响应,导致没有及时发起DMA传输致使FIFO被读空了。FIFO大小为64KB,也就是说当码率高于8M时两次中断之间的间隔小于8ms,在这期间要发起一次DMA操作和一次读64KB文件的操作。
请教中断为什么大部分能正常响应,而有时侯又延迟了很久并且超出了可以容许的范围?操作系统内部是如何处理中断的?难道要中断处理要排队吗?
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-09-21 10:13
是不是你的驱动处理中断消耗太长时间了?
也许是你的硬件没有处理好
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
lansing
驱动牛犊
驱动牛犊
  • 注册日期2003-04-23
  • 最后登录2005-09-01
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-09-21 17:45
码率高的时候也并不是每次中断都延迟很长时间,而是随机的,这种情况会是驱动程序ISR处理消耗时间长吗?
还是硬件的中断级别太低?
游客

返回顶部