当前位置:首页 > 公司简介 > 正文

搜罗卡Windows95驱动圭臬策画

发稿时间: 2020-01-11   来源: 凯发AG

  摘要:先容了Windows95体系中视频收集卡驱动序次的道理和机闭,较周密地先容了虚拟装备驱动序次和Video For Window视频收集驱动序次策画手艺。

  正在打算机视频行使中,视频收集卡担任着将模仿视频信号转换成数字视频信号的职司。Windows95是目前行使比拟平凡的操作体系,很多视频行使体系是基于该平台的。不光收集卡策画职员需求周密相识Windows95体系中视频收集卡驱序次策画手艺,行使序次策画职员也需求贯通驱动序次的职业道理,以便策画出功能更好的行使序次。本文以PCI总线视频收集为例,较周密地先容了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的文档举行序次策画。

  正在视频收集卡的驱动序次中,虚拟装备驱动序次CAPTURE.VXD担当到场体系即插即用设备进程,束缚视频收集卡的硬件装备,并向运转正在权限级3的上层序次供给移用接口:一是将分拨的资源返回,如内存抉择子、I/O地点、终了号等,使得上层驱动序次可能利用这资源来独霸收集卡硬件装备;二是落成少少正在权限级3所不行举行的操作,如分拨DMA缓冲区、查看内存照射页表等。虚拟机束缚器和虚拟装备驱动序次运转正在一个简单的32位平板形式址空间中,权限级为0。体系筑筑两个基地点为0、周围为4GB的整体刻画符抉择子差别用于代码段和数据段,序次不该当直接批改段寄存器、内存刻画符表、终了刻画符表。

  虚拟装备驱动序次必需包蕴一个声明,它平常位于序次的前部,声明中蕴涵虚拟装备驱动序次的名称、版本号、移用接口等少少要紧新闻。声明由宏Declare_Virtual_Device落成,语法如下:

  装备名称界说了虚拟装备驱动序次的名称。装备把握进程授与来虚拟机束缚器的音书,并凭据差别音书举行差别的操作。装备标识符是一个16位整数,它是该序次正在体系中的独一标识。初始化次确定虚拟装备驱动序次的装载纪律,最初装入初始化纪律值较幼的虚拟装备驱动序次。V86 API接口用于授与来自虚拟8086形式序次的移用。PM API接口传与来自16位维持形式序次的移用。

  虚拟机束缚器正在体系的运转形态爆发调换时向装备把握进程发送体系把握音书(System Control Message),以便虚拟装备驱动序次可能跟踪体系形态,举行须要的惩罚。发送音书的机遇蕴涵:体系初始化、体系退出、虚拟机形态调换、虚拟装备的驱动序次初始化等。一个装备把握进程的例子如下:

  与视频收集卡即插即用设备进程闭系的音书是PnP_New_DevNode。体系最初检测视频收集卡硬件存正在,然后凭据PCI接口板厂商和器件标识正在注册表中找到对应的虚拟装备驱动序次并装入内存,随后体系向该虚拟装备驱动序次发送PnP_New_DevNode音书。由于视频收集卡属于多媒体装备,装备驱动序次的装入应由MMDEVLDR.VXD落成,以是虚拟装备驱动序次正在惩罚PnP_New_DevNode音书时,移用 MMDEVLDR.VXD的办事MMDEVLDR_Register_Device_Driver注册了回调函数PnP_Config_Handler,体系凭据收集卡PCI设备空间为其分拨资源后将移用此回调函数。正在PnP_Config_Handler中可能利用 CM_Get_Alloc_Log_Conf办事得回体系为收集卡分拨的资源。惩罚体系把握音书PnP_New_DevNode的例程如下:

  正在回调函数PnP_Config_Handler中得回的资源蕴涵内存、I/O、终了和DMA四种。PCI总线视频收集卡首要利用内存和终了资源,它蕴涵一个内存窗口行为内存照射I/O和一个终了IRQ号。虚拟装备驱动序次行使利用_MapPhysToLonear办事将内存窗口物理地点照射到线性地点空间中,并利用_Allocate_GDT_Selector办事分拨内存抉择字,以便16位行使序次探访该内存区域。

  虚拟装备驱动序次为虚拟8086形式、16位及32位维持形式行使序次差别供给行使序次编程接口,使运转正在权限级3上的行使序次可能探访虚拟装备驱动序次。前两种接口正在装备声明时界说,行使序次通过终了移用INT28H AX=1648H得回虚拟装备驱动序次的入口地点。32位接口通过W32_DEVICEIOCONTROL体系新闻音书竣工,行使序次则利用体系API函数DeviceIoControl对虚拟装备驱动序次举行移用。

  当16位行使序次对入口地点发出远移用后,虚拟机束缚顺将行使序次的寄存器实质存在正在Client_Reg_Struc机闭中,并将指向该机闭的指针给与EBP寄存器,然后移用相应的虚拟装备驱动序次。虚拟装备驱动序次必需探访 Client_Reg_Struc机闭中的数据以得回行使序次的移用参数。平常使用AX寄存器传达效力号,使用其它寄存器传达参数,推行结果通过 Client_Reg_Struc机闭返回。16位维持形式行使序次利用抉择子偏移量地点模子,而虚拟装备驱动序次利用32位平板式地点模子,假若参数是以指针的形状传达给虚拟装备驱动序次,需求利用宏Client_Ptr_Flat举行转换。

  本收集卡中虚拟装备驱动序次供给的首要效力是:(1)使行使序次得回体系为收集卡分拨的资源,如内存照射、I/O地点和终了IRQ号,以便独霸收集卡;(2)供给相闭内存页表的新闻,以便举行DMA操作。16位行使序次接口的一面代码如下:

  32位行使序次接口的效力与16位接口极度雷同,只是将存储器照射I/O地点以32位线性地点的式样返回,以适宜32位平板形式的寻址哀求。别的32位接口不返回终了IRQ号,由于32位行使序次中不举行相闭终了的操作。

  可安设装备驱动序次骨子上是一个16位动态链接库,可能遵循平常的动态链接库策画技巧举行策画。它拥有人丁函数DriverProc,用于吸取体系发送的音书。

  视频收集卡可安设装备驱动序次采用Video For Window序次模子,它从各式各样的视频收集卡概括出一个团结的逻辑机闭,以便上层序次移用。上层序次首要是指由AVICap32.dll等体系动态链接库组成的视频收集引擎。视频收集引擎担当显示视频数据、分拨数据缓冲区、独霸体系调色板、存储AVI文献等职业,它们将行使序次的高级移用翻译成初级音书发送给可安设装备驱动序次。可安设装备驱动序次正在音书的把握下,落成视频数据的收集。Video For Window驱动序次逻辑机闭如图2所示。

  Video For Window驱动序次模子蕴涵视频源、帧存储器、显示装备、CPU和四个视频数据通道。帧存储器只拥有逻辑上意思,也许正在收集卡上或位于主机内存中或者根基上不存正在。它正在图2中只阐明处于该闰置的该当是依然解码完好的视频数据。四个视频数据逻辑通道的效力如下:

  External In代表视频信号由模仿向数字的转换进程,蕴涵采样量化、解码等职业。该通道担当视频信号的抉择(摄像机、录像机、调谐器等),视频信号造式抉择(NTSC、PAL、SECAM等),亮度、比较度、色调的调剂等职业。

  Video In 代表视频数据由帧存储器向体系缓冲区的传输进程。该通道担当视频图像数据的传输职业,如设定图像巨细、彩色体式,确定图像帧的同步依时等。

  External Out 代表视频数据向显示装备的直接传输进程。该通道担当视频图像的及时显示职业,如确定显示窗数据体式,举行显示窗口的剪裁等。

  Video Out 代表视频数据由体系缓冲区向帧存储器的反向传输进程。该通道担当视频数据的回放,拥有视频解压缩效力的歇集卡也许需求这种反向的传输,以便对压缩数据举行解码。

  一个最纯洁的视频收集驱动序次起码该当竣工External In和Video In两道数据流,也便是竣工视频信号的收集、解码和向主机内存的传输。大凡PCI总线视频收集卡还可能竣工External Out数据流,即竣工视频数据的及时显示。

  驱动序次将收集到的数据传送到上层序次时利用VIDEOHDR机闭,该机闭包蕴了数据缓冲区、数据长度、时光戳等新闻,界说如下:

  dwTimeCaptured 时光戳,从收集第一帧起以ms为单元记实,用于视频数据的同步,由驱动序次填写;

  dwFlage 记号,驱动序次该当填写VHDR_DONE以体现收集落成,假若此帧为要害帧还可能同时利用VHDR_KEYFRAME记号。

  缓冲区大凡由视频收集引擎分拨,并钭VIDEOHOR机闭指针以音书参数形状发送给驱动序次。驱动序次每收到一个DVM_FRAME音书便收集一帧图像,驱动序次从DVM_FRAME音书返回时将VIDEOHDR机闭返回给收集引擎。

  序列图像的收集比拟庞大,驱动序次与收集引擎间以缓冲区部队的形状举行数据交流,确保了不断的及时收集。收集引擎利用DVM_ADDBUFFER音书将空数据缓冲区无间地加到缓冲区部队的队尾。同时,驱动序次将空数据缓冲区从部队的队首取出,并举行视频收集。驱动序次将填充视频数据的缓冲区通过回调函数返回给收集引擎,由它举行显示、存盘等操作。增添缓冲区和取出缓冲区是两个相对独立的异步操作。收集引擎是缓冲区的坐褥者,它可能正在体系空闲时分拨若干个缓冲区并插足队尾。驱动序次是缓冲区的消费者,正在收集卡硬件终了的驱动下它无间取出空缓冲区,并将用过的缓冲区返还给收集引擎。通过利用缓冲区部队升高了体系的数据含糊才气,确保了收集的及时性。

  视频图像及时显示效力又称为Overlay,它将视频图像以窗口式样正在打算机屏幕上及时显示,显示的画面拥有优良的视觉结果,显示窗口与Windows95的图形拥有优良的视觉结果,显示窗标语 Windows95的图形界面配合默契。要竣工这些效力,最初收集卡必需拥有将数据直接传输至显示卡的硬件装备,由于及时显示数据传输量强壮,主机CPU 是不也许担任如许的职司的;其次哀求软硬件装备默契配合,以便允洽惩罚显示窗口的巨细、定位及剪裁。这可能借帮DirectDraw中的Overlay效力竣工。

  DirectDraw是一种软件接口程序,供给了对显示装备的直接探访。它将显示画面分成表面(Surface),每种表面拥有差别的属性,如尺寸巨细、彩色体式等。通盘屏幕对应的表面称为主表面,序次可能正在显存或内存中筑筑其它表面,并正在这些表面中绘造图形,然后通过某种操作这些表面的实质显示正在主表面上,这些操作是高效劳的,序次可能从中得回很高的功能。Overlay表面拥有额表的性子,它位于显存,而且可能掩盖显示正在主表面的任何地位。为了避免Overlay表面粉饰主表面中的某些要紧一面如菜单、对话框等,Overlay 表面还高有色键效力,只要主表面中的色彩值与色键值不异时,Overlay表面才掩盖主表面。

  当驱动序次的External Out通道收到DVM_STREAM_INIT音书时,开首视频及时显示。最初启动DirectDraw接口,创筑主表面和Overlay表面,并记实相闭Overlay表面的新闻,如尺寸、数据体式、内存地点等,同时为Overlay表面抉择一个色彩行为色键,大凡是洋赤色。然后凭据Overlay表面的新闻初始化硬件装备,使DMA装备将视频数据直接闭入Overlay表面所正在的显存中。当显示窗口搬动或调换巨细时,视频收集引擎会发送DVM_UPDATE音书报告驱动序次更新显示,驱动序次该当正在视频窗口中填充色键的色彩,并搬动Overlay表面使其与视频窗口对齐。由于可安设装备驱动序次是16位模块,而DirectDraw位于32位模块中,正在收集卡驱动序次中不行直接移用DirectDraw接口,蓄意需借帮Flat Thunk正在16位与32位模块间筑筑相干。

  本装备驱动序次向阳分辨使用PCI总线的带宽和Windows95体系资源,得回了较高的收集速度(384×288×24bits 25fps),竣工了及时视频显示。驱动序次功能不乱,兼容性优良,正在运转Windows95的586以上体系中可不乱运转,并可运转于Windows95上。

  TT Electronics 推出了首款可能正在紧凑空间内竣工最高浪涌维持功能的高能双面贴片电阻器

  德州仪器通过高度无误的监控和维持, 正在夹杂动力和电动汽车中竣工更高的体系牢靠性

  从给云供电到给以太网供电 – 安森美半导体将正在PCIM欧洲2019 涌现最新的革新

  苹果WWDC19硬件新品前瞻:全新Mac Pro和6K表接显示器要来?

  下一篇:Littelfuse推出低电容ESD维持TVS阵列SP3012-06UTG

上一篇:【E教室】IGBT浅析IGBT的构造与劳动道理

下一篇:没有了

热点文章

友情链接:

凯发AG

©CopyRight 2019, 凯发k8网, Inc.All Rights Reserved. [凯发AG - aksmc.net]