关键词:WDM;音频采集卡;音烦采集压缩卡,PNP
PC/104是一种专门为嵌入式控制而定义的工业控制总线,他的兼容和机械稳定性好,广泛应用于环境较为恶劣的工控领域。PCI04实际上是基于lSA标准。DriverWDM(WindowsModel)作为微软为Wind2000及以后版本准备的新驱动模型,支持PNP(即插即用),为用户的PNP设备驱动完成大量的底层工作。但在科研和工控中,最常用的数据采集卡通常都是基于PC总线的ISA设备(包括PC/104设备),这类设备不支持PNP,音频采集卡在wDM中没有获得很好的支持。使用WDM开发这类设备的驱动程序需要一些特殊处理。
1 WDM驱动程序模型在WDM驱动程序模型中,每个硬件设备至少有2个驱动程序。其中一个称为功能(function)驱动程序,这就是硬件设备驱动程序。他了解使硬件工作的所有细节,负责初始化I/0操作,处理I/0操作完成时所带来的中断事件,为用户提供一种设备适合的控制方式。另一个驱动-的程序称为总线驱动程序,他负责管理硬件与计算机的连接。
2驱动程序的结构WDM驱动程序的结构很简单。他的主体是一个人口函数DriverEntry。DriverEntry的第一个参指向一个刚被初始化的驱动程序对象,该对象代表驱动程序。WDM驱动程序的DriverEntry例程完成这个对象的初始化并返回。WDM驱动程序的DriverEntry例程的主要工作是把各种函数指针填入驱动程序对象。这些指针对操作系统指明了驱动程序容器中各种子例程的位置。他包括下面这些指针成员:
(1)DriverUnload指向驱动程序的清除例程。理器会在卸载驱动程序前调用该例程。通常wDM驱动,程序的DriverEntry例程一般不分配任何资源,所以DrierUnload例程也没有什么清除工作要做。
(2)DriverExtension—AddDeviceAddDevice函数。AddDevice函数是wDM驱动程序个特殊函数,PNP管理器为每个设备实例调用该函数。他创建一个设备对象并把他连接到该驱动程序的设备堆栈中。在这个函数里,设备对象被创建,设备需要的中断、DMA等资源被挂接到这个设备对象上,相应地处理函数,如中断服务例程等也被指定。
(3)DriverStartIo,如果驱动程序使用标准的IRP,则必须使用这个函数,使他指向驱动程序的StarIo例程。(4)MajorFunction是一个指针数组,他主要处用户的I/0请求IRP。默认情况下,用户的所有I/0请求都会由I/O管理器返回失败。驱动程序为要处理的IRP指定相应的派遣函数。3一套PC/104音频采集卡wDM驱动程序的实现DriVerStu在Windows2000下,使用Compuware 和VisualC++6.o,这里开发了一套PC/104音频采集卡的驱动。该音频采集卡系统支持软件查询、DMA、中断3种数据传输方式。DriVerstudio使用compuware 作为开发工具可以种大大简化驱动程序的开发过程。DriVerStudi03.1开发用内核模式的开发包是DriVerworks。DriVerwor个面向对象的工具包。他封装了比较底层的繁复操作,提供给开发者一个简捷的界面。同时,DriVerworks和VisalC++有很多的接口:DriVerWorks为VisualC++提供了一个专门开发wDM驱动程序的wIZARD。通过WIZ一ARD,开发者可以很容易的生成一个驱动程序的框架·开发者要做的工作就是根据特定硬件编写相应的代码。 框架生成和资源配置在使用wIZARD生成的驱动程序框架的过程中,需要为设备配置资源如中断、I/0端口范围、DMA以及驱动程序与应用程序的接口命令及处理函数。由于PC/104设备本身不具备PNP功能,为了使其具有PNP特性,可以通过PNP管理器和INF文件完成自动资源分配嘲。本例在INF文件中通过如下方式为设备配置资源。
基于PC/104音频采集卡wDM驱动,能够完成一般设备驱动程序所需的功能。同时由于加入PNP的支持,使得该系统的硬件安装、卸载非常简便。此外,本文的音频采集卡开发思路对同类设备以及ISA设备驱动的开发也具有一定的参考价值。
九视电子视频采集卡系列产品中有多款针对专业流媒体高清领域打造的音视频采集卡,其能直接兼容各种Direct Show标准开发的视频应用软件,无需开发便能直接进行应用,如目前市面上常见的视频会议、网络直播点播、大屏融合等软件,都能直接进行应用,针对视频开发的需求可提供SDK开发包。
对于多路音视频流媒体采集卡:九视电子T306E流媒体采集卡是一款可以同时采集六路音频和六路视频信号的采集卡,支持各种DirectShow开发的视频软件,并可以在微软Amcap、Media Encoder,Real公司Real Producer等各种常用使用软件下使用,在Direct Show 的Video Capture Filter中新增了“设备属性”、“高级视频属性”设置面板,详情可参考:T306E 6路音视频流媒体采集卡新增功能。
对于1080P高清音视频流媒体采集卡:采用微软AVStream标准驱动,输入视频信号可达1080p/60 Hz的九视电子T620E高清万能视频采集卡,兼容使用DirectShow接口的各种音视频采集软件和使用DirectSound接口的音频采集软件,九视电子T620E采集卡在Direct Show 的Video Capture Filter中增加了“设备属性”、“高级视频属性”等相关的设置面板,详情可参考:万能高清视频采集卡相关属性面板说明。