视频采集卡Windows95驱动程序设计
发布时间:2007/8/29 0:00:00 访问次数:875
摘要:介绍了Windows95系统中视频采集卡驱动程序的原理和结构,较详细地介绍了虚拟设备驱动程序和Video For Window视频采集驱动程序设计技术。
关键词:视频采集 驱动程序 Windows95
在计算机视频应用中,视频采集卡承担着将模拟视频信号转换成数字视频信号的任务。Windows95是目前应用比较广泛的操作系统,许多视频应用系统是基于该平台的。不但采集卡设计人员需要详细了解Windows95系统中视频采集卡驱程序设计技术,应用程序设计人员也需要理解驱动程序的工作原理,以便设计出性能更好的应用程序。本文以PCI总线视频采集为例,较详细地介绍了Windows95系统中视频采集卡驱动程序设计技术。
1 Windows95驱动程序原理
Windows95作为多线程抢占式多任务操作系统,对硬件设备进行了全面而完善的管理。其设备驱动程序的主要目的是使系统中的各个任务共享硬件设备,在任务切换时确保硬件设备一致性。Windows95设备驱动程序是分层设计的,层间定义了统一的接口,提高了程序的兼容性,便于系统升级和移值。系统将各类硬件设备的功能、行为进行归类整理,将实际设备抽象成逻辑设备。逻辑设备具有某一类型设备所共有的属性,具有统一的行为,并以一致的方式进行操纵。系统提供必要的函数和方法供应用程序操纵某一类型的逻辑设备。应用程序被严格禁止进行直接的硬件设备操作,所需的操作应当调用相应的系统API函数来完成。视频采集卡的设备驱动程序属于MultiMedia类中的VideoCap子类,由虚拟设备驱动程序CAPTURE.VXD和可安装设备驱动程序CAPTURE.DRV构成。其结构框图见图1。
虚拟机管理器VMM构成了Windows95系统的核心。它是一个32位保护模式操作系统,它的主要责任是创建、运行、监视以及终止虚拟机。虚拟机是一个可执行的任务,它由内存空间、CPU寄存器组、应用程序以及应用程序的支持软件如ROM BIOS、MS-DOS等组成,系统可同时拥有多个虚拟机。当某个硬件设备的状态可能受到任务切换的干扰时,该调和就需要相应的虚拟设备驱动程序的支持。虚拟机管理器和虚拟设备驱动程序一同管理系统的软硬件资源,响应中断,进行I/O操作,确保多个应用程序共享资源,互不干扰。
Windows95视频采集卡设备驱动程序包括虚拟设备驱动程序和可安装设备驱动程序两部分,一般可以采用Microsoft Windows95 DDK(Device Driver Kit)进行原形、输入库以及一些样例代码,但是未提供编程所需要的编译、汇编和连接程序。采用Visual C++ 5.0、Visual C++ 1.5以及MASM 6.0进行程序设计。设备驱动程序设计的好坏与采集卡的功能、性能、 兼容性及稳定性密切相关。为保证驱动程序的质量,应当严格遵照Windows95 DDK的文档进行程序设计。
2 虚拟设备驱动程序设计
在视频采集卡的驱动程序中,虚拟设备驱动程序CAPTURE.VXD负责参与系统即插即用配置过程,管理视频采集卡的硬件设备,并向运行在权限级3的上层程序提供调用接口:一是将分配的资源返回,如内存选择子、I/O地址、中断号等,使得上层驱动程序可以使用这资源来操纵采集卡硬件设备;二是完成一些在权限级3所不能进行的操作,如分配DMA缓冲区、查看内存映射页表等。虚拟机管理器和虚拟设备驱动程序运行在一个单一的32位平板模式址空间中,权限级为0。系统建立两个基地址为0、界限为4GB的全局描述符选择子分别用于代码段和数据段,程序不应当直接修改段寄存器、内存描述符表、中断描述符表。
2.1 设备声明
虚拟设备驱动程序必须包含一个声明,它一般位于程序的前部,声明中包括虚拟设备驱动程序的名称、版本号、调用接口等一些重要信息。声明由宏Declare_Virtual_Device完成,语法如下:
Declare_
摘要:介绍了Windows95系统中视频采集卡驱动程序的原理和结构,较详细地介绍了虚拟设备驱动程序和Video For Window视频采集驱动程序设计技术。
关键词:视频采集 驱动程序 Windows95
在计算机视频应用中,视频采集卡承担着将模拟视频信号转换成数字视频信号的任务。Windows95是目前应用比较广泛的操作系统,许多视频应用系统是基于该平台的。不但采集卡设计人员需要详细了解Windows95系统中视频采集卡驱程序设计技术,应用程序设计人员也需要理解驱动程序的工作原理,以便设计出性能更好的应用程序。本文以PCI总线视频采集为例,较详细地介绍了Windows95系统中视频采集卡驱动程序设计技术。
1 Windows95驱动程序原理
Windows95作为多线程抢占式多任务操作系统,对硬件设备进行了全面而完善的管理。其设备驱动程序的主要目的是使系统中的各个任务共享硬件设备,在任务切换时确保硬件设备一致性。Windows95设备驱动程序是分层设计的,层间定义了统一的接口,提高了程序的兼容性,便于系统升级和移值。系统将各类硬件设备的功能、行为进行归类整理,将实际设备抽象成逻辑设备。逻辑设备具有某一类型设备所共有的属性,具有统一的行为,并以一致的方式进行操纵。系统提供必要的函数和方法供应用程序操纵某一类型的逻辑设备。应用程序被严格禁止进行直接的硬件设备操作,所需的操作应当调用相应的系统API函数来完成。视频采集卡的设备驱动程序属于MultiMedia类中的VideoCap子类,由虚拟设备驱动程序CAPTURE.VXD和可安装设备驱动程序CAPTURE.DRV构成。其结构框图见图1。
虚拟机管理器VMM构成了Windows95系统的核心。它是一个32位保护模式操作系统,它的主要责任是创建、运行、监视以及终止虚拟机。虚拟机是一个可执行的任务,它由内存空间、CPU寄存器组、应用程序以及应用程序的支持软件如ROM BIOS、MS-DOS等组成,系统可同时拥有多个虚拟机。当某个硬件设备的状态可能受到任务切换的干扰时,该调和就需要相应的虚拟设备驱动程序的支持。虚拟机管理器和虚拟设备驱动程序一同管理系统的软硬件资源,响应中断,进行I/O操作,确保多个应用程序共享资源,互不干扰。
Windows95视频采集卡设备驱动程序包括虚拟设备驱动程序和可安装设备驱动程序两部分,一般可以采用Microsoft Windows95 DDK(Device Driver Kit)进行原形、输入库以及一些样例代码,但是未提供编程所需要的编译、汇编和连接程序。采用Visual C++ 5.0、Visual C++ 1.5以及MASM 6.0进行程序设计。设备驱动程序设计的好坏与采集卡的功能、性能、 兼容性及稳定性密切相关。为保证驱动程序的质量,应当严格遵照Windows95 DDK的文档进行程序设计。
2 虚拟设备驱动程序设计
在视频采集卡的驱动程序中,虚拟设备驱动程序CAPTURE.VXD负责参与系统即插即用配置过程,管理视频采集卡的硬件设备,并向运行在权限级3的上层程序提供调用接口:一是将分配的资源返回,如内存选择子、I/O地址、中断号等,使得上层驱动程序可以使用这资源来操纵采集卡硬件设备;二是完成一些在权限级3所不能进行的操作,如分配DMA缓冲区、查看内存映射页表等。虚拟机管理器和虚拟设备驱动程序运行在一个单一的32位平板模式址空间中,权限级为0。系统建立两个基地址为0、界限为4GB的全局描述符选择子分别用于代码段和数据段,程序不应当直接修改段寄存器、内存描述符表、中断描述符表。
2.1 设备声明
虚拟设备驱动程序必须包含一个声明,它一般位于程序的前部,声明中包括虚拟设备驱动程序的名称、版本号、调用接口等一些重要信息。声明由宏Declare_Virtual_Device完成,语法如下:
Declare_
上一篇:最佳缓冲器-ADC组合