4 高速数据传输机制的设计
整个系统的软件主要由两部分组成。一是设备驱动程序,主要负责硬件板卡和计算机之间的交互;二是上层应用程序,用于实现系统的功能。由于多路监控系统的数据传输量非常大,因此设计一个高效的驱动程序以实现高速数据传输对整个系统的性能具有重要的影响。
4.1 驱动程序的设计
本系统的设备驱动程序采用了Windows 2000下的Windows Driver Model(WDM)驱动程序。在Windows2000中,系统有两种命名设备的方法:一种是使用符号连接名,但它的安全陛不是很好[4];另一种是利用具有唯一性的GUID号表示设备接口。上层应用程序可以通过上面两种方法获得有效的设备句柄,并利用这个设备句柄实现对设备驱动程序的访问。当上层应用程序调用WIN32AHI函数后,将由Win32子系统调用I/O服务接口,并传送给内核模式下的I/O系统服务模块。接着,I/0管理器将检查这个请求的参数,然后创建一个合适的I/O请求包(1RP)。这个IRP经过分层驱动程序的处理传送给一个合适的设备驱动程序,并由这个程序通过硬件抽象层对硬件进行操作,完成这个IRP请求。最后,I/O管理器把结果和数据还回给应用程序[3]。
在本系统的Windows2000的WDM驱动程序中,除了基本的功能模块[3](如PNP模块、Dispatch模块、Power模块等)外,可以把其余部分大概分为板卡初始化模块、参数设置模块、中断服务模块和DMA传输模块等。
为了能够使PCI总线控制模块实时地从压缩编码模块中读取压缩码流,并及时地传送给计算机,本系统采用了中断机制。当压缩编码模块多路MPEG-4监控系统的设计与实现多路MPEG-4监控系统的设计与实现-技术文章电子技术信息港


