Linux操作系统支持多用户、多任务、及多道处理的Linux操作系统作为“开源”软件,可由开发者任意修改和添加。此外,Linux是以网络环境为基础的操作系统,具有完整的网络功能,使用者可以在Linux下以单机连上互联网,也可架设局域网络(LAN);还可以Linux架设各种服务器,提供在互联网以及内部网的邮件、FTP和Web等各种服务,方便DVR实现网络化。
实时操作系统RTOS对于嵌入式DVR来说是最佳选择,开发者可以应用为中心,根据应用对功能、可靠性、稳定性、成本、体积等的综合要求,对软/硬件进行裁剪,使产品的实现更灵活、多样。
然而,采用实时操作系统RTOS的嵌入式DVR目前面临的最大挑战在于其网络功能。在网络普及的今天,已有越来越多的用户使用网络。具有网络功能的DVR可让用户透过LAN/WAN、Internet等网络进行远程监视和控制。
基于DM642的嵌入式DVR实现
在进行嵌入式DVR设计以前,我们首先需要对构成DVR所必需的硬件配置进行分析。
一体化模拟前端:DVR的模拟前端为来自摄像机和麦克风的模拟视频和模拟音频信号,为了降低整个系统的成本,一般会有多路视频和音频信号输入。而摄像机一般安装在云台上,为了取景、调焦,需要对其进行水平、俯仰转动,镜头变焦,光圈开合,摄像头防护罩控制(开/关、加热/风扇等)等,云台的这些控制命令一般通过异步串口RS232、RS422/RS485提供。另外,对于一个完整的视频监控系统来说,还需要对环境进行监控,如门禁控制、红外/烟雾/煤气感应、报警器、红外对射、停车管理等,这些功能一般用数字I/O实现。
由此可见,DVR的一体化模拟前端,除了需要提供多路的模拟视频/音频的输入端口外,还需要为云台控制提供标准的RS232/RS422/RS485异步串行接口,及环境监控的数字I/O。
数字化:为了用微处理器实时地对输入的视频/音频信号进行数字化的编/解码处理,必需将输入的模拟视频/音频信号进行数字化,这部分工作由视频解码器和音频解码器完成。每个模拟视频输入对应一路视频解码器,每个模拟音频输入同样对应一路音频解码器,而且配对的视频和音频信号数字化必须同步进行。
实时处理数字视频/音频数据:模拟视频/音频信号进行数字化后,将高速产生大量的数据,为了能对这些数据进行存储、传输、回溯、和分析等功能,首要的工作必须实时地完成大数据量、大计算量的数字视频/音频的压缩编码处理,数字视频压缩编码算法有:MPGE-2、MPEG-4、H.263、H.264等,数字音频压缩算法有:G.711、G.722、G.723、G.728、G.729等。
实时完成这样的算法需要高速的处理器来实现,高性能DSP的出现正好满足了这一需求。另外大量的高速产生的数字视频/音频数据,需要高速、大容量的存储器来缓存。DSP与高速、大容量存储器构成数字视频监控系统的核心。本文将采用TI公司的TMS320DM642及高速、大容量SDRAM存储器来构成DVR的核心。
数据的存储和传输:对于DVR来说,不仅需要对压缩后的数据进行长时间存储,以便回溯。而且还需要能通过网络对其进行监视和控制,即需要将压缩后的数据和相关的控制信息通过网络进行传输。由此可见,对于DVR来说,硬件上除了能提供大容量本地存储、本地传输外,还需要远程传输等接口。
其他:在DVR对视频/音频信息进行实时监视、记录、回溯处理的同时,还需要记录相关的时间信息,所以需要提供硬件实时时钟。另外,为了保护DVR软/硬件开发者,尤其是软件开发者的知识产权,还必须提供安全、可靠的硬件加密措施。
上述这些是一个通用的嵌入式DVR所必需提供的硬件配置。
基于DM642的嵌入式DVR的具体实现
TMS320DM642是TI公司2003年推出的、专门为视频应用开发的、业界最高性能的、主频高达720MHz的、32-位定点DSP。TMS320DM642具有下列特点:1)采用TI第2代超长指令集结构(VelociTI.2)的TMS320C64x DSP内核,主频高达720MHz,峰值处理能力可达5760MIPS,可实时完成4路CIF或2路D1的H.264压缩算法;2)64位、133MHz外部存储器总线,可直接接口大容量、低成本的SDRAM;3)3个双通道数字视频口,可同时接口多达6路的BT.656数字视频口;4)多通道音频串口,可同时接口多达4路立体声输入/输出;5)IIC总线可无缝接口视频解码器/编码器和音频Codec的控制口;6)10M/100M以太网MAC方便实现局域网接口;7)32位/66MHz PCI总线方便与PC机接口,及实现多板并行工作;8)32位HPI接口方便与主处理器接口,并实现多板并行工作。
基本的处理器系统用来存储程序代码和缓存大量的数字视频/音频数据,本系统中通过TMS320DM642的64位、133MHz外部存储器总线来扩展大容量、低成本的闪存和SDRAM。另外,为了对压缩后的视频/音频数据进行海量本地存储,还通过外部存储器总线扩展标准的ATA硬盘接口。
视频接口用于实现标准模拟视频输入/输出、模拟视频信号数字化(解码器)、数字视频信号转换为模拟视频信号(编码器)、以及视频编码器/解码器接口TMS320DM642视频口。TMS320DM642视频口与视频编、解码器的接口如图2所示:
音频接口:音频接口用于实现标准模拟音频输入/输出、模拟音频信号数字化(解码器)、数字音频信号转换为模拟视频信号(编码器)、音频编解码器一般做在同一器件上,称为音频Codec器件,以及音频Codec接口TMS320DM642的多通道音频串口。TMS320DM642的多通道音频串口McASP与音频Codec的接口如图3所示: