hear_rain
驱动牛犊
驱动牛犊
  • 注册日期2004-07-06
  • 最后登录2004-08-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1154回复:7

关于PCI采集卡跟用户层通讯的问题

楼主#
更多 发布于:2004-08-12 16:07
公司现在在做pci视频采集卡,一卡四路。
现在的步骤大致如下:
1)由卡上的dsp来进行视频采集和处理。dsp上为视频数据开辟了两个缓冲区,每个缓冲区可以存放1个frame的数据。dsp每采集1个frame的数据,就将其放在某一个缓冲区中,并且产生中断。
2)驱动程序处理中断,将dsp内存的某缓冲区的数据copy到系统内核的某个缓冲区中。在系统内核中为每路开辟了2个缓冲区来存放数据。
3)应用层通过向驱动发送Read命令来获得dsp产生的数据

其实我觉得很奇怪,为什么要用驱动来这样处理中断,为什么不直接由应用层来处理中断、到dsp内存去取数据呢?
一个同事说,是因为在windows这样的多线程多任务的系统中,如果直接以应用层去处理中断,可能会有不必要的延时。不过我不是很理解这种说法。
hear_rain
驱动牛犊
驱动牛犊
  • 注册日期2004-07-06
  • 最后登录2004-08-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-08-12 16:27
其实我想问问大家,觉得什么样的方式比较好。要考虑到对cpu的占用、考虑到延迟等等。

我觉得驱动比较简单一些好,只要能够找到卡能读卡上mem就差不多了。
wzxghost
驱动牛犊
驱动牛犊
  • 注册日期2002-03-08
  • 最后登录2010-11-10
  • 粉丝0
  • 关注0
  • 积分67分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-08-12 16:46
用驱动的话,执行时间肯定是要比用户态少很多的。。。。。。
hear_rain
驱动牛犊
驱动牛犊
  • 注册日期2004-07-06
  • 最后登录2004-08-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-08-12 17:01
可是,如果在驱动中处理,也是要把dsp内存上的数据写到系统内核中去,并且在应用程序中通过驱动去读内核的数据。

如果在应用层处理,那么是应用程序通过驱动去读dsp内存上的数据。

为什么第二种情况要慢很多呢?
wzxghost
驱动牛犊
驱动牛犊
  • 注册日期2002-03-08
  • 最后登录2010-11-10
  • 粉丝0
  • 关注0
  • 积分67分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-08-12 17:05
就像你同事说的那样,os是多任务的话,没有办法保证应用程序执行的时间的。在驱动中也可以直接锁定dsp内存的。
hear_rain
驱动牛犊
驱动牛犊
  • 注册日期2004-07-06
  • 最后登录2004-08-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-08-12 17:08
可能我笨啊,还是不明白

即使在驱动中处理了,也还是要在应用层中去通过驱动读内核数据啊,不还是无法保证执行时间吗?
wzxghost
驱动牛犊
驱动牛犊
  • 注册日期2002-03-08
  • 最后登录2010-11-10
  • 粉丝0
  • 关注0
  • 积分67分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-08-12 17:12
应用程序读---干扰(优先级、中断之类的)---无法读---丢帧。。。。。
wzxghost
驱动牛犊
驱动牛犊
  • 注册日期2002-03-08
  • 最后登录2010-11-10
  • 粉丝0
  • 关注0
  • 积分67分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-08-12 17:15
其实驱动程序也分应用态和内核态的,当应用态处理不能满足诸如实时性等要求时,才考虑试用核心态。
游客

返回顶部