基于VW2010芯片的嵌入式多媒体监控系统压缩/解压卡设计 2
统host可直接通过主机接口对VW2010进行控制,MPEG数据流采用DMA方式传输。
(6)提供有与PHILIPS公司兼容的I2C总线,可方便地对外围芯片进行控制。
2.2基于VW2010的压缩/解压卡硬件设计
图2所示是用VW2010设计的压缩卡的原理框图。图中,CVBS信号先经过视频接收电路进行前端处理(包括阻抗匹配、限幅和钳位),然后通过视频解码电路产生符合VW2010视频接口标准的ITU656信号。视频解码电路的核心是一个视频解码芯片,该解码芯片用于对CVBS信号进行A/D转换和编码,以产生ITU656标准的并行数字电视信号。高档的视频解码器还支持图像尺寸缩放(scaling)和帧提取(decimating)功能,如PHILIPS公司的SAA7114、SAA7115以及Rockwell公司的BT829A等。由于VW2010的视频输入为ITU656/D1格式,所以只需要选择具有基本A/D转换和编码功能的视频解码芯片如SAA7113即可。
在模拟音频信号经过模拟音频接收电路进行前端处理后,便可通过音频ADC电路产生符合VW2010音频接口标准的I2S信号。
VW2010是压缩卡的核心处理芯片,该芯片除可完成音、视频信号的编码外,还可提供对解码器和ADC的控制(通过I2C总线),其编码产生的MPEG流可通过芯片内部集成的PCI接口输出。VW2010的解压操作是压缩操作的逆过程,基本原理类似,基于VW2010的解压卡原理框图如图3所示。
3Linux下VW2010设备驱动程序设计
3.1分层软件体系结构
按照操作系统的观点,系统软件体系结构应为表1所列的分层结构。驱动程序工作在核心态,并向下通过ChipAPI实现对VW2010芯片的直接控制,向上则为应用程序提供驱动程序接口(DriverAPI)。按照Rubini先生的观点,驱动程序提供的是机制,而不是策略。换句话说,驱动程序的主要任务是为应用提供全面、高效而可靠的服务,具体如何使用硬件则是应用需要解决的问题。
表1分层软件体系结构示意图
SoftwareModeApplicationUsermodeDriverAPIDriverKernelmodeChipAPIFirmwareHardWarelayer
考虑到Linux系统下的设备驱动程序开发技术已经相当成熟,笔者不打算详细介绍驱动程序的完整框架和各个模块,而是在分析VW2010芯片与host通信机制的基础上,着重讨论在驱动程序中如何实现对VW2010芯片的有效控制以及如何通过应用程序实现VW2010芯片间数据的有效传输。
3.2VW2010与host的通信机制
VW2010提供了三种与host通信的机制:直接访问内部寄存器、共享存储区(sharedmemory)和DMA。VW2010允许host直接访问其内部寄存器和外部存储单元,寄存器方式主要用于调试目的和下载固件程序;DMA方式则负责VW2010芯片和应用缓冲区之间的数据传输(如MPEG数据流);共享存储区机制是设备驱动程序和VW2010间的主要通信方式。
(1)共享存储区(sharedmemory)
VW2010采用共享存储区机制接收host的命令并返回命令执行结果。hos 《基于VW2010芯片的嵌入式多媒体监控系统压缩/解压卡设计 2(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/140354.html
(6)提供有与PHILIPS公司兼容的I2C总线,可方便地对外围芯片进行控制。
2.2基于VW2010的压缩/解压卡硬件设计
图2所示是用VW2010设计的压缩卡的原理框图。图中,CVBS信号先经过视频接收电路进行前端处理(包括阻抗匹配、限幅和钳位),然后通过视频解码电路产生符合VW2010视频接口标准的ITU656信号。视频解码电路的核心是一个视频解码芯片,该解码芯片用于对CVBS信号进行A/D转换和编码,以产生ITU656标准的并行数字电视信号。高档的视频解码器还支持图像尺寸缩放(scaling)和帧提取(decimating)功能,如PHILIPS公司的SAA7114、SAA7115以及Rockwell公司的BT829A等。由于VW2010的视频输入为ITU656/D1格式,所以只需要选择具有基本A/D转换和编码功能的视频解码芯片如SAA7113即可。
在模拟音频信号经过模拟音频接收电路进行前端处理后,便可通过音频ADC电路产生符合VW2010音频接口标准的I2S信号。
VW2010是压缩卡的核心处理芯片,该芯片除可完成音、视频信号的编码外,还可提供对解码器和ADC的控制(通过I2C总线),其编码产生的MPEG流可通过芯片内部集成的PCI接口输出。VW2010的解压操作是压缩操作的逆过程,基本原理类似,基于VW2010的解压卡原理框图如图3所示。
3Linux下VW2010设备驱动程序设计
3.1分层软件体系结构
按照操作系统的观点,系统软件体系结构应为表1所列的分层结构。驱动程序工作在核心态,并向下通过ChipAPI实现对VW2010芯片的直接控制,向上则为应用程序提供驱动程序接口(DriverAPI)。按照Rubini先生的观点,驱动程序提供的是机制,而不是策略。换句话说,驱动程序的主要任务是为应用提供全面、高效而可靠的服务,具体如何使用硬件则是应用需要解决的问题。
表1分层软件体系结构示意图
SoftwareModeApplicationUsermodeDriverAPIDriverKernelmodeChipAPIFirmwareHardWarelayer
考虑到Linux系统下的设备驱动程序开发技术已经相当成熟,笔者不打算详细介绍驱动程序的完整框架和各个模块,而是在分析VW2010芯片与host通信机制的基础上,着重讨论在驱动程序中如何实现对VW2010芯片的有效控制以及如何通过应用程序实现VW2010芯片间数据的有效传输。
3.2VW2010与host的通信机制
VW2010提供了三种与host通信的机制:直接访问内部寄存器、共享存储区(sharedmemory)和DMA。VW2010允许host直接访问其内部寄存器和外部存储单元,寄存器方式主要用于调试目的和下载固件程序;DMA方式则负责VW2010芯片和应用缓冲区之间的数据传输(如MPEG数据流);共享存储区机制是设备驱动程序和VW2010间的主要通信方式。
(1)共享存储区(sharedmemory)
VW2010采用共享存储区机制接收host的命令并返回命令执行结果。hos 《基于VW2010芯片的嵌入式多媒体监控系统压缩/解压卡设计 2(第2页)》