当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于VW2010的视频压缩存储系统的软硬件设计

0 引言

MPEG-4 (ISO/IEC 14496)是基于第二代压缩编码技术制定的国际标准,该标准具有高压缩比、可扩展性和可交互性等优点。在MPEG-4应用方面,由于它能以较少的带宽传输高质量的画面,并可将多种多媒体通信加以综合,所以有着很好的应用前景。为此,本文针对实际需求,提出了采用VW2010编解码芯片为核心的嵌人式MPEG-4音视频压缩存储系统的设计方案,详尽介绍了系统的设计原理,给出了VW2010芯片的HOST引导模式程序设计方法。

1系统硬件设计

1.1 VW2010的主要特点

VW2010是VWEB公司开发的实时MPEG-4音视频压缩/解压芯片(CODEC)。该芯片具有以下主要特点:

◇片内集成有3个信号处理/控制单元,其中包括一个视频编码(压缩)器、一个视频解码(解压)器和一个片内CPU(内部扩展了一个音频编码DSP、一个音频解码DSP、一个多路复合单元和一个多路解复合单元);

◇具有可编程、高性能和低功耗特点,芯片内的每个信号处理/控制单元都由一个RISC处理器和专用的硬件加速器构成,此外,片内视频编解码器中还集成了一个专用的SDRAM;

◇在系统上电/复位时,视频编解码器的固件程序可由外部主机(host)载人各自专用的SDRAM,而片内CPU的固件程序则可载人VW2010外挂的SDRAM;

◇芯片的主机接口采用标准PCI接口,符合PCI局部总线规范2.2;

◇为了使编解码性能达到最佳,VW2010内部集成有一个双通道DMAC,系统host可直接通过主机接口对VW2010进行控制,MPEG数据流则采用DMA方式传输。

◇提供有与PHILIPS公司兼容的I2C总线,可方便地对外围芯片进行控制。

1.2基于VW2010的压缩存储卡硬件设计

本系统集成了2块VW2010芯片,可以同时对2路音视频流进行编码,并可与IDE硬盘进行无缝连接。具体的系统硬件框图如图1所示。

 

图1中,复合视频信号先经过视频接收电路进行前端处理(包括阻抗匹配、限幅和钳位),然后通过视频解码电路产生符合VW2010视频接口标准的ITU656信号。视频解码电路的核心是一个视频解码芯片,该芯片可对视频信号进行A/D转换和编码,以产生ITU656标准的并行数字电视信号。本文选取SAA7113作为视频解码芯片。

模拟音频信号经过模拟音频接收电路进行前端处理后,通过音频ADC电路产生符合VW2010音频接口标准的I2S信号。

VW2010是压缩卡的核心处理芯片,该芯片除可完成音、视频信号的编码外,还可提供对解码器和ADC的控制(通过I℃总线),其编码产生的MPEG流可通过芯片内部集成的HOST接口和CDO接口输出。VW2010必须在微码和固件代码下工作,VW2010提供有从ROM引导、从ICI引导、从主机(Host)引导三种引导方式。本文使用的方案是从主机(Host)引导。该方式不同于一般市面上的产品所采用的ROM引导模式。它只进行编码,设计时可通过设置相关的寄存器来将微代码下载到编码SDRAM中。

系统中的FPGA用来进行总线扩展和数据缓存。它一方面可通过HOST-intel总线接口与2片VW2010芯片连接,以用来下载固件代码和VW2010的参数配置,同时通过CDO接口接收VW2010的编码视频流并进行缓存;另一方面,FPGA也可通过IDE接口和硬盘进行连接,以用来进行编码数据的存储。

DSP是本系统的核心控制芯片,可配合FPGA模拟HOST-intel总线接口和IDE接口,从而控制VW2010固件代码的下载和硬盘的读写,同时建立FAT32格式的文件目录系统。本设计中的DSP芯片选用TI公司的TMS320VC5416。

2系统软件设计

