以PowerPC处理器+专用音视频编解码芯片为核心的基础平台可用于实现中高端嵌入式数字视频录像机(DVR)设计,而采用现成的编解码卡可降低开发门槛。本文从嵌入式操作系统、主芯片选择、系统组成、硬件设计和现成编解码卡的软件开发工具包等各个方面为DVR开发提出了很好的建议。
近几年来,DVR在安防监控领域应用越来越广泛,传统的模拟录像技术已经逐渐被数字录像技术取代,后者可以达到更好的图像质量和提供更大的存储容量。目前DVR已广泛应用到金融、文博、酒店、交通、商业、医院、工厂、学校、楼宇、小区物业管理等各个领域。从发展趋势来看,多媒体监控系统的应用领域还在不断扩展。
目前,已经有一些公司推出了基于X86的DVR,但是功耗、成本、体积、稳定性方面还是有所欠缺。华恒科技目前提供基于PowerPC的嵌入式Linux开发平台可以满足这方面应用,本文所阐述的便是以PowerPC处理器和专用音视频编解码芯片为核心开发的嵌入式DVR产品设计。该设计利用嵌入式PowerPC CPU实现系统控制、存储、传输等,以及利用专用芯片实现MPEG-1、-2、-4的音视频编解码,适合于中高端DVR的开发。
嵌入式操作系统
嵌入式操作系统是PowerPC CPU重要的软件基础。和Windows不一样,Linux在市场上有多种发行版本,所有发行版本都包含相同的Linux内核、基本工具和应用,不同的发行版本主要是在附加的工具链、应用、配置以及各种内核补丁上有所不同。嵌入式Linux主要是在实时性增强、内核精简和裁减、支持多种CPU结构(如PowerPC CPU)等方面做了改进和提高。尤其因为Linux对于网络的良好支持,很多服务器、网络设备现在都基于Linux操作系统来开发。
目前在PowerPC处理器上运行的ppcLinux操作系统是带MMU的Linux操作系统,专门针对PowerPC处理器作了裁减和优化。我们使用的是官方发布的开源免费的版本,开发商无需考虑授权及付费方面的问题。
基于ppcLinux开发,软件可以基于C语言编写,同时也支持C++、Java等,使用针对PowerPC的GNU GCC编译工具编译,和在普通Linux操作系统上开发非常接近。并且在普通Linux操作系统上开发的软件也大多能够方便地移植过来。在开发外设接口驱动方面,ppcLinux支持内核加载以及动态insmod加载的方式,为开发者扩展接口、外设功能提供了极大的便利。
嵌入式处理器
MPC82xx是Freescale Power QUICC II系列的32位嵌入式处理器。该系列处理器面向网络基础设施、存储设备及电信产品中需要SoC集成与PCI连接的系统的应用需求,提供了一种基于PowerPC架构的性价比较高的方案。其主要应用包括:DVR系统;路由器/交换机;嵌入式计算;网络存储;远程集线器;RAID系统的磁盘控制系统;LAN到WAN网桥/路由器;xDSL系统等。
MPC8250是PowerQUICC II系列目前的为电信和网络市场而设计的集成通信微处理器。与MPC860相似,MPC8250也有两个主要的组成部分:嵌入的PowerPC内核和通信处理模块(CPM)。由于CPM分担了嵌入式PowerPC核的外围工作任务,这种双处理器体系结构功耗要低于传统的体系结构的处理器。CPM同时支持3个快速的串行通信控制器(FCC)、1个多通道控制器(MCC)、4个串行通信控制器(SCC)、2个串行管理控制器(SMC)、1个串行外围接口(SPI)和一个I2C接口。
MPC8250 1.5W的低功耗,-40°C至105°C的工作温度范围,是该款多功能和高性能芯片的另外两个良好特性。华恒将该款芯片同华恒嵌入式Linux v3.0操作系统整合的HHPPC8250-3FEC-PCI-R1型开发套件为用户在网络和通信产品的开发方面提供巨大的开发潜力,并帮助客户缩短开发周期,加速产品的上市。
目前华恒科技推出的基于MPC8250的开发平台:可以支持标准PCI接口PCI-IDE阵列卡、视频卡、USB接口卡、WLAN无线网卡、MiniPCI接口的WLAN无线网卡等等,开发商可以基于基本开发平台自由扩展、集成各种不同的应用。该系列处理器中可供选择的还有MPC8241/8245、MPC8260等。
编解码芯片选择
原始的视频数据量很大,需要占用非常高的带宽。如果需要进行长时间的录像、存储,必须在保证在一定图像质量的前提下通过压缩技术尽量降低视频资料的码率,减少需要存储的数据量,以满足更长时间的存储要求和减少成本,同时也可以更好的满足网络监控的要求。目前在网络监控、视频点播等产品应用中,MPEG-4格式的视频压缩算法较为流行,其码率一般在数百Kbps到1Mbps左右。
视频压缩算法的效率决定了监控产品的图像质量和应用前景。要实现成熟的编解码算法,需要投入大量的研发资源,而采用相应的编解码ASIC芯片则可以避免软件算法方面的投入。
VW2010是实时MPEG-1、-2和-4音视频系统编解码芯片(同时压缩、解压或编码、解码),完全兼容ISO/IEC-11172-2、ISO/IEC-13818-2、ISO/IEC-14496-2和ITU-T H.263(基线)。视频编码部分接收未压缩的ITU-R.BT.656数字视频信号。它将输入和压缩的视频转换为MPEG-1、-2、-4或H.263格式。
其音频编码部分接收双通道分立的I2S数字音频格式数据并具有输入滤波功能,它可将每路音频转换为MPEG-1、MPEG-2、MP3、AAC或AC-3音频格式。VW2010为网络应用输出传输流或为存储应用输出节目流。视频解码部分接收MPEG位流并输出ITU-R.BT.656数字视频。音频解码器接收MPEG-1、MPEG-2、MP3、AAC或AC-3位流并输出I2S、S/P-DIF或IEC-61937压缩音频。VW2010是该DVR系统中完成音视频编解码的主芯片。
VW2010不但可以产生MPEG-2格式的数据码流,而且可以产生MPEG-4格式的数据码流。它对压缩数据的码率可在128Kbps到6Mbps之间可调,以适应各种用户的需要。低码率的文件适合网络传播并节省存储空间,而高码率的文件具有的声、视觉播放效果。而且,VW2010可以单独编码音频数据并能实现MP3的功能特性。
下面列出一些目前在DVR产品中应用较为广泛的音视频编解码芯片方案: ASIC:IME6400、Vweb2010、Wis7007; DSP:Blackfin 532加多媒体PCI Bridge SAA7146、PNX1302加画面分割芯片AQ424;高端:PNX1501、DM642。
应用系统组成及特点
该系统的核心芯片只有两片(VW2010及MPC8250),并能通过标准的PCI总线完成交互控制。嵌入式CPU MPC8250集成度高,不但节省了传统的PCI桥芯片、以太网MAC,还减少了外围电路设计的难度和工作量。VW2010外围的A/D、D/A等芯片可以通过MPC8250的串行I2C接口,方便地完成相应的初始化和制式转换。整个系统对电源种类要求很低,减少了对电源部分的设计压力和成本。由于采用嵌入式Linux操作系统,并且处理器本身的指令与普通x86的处理器不同,不易被黑客及病毒攻击,保证了整个系统的安全性能。该系统架构如图1。
视频信号先经过视频接收电路进行前端处理(包括阻抗匹配、限幅和钳位),然后通过视频解码电路产生符合VW2010视频接口标准的ITU656信号。视频解码电路的核心是一个视频解码芯片,该解码芯片用于对CVBS信号进行A/D转换和编码,以产生ITU656标准的并行数字电视信号。的视频解码器还支持图像尺寸缩放(scaling)和帧提取(decimating)功能,如飞利浦的SAA7114、SAA7115以及Rockwell公司的BT829A等。由于VW2010的视频输入为ITU656/D1格式,所以只需要选择具有基本A/D转换和编码功能的视频输入处理芯片如SAA7113即可。
在模拟音频信号经过模拟音频接收电路进行前端处理后,便可通过音频ADC电路产生符合VW2010音频接口标准的I2S信号。
VW2010是压缩卡的核心处理芯片,该芯片除可完成音、视频信号的编码外,还可提供对解码器和ADC的控制(通过I2S总线),其编码产生的MPEG流可通过芯片内部集成的PCI接口输出。VW2010的解压操作是压缩操作的逆过程,基本原理类似。
在VW2010根据系统的配置将该音视频信号压缩编码为MPEG-1、-2或-4格式的音视频数据后,主CPU MPC8250通过PCI总线将压缩编码后的音视频数据以文件的形式存入IDE接口的硬盘或CDROM-R/W中(需操作系统的支持)。同时,在VW2010内部可将编码后的音视频数据直接解码输出到相应的D/A转换器中,完成对用户的实时播放。
硬件设计注意事项
采用嵌入式的处理器,相对来说在电路设计方面要简单很多,华恒科技目前提供基于MPC8250的开发平台及参考设计,而VW2010目前有成熟的PCI编解码卡。采用现成的嵌入式Linux开发平台和音视频编解码卡,用户前期仅需在外围接口板进行简单的扩展,即可快速推出产品样机,减少前期开发的周期和成本。在完成前期工程样机及相关软件开发后,开发者可以进一步将整个系统重新整合,重新设计硬件电路板。
由于电路的复杂性,且采用了高速数字电路,加上对电磁兼容(EMC)的设计要求,设计硬件电路时需考虑以下几点:
1.对于处理PCI及SDRAM等控制接口的时钟线时,要尽量使各线的长度及阻抗匹配,并要求对电路中的高速时钟线进行覆铜屏蔽;
2.采用六层电路板,可以降低回路噪声,提高电路的稳定性;
3.对于视频的A/D芯片而言,应尽量做到模拟地与数字地隔离。避免数字电路对模拟电路产生干扰,提高采样的精度;
4.对于高速的数据总线应尽量添加排阻,以达到阻抗匹配的目的。并应尽量减少走线长度,减小电路中电流的环路面积。
系统软件开发
编解码的工作已经可以实现,实际音视频码流的采集、存储、传输必须要操作系统来控制和完成,首先需要实现的是VW2010在Linux下的设备驱动程序。Linux系统下的设备驱动程序开发技术已经相当成熟,具体使用和开发这里不再赘述。目前VW2010已经在PC平台上有较为广泛的应用,相应的厂商已经可以提供基于Windows、Linux操作系统成熟的驱动支持。
目前流行的板卡主要有这样一些功能:水印、中文OSD叠加、时间戳叠加、Logo叠加、Mosaic遮蔽、单帧捕获、强制关键帧输出、动态改变压缩帧率参数、动态调节视频参数、动态改变帧结构、动态检测、双码流、板载加密区。一般回放库支持文件方式播放和实时流播放,变速播放、回放抓图、回放亮度对比度调节、动态丢帧。网络库支持UDP/TCP传送,支持多播(MultiCast)和双向通讯。采用现成的编解码卡,无论基于PC或是嵌入式平台上开发都需要考虑相关软件开发工具包(SDK)的稳定性、易用性、兼容性、功能的完整性和技术服务水平。
除了考虑板卡的这些基本功能之外,还需要考虑的一点是板卡生产厂商的产品序列是否齐全,板卡SDK是否兼容,从而保护软件开发投入。比如说,由于国家DVR标准没有限制压缩标准,DVR系统不存在互连互通的需求,各个厂家之间的码流格式并不兼容,因此如果有网络集中监控上电视墙的需求,一定需要压缩板卡供应商提供硬解码卡,否则就很难实现。
采用现成的编解码卡,降低了开发DVR产品的门槛,但往往可能受到上游厂商技术、供货、价格等方面的限制。在积累足够的技术经验时可以考虑自主开发,如果开发商选用其他编解码芯片,可以先调研一下相应的芯片是否应用成熟广泛,相关的生产厂商、代理商、第三方是否可以提供足够的支持。
基于MPC82xx处理器和专用编解码芯片的DVR方案设计
更新时间: 2005-10-10 00:00:00来源: 粤嵌教育浏览量:4866