featherlu
驱动牛犊
驱动牛犊
  • 注册日期2004-02-03
  • 最后登录2008-07-18
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望8点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
阅读:1617回复:5

PCI数据采集卡驱动编程疑问

楼主#
更多 发布于:2005-03-25 14:56
做了一块PCI数据采集卡,想当数据采集到卡上的存储容量的一半的时候就启动DMA。但是不知道这个驱动程序应该怎么写
我有以下思路:
先通过用户程序向驱动发送IRP,启动数据采集,当卡上存储数据达到一半时向pc发送中断,再通知应用程序启动DMA开始传输。

不知道这种思路是否有问题,初次写driver还请各位大侠多多指点

还有,请问是否可以直接在中断到来时就开始DMA而不通知应用程序来发送irp呢?

最新喜欢:

phoenix_lueiphoeni...
~_~ "~_~" *~_~* @~_~@ If winter comes, can spring be far behind? 如果冬天已到,难道春天还会远吗?
x810421
驱动牛犊
驱动牛犊
  • 注册日期2004-10-08
  • 最后登录2006-04-15
  • 粉丝0
  • 关注0
  • 积分42分
  • 威望7点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-03-25 19:47
我觉得可以这样的.
ewater168
驱动牛犊
驱动牛犊
  • 注册日期2004-11-04
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-03-25 23:59
楼上的兄弟在做那个桥的驱动啊,我也在弄,有时间交流交流。
guigen80
驱动牛犊
驱动牛犊
  • 注册日期2004-09-01
  • 最后登录2014-12-03
  • 粉丝0
  • 关注0
  • 积分104分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-03-28 10:12
我觉得在这种应用中,可以用硬件或FPG 来启动DMA,

1. 应用程序初始化硬件(申请内存,设置DMA传输地址)
2. 启动板卡采数
3. 通过(硬件或FPG计数>1/2 容量) 启动DMA
4. DMA传输结束,发中断,应用程序开始处理数据.

这种方案的好处是可以连续采集.
featherlu
驱动牛犊
驱动牛犊
  • 注册日期2004-02-03
  • 最后登录2008-07-18
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望8点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-03-28 20:39
非常感谢!
还有点问题再请教一下,就是通过硬件启动DMA是不是还是需要读写接口芯片的寄存器呢?
我觉得在这种应用中,可以用硬件或FPG 来启动DMA,

1. 应用程序初始化硬件(申请内存,设置DMA传输地址)
2. 启动板卡采数
3. 通过(硬件或FPG计数>1/2 容量) 启动DMA
4. DMA传输结束,发中断,应用程序开始处理数据.

这种方案的好处是可以连续采集.


[编辑 -  3/28/05 by  featherlu]
~_~ "~_~" *~_~* @~_~@ If winter comes, can spring be far behind? 如果冬天已到,难道春天还会远吗?
xiaoxulee
驱动小牛
驱动小牛
  • 注册日期2004-05-05
  • 最后登录2006-07-09
  • 粉丝0
  • 关注0
  • 积分104分
  • 威望15点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-03-30 15:27
用的什么接口芯片?
一般来说,接口芯片上自带DMA控制器。在驱动程序里面对接口芯片的寄存器操作,启动DMA就可以
游客

返回顶部