保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

基于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所示。

3 Linux下VW2010设备驱动程序设计

3.1 分层软件体系结构

按照操作系统的观点,系统软件体系结构应为表1所列的分层结构。驱动程序工作在核心态,并向下通过Chip API实现对VW2010芯片的直接控制,向上则为应用程序提供驱动程序接口(Driver API)。按照Rubini先生的观点,驱动程序提供的是机制,而不是策略。换句话说,驱动程序的主要任务是为应用提供全面、高效而可靠的服务,具体如何使用硬件则是应用需要解决的问题。

表1 分层软件体系结构示意图

Software Mode Application User mode Driver API Driver Kernel mode Chip API Firmware HardWare layer

考虑到Linux系统下的设备驱动程序开发技术已经相当成熟,笔者不打算详细介绍驱动程序的完整框架和各个模块,而是在分析VW2010芯片与host通信机制的基础上,着重讨论在驱动程序中如何实现对VW2010芯片的有效控制以及如何通过应用程序实现VW2010芯片间数据的有效传输。

3.2 VW2010与host的通信机制

VW2010提供了三种与host通信的机制:直接访问内部寄存器、共享存储区(shared memory)和DMA。VW2010允许host直接访问其内部寄存器和外部存储单元,寄存器方式主要用于调试目的和下载固件程序;DMA方式则负责VW2010芯片和应用缓冲区之间的数据传输(如MPEG数据流);共享存储区机制是设备驱动程序和VW2010间的主要通信方式。

(1) 共享存储区(shared memory)

VW2010采用共享存储区机制接收host的命令并返回命令执行结果。host与VW2010进行通信的共享存储区(以下简称SM_PC2VW)位于encoder SDRAM中地址3F1800处,共128字节;而VW2010与host进行通信的共享存储区(以下简称SM_ VW2PC)则位于encoder SDRAM中的地址3F1880处,也是128字节。

SM_PC2VW的格式如表2所列。表中,CMD为命令码,分别为:读数据(CMD=1)、发IOCTL码(CMD=2)、写数据(CMD=3)、打开命令(CMD=4)和关闭命令(CMD=5);IntFlag为中断标识,IntFlag为1时,VW2010执行完CMD定义的任务后将产生一个中断,为0则不产生中断;Device Handle由打开命令从firmware中获得,当CMD不同时,Parameters有不同的含义。

表2 host到VW2010的共享内存区格式

Address 31:16 15:8 7:0 3F1800 Reserved IntFlag CMD 3F1804 Reserved Reserved Reserved 3F1808 Reserved 3F180C Devic

《基于VW2010芯片的嵌入式多媒体监控系统压缩/解压卡设计(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/140583.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。