本系统的软件主要分为3大模块:VW2010控制模块、硬盘控制模块和数据传输模块。VW2010控制模块主要用于下载固件代码和配置参数,是启动VW2010正常工作的基础,因此也是程序设计的核心模块。本文将着重讨论如何通过HOST-intel总线接口控制VW2010芯片,以进行固件代码的下载和参数的配置。

2.1 固件代码的下载

VW2010需要在固件的支持下工作。固件主要有2部分,一是boot.sre,二是pscodec.sre(PS流)或tscodec.sre(TS流)。HOST接口通过访问相关的寄存器和编码SDRAM来下载固件。对寄存器和SDRAM的访问在有关文献中已有详细讨论,在此不再赘述。具体的固件下载流程如下:

(1)设置寄存器REG_DHIU3,使VW2010处于固件下载状态;

(2)设置寄存器REG_DHIU6,设置VW2010处于VW2005工作模式,并使VW2010的系统时钟为162 MHz;因为本系统只进行编码压缩,所以应设置寄存器REG_DHIU6,使VW2010处于VW2005工作模式,这样,VW2010就会自动分配编码SDRAM的地址,以用于存放固件代码。

(3)设置编码软件寄存器;

(4)设置解码软件寄存器;

(5)通过向0x3F1800地址发送0x0,清除FirmwareReadyCode;

(6)下载boot.sre和pscodec.sre或tscodec.sre;此处要把sre文件中的数据部分按顺序写入编码SDRAM中的相应地址处。

(7)设置REG_DHIU3来启动VW2010;

(8)通过读取SDRAM中的FirmwareReadyCode区来确认固件已经下载并准备好;Firmwar-eReadyCode是编码SDRAM的0x3F1800地址中内容的高16位,如果读到0x0A00,则说明固件已经下载成功。

2.2参数配置

因为固件代码所对应的参数设置是某种模式的默认值,所以要通过参数配置来调整某些参数以适合自己的电路设计。参数配置可通过发IOCTL码进行。VW2010采用共享存储区机制来接收HOST命令并返回命令执行结果。HOST与VW2010进行通信的共享存储区位于编码SDRAM中地址3F1800处,共128字节;而VW2010与HOST进行通信的共享存储区则位于编码SDRAM中的地址3F1880处,也是128字节。共享存储区的格式如表1和2所列。

在发送IOCTL命令前,必须首先发送OPEN命令。OPEN命令可用来打开设备以获得"devicehandle"和辅助参数区的首地址等参数。

要发送的IOCLT命令全部发送完以后,还必须发送CLOSE命令来释放"device handle"。

所有的IOCTL命令都是在OPEN命令和CLOSE命令之间发送的,VW2010提供的IOCTL码共32位宽,由3部分组成。第一部分是固件类型,可形成IOCTL码的高8位;第二部分是操作类型(分为读和写),可作为IOCTL码的[23..16]位;第三部分是要发送的IOCTL命令。其参数配置流程如图2所示。发送IOCTL命令的详细过程如下:

(1)读共享存储区的0x3F1884至0x3F1894中的内容,并在0x3F1888处存放返回码,0x3F188C存放返回的"handle",0x3F1890处存放辅助参数区地址。如果返回码的数值是0,则说明无错,这时,DSP将存储这些返回的参数以备后用;

(2)读REG_INT1,如果REG_INT1=0x01,则表示设备已准备好接受IOCTL命令;如果设备准备好,则继续下一步;否则,重复检查Firmwar-eReadyCode和REG_INT1,直到设备准备好;

(3)写IOCTL命令码到共享存储区0x3F1800地址的CMD区,并写中断指示码到共享存储区0x3F1800地址的Int Flag区(0=关中断,1=开中断)。然后把从第一步中OPEN命令返回的"de-vice handle"写到0x3F180C处,再把从第一步中OPEN命令返回的辅助参数区的地址"x"写到0x3F1810处;

(4)把要发送的IOCTL码参数个数写到辅助参数区的"x"地址处,把要发送的IOCTL码写到辅助参数区的"x+4"地址处,再把要发送的IOCTL码参数写到辅助参数区的"x+8"地址处;

