新闻中心

EEPW首页>嵌入式系统>设计应用> 基于PCI总线的MPEG-1压缩卡软硬件设计及实现

基于PCI总线的MPEG-1压缩卡软硬件设计及实现

作者: 时间:2012-04-14 来源:网络 收藏

  2.5 PCI接口部分设计

  本系统中PCI接口芯片选用SAA7146A,该芯片并不是通用的PCI接口芯片,而是一个多媒体桥(Multimedia Bridge)。方框图如图2。该芯片符合PCI2.1规范。它有八个DMA通道,三个视频,四个音频,一个DEBI(Data Expansion Bus Interface)。还具有两路视频通道,可对视频数据进行缩放,一路可无级缩放HPS(High Performace Scaler,其纵向可达1:1024、横向可达1:256;另一路有级缩放BRS(Binary Ratio Scaler支持CIF和QCIF格式。

  音频接口以I2S为基础,通过编程控制以支持MSB-FIRST的不同格式及不同的时序格式。

  本系统中该部分主要实现功能如下:

  (1)通过DEBI接收SZ1510产生的数据,传输到内存;

  (2)通过视频接口,接收SAA7114输出的视频解码信号,并进行亮度、色度、饱和度的控制,并实现无级缩放功能实现视频预览功能;

  (3)通过音频接口,接收PCM1800E输出的PCM编码信号,传输到内存,实现声音监听功能;

  (4)提供符合PCI2.1规范的接口,将板上数据传输到主机内存。

  3 软件设计

  软件设计主要包括驱动程序设计和应用层的API设计。

  驱动程序主要负责与硬件打交道,应用层API主要负责与驱动程序接口。由于设计了应用层的API,应用程序可很容易在上面进行开发。

  3.1 驱动程序设计

  为了支持Windows2000和Windows98采用WDMWindows Driver Model 驱动程序。WDM 作为微软的最新驱动程序模型与传统的Win3.x和Win95使用的VxD驱动完全不同。WDM可支持电源管理、自动配置和热插拔等。WDM驱动的设计可以采用Driver StudioDS、Windriver、DDKDriver Device Kit等。本系统驱动采用Windows 2000 DDK借助VC6.0设计。

  3.1.1 MPEG-I压缩部分

  在驱动中,重置SZ1510后,就可以装载相应工作模式的微码;根据需要,设置好相应寄存值后就可以启动SZ1510对视频数据进行编码。每当产生的压缩数据超过SZ1510内部的FIFO门限后,SZ1510产生相应中断,内核调用中断例程,在中断例程中调用中断延迟例程DPC,在中断延迟例程中接收产生的压缩数据。SZ1510提供两种方式提取数据,一种用I2C总线接口方式,另一种用DEBI方式。

  在本系统中,采用DEBI进行压缩数据的传输。考虑到压缩数据产生的速度,本系统开了32页大小的缓冲区,在中断延迟例程中填充该缓冲区。每当填满8页大小后,产生一个事件通知应用层进行数据读取。通过这种方式,可以避免压缩数据的丢失。

  其流程图如图3所示。

  在驱动中,压缩数据的提取方式将极大地影响生成MPEG文件的质量。如果处理不当,将导致马赛克、跳帧等现象。

  3.1.2 驱动程序中用户缓冲区的访问

  驱动程序访问用户内存主要通过缓冲I/O和直接I/O。缓冲I/OI/O管理器创建一个内核模式拷贝缓冲区,并把用户缓冲区的内容拷贝到该缓冲区中,并在IRP首部的AssociateIrp.SystemBuffer域中存储该非分页内存地址。驱动程序可简单地读写该块内存。直接I/O,I/O管理器为输入数据提供一个内核模式拷贝缓冲区,对输出数据提供一个内存描述符(MDL)。为了使用缓冲I/O或直接I/O在创建设备时,必须设置设备对象的Flags域中的DO_BUFFERED_IO标志位来使用缓冲I/O或设置DO_DIRECT_IO标志位来使用直接I/O。

  在本驱动中由于缓冲I/O和直接I/O都被使用,DO_BUFFERED_IO标志位和DO_DIRECT_IO标志位都被设置。

  在定义IOCTL码中,对缓冲I/O使用METHOD_BUFFEERED对直接I/O使用METHOD_OUT_DIRECT。

  3.2 应用层API设计

  应用层对驱动程序的访问通过调用Win32 I/O函数(如ReadFile、WriteFile和DeviceIoControl)访问。当应用层调用Win32 I/O函数以请求I/O后,该请求由内核的I/O系统服务接收,I/O管理器对该请求构造合适的IRP包,并将其传给驱动程序栈,IRP在栈中进行传递,传到驱动程序进行处理,并将结果返回给应用程序。

  通过应用层API,在其上面可进一步开发各类应用程序。

  本系统达到了预期的要求,能够在音视频采集过程中对视频、音频进行实时预览、监听。压缩生成的文件可在标准媒体播放器上播放,并可对生成的VCD文件进行刻录,然后由VCD机播放.


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