针对消费类及中、高端视频监控应用,本文阐述了一种DVR设计的硬件实现方案及与主要软件的接口。该设计利用嵌入式x86CPU实现系统控制以及利用专用芯片实现了MPEG-1、-2、-4的音视频编解码,适合于中低端DVR的开发。
传统的模拟录像技术与数字录像技术相比,使用视频磁带录制方式的模拟系统图像质量更差,而且反复使用会进一步降低其图像质量,而且它的存储容量也更小。目前,虽然有几家公司推出了数字视频录像机(DVR),但是主要面向高端用户,市场售价过高很难形成突破,而DVR产品的真正成熟也需5年左右的时间。本文介绍的DVR设计方案以VW2010及SNX601为核心,具有系统结构简单、成本低廉、接口丰富等特点,并能加速系统的开发。
该嵌入式解决方案在消费类产品及中、高端视频监控领域具有较广阔的应用前景。
系统的组成
该系统硬件设计如图1所示。系统中虚线框部分为可替换或精简的部分。该DVR系统硬件的核心是:VW2010 MPEG编解码ASIC芯片及SNX 601嵌入式x86 CPU。
其中,VW2010是实时MPEG-1、-2和-4音视频系统编解码芯片(同时压缩、解压或编码、解码),完全兼容ISO/IEC-11172-2、ISO/IEC-13818-2、ISO/IEC-14496-2和ITU-T H.263(基线)。视频编码部分接收未压缩的.656数字视频信号。它将输入和压缩的视频转换为MPEG-1、-2、-4或H.263格式。音频编码部分接收双通道分立的I2S数字音频格式数据并具有输入滤波功能。它可将每路音频转换为MPEG-1、MPEG-2、MP3、AAC或AC-3音频格式。VW2010为网络应用输出传输流或为存储应用输出节目流。视频解码部分接收MPEG位流并输出.656数字视频。音频解码器接收MPEG-1、MPEG-2、MP3、AAC或AC-3位流并输出I2S、S/P-DIF或IEC-61937压缩音频。VW2010是该DVR系统中完成音视频编解码的主芯片。
SNX 601是一款x86架构的嵌入式CPU。它具有接口丰富、功耗低、速度快等优点。SNX601采用Pentium+兼容的CPU内核。它具有64位SDRAM控制器、PCI2.2兼容主从控制器、USB主机控制器(OCHI)、10/100以太网MAC和Ultra DMA66 IDE控制器等,充分满足DVR系统对VW2010以及外围接口电路控制的要求。SNX601通过PCI总线对VW2010进行初始化、控制及压缩音视频数据的交互。
对于音视频信号的编解码过程,系统的工作原理为:模拟音视频信号通过相应的音视频A/D转换器转换为未经压缩的数字音视频信号并输入到VW2010中。VW2010根据系统的配置将该音视频信号压缩编码为MPEG-1、-2或-4格式的音视频数据。主CPU SNX601通过PCI总线将压缩编码后的音视频数据以文件的形式存入IDE接口的硬盘或CDROW-R/W中(需操作系统的支持)。同时,在VW2010内部可将编码后的音视频数据直接解码输出到相应的D/A转换器中,完成对用户的实时播放。对于保存的MPEG格式的文件不但能够通过VW2010完成相应的解码播放,还可以通过主CPU的以太网接口、USB接口等完成对文件的外部交换。
VW2010编解码部分的外围电路较简单,只需连接进行编解码数据缓冲的SDRAM芯片及相应的音视频A/D、D/A芯片。
系统的BIOS、操作系统及应用程序全部存储于4MB的闪存芯片中,完成系统的软件固化。系统的操作系统及应用程序的运行在系统SDRAM中。
DVR的人机交互通过前面板的按键和红外遥控完成。整体前面板与主CPU通过UART接口完成交互。如果需对该系统扩展PC接口的功能,只需在SNX601的X-Bus上连接SuperIO芯片。由于VW2010及SNX601对电源的种类要求较少,系统电源部分可以通过少量LDO完成。
系统硬件特点
该系统硬件的特点是系统结构简单、交互性能强、数据压缩格式有多种选择。该系统的核心芯片只有两片,并能通过标准的PCI总线完成交互控制。利用嵌入式CPU的丰富接口不但节省了传统的IDE控制接口芯片、以太网MAC及USB接口芯片,还减少了电路尺寸及布线工作量。VW2010外围的A/D、D/A等芯片可以通过SNX601的串行I2C接口,方便地完成相应的初始化和制式转换。整个系统对电源种类要求很低,减少了对电源部分的设计压力和成本。SNX601的两个IDE接口相比在一个IDE接口上挂接多个IDE设备来说提高了速度。压缩完成的文件不但可以通过以太网接口进行网络传播,还可以通过目前流行的USB移动硬盘完成数据的交流。
VW2010不但可以产生MPEG-2格式的数据码流,而且可以产生MPEG-4格式的数据码流。它可以对压缩数据的码率可在128Kbps到6Mbps之间可调,以适应各种用户的需要。低码率的文件适合网络传播并节省存储空间,而高码率的文件具有最佳的音视觉播放效果。而且,VW2010可以单独编码音频数据并能实现MP3的功能特性。
硬件电路设计
由于电路的复杂性,且采用了高速数字电路,加上对电磁兼容(EMC)的设计要求,设计硬件电路时需考虑以下几点:
1.对于4MB的闪存芯片寻址,需要通过CPLD作窗口访问逻辑实现;
2.对于处理PCI及SDRAM等控制接口的时钟线时,要尽量使各线的长度及阻抗匹配,并要求对电路中的高速时钟线进行覆铜屏蔽;
3.采用六层电路板,可以降低回路噪声,提高电路的稳定性;
4.对于视频的A/D芯片而言,应尽量做到模拟地与数字地隔离。避免数字电路对模拟电路产生干扰,提高采样的精度;
5.对于高速的数据总线应尽量添加排阻,以达到阻抗匹配的目的。并应尽量减少走线长度,减小电路中电流的环路面积;
6.对于SNX601 CPU而言不但在芯片下方的电路板顶层要覆铜,而且在芯片下方的电路板底层也要覆铜,且用过孔连接,以利于CPU的散热并可避免添加风扇。如图2所示。
7.对于USB等接口电路需添加相应的保护电路,以免外部噪声干扰。
系统软件接口
该DVR系统硬件主要与以下几部分的软件需进行接口:
1.系统BIOS,主要负责SNX601 CPU的初始化,以及系统硬件的自检和对操作系统软中断的支持。
2.操作系统,可以选用支持x86 CPU的操作系统。以Linux操作系统最为经济,效果也不错。操作系统要有支持VW2010的驱动程序,并能对各部分外设进行识别与响应。
3.对于应用程序而言,主要对于遥控部分电路通信协议要支持。可以利用标准的或自定义的遥控编解码格式。
4.VW2010初试化微码,VW2010内部的处理单元为MIPS结构的处理器,所以需要相应的微码(MIPS程序)进行初始化。对于不同的MPEG编解码方式及码率可调的情况需要下载不同的微码。SNX601可以通过PCI总线将微码由外部存储器下载进VW2010。对于不需调整的编解码方式,可以将相应的微码固化到ROM中。VW2010支持特殊的ROM上电读取的方式,将微码自动的读取到芯片中完成VW2010的初始化过程。
作者:房汝明
硬件研发工程师
北京华通为尔广视科技有限公司