(5)给寄存器REG_DHIU5写0x0,以发送一个中断给VW2010。在处理IOCTL命令前,芯片会锁定semaphore寄存器(REG_INT1=0x0),处理完IOCTL命令后,芯片则会释放semaphore寄存器(REG_INT1=0x01);

(6)处理中断。

3 结束语

本文在介绍VW2010内部结构的背景下,提出了采用DSP作为外部主机的方法。该方法没有采用VW2010的SDK中所采用的利用PC作为主机的压缩编码系统设计方案。文章从系统的工作原理及流程到系统软硬件的设计,特别是VW2010固件代码的下载和参数的配置,都进行了详细的阐述。测试结果表明,该设计方案简单可行,可以在低比特率的条件下完成良好的图象压缩编码和存储。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

如今汽车正逐渐成为“车轮上的数据中心”,而先进功能和计算架构的创新也使得这一称号愈加贴切。例如,智能汽车是目前最复杂的由软件驱动的机器,运行约一亿行代码,随着 AI 在汽车中的兴起,这一数字预计很快将攀升至 10 亿行。...

关键字: SSD 智能汽车 存储系统

北京2023年8月16日 /美通社/ -- 近日,在备受业界关注的OCP China Day 2023(开放计算中国技术峰会)上,面对多元算力平台运维管理方面的重重挑战,浪潮信息正式发布了基于OpenBMC的I...

关键字: 固件 PEN 开源 芯片

北京2023年8月8日 /美通社/ -- 冬瓜哥上次学习AI和ML,还是在2019年初。当时其实是卷积神经网络和深度神经网络蓬勃发展期,其主要目的是分类识别。当时冬瓜哥还做了一个4小时的视频,那真是我见过的最小白的白也能...

关键字: 模型 存储系统 生成式AI 人工智能

北京2023年8月7日 /美通社/ -- "多元算力时代下,大规模的异构服务器设备面临多种处理器架构、多种设备协议、不同管理芯片兼容的系统化设计挑战,管理固件也迎来新的变革。开源开放的OpenBMC,以创新的分...

关键字: 开源 PEN 固件 数据中心

3月27日消息,国际数据压缩领域顶级会议Data Compression Conference(以下简称DCC)于日前在美国犹他州召开,本次会议阿里巴巴达摩院共有4篇视频压缩方向的论文被录用,展现了中国科技公司在国际视频...

关键字: 视频编码 视频压缩

北京2023年1月9日 /美通社/ -- 近日,Gartner发布2022三季度全球存储市场报告。报告显示,全球存储市场实现稳健增长,全球销售额5590.7M$,同比增长5.5%;装机容量14172PB,同比增...

关键字: SSD IO 分布式 存储系统

北京2022年12月13日 /美通社/ -- 存储系统是由控制器、背板、结构件、硬盘、内存等部件构成的多个子系统组成,其中任何单一元器件故障都可能导致存储系统出现问题。因此,系统可靠运行的基础,离不开元器件、部件以及整个...

关键字: 数据存储 系统级 元器件 存储系统

北京2022年8月30日 /美通社/ -- 数据已经成为继土地、劳动力、资本和技术之后的第五大生产要素,是当代经济社会发展的基础资源。存储作为数据载体设备发挥着重要作用,既要满足当前全球数据量高速增长需求,又要...

关键字: 数据存储 存储系统 供电 电池

北京2022年7月29日 /美通社/ -- 大海里,鱼类可以毫不费力地做到兼具速度与优雅于一身,最快游速达每小时 70 英里,而人类甚至难以达到每小时 4 英里,即便潜艇也只能达到每小时 50 英里。鱼类为何能获得如此快...

关键字: 存储系统 数据中心 SSD 闪存盘

北京2022年5月17日 /美通社/ -- 近日,美国专业存储媒体Storage Newsletter发表了关于浪潮新一代SSD高速存储介质的文章。文章提到,浪潮SSD新品基于NAND算法创新将闪存寿命提升40%,通过P...

关键字: SSD NAND IO 存储系统
关闭
关闭